{"id":26015,"date":"2023-06-19T18:03:18","date_gmt":"2023-06-19T16:03:18","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=26015"},"modified":"2024-09-11T10:18:35","modified_gmt":"2024-09-11T08:18:35","slug":"display-load-test-results-in-grafana","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/","title":{"rendered":"Display Load Test Results in Grafana"},"content":{"rendered":"\n<p>Lately, I played a lot with the de facto standard for monitoring visualization (ie. Grafana). It can display your data with great dashboard capabilities. On the other side, JMeter, a highly customizable load test tool, has visualization possibilities, but with an old-school aspect and not so dynamic. So, I wondered, would there be an option to get both together to benefit from the best of each tool.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bringing them Together<\/h2>\n\n\n\n<p>Grafana gets his data from data source and JMeter can write into backend listeners. By default, JMeter supports two time of Time Series DataBase (TSDB): <a href=\"https:\/\/graphiteapp.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Graphite<\/a> and <a href=\"https:\/\/www.influxdata.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">InfluxDB<\/a>.<\/p>\n\n\n\n<p>I chose InfluxDB as I already used it in the past for home automation to store my house power consumption. Since then, it evolved with a new query language named <a href=\"https:\/\/www.influxdata.com\/products\/flux\/\">Flux<\/a>. I will not go too much in detail, but this will determine how query are triggered by Grafana.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">InfluxDB Setup<\/h2>\n\n\n\n<p>As usual, I am using docker to bring service up without any hurdle (neither too much security):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\ndocker run -p 8086:8086 -d --rm -v LocalInfluxVolume:\/var\/lib\/influxdb influxdb:latest\n<\/pre><\/div>\n\n\n<p>Next, I browse to that exposed port and I start initial setup:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"524\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-16-16_24_53-InfluxDB-\u2014-Mozilla-Firefox-1024x524.png\" alt=\"\" class=\"wp-image-26031\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-16-16_24_53-InfluxDB-\u2014-Mozilla-Firefox-1024x524.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-16-16_24_53-InfluxDB-\u2014-Mozilla-Firefox-300x154.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-16-16_24_53-InfluxDB-\u2014-Mozilla-Firefox-768x393.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-16-16_24_53-InfluxDB-\u2014-Mozilla-Firefox.png 1506w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Following, by an API Token creation:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"209\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_07_26-API-Tokens-_-Load-Data-_-monitoring-_-InfluxDB-\u2014-Mozilla-Firefox-1024x209.png\" alt=\"\" class=\"wp-image-26033\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_07_26-API-Tokens-_-Load-Data-_-monitoring-_-InfluxDB-\u2014-Mozilla-Firefox-1024x209.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_07_26-API-Tokens-_-Load-Data-_-monitoring-_-InfluxDB-\u2014-Mozilla-Firefox-300x61.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_07_26-API-Tokens-_-Load-Data-_-monitoring-_-InfluxDB-\u2014-Mozilla-Firefox-768x157.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_07_26-API-Tokens-_-Load-Data-_-monitoring-_-InfluxDB-\u2014-Mozilla-Firefox-1536x314.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_07_26-API-Tokens-_-Load-Data-_-monitoring-_-InfluxDB-\u2014-Mozilla-Firefox.png 1894w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Which will have access to jmeter bucket only:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"784\" height=\"684\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_07_43-API-Tokens-_-Load-Data-_-monitoring-_-InfluxDB-\u2014-Mozilla-Firefox.png\" alt=\"\" class=\"wp-image-26034\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_07_43-API-Tokens-_-Load-Data-_-monitoring-_-InfluxDB-\u2014-Mozilla-Firefox.png 784w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_07_43-API-Tokens-_-Load-Data-_-monitoring-_-InfluxDB-\u2014-Mozilla-Firefox-300x262.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_07_43-API-Tokens-_-Load-Data-_-monitoring-_-InfluxDB-\u2014-Mozilla-Firefox-768x670.png 768w\" sizes=\"auto, (max-width: 784px) 100vw, 784px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">JMeter Setup<\/h2>\n\n\n\n<p>For this blog, I will use my simplest scenario which only triggers one URL. For this scenario to send results into InfluxDB, there are two options:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>InfluxDBBackendListenerClient which sends pre-calculated metrics<\/li>\n\n\n\n<li>InfluxDBRawBackendListenerClient which sends raw data, meaning every requests response times<\/li>\n<\/ul>\n\n\n\n<p>The second option will, of course, use more resources, so let&#8217;s begin with first one.<\/p>\n\n\n\n<p>I will add a Backend Listener to the Thread Group:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png\" alt=\"\" class=\"wp-image-26035\" width=\"700\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-300x155.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-768x398.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache.png 1345w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>I set parameters as follow:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"415\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_07_45-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x415.png\" alt=\"\" class=\"wp-image-26036\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_07_45-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x415.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_07_45-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-300x122.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_07_45-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-768x311.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_07_45-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1536x623.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_07_45-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache.png 1926w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The two most important parameters are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>influxdbUrl<\/code> which corresponds to the API URL used by JMeter to write into InfluxDB.<\/li>\n\n\n\n<li><code>infludbToken<\/code> was a parameter I must add for API authentication as it was not listed.<\/li>\n<\/ul>\n\n\n\n<p>If all goes well, when I start the scenario, log will show the following message:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2023-06-19 10:05:54,932 INFO o.a.j.e.StandardJMeterEngine: Running the test!\n2023-06-19 10:05:54,933 INFO o.a.j.s.SampleEvent: List of sample_variables: &#091;]\n2023-06-19 10:05:54,936 INFO o.a.j.v.b.BackendListener: Backend Listener Stats: Starting worker with class: class org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient and queue capacity: 5000\n2023-06-19 10:05:54,937 INFO o.a.j.v.b.BackendListener: Backend Listener Stats: Started  worker with class: class org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient\n2023-06-19 10:05:54,939 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)\n2023-06-19 10:05:54,948 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : Thread Group\n2023-06-19 10:05:54,948 INFO o.a.j.e.StandardJMeterEngine: Starting 50 threads for group Thread Group.\n2023-06-19 10:05:54,948 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error\n2023-06-19 10:05:54,948 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=50 ramp-up=30 delayedStart=false\n2023-06-19 10:05:54,953 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-1\n2023-06-19 10:05:54,972 INFO o.a.j.t.ThreadGroup: Started thread group number 1\n2023-06-19 10:05:54,972 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started\n2023-06-19 10:05:55,559 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-2\n2023-06-19 10:05:56,157 INFO o.a.j.t.JMeterThread: Thread started: Thread Group 1-3\n&#091;...]<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Grafana Setup<\/h2>\n\n\n\n<p>Before being able to use this dashboard, I have to setup a new datasource of type InfluxDB:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_22_16-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir-945x1024.png\" alt=\"\" class=\"wp-image-26041\" width=\"600\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_22_16-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir-945x1024.png 945w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_22_16-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir-277x300.png 277w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_22_16-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir-768x832.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_22_16-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir.png 1242w\" sizes=\"(max-width: 945px) 100vw, 945px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_23_54-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir-1024x407.png\" alt=\"\" class=\"wp-image-26042\" width=\"600\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_23_54-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir-1024x407.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_23_54-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir-300x119.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_23_54-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir-768x305.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_23_54-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir.png 1156w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>For that part, important parameters are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Query Language set to Flux instead of InfluxQL.<\/li>\n\n\n\n<li>URL.<\/li>\n\n\n\n<li>InfluxDB Details:\n<ul class=\"wp-block-list\">\n<li>Organization: monitoring.<\/li>\n\n\n\n<li>Default Bucket:  jmeter<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Save and test should confirm Grafana can access the datasource:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_26_41-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir.png\" alt=\"\" class=\"wp-image-26043\" width=\"400\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_26_41-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir.png 731w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_26_41-InfluxDB-Data-sources-Your-connections-Connections-Grafana-\u2014-Mozilla-Fir-300x56.png 300w\" sizes=\"(max-width: 731px) 100vw, 731px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Dashboard<\/h2>\n\n\n\n<p>I chose <a href=\"https:\/\/grafana.com\/grafana\/dashboards\/17472-jmeter-test-results-influxdb2-standart-backend-listener\/\" target=\"_blank\" rel=\"noreferrer noopener\">this<\/a> ready to use dashboard which is compatible with Flux. This works well without any further configuration:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_30_00-JMeter-test-results-influxdb2-standart-backend-listener-Dashboards-Grafana-\u2014-1024x451.png\" alt=\"\" class=\"wp-image-26046\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_30_00-JMeter-test-results-influxdb2-standart-backend-listener-Dashboards-Grafana-\u2014-1024x451.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_30_00-JMeter-test-results-influxdb2-standart-backend-listener-Dashboards-Grafana-\u2014-300x132.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_30_00-JMeter-test-results-influxdb2-standart-backend-listener-Dashboards-Grafana-\u2014-768x338.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_30_00-JMeter-test-results-influxdb2-standart-backend-listener-Dashboards-Grafana-\u2014-1536x677.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-10_30_00-JMeter-test-results-influxdb2-standart-backend-listener-Dashboards-Grafana-\u2014-2048x902.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Next Steps<\/h2>\n\n\n\n<p>Percentiles could be customized in JMeter Backend Listener parameters. If more fined grained statistics are required, this can be achieved by using Raw InfluxDB Backend Listener which will provide information about each and every request with a much higher resource cost.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lately, I played a lot with the de facto standard for monitoring visualization (ie. Grafana). It can display your data with great dashboard capabilities. On the other side, JMeter, a highly customizable load test tool, has visualization possibilities, but with an old-school aspect and not so dynamic. So, I wondered, would there be an option [&hellip;]<\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[2257,2988,950,2880,143],"type_dbi":[],"class_list":["post-26015","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware","tag-grafana","tag-influxdb","tag-jmeter","tag-loadtest","tag-monitoring"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Display Load Test Results in Grafana - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Display Load Test Results in Grafana\" \/>\n<meta property=\"og:description\" content=\"Lately, I played a lot with the de facto standard for monitoring visualization (ie. Grafana). It can display your data with great dashboard capabilities. On the other side, JMeter, a highly customizable load test tool, has visualization possibilities, but with an old-school aspect and not so dynamic. So, I wondered, would there be an option [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-19T16:03:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-11T08:18:35+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png\" \/>\n<meta name=\"author\" content=\"Middleware Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Middleware Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/\"},\"author\":{\"name\":\"Middleware Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d8563acfc6e604cce6507f45bac0ea1\"},\"headline\":\"Display Load Test Results in Grafana\",\"datePublished\":\"2023-06-19T16:03:18+00:00\",\"dateModified\":\"2024-09-11T08:18:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/\"},\"wordCount\":434,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/06\\\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png\",\"keywords\":[\"Grafana\",\"InfluxDB\",\"JMeter\",\"LoadTest\",\"Monitoring\"],\"articleSection\":[\"Application integration &amp; Middleware\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/\",\"name\":\"Display Load Test Results in Grafana - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/06\\\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png\",\"datePublished\":\"2023-06-19T16:03:18+00:00\",\"dateModified\":\"2024-09-11T08:18:35+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d8563acfc6e604cce6507f45bac0ea1\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/#primaryimage\",\"url\":\"http:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/06\\\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png\",\"contentUrl\":\"http:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2023\\\/06\\\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/display-load-test-results-in-grafana\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Display Load Test Results in Grafana\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d8563acfc6e604cce6507f45bac0ea1\",\"name\":\"Middleware Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"caption\":\"Middleware Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/middleware-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Display Load Test Results in Grafana - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/","og_locale":"en_US","og_type":"article","og_title":"Display Load Test Results in Grafana","og_description":"Lately, I played a lot with the de facto standard for monitoring visualization (ie. Grafana). It can display your data with great dashboard capabilities. On the other side, JMeter, a highly customizable load test tool, has visualization possibilities, but with an old-school aspect and not so dynamic. So, I wondered, would there be an option [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/","og_site_name":"dbi Blog","article_published_time":"2023-06-19T16:03:18+00:00","article_modified_time":"2024-09-11T08:18:35+00:00","og_image":[{"url":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png","type":"","width":"","height":""}],"author":"Middleware Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Middleware Team","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/"},"author":{"name":"Middleware Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"headline":"Display Load Test Results in Grafana","datePublished":"2023-06-19T16:03:18+00:00","dateModified":"2024-09-11T08:18:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/"},"wordCount":434,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/#primaryimage"},"thumbnailUrl":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png","keywords":["Grafana","InfluxDB","JMeter","LoadTest","Monitoring"],"articleSection":["Application integration &amp; Middleware"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/","url":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/","name":"Display Load Test Results in Grafana - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/#primaryimage"},"thumbnailUrl":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png","datePublished":"2023-06-19T16:03:18+00:00","dateModified":"2024-09-11T08:18:35+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/#primaryimage","url":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png","contentUrl":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/06\/2023-06-19-09_59_51-HelloWorld.jmx-C__Users_ols_Documents_Technical_JMeter_HelloWorld.jmx-Apache-1024x531.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/display-load-test-results-in-grafana\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Display Load Test Results in Grafana"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1","name":"Middleware Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","caption":"Middleware Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/middleware-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/26015","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=26015"}],"version-history":[{"count":15,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/26015\/revisions"}],"predecessor-version":[{"id":26157,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/26015\/revisions\/26157"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=26015"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=26015"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=26015"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=26015"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}