View Source Appsignal.Tracer (AppSignal v2.4.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.

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.

@spec delete(pid()) :: :ok

Removes the process' spans from the registry.

@spec ignore() :: :ok | nil

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.