Skip to content

Commit

Permalink
Add version tag to logs and Dropwizard metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
eager-signal committed Dec 11, 2024
1 parent deab6c0 commit 1e24c41
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import io.dropwizard.logging.common.layout.LayoutFactory;
import net.logstash.logback.appender.LogstashTcpSocketAppender;
import net.logstash.logback.encoder.LogstashEncoder;
import org.signal.storageservice.StorageServiceVersion;

import javax.validation.constraints.NotEmpty;
import java.net.InetAddress;
Expand Down Expand Up @@ -84,7 +85,7 @@ public Appender<ILoggingEvent> build(
}
customFieldsNode.set("service", TextNode.valueOf("storage"));
customFieldsNode.set("ddsource", TextNode.valueOf("logstash"));
customFieldsNode.set("ddtags", TextNode.valueOf("env:" + environment));
customFieldsNode.set("ddtags", TextNode.valueOf("env:" + environment + ",version:" + StorageServiceVersion.getServiceVersion()));
encoder.setCustomFields(customFieldsNode.toString());
final LayoutWrappingEncoder<ILoggingEvent> prefix = new LayoutWrappingEncoder<>();
final PatternLayout layout = new PatternLayout();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import io.dropwizard.metrics.common.BaseReporterFactory;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import javax.validation.Valid;
Expand All @@ -22,6 +23,7 @@
import org.coursera.metrics.datadog.DynamicTagsCallbackFactory;
import org.coursera.metrics.datadog.MetricNameFormatterFactory;
import org.coursera.metrics.datadog.transport.AbstractTransportFactory;
import org.signal.storageservice.StorageServiceVersion;

@JsonTypeName("signal-datadog")
public class SignalDatadogReporterFactory extends BaseReporterFactory {
Expand Down Expand Up @@ -64,10 +66,21 @@ public class SignalDatadogReporterFactory extends BaseReporterFactory {

@Override
public ScheduledReporter build(final MetricRegistry registry) {

final List<String> combinedTags;
final String versionTag = "version:" + StorageServiceVersion.getServiceVersion();

if (tags != null) {
combinedTags = new ArrayList<>(tags);
combinedTags.add(versionTag);
} else {
combinedTags = new ArrayList<>((List.of(versionTag)));
}

return DatadogReporter.forRegistry(registry)
.withTransport(transport.build())
.withHost(deriveHost())
.withTags(tags)
.withTags(combinedTags)
.withPrefix(prefix)
.withExpansions(expansions)
.withMetricNameFormatter(metricNameFormatter.build())
Expand Down

0 comments on commit 1e24c41

Please sign in to comment.