4 Commits

Author SHA1 Message Date
Andrew Rosa
8df66285bb
Report Redix error messages through OTel status ()
Instead of custom attributes, leverage the status description as
described in Semantic Conventions. This approach is taken from current
`opentelemetry_ecto` implementation.

Small non-related change is a fix the license description in `mix.exs`.
2022-05-10 14:05:35 -06:00
Greg Mefford
0939fe2de8
Relax requirement on telemetry library () 2022-04-13 09:57:45 -06:00
Andrew Rosa
daa6a97f3e
Bump dependencies and relax opentelemetry* to 1.0 () 2022-03-31 11:23:32 -06:00
Andrew Rosa
50ed370444
Add OpenTelemetry integration to Redix ()
Initial approach follows Ecto instrumentation, recording spans for all
Redix `[:redix, :pipeline, :stop]` events.

The command sanitization is inspired-by and adapted from [Java
instrumentation][1], from where I've also copied the actual commands and
what configuration should they follow.

Network attributes are tracked via a "sidecar" process, which keeps
track of connection attributes also via `telemetry`. This extra bit of
bookkeeping is needed as command events doesn't include that piece of
information, unfortunately.

[1]: b2bc41453b/instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/db/RedisCommandSanitizer.java
2022-01-04 14:39:19 -07:00