venkatd
What is the relationship between telemetry and opentelemetry?
I am researching instrumentation and I see there’s the :telemetry library but there is also :opentelemetry and additional integrations such as :opentelemetry_ecto.
What is the relationship between the two? Is opentelemetry meant to replace telemetry or do they serve different purposes?
It also seems like they both have mechanisms for tracking events. There is Tracer.with_span in opentelemetry and there is :telemetry.execute in telemetry.
If you’re using one or the other or both, would love to hear about your setup!
Marked As Solved
cevado
telemetry is a framework/standard inside the ecosystem to emit events about the internal execution of a code. those events can be used to produce metrics, logs, traces and anything else you can think.
opentelemetry is a library that integrates with the opentelemetry toolset and standard.
telemetry events can be consumed to generate opentelemetry traces, logs and metrics but is not limited to it. for example, the same event telemetry event can generate a trace to opentelemetry and a metric on prometheus, and a log line.
on a systems side thing it’s like telemetry is ebpf for elixir/erlang code, and opentelemetry is more like tetragon.
Also Liked
mudasobwa
You might want to look at telemetria library I wrote to simplify enabling and globally configuring telemetry in your app. It is backend-agnostic and might be used with both :telemetry and :opentelemetry backends.
cevado
usually telemetry is used for libraries, so they can expose their execution steps to the external world. while opentelemetry you gonna use on your actual application. on application side you usually just need to worry about telemetry if you want to attach to some event.
venkatd
To clarify I’m referring to :opentelemetry the elixir/erlang implementation of the tracing standard.
I was wondering if :opentelemetry makes :telemetry unnecessary or if they are complementary.
Last Post!
cevado
usually telemetry is used for libraries, so they can expose their execution steps to the external world. while opentelemetry you gonna use on your actual application. on application side you usually just need to worry about telemetry if you want to attach to some event.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #hex









