PHP code example of temporal / open-telemetry-interceptors
1. Go to this page and download the library: Download temporal/open-telemetry-interceptors library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
temporal / open-telemetry-interceptors example snippets
use OpenTelemetry\API\Trace\Propagation\TraceContextPropagator;
use OpenTelemetry\SDK\Trace;
use Temporal\OpenTelemetry\Interceptor\OpenTelemetryActivityInboundInterceptor;
use Temporal\OpenTelemetry\Interceptor\OpenTelemetryWorkflowClientCallsInterceptor;
use Temporal\OpenTelemetry\Interceptor\OpenTelemetryWorkflowOutboundRequestInterceptor;
use Temporal\Interceptor\SimplePipelineProvider;
// Create a span processor
$spanProcessor = (new Trace\SpanProcessorFactory())->create(
(new Trace\ExporterFactory())->create(),
);
// Create a tracer provider
$tracerProvider = new Trace\TracerProvider($spanProcessor);
// Create a tracer which wraps the OpenTelemetry tracer
$tracer = new Temporal\OpenTelemetry\Tracer(
// Pass a unique name for your application
$tracerProvider->getTracer('My super app'),
TraceContextPropagator::getInstance(),
);
// Configure the interceptor pipeline
$provider = new SimplePipelineProvider([
new OpenTelemetryActivityInboundInterceptor($tracer),
new OpenTelemetryWorkflowClientCallsInterceptor($tracer),
new OpenTelemetryWorkflowOutboundRequestInterceptor($tracer),
]);
// Add interceptors to the workflow client
$client = new Temporal\Client\WorkflowClient(
...,
interceptorProvider: $provider
);
// Add interceptors to the worker
$worker = new WorkerFactory(
...,
pipelineProvider: $provider
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.