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
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.
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.
On Tue, Oct 22, 2019, at 01:51, Gergely Buday wrote: