Skip to content

Commit 969d21d

Browse files
authored
Add DD_OTLP_METRICS_COMPRESSION setting and map OTel env-vars to it (#10680)
Add DD_OTLP_METRICS_COMPRESSION setting and map OTel env-vars to it Merge branch 'master' into mcculls/otlp-compression-config Merge branch 'master' into mcculls/otlp-compression-config Co-authored-by: stuart.mcculloch <stuart.mcculloch@datadoghq.com>
1 parent ae623a8 commit 969d21d

4 files changed

Lines changed: 45 additions & 0 deletions

File tree

dd-trace-api/src/main/java/datadog/trace/api/config/OtlpConfig.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ public final class OtlpConfig {
1010
public static final String OTLP_METRICS_ENDPOINT = "otlp.metrics.endpoint";
1111
public static final String OTLP_METRICS_HEADERS = "otlp.metrics.headers";
1212
public static final String OTLP_METRICS_PROTOCOL = "otlp.metrics.protocol";
13+
public static final String OTLP_METRICS_COMPRESSION = "otlp.metrics.compression";
1314
public static final String OTLP_METRICS_TIMEOUT = "otlp.metrics.timeout";
1415
public static final String OTLP_METRICS_TEMPORALITY_PREFERENCE =
1516
"otlp.metrics.temporality.preference";
@@ -20,6 +21,11 @@ public enum Protocol {
2021
HTTP_JSON
2122
}
2223

24+
public enum Compression {
25+
NONE,
26+
GZIP
27+
}
28+
2329
public enum Temporality {
2430
CUMULATIVE,
2531
DELTA,

internal-api/src/main/java/datadog/trace/api/Config.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,7 @@
449449
import static datadog.trace.api.config.OtlpConfig.METRICS_OTEL_ENABLED;
450450
import static datadog.trace.api.config.OtlpConfig.METRICS_OTEL_INTERVAL;
451451
import static datadog.trace.api.config.OtlpConfig.METRICS_OTEL_TIMEOUT;
452+
import static datadog.trace.api.config.OtlpConfig.OTLP_METRICS_COMPRESSION;
452453
import static datadog.trace.api.config.OtlpConfig.OTLP_METRICS_ENDPOINT;
453454
import static datadog.trace.api.config.OtlpConfig.OTLP_METRICS_HEADERS;
454455
import static datadog.trace.api.config.OtlpConfig.OTLP_METRICS_PROTOCOL;
@@ -919,6 +920,7 @@ public static String getHostName() {
919920
private final String otlpMetricsEndpoint;
920921
private final Map<String, String> otlpMetricsHeaders;
921922
private final OtlpConfig.Protocol otlpMetricsProtocol;
923+
private final OtlpConfig.Compression otlpMetricsCompression;
922924
private final int otlpMetricsTimeout;
923925
private final OtlpConfig.Temporality otlpMetricsTemporalityPreference;
924926

@@ -1929,6 +1931,9 @@ private Config(final ConfigProvider configProvider, final InstrumenterConfig ins
19291931
otlpMetricsProtocol =
19301932
configProvider.getEnum(
19311933
OTLP_METRICS_PROTOCOL, OtlpConfig.Protocol.class, OtlpConfig.Protocol.HTTP_PROTOBUF);
1934+
otlpMetricsCompression =
1935+
configProvider.getEnum(
1936+
OTLP_METRICS_COMPRESSION, OtlpConfig.Compression.class, OtlpConfig.Compression.NONE);
19321937

19331938
String otlpMetricsEndpointFromEnvironment = configProvider.getString(OTLP_METRICS_ENDPOINT);
19341939
if (otlpMetricsEndpointFromEnvironment == null) {
@@ -5227,6 +5232,10 @@ public OtlpConfig.Protocol getOtlpMetricsProtocol() {
52275232
return otlpMetricsProtocol;
52285233
}
52295234

5235+
public OtlpConfig.Compression getOtlpMetricsCompression() {
5236+
return otlpMetricsCompression;
5237+
}
5238+
52305239
public int getOtlpMetricsTimeout() {
52315240
return otlpMetricsTimeout;
52325241
}
@@ -6258,6 +6267,8 @@ public String toString() {
62586267
+ otlpMetricsHeaders
62596268
+ ", otlpMetricsProtocol="
62606269
+ otlpMetricsProtocol
6270+
+ ", otlpMetricsCompression="
6271+
+ otlpMetricsCompression
62616272
+ ", otlpMetricsTimeout="
62626273
+ otlpMetricsTimeout
62636274
+ ", otlpMetricsTemporalityPreference="

metadata/supported-configurations.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2313,6 +2313,14 @@
23132313
"aliases": []
23142314
}
23152315
],
2316+
"DD_OTLP_METRICS_COMPRESSION": [
2317+
{
2318+
"version": "A",
2319+
"type": "string",
2320+
"default": "NONE",
2321+
"aliases": []
2322+
}
2323+
],
23162324
"DD_OTLP_METRICS_TIMEOUT": [
23172325
{
23182326
"version": "A",
@@ -11081,6 +11089,14 @@
1108111089
"aliases": []
1108211090
}
1108311091
],
11092+
"OTEL_EXPORTER_OTLP_COMPRESSION": [
11093+
{
11094+
"version": "A",
11095+
"type": "string",
11096+
"default": null,
11097+
"aliases": []
11098+
}
11099+
],
1108411100
"OTEL_EXPORTER_OTLP_TIMEOUT": [
1108511101
{
1108611102
"version": "A",
@@ -11113,6 +11129,14 @@
1111311129
"aliases": []
1111411130
}
1111511131
],
11132+
"OTEL_EXPORTER_OTLP_METRICS_COMPRESSION": [
11133+
{
11134+
"version": "A",
11135+
"type": "string",
11136+
"default": null,
11137+
"aliases": []
11138+
}
11139+
],
1111611140
"OTEL_EXPORTER_OTLP_METRICS_TIMEOUT": [
1111711141
{
1111811142
"version": "B",

utils/config-utils/src/main/java/datadog/trace/bootstrap/config/provider/OtelEnvironmentConfigSource.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import static datadog.trace.api.config.OtlpConfig.METRICS_OTEL_ENABLED;
1313
import static datadog.trace.api.config.OtlpConfig.METRICS_OTEL_INTERVAL;
1414
import static datadog.trace.api.config.OtlpConfig.METRICS_OTEL_TIMEOUT;
15+
import static datadog.trace.api.config.OtlpConfig.OTLP_METRICS_COMPRESSION;
1516
import static datadog.trace.api.config.OtlpConfig.OTLP_METRICS_ENDPOINT;
1617
import static datadog.trace.api.config.OtlpConfig.OTLP_METRICS_HEADERS;
1718
import static datadog.trace.api.config.OtlpConfig.OTLP_METRICS_PROTOCOL;
@@ -158,6 +159,9 @@ private void setupMetricsOtelEnvironment() {
158159
capture(
159160
OTLP_METRICS_PROTOCOL,
160161
getOtelOtlpProperty("metrics", "protocol", "dd." + OTLP_METRICS_PROTOCOL));
162+
capture(
163+
OTLP_METRICS_COMPRESSION,
164+
getOtelOtlpProperty("metrics", "compression", "dd." + OTLP_METRICS_COMPRESSION));
161165
capture(
162166
OTLP_METRICS_TIMEOUT,
163167
getOtelOtlpProperty("metrics", "timeout", "dd." + OTLP_METRICS_TIMEOUT));

0 commit comments

Comments
 (0)