Observability

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Observability

Gergely Buday
Hi,

I came across a white paper on observability by Wavefront people, a
marketing material:

"Guide to Finding and Resolving Microservices Bottlenecks with Modern
Observability"

I was curious whether there are tools for observability in Erlang. I have
found this page:

https://erlef.org/wg/observability

and this empty github repository:

https://github.com/erlef/eef-observability-wg

What is the state of the art for observability tools for Erlang / BEAM
languages?

- Gergely

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: Observability

Tristan Sloughter-4
Hey Gergely, we will be working on documentation about this soon. But I'll quickly call out a couple projects, specifically for production observability, there are many others for tracing and profiling when it comes to developing and benchmarking:

The telemetry is a project to have a shared library between all beam languages for instrumenting your code. Popular Elixir libraries have already begun including emitting telemetry events that can be handled  and exported to multiple stats collectors (prometheus, statsd, etc) : https://github.com/beam-telemetry/telemetry

In the same project as telemetry is the poller https://github.com/beam-telemetry/telemetry_poller which provides VM statistics in a way we can all benefit and share a common implementation.

Then, there is the newly formed OpenTelemtry,  https://opentelemetry.io, which is a successor to OpenTracing and OpenCensus which combines them into a single spec and implementation and is being worked on collectively by the people from both those former projects. OpenTelemetry (confusing name because the telemetry project was named first :) is a CNCF project is creating a common spec and protocol for recording metrics and distributed traces -- esp important for when you have multiple languages in your environment and want to trace across them which the W3C Trace Context spec is handling https://www.w3.org/TR/trace-context/ and is the default propagation mechanism for OpenTelemetry.

We still need to update the website for the status of the Erlang implementation, https://github.com/open-telemetry/opentelemetry-erlang, which we hope to have in an alpha or beta state by mid-November.

The plan is also for a telemetry handler which will take telemetry events and convert to OpenTelemetry spans and metrics. OpenTelemetry will then handle tracking the stats and spans and exporting to various services, which if the Erlang client doesn't natively support a certain service it will be easy enough to still send metrics/spans to them through the OpenTelemetry Collector https://github.com/open-telemetry/opentelemetry-collector/

Hope that helps some! It is certainly not the whole story for what exists for beam observability but it is what those of us in the WG are mainly focusing on at this time.

Tristan

On Tue, Oct 22, 2019, at 01:51, Gergely Buday wrote:

> Hi,
>
> I came across a white paper on observability by Wavefront people, a
> marketing material:
>
> "Guide to Finding and Resolving Microservices Bottlenecks with Modern
> Observability"
>
> I was curious whether there are tools for observability in Erlang. I have
> found this page:
>
> https://erlef.org/wg/observability
>
> and this empty github repository:
>
> https://github.com/erlef/eef-observability-wg
>
> What is the state of the art for observability tools for Erlang / BEAM
> languages?
>
> - Gergely
>
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
>
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions