DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • The Big Data Architecture Blueprint: Core Storage, Integration, and Governance Patterns
  • How to Interpret the Number of Spring ApplicationContexts in Integration Tests
  • Advanced Error Handling and Retry Patterns in Enterprise REST Integrations
  • Build a GitHub Slack Bot With AWS Bedrock and MCP, Part 2

Trending

  • Context Rot: Why Your AI Agent Gets Worse the Longer It Works
  • A Spring Boot App With Half the Startup Time
  • Your Biggest Identity Problem Isn't Your Employees Anymore; It's Everything Else
  • How to Format Articles for DZone
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Deployment
  4. JMeter Real-Time Monitoring, Integration With Grafana+InfluxDB 2.0 (Flux)

JMeter Real-Time Monitoring, Integration With Grafana+InfluxDB 2.0 (Flux)

A developer discusses the newest additions to JMeter, InfluxDB 2.0 and the Flux language, and he used them with Grafana in an open source testing project.

By 
Michael Derevyanko user avatar
Michael Derevyanko
·
Jan. 04, 21 · Review
Likes (6)
Comment
Save
Tweet
Share
10.8K Views

Join the DZone community and get the full member experience.

Join For Free

We know that JMeter is one of the most popular and best tools to load and test functional behavior and measure performance. I love JMeter so much and a lot of real projects have been created using this tool. JMeter gives capabilities, like: building different load patterns through plugins, offline HTML reporting, scaling (master and slave nodes), access to a big community, and custom plugins. But we have no real-time monitoring out-of-the-box. This is not a problem; we can build a solution using an integration with Grafana + InfluxDB. This solution provides great capabilities and saves time.

Why do we need real-time monitoring?

  • It helps to react immediately.
  • Illustrates the system health under test.
  • Measure performance and metrics.
  • Improves error analysis and reduces the time to perform a root cause investigation.

The Architecture

The solution is very simple:

  1. JMeter sends the metrics to the time series database through a custom plugin.
  2. Grafana reads the stored data.
  3. All-important metrics are available in the browser.

We now have an InfluxDB v2.0 release with a new language, Flux (previously InfluxDB 1.8 or less was commonly used). The new release brings a lot of opportunities from a technology stack perspective and security point of view. The newest hardware and infrastructure monitoring system uses the latest release.

So, I decided to support the JMeter plugin and to use the latest JMeter technologies, InfluxDB v2.0 and Flux, in my open source testing project. I am happy to share that the new JMeter plugin and Dashboard have been released:

  1. Plugin ("org.md.jmeter.influxdb2.visualizer.JMeterInfluxDBBackendListenerClient")
  2. Grafana Dashboard 

The plugin supports the InfluxDB v2.0. The dashboard was built using the Flux language, which generates amazing charts:

Monitor Throughput With Active Users

Monitor throughput with active users

Overview and Analysis of the Response Time

With distribution as well.

Aggregate Report

Investigate Errors

The table is interactive, so it's possible to filter data in the columns and see details for the specific error.


See Network Statistics, Latency, Processing Time 

Check Individual Request Details


You can significantly improve your performance testing process. Happy testing, enjoy!

Best Regards, 

Michael Derevyanko

Flux (machine-learning framework) Integration

Opinions expressed by DZone contributors are their own.

Related

  • The Big Data Architecture Blueprint: Core Storage, Integration, and Governance Patterns
  • How to Interpret the Number of Spring ApplicationContexts in Integration Tests
  • Advanced Error Handling and Retry Patterns in Enterprise REST Integrations
  • Build a GitHub Slack Bot With AWS Bedrock and MCP, Part 2

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook