17d31cc594
* Use test matrix from file * Only check formatting on specific Elixir version * Use latest patch version of each Elixir/OTP release in test matrix * Test on Elixir 1.15 and OTP 26 * Run formatter on opentelemetry_httpoison * Run formatter on opentelemetry_phoenix * Run formatter on opentelemetry_tesla * Fix building opentelemetry_ecto on Elixir 1.15 Upgraded deps to fix ssl_verify_fun not compiling * Fix building opentelemetry_dataloader on Elixir 1.15 Upgraded deps to fix ssl_verify_fun and ecto_sql not compiling * Upgrade opentelemetry_finch to build on Elixir 1.15 * Upgrade opentelemetry_httpoison deps to build on 1.15 * Upgrade opentelemetry_nebulex to build on Elixir 1.15 * Upgrade opentelemetry_oban to build on Elixir 1.15 * Upgrade opentelemetry_phoenix deps to build on 1.15 * Upgrade opentelemetry_redix deps to build on 1.15 * Fix warning about <> being ambiguous * Fix assertion on attributes keys These are always atoms, not strings. * Upgrade ssl_verify_fun in opentelemetry_telemetry * Deterministically sort keys before asserting in tests * Upgrade opentelemetry_process_propogator to build on Elixir 1.15 * Run mix format on opentelemetry_process_propogator * Assert keys are atoms, not strings * Use matrix.os to define runs-on parameter * Pin test matrix to specific OTP + Elixir versions * Run formatter on telemetry and process_propagator * Run formatter over opentelemetry_phoenix --------- Co-authored-by: Tristan Sloughter <t@crashfast.com> |
||
---|---|---|
.. | ||
config | ||
lib | ||
test | ||
.formatter.exs | ||
.gitignore | ||
CHANGELOG.md | ||
LICENSE | ||
README.md | ||
docker-compose.yml | ||
mix.exs | ||
mix.lock |
README.md
OpentelemetryRedix
OpentelemetryRedix uses telemetry handlers to
create OpenTelemetry
spans from Redix command events.
Supported events include command stop. Connection and disconnection events are also observed to track Redis instance address.
Note on Redix integration
A sidecar process runs under opentelemetry_redix
application to track
Redix connection information to inside command spans. As a requirement, all
Redis connections should start after this application.
For connections started by your application, all works as expected. But some
libraries manage internally, and for those cases, you need to ensure proper
order via extra_applications
.
One such example is hammer_backend_redis.
In case you depend on that library, extra_applications
will be similar
to the following:
def application do
[
extra_applications: [:opentelemetry_redix, :hammer_backend_redis]
]
end
Installation
The package can be installed by adding opentelemetry_redix
to your list of
dependencies in mix.exs
:
def deps do
[
{:opentelemetry_redix, "~> 0.1"}
]
end
Compatibility Matrix
OpentelemetryRedix Version | Otel Version | Notes |
---|---|---|
v0.1.0 | v1.0.0 |
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/opentelemetry_redix.