OpenTelemetry Erlang/Elixir, Javascript, and Ruby v1.0

Tristan Sloughter
OpenTelemetry
Published in
3 min readFeb 1, 2022

In collaboration with Daniel Dyla and Robert Laurin.

We are kicking off the new year with a bang. In the last couple months three new languages (Ruby, Javascript, and Erlang/Elixir) have had their first 1.0 releases, joining the existing GA releases from C++, Go, Java, .Net, Python and Swift.

Erlang/Elixir

If you are using Erlang or Elixir for your application, OpenTelemetry now offers a complete solution to collect, enrich, and send distributed traces to the various telemetry backends. This solution can be used as a whole or integrated in a variety of combinations. OpenTelemetry is composed of an API and SDK using the OpenTelemetry Protocol (OTLP) to collect, process and export data. Each component is implemented as a separate Application published to hex.pm, opentelemetry_api (API), opentelemetry (SDK), and opentelemetry_exporter (OTLP). Many integrations with Erlang and Elixir libraries, like Phoenix and Ecto, can also be found on hex.pm under the OpenTelemetry Organization and on GitHub in the contrib repository. Each has been updated to depend on the 1.0 API but have not had 1.0 releases of their own yet.

So what’s next? We plan to enhance documentation, add sample code and build more integrations. We plan to improve the OTLP exporter to support retries, additional HTTP libraries and JSON. And last, but not least, complete implementation of the metrics API and SDK for each language.

We’d like to thank all our project contributors — 28 developers from 14 organizations who have helped reach this 1.0 milestone. If you want to learn more, we hold weekly meetings, use GitHub Discussions for questions and have Slack channels on both CNCF Slack (#otel-erlang-elixir) and Elixir Slack (#opentelemetry).

JavaScript

JavaScript, one of the most popular languages in the world, has an ecosystem as wide as it is deep. From monoliths to microservices, OpenTelemetry now provides the tools for JavaScript and TypeScript developers to collect detailed telemetry data to better understand their applications, dependencies, and distributed systems through distributed tracing.

The OpenTelemetry JavaScript library is distributed as an API, an SDK, and a rich set of plugins for the collection and export of tracing data. Official OTLP exporters and a small set of official instrumentations can be found in the SDK repository. The contrib repository provides a rich ecosystem of instrumentation plugins, resource detectors, and more. A wider community of plugins can be found in the OpenTelemetry registry.

The path to tracing stability and OpenTelemetry JavaScript 1.0 included contributions from 122 developers across many different organizations.

Our next priorities include stabilizing the API and SDK for metrics, continuing to add to the already rich ecosystem of instrumentation and other plugins, and improving our documentation and the new user experience. If you would like to learn more or get involved, you can join the weekly meetings, create a GitHub Discussion, or join us in the #otel-js channel on the CNCF slack.

Ruby

While OpenTelemetry Ruby has only recently announced its 1.0 release, the contributor community has hardened it in the production environments of some of the largest Ruby organizations in the industry for over a year now.

OpenTelemetry Ruby is distributed as an API and a SDK, and the repository hosts a collection of auto-instrumentation libraries for some of the most popular gems in the Ruby ecosystem. You can find an exhaustive list of instrumentation libraries currently available here. We currently have exporter support for OTLP (protobuf over http), Jaeger, and Zipkin.

We are shifting our focus to the metrics API and SDK implementation. With metrics drawing more attention, we will split community instrumentation libraries into our contrib repo so we can continue to expand our auto-instrumentation library collection through community contributions and requests.

The OpenTelemetry Ruby SIG has been fortunate to have a warm and welcoming community. We are always looking for new contributors to get involved with anything from code contributions, documentation, or even just helping other users onboard onto Otel Ruby. Come say hello in our weekly SIG meetings, or in the CNCF slack (#otel-ruby).

We are always looking for new contributors and have many SIGs (Special Interest Groups) that you can join to help drive the future of observability. There are opportunities to contribute ranging from writing code, working on the specifications, creating example code, writing technical documentation and helping onboard new users. For more information on all OpenTelemetry projects, see the website and Github organization.

--

--