Skip to content

v3.5 Monitoring API

Andrey Kurilov edited this page Jul 13, 2017 · 10 revisions

Contents

  1. Introduction
  2. Requirements
  3. Limitations
  4. Configuration 4.1. JMX 4.2. Prometheus
  5. Reporting 5.1. JMX 5.2. Prometheus 5.3. Standard Output 5.4. Log Files

1. Introduction

Mongoose computes the rich set of the metrics characterizing each load step been performed. It means that the tool may work as a metrics providing service which may be used to build other applications on top of it. The metrics consumer may be a Mongoose-specific UI application either a monitoring infrastructure system.

2. Requirements

To export the metrics via Prometheus exchange format it's necessary to deploy the standalone JMX Prometheus Exporter which can be downloaded using this link (for the version 0.9 which can change later).

3. Limitations

TODO

4. Configuration

4.1. JMX

To enable the remote monitoring add the following JVM arguments to the command line:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

4.2. Prometheus

To enable the metrics exporting for Prometheus run the standalone JMX Exporter:

java -jar jmx_prometheus_httpserver-0.9-jar-with-dependencies.jar 9280 <MONGOOSE_DIR>/config/jmx_exporter.yaml

Note:

  • Mongoose provides the configuration file for the JMX Exporter.
  • JMX Exporter will try to connect to Mongoose using the 127.0.0.1:9010 address by default. To change this behavior modify the <MONGOOSE_DIR>/config/jmx_exporter.yaml configuration file.

5. Reporting

5.1. JMX

  • JMX bean domain name: com.emc.mongoose.load.monitor
  • JMX bean name: test step id
  • JMX bean attributes: see below

Attributes reflect the current metric values for each test step:

  1. ByteCount
  2. ByteRateLast
  3. ByteRateMean
  4. DurationHiQ
  5. DurationLoQ
  6. DurationMax
  7. DurationMean
  8. DurationMed
  9. DurationMin
  10. DurationSum
  11. ElapsedTimeMillis
  12. FailCount
  13. FailRateLast
  14. FailRateMean
  15. LatencyHiQ
  16. LatencyLoQ
  17. LatencyMax
  18. LatencyMean
  19. LatencyMed
  20. LatencyMin
  21. LatencySum
  22. StartTimeMillis
  23. SuccCount
  24. SuccRateLast
  25. SuccRateMean

Note:

Attributes with names ending with "Millis" provide the time values measured in milliseconds. Other attributes providing the time values (DurationXXX and LatencyXXX) are in microseconds.

Example: monitoring the metrics using VisualVM application for the test step with id "step0":

visualvm metrics monitoring screenshot

5.2. Prometheus

5.3. Standard Output

TODO

5.4. Log Files

TODO

Clone this wiki locally