Skip to content

Commit ab7bdab

Browse files
Disable metric name validation for otlp format (#1669)
1 parent 6263dc5 commit ab7bdab

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

src/OpenTelemetry.Exporter.Geneva/Metrics/GenevaMetricExporter.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ public GenevaMetricExporter(GenevaMetricExporterOptions options)
4242

4343
var connectionStringBuilder = new ConnectionStringBuilder(options.ConnectionString);
4444

45+
if (connectionStringBuilder.DisableMetricNameValidation)
46+
{
47+
DisableOpenTelemetrySdkMetricNameValidation();
48+
}
49+
4550
if (connectionStringBuilder.PrivatePreviewEnableOtlpProtobufEncoding != null && connectionStringBuilder.PrivatePreviewEnableOtlpProtobufEncoding.Equals(bool.TrueString, StringComparison.OrdinalIgnoreCase))
4651
{
4752
var otlpProtobufExporter = new OtlpProtobufMetricExporter(

src/OpenTelemetry.Exporter.Geneva/Metrics/TlvMetricExporter.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,6 @@ internal TlvMetricExporter(ConnectionStringBuilder connectionStringBuilder, IRea
7373
{
7474
this.fixedPayloadStartIndex = sizeof(BinaryHeader);
7575
}
76-
77-
if (connectionStringBuilder.DisableMetricNameValidation)
78-
{
79-
GenevaMetricExporter.DisableOpenTelemetrySdkMetricNameValidation();
80-
}
8176
}
8277

8378
internal ExportResult Export(in Batch<Metric> batch)

test/OpenTelemetry.Exporter.Geneva.Tests/GenevaMetricExporterTests.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,11 @@ private void EmitMetrics(string attempt)
282282
}
283283

284284
[Theory]
285-
[InlineData(true)]
286-
[InlineData(false)]
287-
public void DisableMetricNameValidationTest(bool disableMetricNameValidation)
285+
[InlineData(true, false)]
286+
[InlineData(false, false)]
287+
[InlineData(true, true)]
288+
[InlineData(false, true)]
289+
public void DisableMetricNameValidationTest(bool disableMetricNameValidation, bool enableOtlpProtobufexporter)
288290
{
289291
var instrumentNameRegexProperty = GenevaMetricExporter.GetOpenTelemetryInstrumentNameRegexProperty();
290292
var initialInstrumentNameRegexValue = instrumentNameRegexProperty.GetValue(null);
@@ -301,12 +303,12 @@ public void DisableMetricNameValidationTest(bool disableMetricNameValidation)
301303
{
302304
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
303305
{
304-
options.ConnectionString = $"Account=OTelMonitoringAccount;Namespace=OTelMetricNamespace;DisableMetricNameValidation={disableMetricNameValidation}";
306+
options.ConnectionString = $"Account=OTelMonitoringAccount;Namespace=OTelMetricNamespace;DisableMetricNameValidation={disableMetricNameValidation};PrivatePreviewOtlpProtobufMetricExporter={enableOtlpProtobufexporter}";
305307
}
306308
else
307309
{
308310
var path = GenerateTempFilePath();
309-
options.ConnectionString = $"Endpoint=unix:{path};Account=OTelMonitoringAccount;Namespace=OTelMetricNamespace;DisableMetricNameValidation={disableMetricNameValidation}";
311+
options.ConnectionString = $"Endpoint=unix:{path};Account=OTelMonitoringAccount;Namespace=OTelMetricNamespace;DisableMetricNameValidation={disableMetricNameValidation};PrivatePreviewOtlpProtobufMetricExporter={enableOtlpProtobufexporter}";
310312

311313
var endpoint = new UnixDomainSocketEndPoint(path);
312314
server = new Socket(AddressFamily.Unix, SocketType.Stream, ProtocolType.IP);

0 commit comments

Comments
 (0)