Skip to content

Commit 129bf1e

Browse files
mderevyankoaqaMikhail Derevyanko
andauthored
Update formatting in the read me (#94)
Co-authored-by: Mikhail Derevyanko <[email protected]>
1 parent cb10bc3 commit 129bf1e

File tree

1 file changed

+32
-34
lines changed

1 file changed

+32
-34
lines changed

README.md

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,21 @@
1919
</p>
2020

2121
<h3>
22-
<details>
23-
<summary>Support my Ukrainian Family ❤️
24-
</summary>
22+
23+
<summary>Support project ❤️ </summary>
24+
<details>
2525
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=H8L62WL5HVD32">
2626
<img src="https://raw.githubusercontent.com/stefan-niedermann/paypal-donate-button/master/paypal-donate-button.png" alt="Donate with PayPal" />
2727
</a>
2828
</details>
2929
</h3>
3030

3131
<h3>
32-
<details>
3332
<summary>Like what you see? 😍 </summary>
3433
<br>
3534
<a href="https://www.buymeacoffee.com/mvderevyanko">
3635
<img alt="Coffee2" src="https://raw.githubusercontent.com/mderevyankoaqa/jmeter-elk/main/img/Coffee2.png" width="150">
3736
</a>
38-
</details>
3937
</h3>
4038

4139
## Description
@@ -50,17 +48,17 @@ The plugin sends metrics to InfluxDB and provides the possibility to visualize t
5048
* Latency;
5149
* The response time (uses from the SampleResult.class, needs to make aggregate report).
5250

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).
5452
This plugin can be used while the functional testing and load tests as well.
5553

56-
## Important notes
54+
## Important notes
5755
🚨 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.
6058

6159
Pleas monitor the elapsed time of the data importing (see logs) to avoid issues with requests sending from JMeter.
6260
Pay attention on "Sending metrics performance tuning" chapter, see below.
63-
61+
6462

6563
## Compatibility
6664
The supported versions:
@@ -75,7 +73,7 @@ Please see the latest release here https://search.maven.org/artifact/io.github.m
7573

7674
## CI/CD Support
7775
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:
7977

8078
<configuration>
8179
<jmeterExtensions>
@@ -91,7 +89,7 @@ Hello all contributors! Welcome to the project, I'm happy to see you here. Just
9189
3. All new development lets - in the "development" branch. So the steps:
9290
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.
9391
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.
9593

9694
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'
9795

@@ -103,22 +101,22 @@ While the first pull request please add your self to the [build.gradle](https://
103101
}
104102

105103
## 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`;
107105

108106
Note: "fatJar" gradle task should be used to create the package for the JMeter.
109107

110-
![](img/deploy1.png)
108+
![](img/deploy1.png)
111109

112110
* Run JMeter and select the test plan, Add-> Listener -> Backend Listener.
113-
111+
114112
![](img/deploy2.png)
115113

116114
* Go to Backend Listener
117-
115+
118116
![](img/testPlan.png)
119-
117+
120118
* Select from the dropdown item with the name '`io.github.mderevyankoaqa.influxdb2.visualizer.JMeterInfluxDBBackendListenerClient`'.
121-
119+
122120
![](img/deploy3.png)
123121

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

133131
* Click 'Clear all' button
134132

135-
![](img/deploy6.png)
133+
![](img/deploy6.png)
136134
* Set right settings (update all properties).
137135

138136
## InfluxDB configuration
139137
* Create Bucket to store the further testing results.
140138

141139
![](img/influx1.png)
142-
140+
143141
* Create the token with read and write rights.
144142
![](img/influx2.png)
145143

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

154152
![](img/influx3.png)
155-
153+
156154
* `influxDBOrganization` - the influxdb bucket organization, the default value should be updated, copy it from InfluxDB site.
157155

158156
![](img/influx4.png)
@@ -162,13 +160,13 @@ Let’s explain the plugin fields:
162160
* `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.)
163161
* `influxDBBucket` - the InfluxDB bucket name to store the test results.
164162
* `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.
166164

167165
![](img/deploy4.png)
168166

169167
You can modify the generated string in terms of your purposes.
170168

171-
![](img/deploy5.png)
169+
![](img/deploy5.png)
172170

173171
* `useRegexForSamplerList` - allows to use the regexps if set to 'true'.
174172
* `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
180178
`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.)
181179
So you can control the flush interval depends on the load you have and adjust `influxDBFlushInterval` setting. Is not recommended having less 1 second.
182180
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.
184182

185183
Make sure you have enough ram to aggregate huge batch and optimal flush period.
186184

187185
Notes: when test has been interrupted from UI; the processes may not be finished properly, restart JMeter.
188-
186+
189187

190188
## Grafana dashboard capabilities
191189
See deployment instructions here https://grafana.com/grafana/dashboards/13644
192190

193191
Dashboard helps:
194192
* Filter the results by Run Id or Type (can be requests or transactions).
195193

196-
![](img/filterById.png)
197-
![](img/filterByType.png)
194+
![](img/filterById.png)
195+
![](img/filterByType.png)
198196

199197
* Monitor throughput with active users.
200198
![](img/grafana1.png)
201199

202200
* Overview and analise the response time, distribution as well. Added the filters to see requests with status "pass", "fail".
203201
![](img/grafana2.png)
204202
![](img/grafana3.png)
205-
206203

207-
* See aggregate report.
204+
205+
* See aggregate report.
208206
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.
209207
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.
210208
![](img/grafana4.0.png)
211209

212210
Now added the possibility to see the aggregate report for requests with status "pass" only.
213211
![](img/grafana4.1.png)
214-
215212

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.
217215
![](img/grafana5.png)
218-
216+
219217

220218
* See network statistics, latency, processing time.
221219
![](img/grafana6.0.png)
@@ -224,4 +222,4 @@ Dashboard helps:
224222

225223

226224
* Check individual request details.
227-
![](img/grafana7.png)
225+
![](img/grafana7.png)

0 commit comments

Comments
 (0)