Telemetry integration. Attach handlers to these events in your application:
:telemetry.attach("tink-requests", [:tink, :request, :stop], &MyApp.handle_tink_event/4, nil)Events
[:tink, :request, :start]— measurements:%{system_time: integer}, metadata:%{method, url}[:tink, :request, :stop]— measurements:%{duration: integer}, metadata:%{method, url, status}[:tink, :cache, :hit]— metadata:%{key}[:tink, :cache, :miss]— metadata:%{key}[:tink, :rate_limit, :check]— metadata:%{key, allowed}
Summary
Functions
Emit [:tink, :cache, :hit].
Emit [:tink, :cache, :miss].
Emit [:tink, :rate_limit, :check].
Emit [:tink, :request, :start].
Emit [:tink, :request, :stop] with duration and derived status.
Types
@type method() :: :get | :post | :put | :patch | :delete
@type request_result() :: {:ok, map()} | {:error, Tink.Error.t()}
Functions
@spec cache_hit(String.t()) :: :ok
Emit [:tink, :cache, :hit].
@spec cache_miss(String.t()) :: :ok
Emit [:tink, :cache, :miss].
Emit [:tink, :rate_limit, :check].
Emit [:tink, :request, :start].
@spec request_stop(method(), String.t(), request_result(), integer()) :: :ok
Emit [:tink, :request, :stop] with duration and derived status.