Giter VIP home page Giter VIP logo

jmeter-backend-azure's Introduction

jmeter-backend-azure

Build and publish

A JMeter plug-in that enables you to send test results to Azure Application Insights.

Overview

Description

JMeter Backend Azure is a JMeter plugin enabling you to send test results to an Azure Application Insights.

The following test results metrics are exposed by the plugin.

  • TestStartTime
  • SampleStartTime
  • SampleEndTime
  • ResponseCode
  • Duration
  • URL
  • SampleLabel
  • SampleCount
  • ErrorCount
  • Bytes
  • SentBytes
  • ConnectTime
  • IdleTime
  • ThreadName
  • GrpThreads
  • AllThreads
  • (Optional) aih.{ResponseHeader}
  • (Optional) ResponseData
  • (Optional) SampleData

Plugin installation

Once you have built or downloaded the plugin JAR file from the releases section, move the JAR to your $JMETER_HOME/lib/ext.

mv target/jmeter.backendlistener.azure-VERSION.jar $JMETER_HOME/lib/ext/

Then, restart JMeter and the plugin should be loaded.

JMeter configuration

To make JMeter send test result metrics to Azure Application Insights, in your Test Pan, right click on Thread Group > Add > Listener > Backend Listener, and choose io.github.adrianmo.jmeter.backendlistener.azure.AzureBackendClient as Backend Listener Implementation. Then, in the Parameters table, configure the following attributes.

Attribute Description Required
connectionString The Connection String of your Application Insights instance Yes
testName Name of the test. This value is used to differentiate metrics across test runs or plans in Application Insights and allow you to filter them. Yes
liveMetrics Boolean to indicate whether or not real-time metrics are enabled and available in the Live Metrics Stream. Defaults to true. No
samplersList Optional list of samplers separated by a semi-colon (;) that the listener will collect and send metrics to Application Insights. If the list is empty, the listener will not filter samplers and send metrics from all of them. Defaults to an empty string. No
useRegexForSamplerList If set to true the samplersList will be evaluated as a regex to filter samplers. Defaults to false. No
responseHeaders Optional list of response headers separated by a semi-colon (;) that the listener will collect and send values to Application Insights. No
logResponseData This value indicates whether or not the response data should be captured. Options are Always, OnFailure, or Never. The response data will be captured as a string into the ResponseData property. Defaults to OnFailure. No
logSampleData Boolean to indicate whether or not the sample data should be captured. Options are Always, OnFailure, or Never. The sample data will be captured as a string into the SampleData property. Defaults to OnFailure. No
instrumentationKey The Instrumentation Key of your Application Insights instance.
โš ๏ธ Deprecated: use connectionString instead.
No

Example of configuration:

Screenshot of configuration

Custom properties

You can add custom data to your metrics by adding properties starting with ai., for example, you might want to provide information related to your environment with the property ai.environment and value staging.

Visualization

Test result metrics are available in the requests dimension of your Application Insights instance. In the image you can see an example of how you can visualize the duration of the requests made during your test run.

Request duration

Additionally, if you enabled liveMetrics in the configuration, you can watch your test performance in real-time in the Live Metrics Stream blade.

Live Metrics Stream

Contributing

Feel free to contribute by forking and making pull requests, or simply by suggesting ideas through the Issues section.

Build

You can make changes to the plugin and build your own JAR file to test changes. To build the artifact, execute below Maven command. Make sure JAVA_HOME is set properly.

mvn clean package

This plugin is inspired in the Elasticsearch and Kafka backend listener plugins.

jmeter-backend-azure's People

Contributors

adrianmo avatar waystilos avatar greencee avatar kuniteru avatar teka2am avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.