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
@@ -50,17 +48,17 @@ The plugin sends metrics to InfluxDB and provides the possibility to visualize t
50
48
* Latency;
51
49
* The response time (uses from the SampleResult.class, needs to make aggregate report).
52
50
53
-
Notes: if you need to save the errors you got wile the test to csv like file and then share to the dev team you can use the [jmeter-csv-listener-plugin](https://github.com/mderevyankoaqa/jmeter-csv-listener-plugin).
51
+
Notes: if you need to save the errors you got wile the test to csv like file and then share to the dev team you can use the [jmeter-csv-listener-plugin](https://github.com/mderevyankoaqa/jmeter-csv-listener-plugin).
54
52
This plugin can be used while the functional testing and load tests as well.
55
53
56
-
## Important notes
54
+
## Important notes
57
55
🚨 The plugin allows 5 errors happened one by one, then plugin will stop importing the results after that! See details in the logs.
58
-
Counter will be refreshed at least you have 4 fails. This is protection to avoid OOM error.
59
-
The option can be configured in the settings (the key name is `influxDBThresholdError` see the [Plugin configuration](https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/tree/main#plugin-configuration) for the details). You need to be careful with that option and know the hardware resources to store data in the memory.
56
+
Counter will be refreshed at least you have 4 fails. This is protection to avoid OOM error.
57
+
The option can be configured in the settings (the key name is `influxDBThresholdError` see the [Plugin configuration](https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/tree/main#plugin-configuration) for the details). You need to be careful with that option and know the hardware resources to store data in the memory.
60
58
61
59
Pleas monitor the elapsed time of the data importing (see logs) to avoid issues with requests sending from JMeter.
62
60
Pay attention on "Sending metrics performance tuning" chapter, see below.
63
-
61
+
64
62
65
63
## Compatibility
66
64
The supported versions:
@@ -75,7 +73,7 @@ Please see the latest release here https://search.maven.org/artifact/io.github.m
75
73
76
74
## CI/CD Support
77
75
The CI/CD can be done using [jmeter-maven-plugin](https://github.com/jmeter-maven-plugin/jmeter-maven-plugin)
78
-
The example of the adding plugin to the project with the jmeter-maven:
76
+
The example of the adding plugin to the project with the jmeter-maven:
79
77
80
78
<configuration>
81
79
<jmeterExtensions>
@@ -91,7 +89,7 @@ Hello all contributors! Welcome to the project, I'm happy to see you here. Just
91
89
3. All new development lets - in the "development" branch. So the steps:
92
90
a. make a branch for the feature you want to develop from "development" (source branch -> "main"). There will be a mirror of the latest release + can be a merge of the new features.
93
91
b. all pull requests from your feature branch -> "development" branch only.
94
-
c. once we decide to make the new release after testing, we will merge "development" -> "main" with push to maven central.
92
+
c. once we decide to make the new release after testing, we will merge "development" -> "main" with push to maven central.
95
93
96
94
While the first pull request please add your self to the [build.gradle](https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/blob/main/build.gradle) the section 'developers'
97
95
@@ -103,22 +101,22 @@ While the first pull request please add your self to the [build.gradle](https://
103
101
}
104
102
105
103
## Deployment
106
-
* Put '`jmeter-plugin-influxdb2-listener-<version>.jar`' file from [Releases](https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/releases) to `~<JmeterPath<\lib\ext`;
104
+
* Put '`jmeter-plugin-influxdb2-listener-<version>.jar`' file from [Releases](https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/releases) to `~<JmeterPath<\lib\ext`;
107
105
108
106
Note: "fatJar" gradle task should be used to create the package for the JMeter.
109
107
110
-

108
+

111
109
112
110
* Run JMeter and select the test plan, Add-> Listener -> Backend Listener.
113
-
111
+
114
112

115
113
116
114
* Go to Backend Listener
117
-
115
+
118
116

119
-
117
+
120
118
* Select from the dropdown item with the name '`io.github.mderevyankoaqa.influxdb2.visualizer.JMeterInfluxDBBackendListenerClient`'.
121
-
119
+
122
120

123
121
124
122
## Upgrade
@@ -127,19 +125,19 @@ Note: "fatJar" gradle task should be used to create the package for the JMeter.
127
125
* Put '`jmeter-plugin-influxdb2-listener-<version>.jar`' file from [Releases](https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/releases) to `~<JmeterPath<\lib\ext`;
128
126
* Run JMeter again and got Listener.
129
127
* Select from the dropdown item with the name '`io.github.mderevyankoaqa.influxdb2.visualizer.JMeterInfluxDBBackendListenerClient`'.
130
-
128
+
131
129

132
130
133
131
* Click 'Clear all' button
134
132
135
-

133
+

136
134
* Set right settings (update all properties).
137
135
138
136
## InfluxDB configuration
139
137
* Create Bucket to store the further testing results.
140
138
141
139

142
-
140
+
143
141
* Create the token with read and write rights.
144
142

145
143
@@ -152,7 +150,7 @@ Let’s explain the plugin fields:
152
150
*`influxDBToken` - the influxdb bucket token, the default value should be updated, copy it from InfluxDB site.
153
151
154
152

155
-
153
+
156
154
*`influxDBOrganization` - the influxdb bucket organization, the default value should be updated, copy it from InfluxDB site.
157
155
158
156

@@ -162,13 +160,13 @@ Let’s explain the plugin fields:
162
160
*`influxDBThresholdError` - the error threshold before stopping the import, the default value is 5. (see [Important notes](https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/tree/main#important-notes) for more detail.)
163
161
*`influxDBBucket` - the InfluxDB bucket name to store the test results.
164
162
*`samplersList` - the regex value to sort out the JMeter samplers results; the default is _`.*`_. For example if you have the pattern of JMeter test plan development like this - create the 'Transaction controller', add inside of the 'Transaction controller' the Sampler with request, and the name pattern '`GET->Something`', like on the see screen below.
165
-
The regex `^(Home Page|Login|Search)(-success|-failure)?$` can be used to save only samplers names. The regex can be generated from JMeter menu.
163
+
The regex `^(Home Page|Login|Search)(-success|-failure)?$` can be used to save only samplers names. The regex can be generated from JMeter menu.
166
164
167
165

168
166
169
167
You can modify the generated string in terms of your purposes.
170
168
171
-

169
+

172
170
173
171
*`useRegexForSamplerList` - allows to use the regexps if set to 'true'.
174
172
*`recordSubSamples` - allows to save the JMeter sub samples if set to 'true'.
@@ -180,42 +178,42 @@ The plugin imports batch with JMeter results each 4 seconds (by default settings
180
178
`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.)
181
179
So you can control the flush interval depends on the load you have and adjust `influxDBFlushInterval` setting. Is not recommended having less 1 second.
182
180
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.
183
-
Using both options you can tune data importing and have optimal performance.
181
+
Using both options you can tune data importing and have optimal performance.
184
182
185
183
Make sure you have enough ram to aggregate huge batch and optimal flush period.
186
184
187
185
Notes: when test has been interrupted from UI; the processes may not be finished properly, restart JMeter.
188
-
186
+
189
187
190
188
## Grafana dashboard capabilities
191
189
See deployment instructions here https://grafana.com/grafana/dashboards/13644
192
190
193
191
Dashboard helps:
194
192
* Filter the results by Run Id or Type (can be requests or transactions).
195
193
196
-

197
-

194
+

195
+

198
196
199
197
* Monitor throughput with active users.
200
198

201
199
202
200
* Overview and analise the response time, distribution as well. Added the filters to see requests with status "pass", "fail".
203
201

204
202

205
-
206
203
207
-
* See aggregate report.
204
+
205
+
* See aggregate report.
208
206
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.
209
207
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.
210
208

211
209
212
210
Now added the possibility to see the aggregate report for requests with status "pass" only.
213
211

214
-
215
212
216
-
* Investigate errors. The table is interactive, it's possible to filter data in the columns and see details for the specific error. Added the paging.
213
+
214
+
* Investigate errors. The table is interactive, it's possible to filter data in the columns and see details for the specific error. Added the paging.
217
215

218
-
216
+
219
217
220
218
* See network statistics, latency, processing time.
0 commit comments