Telemetry integration for the Marqeta client.
All HTTP requests emit telemetry events consumable by Phoenix LiveDashboard,
PromEx, Datadog, or any :telemetry handler.
Events
All events use the configured :telemetry_prefix (default [:marqeta]).
[:marqeta, :request, :start]
- Measurements:
%{system_time: integer} - Metadata:
%{attempt: integer, method: atom, path: string}
[:marqeta, :request, :stop]
- Measurements:
%{duration: integer}(native time units) Metadata:
%{attempt: integer, http_status: integer | nil, method: atom, path: string, status: :ok | :error}
[:marqeta, :request, :exception]
- Measurements:
%{duration: integer} - Metadata:
%{kind: atom, method: atom, path: string, reason: term, stacktrace: list}
[:marqeta, :request, :retry]
- Measurements:
%{system_time: integer} - Metadata:
%{attempt: integer, method: atom, path: string}
Attaching a handler
:telemetry.attach(
"my-marqeta-logger",
[:marqeta, :request, :stop],
&Marqeta.Telemetry.log_handler/4,
nil
)Metrics
# For Phoenix LiveDashboard or PromEx:
Marqeta.Telemetry.metrics()
Summary
Functions
A ready-made telemetry handler that logs request outcomes via Logger.
Returns Telemetry.Metrics structs for use with Phoenix LiveDashboard or PromEx.
Functions
A ready-made telemetry handler that logs request outcomes via Logger.
Attach with:
:telemetry.attach(
"marqeta-logger",
[:marqeta, :request, :stop],
&Marqeta.Telemetry.log_handler/4,
nil
)
@spec metrics() :: [Telemetry.Metrics.t()]
Returns Telemetry.Metrics structs for use with Phoenix LiveDashboard or PromEx.
Usage
# In your Phoenix endpoint telemetry module:
def metrics do
Marqeta.Telemetry.metrics() ++ your_own_metrics()
end