Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ d0129c1095216d5c830900c8a6223ef5d4274de1
352051999507bd78542e177d67ce1548a0752691
bbe9f971763ca1b27687a6a51067a385a0d23b04
de95c481329aa8b821e6e71ac35c1b8bc67e3e86
78c44064f4ec15091bde7a2dc590aa2b3a99341d
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,16 @@
package com.commercetools.monitoring.datadog;

import static com.commercetools.monitoring.datadog.DatadogUtils.*;
import static java.lang.String.format;

import java.time.Duration;
import java.time.Instant;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.function.Function;
import java.util.stream.Collectors;

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
Expand Down Expand Up @@ -40,12 +45,26 @@

private final MetricsApi apiInstance;

private final Collection<String> tags;

public DatadogMiddleware(final ApiClient ddApiClient) {
this.apiInstance = new MetricsApi(ddApiClient);
this(new MetricsApi(ddApiClient));
}

Check warning on line 52 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogMiddleware.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogMiddleware.java#L51-L52

Added lines #L51 - L52 were not covered by tests

public DatadogMiddleware(final ApiClient ddApiClient, final Map<String, String> tags) {
this(new MetricsApi(ddApiClient), tags);

Check warning on line 55 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogMiddleware.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogMiddleware.java#L55

Added line #L55 was not covered by tests
}

public DatadogMiddleware(final MetricsApi apiInstance) {
this(apiInstance, Collections.emptyMap());
}

public DatadogMiddleware(final MetricsApi apiInstance, final Map<String, String> tags) {
this.apiInstance = apiInstance;
this.tags = tags.entrySet()
.stream()
.map(entry -> format("%s:%s", entry.getKey(), entry.getValue()))
.collect(Collectors.toList());
}

@Override
Expand All @@ -65,10 +84,10 @@
}
try {
submitClientDurationMetric(request, apiInstance, Duration.between(start, Instant.now()).toMillis(),
statusCode);
submitTotalRequestsMetric(request, apiInstance, statusCode);
statusCode, tags);
submitTotalRequestsMetric(request, apiInstance, statusCode, tags);
if (statusCode >= 400 || throwable != null) {
submitErrorRequestsMetric(request, apiInstance, statusCode);
submitErrorRequestsMetric(request, apiInstance, statusCode, tags);
}
}
catch (ApiException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,14 @@

import static com.commercetools.monitoring.datadog.DatadogUtils.submitJsonDeserializationMetric;
import static com.commercetools.monitoring.datadog.DatadogUtils.submitJsonSerializationMetric;
import static java.lang.String.format;

import java.time.Duration;
import java.time.Instant;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.stream.Collectors;

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.v2.api.MetricsApi;
Expand All @@ -25,22 +30,37 @@

private final MetricsApi apiInstance;

public DatadogResponseSerializer(final ResponseSerializer serializer, final MetricsApi apiInstance) {
private final Collection<String> tags;

public DatadogResponseSerializer(final ResponseSerializer serializer, final MetricsApi apiInstance,
final Map<String, String> tags) {
this.serializer = serializer;
this.apiInstance = apiInstance;
this.tags = tags.entrySet()
.stream()
.map(entry -> format("%s:%s", entry.getKey(), entry.getValue()))
.collect(Collectors.toList());
}

public DatadogResponseSerializer(final ResponseSerializer serializer, final MetricsApi apiInstance) {
this(serializer, apiInstance, Collections.emptyMap());
}

public DatadogResponseSerializer(final ResponseSerializer serializer, final ApiClient ddApiClient,
final Map<String, String> tags) {
this(serializer, new MetricsApi(ddApiClient), tags);

Check warning on line 51 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogResponseSerializer.java#L51

Added line #L51 was not covered by tests
}

public DatadogResponseSerializer(final ResponseSerializer serializer, final ApiClient ddApiClient) {
this.serializer = serializer;
this.apiInstance = new MetricsApi(ddApiClient);
this(serializer, new MetricsApi(ddApiClient), Collections.emptyMap());

Check warning on line 55 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogResponseSerializer.java#L55

Added line #L55 was not covered by tests
}

@Override
public <O> ApiHttpResponse<O> convertResponse(ApiHttpResponse<byte[]> response, Class<O> outputType) {
Instant start = Instant.now();
ApiHttpResponse<O> result = serializer.convertResponse(response, outputType);
double durationInMillis = Duration.between(start, Instant.now()).toNanos() / 1_000_000.0;
submitJsonDeserializationMetric(apiInstance, (double) durationInMillis, outputType.getCanonicalName());
submitJsonDeserializationMetric(apiInstance, (double) durationInMillis, outputType.getCanonicalName(), tags);
return result;
}

Expand All @@ -49,7 +69,7 @@
Instant start = Instant.now();
ApiHttpResponse<O> result = serializer.convertResponse(response, outputType);
double durationInMillis = Duration.between(start, Instant.now()).toNanos() / 1_000_000.0;
submitJsonDeserializationMetric(apiInstance, durationInMillis, outputType.toString());
submitJsonDeserializationMetric(apiInstance, durationInMillis, outputType.toString(), tags);

Check warning on line 72 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogResponseSerializer.java#L72

Added line #L72 was not covered by tests
return result;
}

Expand All @@ -58,7 +78,7 @@
Instant start = Instant.now();
ApiHttpResponse<O> result = serializer.convertResponse(response, outputType);
double durationInMillis = Duration.between(start, Instant.now()).toNanos() / 1_000_000.0;
submitJsonDeserializationMetric(apiInstance, durationInMillis, outputType.getType().getTypeName());
submitJsonDeserializationMetric(apiInstance, durationInMillis, outputType.getType().getTypeName(), tags);

Check warning on line 81 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogResponseSerializer.java#L81

Added line #L81 was not covered by tests
return result;
}

