From e0a9aa4011aaec4eca76ed6219da017cf11c524f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Paj=C4=85k?= Date: Fri, 30 Jul 2021 20:33:06 +0200 Subject: [PATCH] OtelServiceNameEnvVarDetector handles SecurityException --- .../Resources/OtelEnvResourceDetector.cs | 2 +- .../OtelServiceNameEnvVarDetector.cs | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/OpenTelemetry/Resources/OtelEnvResourceDetector.cs b/src/OpenTelemetry/Resources/OtelEnvResourceDetector.cs index 8aa803df06a..4d5b7e6a949 100644 --- a/src/OpenTelemetry/Resources/OtelEnvResourceDetector.cs +++ b/src/OpenTelemetry/Resources/OtelEnvResourceDetector.cs @@ -41,7 +41,7 @@ public Resource Detect() } catch (Exception ex) { - OpenTelemetrySdkEventSource.Log.ResourceDetectorFailed("OtelEnvResourceDetector", ex.Message); + OpenTelemetrySdkEventSource.Log.ResourceDetectorFailed(nameof(OtelEnvResourceDetector), ex.Message); } return resource; diff --git a/src/OpenTelemetry/Resources/OtelServiceNameEnvVarDetector.cs b/src/OpenTelemetry/Resources/OtelServiceNameEnvVarDetector.cs index 0839f19e6d1..806ced7c793 100644 --- a/src/OpenTelemetry/Resources/OtelServiceNameEnvVarDetector.cs +++ b/src/OpenTelemetry/Resources/OtelServiceNameEnvVarDetector.cs @@ -16,6 +16,8 @@ using System; using System.Collections.Generic; +using System.Security; +using OpenTelemetry.Internal; namespace OpenTelemetry.Resources { @@ -27,13 +29,20 @@ public Resource Detect() { var resource = Resource.Empty; - string envResourceAttributeValue = Environment.GetEnvironmentVariable(EnvVarKey); - if (!string.IsNullOrEmpty(envResourceAttributeValue)) + try { - resource = new Resource(new Dictionary + string envResourceAttributeValue = Environment.GetEnvironmentVariable(EnvVarKey); + if (!string.IsNullOrEmpty(envResourceAttributeValue)) { - [ResourceSemanticConventions.AttributeServiceName] = envResourceAttributeValue, - }); + resource = new Resource(new Dictionary + { + [ResourceSemanticConventions.AttributeServiceName] = envResourceAttributeValue, + }); + } + } + catch (SecurityException ex) + { + OpenTelemetrySdkEventSource.Log.ResourceDetectorFailed(nameof(OtelServiceNameEnvVarDetector), ex.Message); } return resource;