Skip to content

Commit 3a29f10

Browse files
committed
Fix OTLP metric/log protocol settings to fallback correctly
1 parent fe6d58a commit 3a29f10

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

tracer/src/Datadog.Trace/Configuration/TracerSettings.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,17 @@ not null when string.Equals(x, "http/protobuf", StringComparison.OrdinalIgnoreCa
250250
},
251251
validator: null);
252252

253+
var otlpGeneralProtocolName = OtlpGeneralProtocol switch
254+
{
255+
OtlpProtocol.Grpc => "grpc",
256+
OtlpProtocol.HttpProtobuf => "http/protobuf",
257+
_ => "grpc",
258+
};
259+
253260
OtlpMetricsProtocol = config
254261
.WithKeys(ConfigurationKeys.OpenTelemetry.ExporterOtlpMetricsProtocol)
255262
.GetAs(
256-
defaultValue: new(OtlpProtocol.Grpc, "grpc"),
263+
defaultValue: new(OtlpGeneralProtocol, otlpGeneralProtocolName),
257264
converter: x => x switch
258265
{
259266
not null when string.Equals(x, "grpc", StringComparison.OrdinalIgnoreCase) => OtlpProtocol.Grpc,
@@ -312,7 +319,7 @@ not null when string.Equals(x, "lowmemory", StringComparison.OrdinalIgnoreCase)
312319
OtlpLogsProtocol = config
313320
.WithKeys(ConfigurationKeys.OpenTelemetry.ExporterOtlpLogsProtocol)
314321
.GetAs(
315-
defaultValue: new(OtlpProtocol.Grpc, "grpc"),
322+
defaultValue: new(OtlpGeneralProtocol, otlpGeneralProtocolName),
316323
converter: x => x switch
317324
{
318325
not null when string.Equals(x, "grpc", StringComparison.OrdinalIgnoreCase) => OtlpProtocol.Grpc,

tracer/test/Datadog.Trace.Tests/Configuration/TracerSettingsTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -978,6 +978,8 @@ public void OtelMetricExportTimeoutCustomValues(string value, int expected)
978978
[InlineData("invalid", null, OtlpProtocol.Grpc)]
979979
[InlineData("http/protobuf", null, OtlpProtocol.HttpProtobuf)]
980980
[InlineData("grpc", "http/protobuf", OtlpProtocol.Grpc)]
981+
[InlineData(null, "http/protobuf", OtlpProtocol.HttpProtobuf)]
982+
[InlineData(null, "grpc", OtlpProtocol.Grpc)]
981983
public void OtlpProtocolFallbacks(string metricsProtocol, string generalProtocol, object expected)
982984
{
983985
var source = CreateConfigurationSource(
@@ -1073,6 +1075,8 @@ public void PartialFlushMinSpans(string value, int expected)
10731075
[InlineData("invalid", null, OtlpProtocol.Grpc)]
10741076
[InlineData("http/protobuf", null, OtlpProtocol.HttpProtobuf)]
10751077
[InlineData("grpc", "http/protobuf", OtlpProtocol.Grpc)]
1078+
[InlineData(null, "http/protobuf", OtlpProtocol.HttpProtobuf)]
1079+
[InlineData(null, "grpc", OtlpProtocol.Grpc)]
10761080
public void OtlpLogsProtocolFallbacks(string logsProtocol, string generalProtocol, object expected)
10771081
{
10781082
var source = CreateConfigurationSource(

0 commit comments

Comments
 (0)