Skip to content

Commit afac629

Browse files
Added the Development and branching strategy, dev. testing of the "influxdb threshold configuration feature". (#49)
Co-authored-by: Mikhail.Derevyanko <[email protected]>
1 parent 19bd018 commit afac629

File tree

3 files changed

+31
-8
lines changed

3 files changed

+31
-8
lines changed

README.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@ This plugin can be used while the functional testing and load tests as well.
4343

4444
## Important notes
4545
The plugin allows 5 errors happened one by one, then plugin will stop importing the results after that! See details in the logs.
46-
Counter will be refreshed at least you have 4 fails. This is protection to avoid OOM error.
46+
Counter will be refreshed at least you have 4 fails. This is protection to avoid OOM error.
47+
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.
4748

4849
Pleas monitor the elapsed time of the data importing (see logs) to avoid issues with requests sending from JMeter.
4950
Pay attention on "Sending metrics performance tuning" chapter, see below.
50-
5151

5252

5353
## Compatibility
@@ -58,11 +58,11 @@ The supported versions:
5858
* The current board and plugin were tested on Grafana 8.2.3 and InfluxDB 2.0.9, JAVA 15.
5959

6060
## Maven Support
61-
Please see the latest release here https://s01.oss.sonatype.org/content/repositories/releases/io/github/mderevyankoaqa/jmeter-plugins-influxdb2-listener/maven-metadata.xml
61+
Please see the latest release here https://search.maven.org/artifact/io.github.mderevyankoaqa/jmeter-plugins-influxdb2-listener.
6262

6363
## CI/CD Support
6464
The CI/CD can be done using [jmeter-maven-plugin](https://github.com/jmeter-maven-plugin/jmeter-maven-plugin)
65-
The example of the adding plugin to the project with the plugin:
65+
The example of the adding plugin to the project with the jmeter-maven:
6666

6767
<configuration>
6868
<jmeterExtensions>
@@ -71,6 +71,24 @@ The example of the adding plugin to the project with the plugin:
7171
</configuration>
7272
Some notes cab be found in the article [Adding jar's to the /lib/ext directory](https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki/Adding-Excluding-libraries-to-from-the-classpath).
7373

74+
## Development and branching strategy
75+
Hello all contributors! Welcome to the project, I'm happy to see you here. Just to avoid the mess and have a nice history, let's keep the simple rules:
76+
1. Code should pass standard static code analysis in IntelliJ IDEA.
77+
2. Comments should be for the new code to have clear java docs.
78+
3. All new development lets - in the "development" branch. So the steps:
79+
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.
80+
b. all pull requests from your feature branch -> "development" branch only.
81+
c. once we decide to make the new release after testing, we will merge "development" -> "main" with push to maven central.
82+
83+
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'
84+
85+
developers {
86+
developer {
87+
id = 'your github if'
88+
name = 'your name'
89+
email = 'email'
90+
}
91+
7492
## Deployment
7593
* Put '`jmeter-plugin-influxdb2-listener-<version>.jar`' file from [Releases](https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/releases) to `~<JmeterPath<\lib\ext`;
7694

@@ -118,7 +136,7 @@ Let’s explain the plugin fields:
118136
* `influxDBToken` - the influxdb bucket token, the default value should be updated, copy it from InfluxDB site.
119137
* `influxDBFlushInterval` - its interval to send data to InfluxDB, the default value is 4000 (4 seconds).
120138
* `influxDBMaxBatchSize` - the max size of the batch with metrics, the default 2000 (2000 items of JMeter results).
121-
* `influxDBThresholdError` - the error threshold before stopping the import, the default value is 5. (see [Important notes](#important-notes) for more detail.)
139+
* `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.)
122140

123141
![](img/influx3.png)
124142

build.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ repositories {
2424

2525
sourceCompatibility = 11
2626
group = 'io.github.mderevyankoaqa'
27-
version = '2.1'
27+
version = '2.2'
2828
def title = 'JMeterInfluxDB2Listener'
2929
def archiveName = 'jmeter-plugins-influxdb2-listener'
3030

@@ -120,6 +120,11 @@ publishing {
120120
name = 'Mike Derevianko'
121121
122122
}
123+
developer {
124+
id = 'aktoluna'
125+
name = 'Ali Aktolun'
126+
127+
}
123128
developer {
124129
id = 'AlucardleVash'
125130
name = 'Pierre Brun'

src/main/java/io/github/mderevyankoaqa/influxdb2/visualizer/influxdb/client/InfluxDatabaseClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,15 +95,15 @@ public synchronized void close() {
9595

9696
/**
9797
* Imports {@link Point} from {@link List<Point>} collection if items exists. Cleans {@link List<Point>} after writing.
98-
* Manages Error Amount counter. The limit of the errors occurred one by one is 5. After 5 such errors, import is stopping till and of the tes.
98+
* Manages Error Amount counter. The limit of the errors occurred one by one is 5 (the 5 - is default setting and can be updated in UI of the plugin - the key is KEY_INFLUX_DB_THRESHOLD_ERROR). After 5 such errors, import is stopping till and of the tes.
9999
* If less 5 error has occurred and next import attempt was successful - errors counter will be refreshed.
100100
*/
101101
public synchronized void importData() {
102102

103103
if (this.errorsAmount.size() >= this.influxDBConfig.getInfluxdbThresholdError())
104104
{
105105
this.points.clear();
106-
this.LOGGER.warn("Importing of the results to Influx DB is skipping since 5 errors, has occurred!");
106+
this.LOGGER.warn("Importing of the results to Influx DB is skipping since "+this.influxDBConfig.getInfluxdbThresholdError()+" errors, has occurred!");
107107
}
108108

109109
if (this.points.size() != 0 && this.errorsAmount.size() <= this.influxDBConfig.getInfluxdbThresholdError()) {

0 commit comments

Comments
 (0)