opentelemetry-erlang-contrib/instrumentation/opentelemetry_ecto
Josh Lee b85420afed
Don't record DB statements without sanitizaiton (#166)
* Don't record DB statements without sanitizaiton

This adds an option to OpentelemetryEcto.setup/1 that allows a query
sanitization function to be provided. If it is not provided, queries
are not captured (this is the default).

* test that db.statement isnt present unless query sanitizer is configured

* rename option to `:db_statement`

* run mix format
2023-06-13 05:13:01 -06:00
..
config Make Ecto spans of preloads children of the parent span (#49) 2022-03-24 14:19:24 -06:00
lib Don't record DB statements without sanitizaiton (#166) 2023-06-13 05:13:01 -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 Don't record DB statements without sanitizaiton (#166) 2023-06-13 05:13:01 -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 Bump version to 1.1.1 (#175) 2023-05-23 05:04:01 -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.