ExShopifyApp.AccessToken.Telemetry (ex_shopify_app v1.0.0)

Telemetry emission for offline access-token refreshes.

All events share the [:ex_shopify_app, :access_token, :refresh] prefix:

  • [..., :start | :stop | :exception] — the refresh span.

  • [..., :persistence_failed] — Shopify returned a new token but the durable write failed (also logged at error).
  • [..., :stale_while_error] — a refresh failed but the still-valid old token was served.

Metadata carries :shopify_domain, :refresh_generation, and a :result classification — never token values.

Summary

Functions

Emit the :persistence_failed event and log the critical loss-of-token warning.

Emit the refresh :exception event for a crash in the refresh path.

Emit the refresh :start event and return the monotonic start time to pair with refresh_stop/3 or refresh_exception/4.

Emit the refresh :stop event with the elapsed duration and classified result.

Emit the :stale_while_error event when the old token is served after a failed refresh.

Functions

persistence_failed(domain, token)

Emit the :persistence_failed event and log the critical loss-of-token warning.

refresh_exception(start_time, meta, exception, stacktrace)

Emit the refresh :exception event for a crash in the refresh path.

refresh_start(meta)

Emit the refresh :start event and return the monotonic start time to pair with refresh_stop/3 or refresh_exception/4.

refresh_stop(start_time, meta, result)

Emit the refresh :stop event with the elapsed duration and classified result.

stale_while_error(token, reason)

Emit the :stale_while_error event when the old token is served after a failed refresh.