Retire now-unused HTTP transport configuration for Datadog metric reporter

This commit is contained in:
Jon Chambers 2023-08-17 16:04:51 -04:00 committed by Jon Chambers
parent ed0a723fef
commit 7f37c8ee5e
2 changed files with 1 additions and 39 deletions

View File

@ -22,8 +22,6 @@ metrics:
tags: tags:
- "env:staging" - "env:staging"
- "service:chat" - "service:chat"
transport:
apiKey: secret://datadog.apiKey
udpTransport: udpTransport:
statsdHost: localhost statsdHost: localhost
port: 8125 port: 8125

View File

@ -15,11 +15,9 @@ import com.codahale.metrics.ScheduledReporter;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonTypeName;
import io.dropwizard.metrics.BaseReporterFactory; import io.dropwizard.metrics.BaseReporterFactory;
import io.dropwizard.util.Duration;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.EnumSet; import java.util.EnumSet;
import java.util.List; import java.util.List;
import java.util.Optional;
import javax.validation.Valid; import javax.validation.Valid;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
@ -28,11 +26,8 @@ import org.coursera.metrics.datadog.DatadogReporter.Expansion;
import org.coursera.metrics.datadog.DefaultMetricNameFormatterFactory; import org.coursera.metrics.datadog.DefaultMetricNameFormatterFactory;
import org.coursera.metrics.datadog.DynamicTagsCallbackFactory; import org.coursera.metrics.datadog.DynamicTagsCallbackFactory;
import org.coursera.metrics.datadog.MetricNameFormatterFactory; import org.coursera.metrics.datadog.MetricNameFormatterFactory;
import org.coursera.metrics.datadog.transport.HttpTransport;
import org.coursera.metrics.datadog.transport.Transport;
import org.coursera.metrics.datadog.transport.UdpTransport; import org.coursera.metrics.datadog.transport.UdpTransport;
import org.whispersystems.textsecuregcm.WhisperServerVersion; import org.whispersystems.textsecuregcm.WhisperServerVersion;
import org.whispersystems.textsecuregcm.configuration.secrets.SecretString;
import org.whispersystems.textsecuregcm.util.HostnameUtil; import org.whispersystems.textsecuregcm.util.HostnameUtil;
@JsonTypeName("signal-datadog") @JsonTypeName("signal-datadog")
@ -53,11 +48,6 @@ public class SignalDatadogReporterFactory extends BaseReporterFactory {
@JsonProperty @JsonProperty
private MetricNameFormatterFactory metricNameFormatter = new DefaultMetricNameFormatterFactory(); private MetricNameFormatterFactory metricNameFormatter = new DefaultMetricNameFormatterFactory();
@Valid
@NotNull
@JsonProperty("transport")
private HttpTransportConfig httpTransportConfig;
@Valid @Valid
@NotNull @NotNull
@JsonProperty("udpTransport") @JsonProperty("udpTransport")
@ -89,12 +79,8 @@ public class SignalDatadogReporterFactory extends BaseReporterFactory {
} }
} }
final boolean useUdpTransport = Optional.ofNullable(System.getenv("SIGNAL_USE_DATADOG_UDP_TRANSPORT")).isPresent();
final Transport transport =
useUdpTransport ? udpTransportConfig.udpTransport() : httpTransportConfig.httpTransport();
return DatadogReporter.forRegistry(registry) return DatadogReporter.forRegistry(registry)
.withTransport(transport) .withTransport(udpTransportConfig.udpTransport())
.withHost(HostnameUtil.getLocalHostname()) .withHost(HostnameUtil.getLocalHostname())
.withTags(tagsWithVersion) .withTags(tagsWithVersion)
.withPrefix(prefix) .withPrefix(prefix)
@ -107,28 +93,6 @@ public class SignalDatadogReporterFactory extends BaseReporterFactory {
.build(); .build();
} }
public static class HttpTransportConfig {
@JsonProperty
@NotNull
private SecretString apiKey;
@JsonProperty
private Duration connectTimeout = Duration.seconds(5);
@JsonProperty
private Duration socketTimeout = Duration.seconds(5);
public HttpTransport httpTransport() {
return new HttpTransport.Builder()
.withApiKey(apiKey.value())
.withConnectTimeout((int) connectTimeout.toMilliseconds())
.withSocketTimeout((int) socketTimeout.toMilliseconds())
.build();
}
}
public record UdpTransportConfig(@NotNull String statsdHost, @Min(1) int port) { public record UdpTransportConfig(@NotNull String statsdHost, @Min(1) int port) {
public UdpTransport udpTransport() { public UdpTransport udpTransport() {