# OpentelemetryOban OpentelemetryOban uses [telemetry](https://hexdocs.pm/telemetry/) handlers to create `OpenTelemetry` spans from Oban events. ## Installation The package can be installed by adding `opentelemetry_oban` to your list of dependencies in `mix.exs`: ```elixir def deps do [ {:opentelemetry_oban, "~> 0.2"} ] end ``` In your application start: ```elixir def start(_type, _args) do OpentelemetryOban.setup() # ... end ``` ## Usage By default a new trace is automatically started when a job is processed. To also record a span when a job is created and to link traces together `Oban.insert/2` has to be replaced by `OpentelemetryOban.insert/2`. Before: ```elixir %{id: 1, in_the: "business", of_doing: "business"} |> MyApp.Business.new() |> Oban.insert() ``` After: ```elixir %{id: 1, in_the: "business", of_doing: "business"} |> MyApp.Business.new() |> OpentelemetryOban.insert() ``` Oban also supports inserting jobs using `Oban.insert/4`, `Oban.insert_all/2` and `Oban.insert_all/4`. These are currently not supported by OpentelemetryOban and are just proxied through to Oban.