open-telemetry/sampler-aws-xray

AWS X-Ray Remote Sampler for OpenTelemetry PHP Contrib

0.1.0 2025-08-27 01:03 UTC

This package is auto-updated.

Last update: 2025-08-27 01:07:44 UTC


README

Provides a sampler which can get sampling configurations from AWS X-Ray to make sampling decisions. See: AWS X-Ray Sampling

Installation

composer require open-telemetry/sampler-aws-xray

Configuration

You can configure the AWSXRayRemoteSampler as per the following example. Note that you will need to configure your OpenTelemetry Collector for X-Ray remote sampling.

<?php

declare(strict_types=1);

require __DIR__ . '/vendor/autoload.php';

use OpenTelemetry\SDK\Trace\TracerProvider;
use OpenTelemetry\SDK\Common\Attribute\Attributes;
use OpenTelemetry\SDK\Trace\SpanExporter\ConsoleSpanExporterFactory;
use OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor;
use OpenTelemetry\SDK\Resource\ResourceInfo;
use OpenTelemetry\Contrib\Sampler\Xray\AWSXRayRemoteSampler;

$resource = ResourceInfo::create(Attributes::create([
    'service.name'   => 'MyServiceName',
    'service.version'=> '1.0.0',
    'cloud.provider' => 'aws',
]));

$xraySampler = new AWSXRayRemoteSampler(
    $resource,
    'http://localhost:2000',
    2
);

$tracerProvider = TracerProvider::builder()
    ->setResource($resource)
    ->setSampler($xraySampler)
    ->addSpanProcessor(
        new SimpleSpanProcessor(
            (new ConsoleSpanExporterFactory())->create()
        )
    )
    ->build();