diff --git a/app/composer.json b/app/composer.json index 1e9e414..a4941ac 100644 --- a/app/composer.json +++ b/app/composer.json @@ -5,8 +5,8 @@ "temporal/sdk": "^2.8.0", "spiral/tokenizer": "^3.7", "temporal/open-telemetry-interceptors": "dev-master", - "open-telemetry/exporter-otlp": "^1", - "open-telemetry/transport-grpc": "^1", + "open-telemetry/exporter-otlp": "^1.0", + "open-telemetry/transport-grpc": "^1.0", "symfony/console": "^5.4 || ^6.0 || ^7.0" }, "require-dev": { diff --git a/app/util-src/TracerFactory.php b/app/util-src/TracerFactory.php index 0521e5f..69ec5a8 100644 --- a/app/util-src/TracerFactory.php +++ b/app/util-src/TracerFactory.php @@ -11,7 +11,7 @@ namespace Temporal\SampleUtils; -use OpenTelemetry\API\Common\Signal\Signals; +use OpenTelemetry\API\Signals; use OpenTelemetry\API\Trace\Propagation\TraceContextPropagator; use OpenTelemetry\Contrib\Grpc\GrpcTransportFactory; use OpenTelemetry\Contrib\Otlp\OtlpUtil; @@ -36,12 +36,15 @@ public static function create(string $serviceName): Tracer $transport = (new GrpcTransportFactory())->create($endpoint . OtlpUtil::method(Signals::TRACE)); $spanProcessor = (new SpanProcessorFactory())->create(new SpanExporter($transport)); - $resource = ResourceInfoFactory::merge( - ResourceInfo::create(Attributes::create([ - ResourceAttributes::SERVICE_NAME => $serviceName, - ])), - ResourceInfoFactory::defaultResource(), - ); + $defaultResource = ResourceInfoFactory::defaultResource(); + $defaultAttributes = $defaultResource->getAttributes()->toArray(); + + $customAttributes = [ + ResourceAttributes::SERVICE_NAME => $serviceName, + ]; + + $mergedAttributes = array_merge($defaultAttributes, $customAttributes); + $resource = ResourceInfo::create(Attributes::create($mergedAttributes)); return new Tracer( (new TracerProvider(spanProcessors: $spanProcessor, resource: $resource))->getTracer('Temporal Samples'),