You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Developed batches to improve the performance of the metrics sending. Now its possible to control the batch size and frequency of the data importing. See read me for the details.
* Improved string messages saving.
* Updated libs.
* Supported the dashboard (compatible with Grafana 8.2.3) - tables have been updated as well. No its possible to sort data.
Co-authored-by: Mikhail.Derevyanko <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+33-9Lines changed: 33 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,12 +12,19 @@ The plugin sends metrics to InfluxDB and provides the possibility to visualize t
12
12
* Latency;
13
13
* The response time (uses from the SampleResult.class, needs to make aggregate report).
14
14
15
+
## Important notes
16
+
The plugin allows 5 errors happened one by one, then plugin will stop importing the results after that! See details in the logs.
17
+
Counter will be refreshed at least you have 4 fails. This is protection to avoid OOM error.
18
+
19
+
Pleas monitor the elapsed time of the data importing (see logs) to avoid issues with requests sending from JMeter.
20
+
Pay attention on "Sending metrics performance tuning" chapter, see below.
15
21
16
22
## Compatibility
17
23
The supported versions:
18
-
* Java 11 - make sure that you have it.
24
+
* Java 11 - make sure that you have it (its minimum version).
19
25
* InfluxDB v2.0, see release notes: https://docs.influxdata.com/influxdb/v2.0/reference/release-notes/influxdb/ (1.8 is not supported)
20
-
* JMeter 5.4.1 only (the previous supports 3.5)
26
+
* JMeter 5.4.1 only.
27
+
* The current board and plugin were tested on Grafana 8.2.3 and InfluxDB 2.0.9, JAVA 15.
21
28
22
29
## Deployment
23
30
* Put '`jmeter-plugin-influxdb2-listener-<version>.jar`' file from [Releases](https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/releases) to `~<JmeterPath<\lib\ext`;
@@ -48,10 +55,13 @@ Let’s explain the plugin fields:
48
55
*`testName` - the name of the test.
49
56
*`nodeName` - the name of the server.
50
57
*`runId` - the identification number of hte test run, can be dynamic.
51
-
*`influxDBScheme` - InfluxDB server scheme (can be http or https).
58
+
*`influxDBScheme` - InfluxDB server scheme (can be http or https).
52
59
*`influxDBHost` - the host name or ip of the InfluxDB server.
53
60
*`influxDBPort` - the port of the InfluxDB server, the default is 8086.
54
61
*`influxDBToken` - the influxdb bucket token, the default value should be updated, copy it from InfluxDB site.
62
+
*`influxDBFlushInterval` - its interval to send data to InfluxDB, the default value is 4000 (4 seconds).
63
+
*`influxDBMaxBatchSize` - the max size of the batch with metrics, the default 2000 (2000 items of JMeter results).
64
+
55
65
56
66

57
67
@@ -76,6 +86,18 @@ You can modify the generated string in terms of your purposes.
76
86
*`recordSubSamples` - allows to save the JMeter sub samples if set to 'true'.
77
87
*`saveResponseBodyOfFailures` - allows to save the response body of the failures.
78
88
89
+
## Sending metrics performance tuning
90
+
The plugin imports batch with JMeter results each 4 seconds (by default settings). In the logs you will see records like this:
91
+
`INFO o.m.j.i.v.InfluxDatabaseBackendListenerClient: Data has been imported successfully, batch size --> 68, elapsed time is --> 14 ms` (the elapsed time is the response time of the batch importing.)
92
+
So you can control the flush interval depends on the load you have and adjust `influxDBFlushInterval` setting. Is not recommended having less 1 second.
93
+
Max batch protection -> send data when batch max size is occurred. For example, when batch size is 2000 items (it's the default setting of `influxDBMaxBatchSize`) plugin imports that batch, even when flush interval was not occurred.
94
+
Using both options you can tune data importing and have optimal performance.
95
+
96
+
Make sure you have enough ram to aggregate huge batch and optimal flush period.
97
+
98
+
Notes: when test has been interrupted from UI; the processes may not be finished properly, restart JMeter.
99
+
100
+
79
101
## Grafana dashboard capabilities
80
102
See deployment instructions here https://grafana.com/grafana/dashboards/13644
81
103
@@ -87,24 +109,26 @@ Dashboard helps:
87
109
* Overview and analise the response time, distribution as well.
88
110
89
111

112
+
113
+

90
114
91
115
* See aggregate report.
92
116
The table rendering may take an extra time. The table has hardware resources consuming queries from Influxdb side. If you have low hardware on the Influxdb server - recommended make the clone of the original dashboard and remove aggregate report.
93
117
So the idea - it's to have one 'fast' dashboard for the online monitoring (has no aggregate report) to see the results while the test, the second (original with aggregate report) to see the final results.
94
-
95
-

118
+
119
+

96
120
97
121
* Investigate errors. The table is interactive, it's possible to filter data in the columns and see details for the specific error.
98
122
99
-

123
+

100
124
101
125
* See network statistics, latency, processing time.
0 commit comments