Expand All @@ -67,7 +87,7 @@
Instant start = Instant.now();
byte[] result = serializer.toJsonByteArray(value);
double durationInMillis = Duration.between(start, Instant.now()).toNanos() / 1_000_000.0;
submitJsonSerializationMetric(apiInstance, durationInMillis, value.getClass().getCanonicalName());
submitJsonSerializationMetric(apiInstance, durationInMillis, value.getClass().getCanonicalName(), tags);
return result;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@
import static java.lang.String.format;

import java.time.OffsetDateTime;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.*;

import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.MetricsApi;
Expand All @@ -27,75 +25,82 @@
private static final Logger logger = LoggerFactory.getLogger(DatadogMiddleware.class);

protected static void submitClientDurationMetric(final ApiHttpRequest request, final MetricsApi apiInstance,
final double durationInMillis, final ApiHttpResponse<byte[]> response) throws ApiException {
submitClientDurationMetric(request, apiInstance, durationInMillis, response.getStatusCode());
final double durationInMillis, final ApiHttpResponse<byte[]> response, final Collection<String> tags)
throws ApiException {
submitClientDurationMetric(request, apiInstance, durationInMillis, response.getStatusCode(), tags);

Check warning on line 30 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogUtils.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogUtils.java#L30

Added line #L30 was not covered by tests
}

protected static void submitClientDurationMetric(final ApiHttpRequest request, final MetricsApi apiInstance,
final double durationInMillis, final int statusCode) throws ApiException {
final double durationInMillis, final int statusCode, final Collection<String> tags) throws ApiException {
final String name = PREFIX + "." + CLIENT_DURATION;
final MetricIntakeType type = MetricIntakeType.UNSPECIFIED;
submitMetricWithHttpTags(name, durationInMillis, type, "ms", request, apiInstance, statusCode);
submitMetricWithHttpTags(name, durationInMillis, type, "ms", request, apiInstance, statusCode, tags);
}

protected static void submitErrorRequestsMetric(final ApiHttpRequest request, final MetricsApi apiInstance,
final ApiHttpResponse<byte[]> response) throws ApiException {
submitErrorRequestsMetric(request, apiInstance, response.getStatusCode());
final ApiHttpResponse<byte[]> response, final Collection<String> tags) throws ApiException {
submitErrorRequestsMetric(request, apiInstance, response.getStatusCode(), tags);

Check warning on line 42 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogUtils.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogUtils.java#L42

Added line #L42 was not covered by tests
}

