SetuClient.Telemetry (Setu Client v1.0.0)

Copy Markdown View Source

Telemetry integration for the Setu SDK.

Events emitted

EventMeasurementsMetadata
[:setu, :request, :start]system_timemethod, url, attempt
[:setu, :request, :stop]duration (native)method, url, status, attempt
[:setu, :request, :exception]durationmethod, url, kind, reason, attempt
[:setu, :token, :refresh]durationenvironment, success
[:setu, :rate_limit, :wait]wait_ms%{}

Attaching a handler

:telemetry.attach_many(
  "my-handler",
  [[:setu, :request, :stop], [:setu, :token, :refresh]],
  &MyApp.Metrics.handle/4,
  nil
)

Summary

Functions

Returns a specification to start this module under a supervisor.

Wraps fun in a telemetry span under event_prefix.

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

span(event_prefix, meta, fun)

@spec span([atom()], map(), (-> result)) :: result when result: term()

Wraps fun in a telemetry span under event_prefix.