3faa246d02
Default exporter immediately attempts on start connect to `:otel-collector` default port. As we don't have any collector running on our test environment, this results in a few warnings. That's not an issue in itself, as code immediately switches to another export, but creates a lot of noise. This patch moves the exporter setup to `config/test.exs`, essentially removing the need to restart opentelemetry applicationn for each test case. The only work setup blocks do is update the exporter's target pid. The processor was changed to simple mode, available now, which also remove another vector of (unlikely but theoretically possible) race-conditions. |
||
---|---|---|
.. | ||
config | ||
lib | ||
priv/test_repo/migrations | ||
test | ||
.formatter.exs | ||
.gitignore | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
docker-compose.yml | ||
mix.exs | ||
mix.lock | ||
rebar.lock |
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.0-rc.4"}
]
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 |
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/opentelemetry_ecto.