opentelemetry-erlang-contrib/instrumentation/opentelemetry_tesla
Patrik Stenmark ddf0706bf1
Make exdocs settings a bit more similar between different packages (#168)
* Add source_url_pattern to be able to use the "link to source" button
* Add README.md as an "extra" where it wasn't already
* Add a `main` setting. They all have a very obvious main module. Set
  that as `main`, so a user is shown this immediately instead of a list
  of usually only this module.
2023-04-30 12:10:03 -06:00
..
lib/middleware [Tesla middleware] `non_error_statuses` option (#154) 2023-04-21 10:07:21 -06:00
test [Tesla middleware] `non_error_statuses` option (#154) 2023-04-21 10:07:21 -06:00
.formatter.exs Fix CI errors, update GHA deps, update versions (#125) 2022-11-15 16:22:28 -07:00
LICENSE Add otel tesla library (#90) 2022-08-25 12:47:59 -06:00
README.md Make exdocs settings a bit more similar between different packages (#168) 2023-04-30 12:10:03 -06:00
mix.exs Make exdocs settings a bit more similar between different packages (#168) 2023-04-30 12:10:03 -06:00
mix.lock Phoenix Plug.Cowboy adapter support (#144) 2023-01-06 13:46:06 -07:00

README.md

OpenTelemetryTesla

Tesla middleware that creates OpenTelemetry spans and injects tracing headers into HTTP requests for Tesla clients.

Installation

The package is available in Hex and can be installed by adding opentelemetry_tesla to your list of dependencies in mix.exs:

def deps do
  [
    {:opentelemetry_tesla, "~> 2.1.0"}
  ]
end

Setup

Whilst using this middleware is as simple as adding it to your Tesla middlewares configuration, It's very important to set the correct order of the middlewares

The is crucial to correctly get the parameterized version of the URL, something like /api/users/:id instead of /api/users/3.

OpenTelemetry comes first, PathParams (if you're using it) comes after.

Tesla.Middleware.OpenTelemetry
Tesla.Middleware.PathParams