Skip to content

Commit 71cecbf

Browse files
Merge branch 'master' into fixHeaderSplit
2 parents c9d93d0 + ab295b2 commit 71cecbf

File tree

5 files changed

+33
-29
lines changed

5 files changed

+33
-29
lines changed

README.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,9 @@ JMeter ElasticSearch Backend Listener is a JMeter plugin enabling you to send te
3232
<dependency>
3333
<groupId>io.github.delirius325</groupId>
3434
<artifactId>jmeter.backendlistener.elasticsearch</artifactId>
35-
<version>2.6.1</version>
36-
</dependency>
35+
<version>2.6.2</version>
3736
```
3837

39-
### Supporting the author
40-
[![patreon](https://c5.patreon.com/external/logo/become_a_patron_button.png)](https://www.patreon.com/bePatron?u=17797269)
41-
4238
## Contributing
4339
Feel free to contribute by branching and making pull requests, or simply by suggesting ideas through the "Issues" tab.
4440

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>io.github.delirius325</groupId>
55
<artifactId>jmeter.backendlistener.elasticsearch</artifactId>
6-
<version>2.6.1-patch</version>
6+
<version>2.6.4-SNAPSHOT</version>
77
<packaging>jar</packaging>
88

99
<name>jmeter.backendlistener.elasticsearch</name>
@@ -124,7 +124,7 @@
124124
<dependency>
125125
<groupId>com.fasterxml.jackson.core</groupId>
126126
<artifactId>jackson-databind</artifactId>
127-
<version>2.8.11.3</version>
127+
<version>[2.9.9,)</version>
128128
</dependency>
129129
<dependency>
130130
<groupId>com.amazonaws</groupId>

src/main/java/io/github/delirius325/jmeter/backendlistener/elasticsearch/ElasticSearchMetricSender.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ public void createIndex() {
7979
* All is being sent through the low-level ElasticSearch REST Client.
8080
*/
8181
public void sendRequest() {
82-
Request request = new Request("POST", "/" + this.esIndex + "/SampleResult/_bulk");
82+
Request request = new Request("POST", "/" + this.esIndex + "/_bulk");
8383
StringBuilder bulkRequestBody = new StringBuilder();
84-
String actionMetaData = String.format(SEND_BULK_REQUEST, this.esIndex, "SampleResult");
84+
String actionMetaData = String.format(SEND_BULK_REQUEST, this.esIndex);
8585

8686
for (String metric : this.metricList) {
8787
bulkRequestBody.append(actionMetaData);

src/main/java/io/github/delirius325/jmeter/backendlistener/elasticsearch/ElasticSearchRequests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ public class ElasticSearchRequests {
44
/**
55
* Request to send metrics (JMeter/Percentiles) as ElasticSearch documents
66
*/
7-
public static String SEND_BULK_REQUEST = "{ \"index\" : { \"_index\" : \"%s\", \"_type\" : \"%s\" } }%n";
7+
public static String SEND_BULK_REQUEST = "{ \"index\" : { \"_index\" : \"%s\" } }%n";
88
}

src/main/java/io/github/delirius325/jmeter/backendlistener/elasticsearch/ElasticsearchBackendClient.java

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.apache.jmeter.samplers.SampleResult;
88
import org.apache.jmeter.util.JMeterUtils;
99
import org.apache.jmeter.visualizers.backend.AbstractBackendListenerClient;
10+
import org.apache.jmeter.visualizers.backend.BackendListener;
1011
import org.apache.jmeter.visualizers.backend.BackendListenerContext;
1112
import org.elasticsearch.client.Node;
1213
import org.elasticsearch.client.RestClient;
@@ -44,6 +45,24 @@ public class ElasticsearchBackendClient extends AbstractBackendListenerClient {
4445
private static RestClient client;
4546
private static final Logger logger = LoggerFactory.getLogger(ElasticsearchBackendClient.class);
4647
private static final AWSCredentialsProvider credentialsProvider = new DefaultAWSCredentialsProviderChain();
48+
private static final Map<String, String> DEFAULT_ARGS = new LinkedHashMap<>();
49+
static {
50+
DEFAULT_ARGS.put(ES_SCHEME, "http");
51+
DEFAULT_ARGS.put(ES_HOST, null);
52+
DEFAULT_ARGS.put(ES_PORT, "9200");
53+
DEFAULT_ARGS.put(ES_INDEX, null);
54+
DEFAULT_ARGS.put(ES_TIMESTAMP, "yyyy-MM-dd'T'HH:mm:ss.SSSZZ");
55+
DEFAULT_ARGS.put(ES_BULK_SIZE, "100");
56+
DEFAULT_ARGS.put(ES_TIMEOUT_MS, Long.toString(DEFAULT_TIMEOUT_MS));
57+
DEFAULT_ARGS.put(ES_SAMPLE_FILTER, null);
58+
DEFAULT_ARGS.put(ES_TEST_MODE, "info");
59+
DEFAULT_ARGS.put(ES_AUTH_USER, "");
60+
DEFAULT_ARGS.put(ES_AUTH_PWD, "");
61+
DEFAULT_ARGS.put(ES_PARSE_REQ_HEADERS, "false");
62+
DEFAULT_ARGS.put(ES_PARSE_RES_HEADERS, "false");
63+
DEFAULT_ARGS.put(ES_AWS_ENDPOINT, "");
64+
DEFAULT_ARGS.put(ES_AWS_REGION, "");
65+
}
4766

4867
private ElasticSearchMetricSender sender;
4968
private Set<String> modes;
@@ -52,25 +71,15 @@ public class ElasticsearchBackendClient extends AbstractBackendListenerClient {
5271
private int bulkSize;
5372
private long timeoutMs;
5473

74+
public ElasticsearchBackendClient() {
75+
super();
76+
}
77+
5578
@Override
5679
public Arguments getDefaultParameters() {
57-
Arguments parameters = new Arguments();
58-
parameters.addArgument(ES_SCHEME, "http");
59-
parameters.addArgument(ES_HOST, null);
60-
parameters.addArgument(ES_PORT, "9200");
61-
parameters.addArgument(ES_INDEX, null);
62-
parameters.addArgument(ES_TIMESTAMP, "yyyy-MM-dd'T'HH:mm:ss.SSSZZ");
63-
parameters.addArgument(ES_BULK_SIZE, "100");
64-
parameters.addArgument(ES_TIMEOUT_MS, Long.toString(DEFAULT_TIMEOUT_MS));
65-
parameters.addArgument(ES_SAMPLE_FILTER, null);
66-
parameters.addArgument(ES_TEST_MODE, "info");
67-
parameters.addArgument(ES_AUTH_USER, "");
68-
parameters.addArgument(ES_AUTH_PWD, "");
69-
parameters.addArgument(ES_PARSE_REQ_HEADERS, "false");
70-
parameters.addArgument(ES_PARSE_RES_HEADERS, "false");
71-
parameters.addArgument(ES_AWS_ENDPOINT, "");
72-
parameters.addArgument(ES_AWS_REGION, "");
73-
return parameters;
80+
Arguments arguments = new Arguments();
81+
DEFAULT_ARGS.forEach(arguments::addArgument);
82+
return arguments;
7483
}
7584

7685
@Override
@@ -95,7 +104,6 @@ public void onFailure(Node node) {
95104
.setMaxRetryTimeoutMillis(60000)
96105
.build();
97106
} else {
98-
99107
AWS4Signer signer = new AWS4Signer();
100108
signer.setServiceName(SERVICE_NAME);
101109
signer.setRegionName(context.getParameter(ES_AWS_REGION));
@@ -106,7 +114,7 @@ public void onFailure(Node node) {
106114
this.sender.createIndex();
107115

108116
checkTestMode(context.getParameter(ES_TEST_MODE));
109-
117+
110118
String[] filterArray = (context.getParameter(ES_SAMPLE_FILTER).contains(";")) ? context.getParameter(ES_SAMPLE_FILTER).split(";") : new String[] {context.getParameter(ES_SAMPLE_FILTER)};
111119
if(filterArray.length > 0 && !filterArray[0].trim().equals("")) {
112120
for (String filter : filterArray) {

0 commit comments

Comments
 (0)