|
1 | 1 | package us.abstracta.jmeter.javadsl.datadog; |
2 | 2 |
|
3 | 3 | import java.lang.reflect.Method; |
| 4 | +import java.net.URISyntaxException; |
4 | 5 | import java.util.List; |
5 | 6 | import java.util.Map; |
| 7 | +import org.apache.http.client.utils.URIBuilder; |
6 | 8 | import org.apache.jmeter.config.Arguments; |
7 | 9 | import org.datadog.jmeter.plugins.DatadogBackendClient; |
8 | 10 | import us.abstracta.jmeter.javadsl.codegeneration.MethodCall; |
@@ -34,6 +36,7 @@ public class DatadogBackendListener extends DslBackendListener<DatadogBackendLis |
34 | 36 | public DatadogBackendListener(String apiKey) { |
35 | 37 | super(DatadogBackendClient.class, null); |
36 | 38 | this.apiKey = apiKey; |
| 39 | + site(DatadogSite.US1); |
37 | 40 | } |
38 | 41 |
|
39 | 42 | /** |
@@ -113,16 +116,27 @@ public DatadogBackendListener tags(String... tags) { |
113 | 116 | protected Arguments buildListenerArguments() { |
114 | 117 | Arguments ret = new Arguments(); |
115 | 118 | ret.addArgument(API_KEY_ARG, apiKey); |
116 | | - if (apiUrl != null) { |
117 | | - ret.addArgument(API_URL_ARG, apiUrl); |
118 | | - ret.addArgument(LOG_URL_ARG, logsUrl); |
119 | | - } |
| 119 | + ret.addArgument(API_URL_ARG, apiUrl); |
| 120 | + ret.addArgument(LOG_URL_ARG, buildLogsUrl()); |
120 | 121 | ret.addArgument(RESULT_LOGS_ARG, String.valueOf(resultsAsLogs)); |
121 | 122 | ret.addArgument(TAGS_ARG, tags != null ? String.join(",", tags) : ""); |
122 | 123 | return ret; |
123 | 124 | } |
124 | 125 |
|
125 | | - public static class CodeBuilder extends BackendListenerCodeBuilder { |
| 126 | + private String buildLogsUrl() { |
| 127 | + if (tags == null) { |
| 128 | + return logsUrl; |
| 129 | + } |
| 130 | + try { |
| 131 | + return new URIBuilder(logsUrl) |
| 132 | + .addParameter("ddtags", String.join(",", tags)) |
| 133 | + .toString(); |
| 134 | + } catch (URISyntaxException e) { |
| 135 | + throw new RuntimeException(e); |
| 136 | + } |
| 137 | + } |
| 138 | + |
| 139 | + public static class CodeBuilder extends BackendListenerCodeBuilder { |
126 | 140 |
|
127 | 141 | public CodeBuilder(List<Method> builderMethods) { |
128 | 142 | super(DatadogBackendClient.class, builderMethods); |
|
0 commit comments