in src/Elastic.CommonSchema/EcsDocument.DefaultService.cs [25:57]
private static void UpdateServiceWithEnvironmentConfig(Service service, IDictionary<string, string> resourceAttributes)
{
//ServiceName
var oTelServiceName = Environment.GetEnvironmentVariable("OTEL_SERVICE_NAME");
var apmServiceName = Environment.GetEnvironmentVariable("ELASTIC_APM_SERVICE_NAME");
if (!string.IsNullOrEmpty(oTelServiceName))
service.Name = oTelServiceName;
else if (resourceAttributes.TryGetValue("service.name", out var resourceServiceName))
service.Name = resourceServiceName;
else if (!string.IsNullOrEmpty(apmServiceName))
service.Name = apmServiceName;
//ServiceVersion
var apmServiceVersion = Environment.GetEnvironmentVariable("ELASTIC_APM_SERVICE_VERSION");
if (resourceAttributes.TryGetValue("service.version", out var resourceServiceVersion))
service.Version = resourceServiceVersion;
else if (!string.IsNullOrEmpty(apmServiceVersion))
service.Version = apmServiceVersion;
//ServiceNodeName
var apmServiceNodeName = Environment.GetEnvironmentVariable("ELASTIC_APM_SERVICE_NODE_NAME");
if (resourceAttributes.TryGetValue("service.instance.id", out var resourceServiceNodeName))
service.NodeName = resourceServiceNodeName;
else if (!string.IsNullOrEmpty(apmServiceNodeName))
service.NodeName = apmServiceNodeName;
// Environment
var apmEnvironment = Environment.GetEnvironmentVariable("ELASTIC_APM_ENVIRONMENT");
if (resourceAttributes.TryGetValue("deployment.environment", out var resourceEnvironment))
service.Environment = resourceEnvironment;
else if (!string.IsNullOrWhiteSpace(apmEnvironment))
service.Environment = apmEnvironment;
}