opentelemetry-erlang-contrib/instrumentation/opentelemetry_ecto
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
..
config Make Ecto spans of preloads children of the parent span (#49) 2022-03-24 14:19:24 -06:00
lib Add db.name to ecto spans (#172) 2023-05-23 04:49:29 -06:00
priv/test_repo/migrations Make Ecto spans of preloads children of the parent span (#49) 2022-03-24 14:19:24 -06:00
test Add db.name to ecto spans (#172) 2023-05-23 04:49:29 -06:00
.formatter.exs Migrate otel ecto (#16) 2021-10-08 15:38:18 -06:00
.gitignore Migrate otel ecto (#16) 2021-10-08 15:38:18 -06:00
CHANGELOG.md Add db.name to ecto spans (#172) 2023-05-23 04:49:29 -06:00
LICENSE Migrate otel ecto (#16) 2021-10-08 15:38:18 -06:00
README.md Publish updates for Phoenix, Ecto, and Cowboy (#79) 2022-06-03 10:54:37 -06:00
docker-compose.yml Otel 1.0.0-rc.3 support (#27) 2021-10-13 21:11:26 -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 update elixir package deps (#126) 2022-11-15 17:48:50 -07:00
rebar.lock Otel 1.0.0-rc.4 updates (#54) 2021-12-28 16:39:06 -07:00

README.md

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.