An Elixir Prometheus metrics collection library built on Telemetry with pre-built Grafana dashboards for popular Elixir libraries.
PromEx is an Elixir library that collects Prometheus metrics from Telemetry events emitted by popular Elixir libraries like Phoenix, Ecto, and Oban. It solves the problem of fragmented observability by providing a unified, easy-to-setup framework for monitoring Elixir applications, complete with pre-configured Grafana dashboards.
Elixir developers and teams building production applications who need robust, out-of-the-box monitoring and observability without manual metric configuration.
Developers choose PromEx for its seamless integration with the Telemetry ecosystem, comprehensive plugin coverage for major Elixir libraries, and ready-to-use Grafana dashboards that eliminate the need for custom dashboard creation.
An Elixir Prometheus metrics collection library built on top of Telemetry with accompanying Grafana dashboards
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The mix task `prom_ex.gen.config` generates configuration and modules, and integration into the supervision tree is straightforward, as shown in the Setting Up PromEx section.
Includes stable plugins for major Elixir libraries like Phoenix, Ecto, Oban, and Absinthe, providing comprehensive metrics out of the box.
Each plugin comes with tailored Grafana dashboards, eliminating manual dashboard creation and ensuring immediate visualization.
Built on the BEAM Telemetry ecosystem, it ensures lightweight and consistent metric collection, as emphasized in the Design Philosophy.
The Design Philosophy states PromEx is not infinitely configurable; users cannot easily edit metric names or tags, often requiring plugin forks for changes.
PromEx does not enforce security by default, requiring users to implement authentication for the metrics endpoint, as noted in the Security Concerns section.
Only works with libraries emitting Telemetry events, so applications with custom or non-Telemetry instrumentation need additional plugin development.