opentelemetry-erlang-contrib/instrumentation/opentelemetry_redix
renovate[bot] c5753b4f52
Update dependency opentelemetry_process_propagator to ~> 0.3 (#280)
* Update dependency opentelemetry_process_propagator to ~> 0.3

* Pin dataloader version

* Update opentelemetry to 1.3.1

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bryan Naegele <bryan@fourthtime.com>
2024-02-13 10:43:02 -07:00
..
config Add OpenTelemetry integration to Redix (#29) 2022-01-04 14:39:19 -07:00
lib Redis: propagate the span context if available (#180) 2023-07-13 17:15:26 -06:00
test Add OpenTelemetry integration to Redix (#29) 2022-01-04 14:39:19 -07:00
.formatter.exs Add OpenTelemetry integration to Redix (#29) 2022-01-04 14:39:19 -07:00
.gitignore Add OpenTelemetry integration to Redix (#29) 2022-01-04 14:39:19 -07:00
CHANGELOG.md Report Redix error messages through OTel status (#81) 2022-05-10 14:05:35 -06:00
LICENSE Add OpenTelemetry integration to Redix (#29) 2022-01-04 14:39:19 -07:00
README.md Add OpenTelemetry integration to Redix (#29) 2022-01-04 14:39:19 -07:00
docker-compose.yml Add OpenTelemetry integration to Redix (#29) 2022-01-04 14:39:19 -07:00
mix.exs Update dependency opentelemetry_process_propagator to ~> 0.3 (#280) 2024-02-13 10:43:02 -07:00
mix.lock Update dependency opentelemetry_process_propagator to ~> 0.3 (#280) 2024-02-13 10:43:02 -07:00

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.