View Source Appsignal.Tracer (AppSignal v2.13.2)
Summary
Functions
Closes a span and deregisters it.
Closes a span and deregisters it. Takes an options list, which currently only
accepts a List
with an :end_time
integer.
Creates a new root span.
Creates a new child span.
Creates a new span, with an optional parent or pid.
Returns the current span in the current process.
Returns the current span in the passed pid's process.
This function can be defined by the user and will be executed on the creation of the span after create_span/3 is executed. It can be used to add custom_data to the span.
Removes the process' spans from the registry.
Ignores the current process.
Ignores the given process.
Finds the span in the registry table.
Returns the root span in the current process.
Returns the root span in the passed pid's process.
Types
@type options() :: [option()]
Functions
@spec close_span(Appsignal.Span.t() | nil) :: :ok | nil
Closes a span and deregisters it.
Example
Appsignal.Tracer.current_span()
|> Appsignal.Tracer.close_span()
@spec close_span(Appsignal.Span.t() | nil, list()) :: :ok | nil
Closes a span and deregisters it. Takes an options list, which currently only
accepts a List
with an :end_time
integer.
Example
Appsignal.Tracer.current_span()
|> Appsignal.Tracer.close_span(end_time: :os.system_time())
@spec create_span(String.t()) :: Appsignal.Span.t() | nil
Creates a new root span.
Example
Appsignal.Tracer.create_span("http_request")
@spec create_span(String.t(), Appsignal.Span.t() | nil) :: Appsignal.Span.t() | nil
Creates a new child span.
Example
parent = Appsignal.Tracer.current_span()
Appsignal.Tracer.create_span("http_request", parent)
@spec create_span(String.t(), Appsignal.Span.t() | nil, options()) :: Appsignal.Span.t() | nil
Creates a new span, with an optional parent or pid.
Example
parent = Appsignal.Tracer.current_span()
Appsignal.Tracer.create_span("http_request", parent, [start_time: :os.system_time(), pid: self()])
@spec current_span() :: Appsignal.Span.t() | nil
Returns the current span in the current process.
@spec current_span(pid()) :: Appsignal.Span.t() | nil
Returns the current span in the passed pid's process.
@spec custom_on_create_fun(Appsignal.Span.t() | nil) :: any()
This function can be defined by the user and will be executed on the creation of the span after create_span/3 is executed. It can be used to add custom_data to the span.
Example in your own application:
defmodule MyApp.Appsignal do
def custom_on_create_fun(span) do
Appsignal.Span.set_sample_data(span, "custom_data", %{"foo": "bar"})
end
end
This can be added to the config with:
config :appsignal, custom_on_create_fun: &MyApp.Appsignal.custom_on_create_fun/1
@spec delete(pid()) :: :ok
Removes the process' spans from the registry.
@spec ignore() :: :ok
Ignores the current process.
@spec ignore(pid()) :: :ok
Ignores the given process.
Finds the span in the registry table.
@spec root_span() :: Appsignal.Span.t() | nil
Returns the root span in the current process.
@spec root_span(pid()) :: Appsignal.Span.t() | nil
Returns the root span in the passed pid's process.