protected static void submitErrorRequestsMetric(final ApiHttpRequest request, final MetricsApi apiInstance,
final int statusCode) throws ApiException {
final int statusCode, final Collection<String> tags) throws ApiException {
final String name = PREFIX + "." + CLIENT_REQUEST_ERROR;
final MetricIntakeType count = MetricIntakeType.COUNT;
submitMetricWithHttpTags(name, 1.0, count, "count", request, apiInstance, statusCode);
submitMetricWithHttpTags(name, 1.0, count, "count", request, apiInstance, statusCode, tags);
}

protected static void submitTotalRequestsMetric(final ApiHttpRequest request, final MetricsApi apiInstance,
final ApiHttpResponse<byte[]> response) throws ApiException {
submitTotalRequestsMetric(request, apiInstance, response.getStatusCode());
final ApiHttpResponse<byte[]> response, final Collection<String> tags) throws ApiException {
submitTotalRequestsMetric(request, apiInstance, response.getStatusCode(), tags);

Check warning on line 54 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogUtils.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogUtils.java#L54

Added line #L54 was not covered by tests
}

protected static void submitTotalRequestsMetric(final ApiHttpRequest request, final MetricsApi apiInstance,
final int statusCode) throws ApiException {
final int statusCode, final Collection<String> tags) throws ApiException {
final String name = PREFIX + "." + CLIENT_REQUEST_TOTAL;
final MetricIntakeType count = MetricIntakeType.COUNT;
submitMetricWithHttpTags(name, 1.0, count, "count", request, apiInstance, statusCode);
submitMetricWithHttpTags(name, 1.0, count, "count", request, apiInstance, statusCode, tags);
}

private static void submitMetricWithHttpTags(final String name, final double value, final MetricIntakeType type,
final String unit, final ApiHttpRequest request, final MetricsApi apiInstance,
final ApiHttpResponse<byte[]> response) throws ApiException {
submitMetricWithHttpTags(name, value, type, unit, request, apiInstance, response.getStatusCode());
final ApiHttpResponse<byte[]> response, final Collection<String> tags) throws ApiException {
submitMetricWithHttpTags(name, value, type, unit, request, apiInstance, response.getStatusCode(), tags);

Check warning on line 67 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogUtils.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogUtils.java#L67

Added line #L67 was not covered by tests
}

private static void submitMetricWithHttpTags(final String name, final double value, final MetricIntakeType type,
final String unit, final ApiHttpRequest request, final MetricsApi apiInstance, final int statusCode)
throws ApiException {
final List<String> tags = Arrays.asList(format("%s:%s", HTTP_RESPONSE_STATUS_CODE, statusCode),
format("%s:%s", HTTP_REQUEST_METHOD, request.getMethod().name()),
format("%s:%s", SERVER_ADDRESS, request.getUri().getHost()));
final String unit, final ApiHttpRequest request, final MetricsApi apiInstance, final int statusCode,
final Collection<String> tags) throws ApiException {
final List<String> currentTags = new ArrayList<>(tags);
currentTags.add(format("%s:%s", HTTP_RESPONSE_STATUS_CODE, statusCode));
currentTags.add(format("%s:%s", HTTP_REQUEST_METHOD, request.getMethod().name()));
currentTags.add(format("%s:%s", SERVER_ADDRESS, request.getUri().getHost()));
if (request.getUri().getPort() > 0) {
tags.add(format("%s:%s", SERVER_PORT, request.getUri().getPort()));
currentTags.add(format("%s:%s", SERVER_PORT, request.getUri().getPort()));

Check warning on line 78 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogUtils.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/DatadogUtils.java#L78

Added line #L78 was not covered by tests
}
submitMetric(apiInstance, name, value, type, unit, tags);
submitMetric(apiInstance, name, value, type, unit, currentTags);
}

