View Source AppIdentity.Telemetry (AppIdentity for Elixir v1.2.0)

If telemetry is a dependency in your application, and the telemetry is not explicitly disabled, telemetry events will be emitted for AppIdentity.generate_proof/2, AppIdentity.verify_proof/3, and AppIdentity.Plug. See AppIdentity.Telemetry for more information.

telemetry-events

Telemetry Events

All of AppIdentity's telemetry events are spans, consisting of :start and :stop events. These are always in the form [:app_identity, <telemetry_type>, <event>].

The events are:

measurements

Measurements

All AppIdentity telemetry events measure one of two things:

metadata

Metadata

All AppIdentity telemetry includes a telemetry_span_context key which is a :erlang.reference/0. In this version, this value will be generated with the :start event and reused for the :stop event.

When a measurement type is given as t:telemetry_app, this will be one of the following values:

[:app_identity, :generate_proof, :start] Metadata

[:app_identity, :generate_proof, :stop] Metadata

[:app_identity, :plug, :start] Metadata

[:app_identity, :plug, :stop] Metadata

[:app_identity, :verify_proof, :start] Metadata

[:app_identity, :verify_proof, :stop] Metadata

  • app: telemetry_app/0. In the case of an error, this will be the same app value as was reported in the :start event. If not, this value will be the post-verification version of the app.
  • options: a list of AppIdentity.option/0
  • One of:
    • candidate: The candidate proof string
    • proof: The parsed proof
  • In case of an error:
    • error: A descriptive error

disabling-telemetry

Disabling Telemetry

Telemetry may be disabled by setting this for your configuration:

config :app_identity, AppIdentity.Telemetry, enabled: false

Remember to run mix deps.compile --force app_identity after changing this setting to ensure the change is picked up.

Link to this section Summary

Types

A telemetry-safe version of an input or verified app.

Link to this section Types

Link to this opaque

telemetry_app()

View Source (opaque)
@opaque telemetry_app()

A telemetry-safe version of an input or verified app.

May be one of the following values:

  • nil: the app is not found or does not verify correctly.
  • "loader": the app provided is a AppIdentity.App.loader/0 function.
  • "finder": the app provided is a AppIdentity.App.finder/0 function.
  • Otherwise, a map is returned with required :id and :version keys and optional :config and :verified keys.