Cedric Ziel 8292870b66
Add db.name to ecto spans (#172)
* Add db.name to ecto spans

As per the spec, the db.name attribute is required on database spans. This changes adds it.

Ref: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/database.md#call-level-attributes

* Add db.name attribute to tests

* Changelog update

* Update instrumentation/opentelemetry_ecto/test/opentelemetry_ecto_test.exs

* Update instrumentation/opentelemetry_ecto/test/opentelemetry_ecto_test.exs
2023-05-23 04:49:29 -06:00
..
2023-05-23 04:49:29 -06:00
2023-05-23 04:49:29 -06:00
2021-10-08 15:38:18 -06:00
2021-10-08 15:38:18 -06:00
2023-05-23 04:49:29 -06:00
2021-10-08 15:38:18 -06:00
2022-11-15 17:48:50 -07:00
2021-12-28 16:39:06 -07:00

OpentelemetryEcto

Telemetry handler that creates Opentelemetry spans from Ecto query events. Because Ecto emits telemetry events only after queries have finished, OpentelemetryEcto estimates the start time of the span by subtracting the reported total duration from the current timestamp.

After installing, setup the handler in your application behaviour before your top-level supervisor starts.

OpentelemetryEcto.setup([:blog, :repo])

See the documentation for OpentelemetryEcto.setup/2 for additional options that may be supplied.

Installation

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

def deps do
  [
    {:opentelemetry_ecto, "~> 1.0"}
  ]
end

Compatibility Matrix

OpentelemetryEcto Version Otel Version Notes
v0.1.0 <= v.0.5.0
v1.0.0-rc.1 v1.0.0-rc.1
v1.0.0-rc.2 v1.0.0-rc.2
v1.0.0-rc.3 v1.0.0-rc.3
v1.0.0-rc.4 v1.0.0-rc.4
v1.0 v1.0

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/opentelemetry_ecto.