protected static void submitJsonSerializationMetric(final MetricsApi apiInstance, final double durationInMillis,
final String responseBodyType) {
final String responseBodyType, final Collection<String> tags) {
try {
final List<String> currentTags = new ArrayList<>(tags);
currentTags.add(format("%s:%s", RESPONSE_BODY_TYPE, responseBodyType));
submitMetric(apiInstance, PREFIX + "." + JSON_SERIALIZATION, durationInMillis, MetricIntakeType.UNSPECIFIED,
"ms", Arrays.asList(format("%s:%s", RESPONSE_BODY_TYPE, responseBodyType)));
"ms", currentTags);
}
catch (ApiException exception) {
logger.warn("Failed to submit commercetools json serialization metric", exception);
}
}

protected static void submitJsonDeserializationMetric(final MetricsApi apiInstance, final double durationInMillis,
final String requestBodyType) {
final String requestBodyType, final Collection<String> tags) {
try {
final List<String> currentTags = new ArrayList<>(tags);
currentTags.add(format("%s:%s", REQUEST_BODY_TYPE, requestBodyType));

submitMetric(apiInstance, PREFIX + "." + JSON_DESERIALIZATION, durationInMillis,
MetricIntakeType.UNSPECIFIED, "ms", Arrays.asList(format("%s:%s", REQUEST_BODY_TYPE, requestBodyType)));
MetricIntakeType.UNSPECIFIED, "ms", currentTags);
}
catch (ApiException exception) {
logger.warn("Failed to submit commercetools json deserialization metric", exception);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

import java.time.Duration;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.function.Function;
import java.util.stream.Collectors;

import com.timgroup.statsd.StatsDClient;

Expand Down Expand Up @@ -41,8 +41,18 @@

private final StatsDClient statsDClient;

private final Collection<String> tags;

public DatadogMiddleware(final StatsDClient datadogStatsDClient) {
this(datadogStatsDClient, Collections.emptyMap());
}

Check warning on line 48 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogMiddleware.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogMiddleware.java#L47-L48

Added lines #L47 - L48 were not covered by tests

public DatadogMiddleware(final StatsDClient datadogStatsDClient, final Map<String, String> tags) {

Check warning on line 50 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogMiddleware.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogMiddleware.java#L50

Added line #L50 was not covered by tests
this.statsDClient = datadogStatsDClient;
this.tags = tags.entrySet()
.stream()
.map(entry -> format("%s:%s", entry.getKey(), entry.getValue()))
.collect(Collectors.toList());

Check warning on line 55 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogMiddleware.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogMiddleware.java#L52-L55

Added lines #L52 - L55 were not covered by tests
}

@Override
Expand All @@ -65,6 +75,7 @@
tags.add(format("%s:%s", HTTP_RESPONSE_STATUS_CODE, statusCode));
tags.add(format("%s:%s", HTTP_REQUEST_METHOD, request.getMethod().name()));
tags.add(format("%s:%s", SERVER_ADDRESS, request.getUri().getHost()));
tags.addAll(this.tags);

Check warning on line 78 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogMiddleware.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogMiddleware.java#L78

Added line #L78 was not covered by tests
if (request.getUri().getPort() > 0) {
tags.add(format("%s:%s", SERVER_PORT, request.getUri().getPort()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@

import java.time.Duration;
import java.time.Instant;
import java.util.*;
import java.util.stream.Collectors;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
Expand All @@ -24,18 +26,32 @@

private final StatsDClient statsDClient;

private final Collection<String> tags;

public DatadogResponseSerializer(final ResponseSerializer serializer, final StatsDClient datadogStatsDClient) {
this(serializer, datadogStatsDClient, Collections.emptyMap());
}

Check warning on line 33 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L32-L33

Added lines #L32 - L33 were not covered by tests

public DatadogResponseSerializer(final ResponseSerializer serializer, final StatsDClient datadogStatsDClient,
final Map<String, String> tags) {

Check warning on line 36 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L36

Added line #L36 was not covered by tests
this.serializer = serializer;
this.statsDClient = datadogStatsDClient;
this.tags = tags.entrySet()
.stream()
.map(entry -> format("%s:%s", entry.getKey(), entry.getValue()))
.collect(Collectors.toList());

Check warning on line 42 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L39-L42

Added lines #L39 - L42 were not covered by tests
}

@Override
public <O> ApiHttpResponse<O> convertResponse(ApiHttpResponse<byte[]> response, Class<O> outputType) {
Instant start = Instant.now();
ApiHttpResponse<O> result = serializer.convertResponse(response, outputType);
double durationInMillis = Duration.between(start, Instant.now()).toNanos() / 1_000_000.0;
final Collection<String> tags = new ArrayList<>(this.tags);
tags.add(format("%s:%s", RESPONSE_BODY_TYPE, outputType.getCanonicalName()));

Check warning on line 51 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L50-L51

Added lines #L50 - L51 were not covered by tests

this.statsDClient.recordHistogramValue(PREFIX + "." + JSON_DESERIALIZATION, durationInMillis,
format("%s:%s", RESPONSE_BODY_TYPE, outputType.getCanonicalName()));
tags.toArray(new String[0]));

Check warning on line 54 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L54

Added line #L54 was not covered by tests
return result;
}

Expand All @@ -44,8 +60,11 @@
Instant start = Instant.now();
ApiHttpResponse<O> result = serializer.convertResponse(response, outputType);
double durationInMillis = Duration.between(start, Instant.now()).toNanos() / 1_000_000.0;
final Collection<String> tags = new ArrayList<>(this.tags);
tags.add(format("%s:%s", RESPONSE_BODY_TYPE, outputType.toString()));

Check warning on line 64 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L63-L64

Added lines #L63 - L64 were not covered by tests

this.statsDClient.recordHistogramValue(PREFIX + "." + JSON_DESERIALIZATION, durationInMillis,
format("%s:%s", RESPONSE_BODY_TYPE, outputType.toString()));
tags.toArray(new String[0]));

Check warning on line 67 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L67

Added line #L67 was not covered by tests
return result;
}

Expand All @@ -54,8 +73,11 @@
Instant start = Instant.now();
ApiHttpResponse<O> result = serializer.convertResponse(response, outputType);
double durationInMillis = Duration.between(start, Instant.now()).toNanos() / 1_000_000.0;
final Collection<String> tags = new ArrayList<>(this.tags);
tags.add(format("%s:%s", RESPONSE_BODY_TYPE, outputType.getType().getTypeName()));

Check warning on line 77 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L76-L77

Added lines #L76 - L77 were not covered by tests

this.statsDClient.recordHistogramValue(PREFIX + "." + JSON_DESERIALIZATION, durationInMillis,
format("%s:%s", RESPONSE_BODY_TYPE, outputType.getType().getTypeName()));
tags.toArray(new String[0]));

Check warning on line 80 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L80

Added line #L80 was not covered by tests
return result;
}

Expand All @@ -64,8 +86,11 @@
Instant start = Instant.now();
byte[] result = serializer.toJsonByteArray(value);
double durationInMillis = Duration.between(start, Instant.now()).toNanos() / 1_000_000.0;
final Collection<String> tags = new ArrayList<>(this.tags);
tags.add(format("%s:%s", RESPONSE_BODY_TYPE, value.getClass().getCanonicalName()));

Check warning on line 90 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L89-L90

Added lines #L89 - L90 were not covered by tests

this.statsDClient.recordHistogramValue(PREFIX + "." + JSON_SERIALIZATION, durationInMillis,
format("%s:%s", REQUEST_BODY_TYPE, value.getClass().getCanonicalName()));
tags.toArray(new String[0]));

Check warning on line 93 in commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java

View check run for this annotation

Codecov / codecov/patch

commercetools/commercetools-monitoring-datadog/src/main/java/com/commercetools/monitoring/datadog/statsd/DatadogResponseSerializer.java#L93

Added line #L93 was not covered by tests
return result;
}

Expand Down
Loading