eflame
eflame copied to clipboard
Various improvements
- Uses maps instead of
dict:dict()
. - Avoid doing list processing when handling trace messages.
- Remove unnecessary list processing when building the
iolist()
. - Consolidate multiplications of
1000
s into constants. - Run the tracing for a maximum of
DEFAULT_TIMEOUT
to avoid getting a huge state in the tracer process (this can be modified so it can be provided as an option). - Avoid having to generate multiple entries in the output by producing the format
flamegraph.pl
expects.
The result from this improvements is that eflame
is now able to return a result for simple benchmarks and it doesn't timeout when it's waiting for the response of dump_bytes
.