opentelemetry-erlang-contrib/utilities/opentelemetry_telemetry
Tom Taylor 17d31cc594
Improve test matrix and add support for Elixir 1.15 and OTP 26 (#188)
* 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>
2023-08-25 14:11:23 -06:00
..
_checkouts Migrate otel_telemetry to contrib (#43) 2021-11-27 18:33:47 -07:00
lib Publish otel telemetry 1.0.0 (#78) 2022-04-13 19:22:28 -06:00
src Publish otel telemetry 1.0.0 (#78) 2022-04-13 19:22:28 -06:00
test Otel 1.0.0-rc.4 updates (#54) 2021-12-28 16:39:06 -07:00
.formatter.exs Migrate otel_telemetry to contrib (#43) 2021-11-27 18:33:47 -07:00
.gitignore Migrate otel_telemetry to contrib (#43) 2021-11-27 18:33:47 -07:00
CHANGELOG.md Do not attempt to end a span if ctx wasn't found (#59) 2022-01-05 10:23:10 -07:00
LICENSE Migrate otel_telemetry to contrib (#43) 2021-11-27 18:33:47 -07:00
README.md Publish updates for Phoenix, Ecto, and Cowboy (#79) 2022-06-03 10:54:37 -06:00
mix.exs Improve test matrix and add support for Elixir 1.15 and OTP 26 (#188) 2023-08-25 14:11:23 -06:00
mix.lock Improve test matrix and add support for Elixir 1.15 and OTP 26 (#188) 2023-08-25 14:11:23 -06:00
rebar.config Otel 1.0 support (#57) 2022-01-04 18:58:06 -07:00
rebar.lock Publish otel telemetry 1.0.0 (#78) 2022-04-13 19:22:28 -06:00

README.md

OpentelemetryTelemetry

A utility library for creating OpenTelemery spans from telemetry events.

Purpose

Most libraries in the BEAM ecosystem leverage telemetry events for exposing event hook points for monitoring that library. While OpenTelemetry is a great project, it is still one specification for monitoring software and it isn't reasonable to ask library authors to support multiple conventions.

OpentelemetryTelemetry provides mechanisms for otel instrumentation libraries to leverage telemetry events for creating and managing spans. The instrumentation library is then able to leverage the telemetry measurements and metadata for deriving spans, adding attributes, set span names, etc.

What Opentelemetry is Not

This library is only intended to provide utilities for working with telemetry events to instrumentation libraries. As such, it should not be used directly within your application code where the OpenTelemery API library should be leveraged.

Installation

If available in Hex, the package can be installed by adding opentelemetry_telemetry to your list of dependencies:

{deps, [
  {opentelemetry_telemetry, "~> 1.0"}
]}.
def deps do
  [
    {:opentelemetry_telemetry, "~> 1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/opentelemetry_telemetry.