open-telemetry/sampler-aws-xray

AWS X-Ray Remote Sampler for OpenTelemetry PHP Contrib

Package info

github.com/opentelemetry-php/contrib-sampler-aws-xray

pkg:composer/open-telemetry/sampler-aws-xray

Statistics

Installs: 579

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

0.2.0 2026-03-24 16:33 UTC

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

Apache-2.0 e8792d2d31e5ed759ab3fd47d9ac523faa1222fd

This package is auto-updated.

Last update: 2026-06-08 12:54:42 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();