Skip to content

Instantly share code, notes, and snippets.

View psyeugenic's full-sized avatar

Björn-Egil Dahlberg psyeugenic

  • Stockholm, Sweden
View GitHub Profile
%% or like this
merge_threads_2([#{type := T, counters := C0}=M, #{type := T, counters := C1}|Ms],Acc) ->
merge_threads_2([M#{counters := add_counters(C0,C1)}|Ms],Acc);
merge_threads_2([M1,M2|Ms0],Acc) -> merge_threads_2([M1|Ms0],[M2|Acc]);
merge_threads_2([M],Acc) -> [M|merge_threads_2(Acc,[])];
merge_threads_2([],_) -> [].
add_counters(M1,M2) ->
maps:map(fun(Key,V1) ->
@psyeugenic
psyeugenic / beam-coverage.pl
Last active August 29, 2015 14:18
Generate coverage statistics for Erlang/OTP VM (BEAM)
#!/usr/bin/perl -w
use strict;
use warnings;
# Usage:
# Make sure lcov is installed and is in your path:
#
# Ubuntu: sudo aptitude install lcov
#
# Ensure ERL_TOP variable is set
@psyeugenic
psyeugenic / Makefile
Created April 25, 2016 12:23
Rebar3 Makefile for all projects
REBAR3_URL=https://s3.amazonaws.com/rebar3/rebar3
ifeq ($(wildcard rebar3),rebar3)
REBAR3 = $(CURDIR)/rebar3
endif
REBAR3 ?= $(shell test -e `which rebar3` 2>/dev/null && which rebar3 || echo "./rebar3")
ifeq ($(REBAR3),)
REBAR3 = $(CURDIR)/rebar3