OpenTelemetryTesla

This library is divided into two components:

The handler implementation attaches to the following events:

Installation

If available in Hex, the package can be installed by adding opentelemetry_tesla to your list of dependencies in mix.exs:

def deps do
  [
    {:opentelemetry_tesla, "~> 1.3.0-rc.1"}
  ]
end

Setup

If you want to use Telemetry handler, make sure you add the following lines to your application start:

OpenTelemetry.register_application_tracer(:my_telemetry_api)
OpentelemetryTesla.setup()

For this ☝️ to work you also have to add the following line to your Tesla middlewares:

Tesla.Middleware.Telemetry

To propagate tracing information you’ll also have to add the tesla middleware.

plug Tesla.Middleware.OpenTelemetry

It’s very important that you set the correct order of the middlewares, otherwise span relations will not be correctly set.

Tesla.Middleware.Telemetry
Tesla.Middleware.OpenTelemetry