55 lines
1.7 KiB
Markdown
55 lines
1.7 KiB
Markdown
|
# OpentelemetryRedix
|
||
|
|
||
|
OpentelemetryRedix uses [telemetry](https://hexdocs.pm/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](https://hex.pm/packages/hammer_backend_redis).
|
||
|
In case you depend on that library, `extra_applications` will be similar
|
||
|
to the following:
|
||
|
|
||
|
```elixir
|
||
|
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`:
|
||
|
|
||
|
```elixir
|
||
|
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](https://github.com/elixir-lang/ex_doc)
|
||
|
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
|
||
|
be found at [https://hexdocs.pm/opentelemetry_redix](https://hexdocs.pm/opentelemetry_redix).
|
||
|
|