View Source Sibyl.Dynamic (Sibyl v0.1.9)

Module which contains functions which allow you to bridge together the built in BEAM debugging and tracer with modules implementing the Sibyl.Handler behaviour.

This provides extremely powerful functionality as you can effectively instruct the BEAM to start building OpenTelemetry traces without code instrumentation on production environments.

It is important to note that leveraging the BEAM's built in debugging and tracing functionality can have severe memory and CPU requirements so it isn't something one should do lightly.

Regardless, in order to track down heisenbugs and other maladies which can only be reproduced on production environments, this functionality should prove extremely useful.

Summary

Functions

@spec disable() :: :ok
Link to this function

enable(handler \\ Logger)

View Source
@spec enable(sibyl_handler :: module()) :: {:ok, term()}
@spec trace(module(), function :: atom(), arity :: integer()) :: {:ok, term()}