A JMeter plugin that exposes performance test results as Prometheus metrics via an HTTP API.
jmeter-prometheus-plugin is a plugin for Apache JMeter that exposes performance test results as Prometheus metrics. It solves the problem of integrating JMeter load test data into Prometheus-based monitoring stacks by providing an HTTP API endpoint that Prometheus can scrape, enabling real-time visualization and alerting on test results.
Performance engineers and developers who use JMeter for load testing and want to integrate test results into Prometheus monitoring systems for real-time analysis and dashboarding.
Developers choose this plugin because it provides a seamless bridge between JMeter and Prometheus, offering highly configurable metric definitions, support for JMeter variables as labels, and specialized metrics like success ratios that handle edge cases properly.
A Prometheus Listener for Apache JMeter that exposes results in an http API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows users to define metrics with custom names, types (histogram, summary, counter, gauge, success ratio), and labels, as detailed in the listener configuration matrix and examples like the simple_prometheus_example.jmx file.
Supports JMeter variables as label values, enabling contextual tagging based on test dynamics, shown in examples where variables like 'category' are used to generate label values in exposed metrics.
Special success ratio metric prevents NaN issues by ensuring zero values for success and failure counters, addressing a common monitoring problem as explained in the README's success ratio section.
Configuration element allows advanced users to interact with Prometheus metrics programmatically in test scripts, leveraging the Prometheus Java client API, as demonstrated in the config element examples.
The README admits that gauges were added without a clear use case, stating 'I'm not quite sure how Gauges make sense,' which can confuse users and limit practical application.
Requires users to manually define all metrics in listeners or config elements, which can be complex and time-consuming compared to plugins with pre-defined metric sets, as noted in the flexibility trade-off.
Lacks out-of-the-box visualization; users must create Grafana dashboards from scratch using provided examples, increasing setup effort for immediate monitoring needs.