Description
JMeter is a testing tool to analyze and measure web application performance. The JMeter plug-in imports the test results data in HCL DevOps Velocity metrics.
JMeter is a testing tool to analyze and measure web application performance. The JMeter plug-in imports the test results data in HCL DevOps Velocity metrics.
The Apache JMeter plug-in provides for integration with an Apache JMeter server. Data is uploaded to the HCL DevOps Velocity server using an HTTP Post request.
To use the Apache JMeter plug-in, the plug-in must be loaded and an instance created. Load the plug-in into the HCL DevOps Velocity container if necessary. From the user interface, click Settings > Integrations > Plugins. On the Plugins page, locate the plug-in and click Load Plugin. To create an instance, locate the plug-in and click Install. The plug-in is now listed below those plug-ins to be installed and available for invoking.
The JMeter plug-in parses CSV and XML data from the JMeter server.
To gather data from the JMeter server, send an HTTP Post request with the data to parse. When there is a hit to the HCL DevOps Velocity quality data endpoint, the data is parsed and displayed as metrics in HCL Accelerate. You can use various methods such as Postman, REST calls, CURL, and CI/CD tools like Jenkins to invoke the plug-in endpoints.
Install the DevOpsVelocity plug-in into your Jenkins server. In your freestyle job or pipeline use the UCV-Upload Metrics File to DevOps Velocity step and provide the required fields. This step allows your build job to upload generated coverage results files to HCL DevOps Velocity.
The following is an example using Jenkins plug-in.
pipeline {
agent any
stages {
stage('jmeterMetrics') {
steps {
step([$class: 'UploadMetricsFile', appName: 'My Jmeter Test', dataFormat: 'jmeterXML', filePath: '<location of the jmeter report>', name: 'my-jmeter-test', pluginType: 'jmeter', tenantId: '<tenant Id>', testSetName: 'jmeter', metricsRecordUrl: "${env.BUILD_URL}"])
}
}
}
}
When using a REST call to invoke the plug-in, it must be a POST method and include the location of the HCL DevOps Velocity quality data endpoint.
The following samples shows a REST call that you can copy and update as necessary. Key points about the code snippet:
METHOD: POST
URL: https://<url_devopsvelocity_server>/reporting-consumer/metrics
BODY (multipart/form-data):
{
payload: <payload_json_object_string> // See below for schema format
testArtifact: <jmeter_xml_file>
}
curl --request POST \
--url https:///reporting-consumer/metrics \
--form 'payload={
"tenant_id": "5ade13625558f2c6688d15ce",
"application": {
"name": "My Application"
},
"record": {
"pluginType": "jmeter",
"dataFormat": "jmeterXML"
}
}
The following shows the schema for the payload. Replace the angle brackets with your values for the parameters.
{
"tenant_id": "<tenant_id>", // required Tenant ID
"metricName": "<metric_name>", // optional: name for recurring test set
"application": {
"name": "<application_name>" //Name of application
},
"record": {
"recordName": "<record_name>", // optional: Name for this record
"executionDate": 1547983466015, // optional: UNIX Epoch
"pluginType": "jmeter",
"dataFormat": "jmeterXML", // jmeter xml
"metricsRecordUrl": "<Jenkins_build_url>" // optional: To link the Jenkins build with test results
},
"build": { // Optional: One of the following fields must be included
"buildId": "<build_id>",
"jobExternalId": "<external_job_id>",
"url": "<build_url>",
},
"commitId": "<commit_id>", // optional
"pullRequestId": "<pullrequest_id>", // optional
"environment": "<environment_name>" // optional
}
Uploaded: 12-Jun-2024 06:53
Uploaded: 27-May-2022 04:24
docker pull hclcr.io/accelerate/ucv-ext-jmeter:1.0.56
Uploaded: 24-May-2021 11:58
docker pull hclcr.io/accelerate/ucv-ext-jmeter:1.0.55
Uploaded: 08-Feb-2021 07:37
docker pull hclcr.io/accelerate/ucv-ext-jmeter:1.0.38