package otel import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/sdk/resource" semconv "go.opentelemetry.io/otel/semconv/v1.40.0" ) // newResource builds an OTel resource for the Gerbil service. func newResource(serviceName, serviceVersion, deploymentEnv string) (*resource.Resource, error) { attrs := []attribute.KeyValue{ semconv.ServiceName(serviceName), } if serviceVersion != "" { attrs = append(attrs, semconv.ServiceVersion(serviceVersion)) } if deploymentEnv != "" { attrs = append(attrs, semconv.DeploymentEnvironmentName(deploymentEnv)) } return resource.Merge( resource.Default(), resource.NewWithAttributes(semconv.SchemaURL, attrs...), ) }