View Source Appsignal.Tracer (AppSignal v2.9.2)

Link to this section 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.

Link to this section Types

@type option() :: {:pid, pid()} | {:start_time, integer()}
@type options() :: [option()]

Link to this section Functions

@spec close_span(Appsignal.Span.t() | nil) :: :ok | nil

Closes a span and deregisters it.

example

Example

Appsignal.Tracer.current_span()
|> Appsignal.Tracer.close_span()
Link to this function

close_span(span, options)

View Source
@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

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

Example

Appsignal.Tracer.create_span("http_request")
Link to this function

create_span(namespace, parent)

View Source
@spec create_span(String.t(), Appsignal.Span.t() | nil) :: Appsignal.Span.t() | nil

Creates a new child span.

example

Example

parent = Appsignal.Tracer.current_span()

Appsignal.Tracer.create_span("http_request", parent)
Link to this function

create_span(namespace, parent, options)

View Source
@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

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.

Link to this function

custom_on_create_fun(span)

View Source
@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.

@spec lookup(pid()) :: list() | []

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.