API Reference PromEx v0.1.5-alpha
Modules
PromEx is a plugin based library which can be used to capture telemetry events and report them out for consumption by Prometheus. The main purpose of this particular library is to provide the behaviour that all PromEx plugins leverage so that a consistent interface can be achieved and so that leveraging multiple plugins is effortless from the user's point of view.
This module provides functions to generate histogram bucket ranges. The lists of buckets that can be generated are either linear or exponential.
This GenServer is responsible for uploading the configured PromEx module
dashboards to Grafana. This is a transient process and will terminate after
the dashboards have been successfully uploaded. It requires the name of the
PromEx module as an option so that it can look into the application
config for the appropriate Grafana settings. For example, if the name of the
PromEx module is WebApp.PromEx
, then your config chould provide the following
settings
This is a convenience module used for debugging and introspecting telemetry events. Primarily used to ease for development or PromEx itself.
This module is used by the Mix tasks that are available in PromEx to update
dashboards in Grafana and also by the PromEx.DashboardUpdater
to update
dashboards automatically on application initialization.
This struct encapsulates all of the data necessary to connect to a grafana instance.
This module is used to validate Grafana dashboard to ensure that they adhere to certain style and structure requirements.
This GenServer is responsible to keeping track of all the manual
metrics from your configured plugins. It will fetch metrics initially
when starting (either immediately or after a configured delay). At that
point if you would like to refresh your metrics data points call the
refresh_metrics/0
function.
This struct defines the fields necessary to export a group of standard metrics from a plugin.
This struct defines the fields necessary to export a group of manually collected metric sources from a plugin.
This struct defines the fields necessary to export a group of pollable metric sources from a plugin.
Use this plug in your Endpoint file to expose your metrics. The following options are supported by this plug
This module defines the behaviour that PromEx plugins need to implement in order to be properly loaded by PromEx on application start. As a convenience, this module can also be used as a macro to automatically import all of the necessary utility functions for writing plugins and also providing default implementations of behaviour functions that you may not be implementing.
This plugin captures metrics regarding your application, and its dependencies. Specifically, it captures the versions of your application and the application dependencies and also how many modules each dependency is bringing into the project.
Telemetry metrics for the BEAM.
This plugin captures metrics emitted by Phoenix. Specifically, it captures HTTP request metrics and Phoenix channel metrics.
Prometheus Reporter for Telemetry.Metrics
definitions.
Mix Tasks
This will generate a PromEx config
This will lint Grafana dashboards to ensure that PromEx dashboards meeting certain requirements.
This will generate a version diff of what is in PromEx and what's in Grafana
This will publish dashboards to grafana