aboutsummaryrefslogtreecommitdiff
path: root/vendor/open-telemetry/api/Trace
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2024-10-01 16:00:34 +0300
committerAndrew Dolgov <fox@fakecake.org>2024-10-01 16:00:34 +0300
commit884fd92f1320d17daebb772297da03fb2cfa59b8 (patch)
tree3aa80af1df6ffa1d70f21f9fc4411f451c8b6c56 /vendor/open-telemetry/api/Trace
parent8fcc68baf5b0ff964a0a4a045353462586e0e316 (diff)
drop opentelemetry
Diffstat (limited to 'vendor/open-telemetry/api/Trace')
-rw-r--r--vendor/open-telemetry/api/Trace/NonRecordingSpan.php76
-rw-r--r--vendor/open-telemetry/api/Trace/NoopSpanBuilder.php65
-rw-r--r--vendor/open-telemetry/api/Trace/NoopTracer.php26
-rw-r--r--vendor/open-telemetry/api/Trace/NoopTracerProvider.php17
-rw-r--r--vendor/open-telemetry/api/Trace/Propagation/TraceContextPropagator.php157
-rw-r--r--vendor/open-telemetry/api/Trace/Propagation/TraceContextValidator.php31
-rw-r--r--vendor/open-telemetry/api/Trace/Span.php59
-rw-r--r--vendor/open-telemetry/api/Trace/SpanBuilderInterface.php51
-rw-r--r--vendor/open-telemetry/api/Trace/SpanContext.php127
-rw-r--r--vendor/open-telemetry/api/Trace/SpanContextInterface.php28
-rw-r--r--vendor/open-telemetry/api/Trace/SpanContextValidator.php35
-rw-r--r--vendor/open-telemetry/api/Trace/SpanInterface.php96
-rw-r--r--vendor/open-telemetry/api/Trace/SpanKind.php17
-rw-r--r--vendor/open-telemetry/api/Trace/StatusCode.php15
-rw-r--r--vendor/open-telemetry/api/Trace/TraceFlags.php11
-rw-r--r--vendor/open-telemetry/api/Trace/TraceState.php190
-rw-r--r--vendor/open-telemetry/api/Trace/TraceStateInterface.php61
-rw-r--r--vendor/open-telemetry/api/Trace/TracerInterface.php11
-rw-r--r--vendor/open-telemetry/api/Trace/TracerProviderInterface.php19
-rw-r--r--vendor/open-telemetry/api/Trace/functions.php44
20 files changed, 0 insertions, 1136 deletions
diff --git a/vendor/open-telemetry/api/Trace/NonRecordingSpan.php b/vendor/open-telemetry/api/Trace/NonRecordingSpan.php
deleted file mode 100644
index 67d74d39b..000000000
--- a/vendor/open-telemetry/api/Trace/NonRecordingSpan.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-use Throwable;
-
-/**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#wrapping-a-spancontext-in-a-span
- *
- * @psalm-internal OpenTelemetry
- */
-final class NonRecordingSpan extends Span
-{
- private SpanContextInterface $context;
-
- public function __construct(
- SpanContextInterface $context
- ) {
- $this->context = $context;
- }
-
- /** @inheritDoc */
- public function getContext(): SpanContextInterface
- {
- return $this->context;
- }
-
- /** @inheritDoc */
- public function isRecording(): bool
- {
- return false;
- }
-
- /** @inheritDoc */
- public function setAttribute(string $key, $value): SpanInterface
- {
- return $this;
- }
-
- /** @inheritDoc */
- public function setAttributes(iterable $attributes): SpanInterface
- {
- return $this;
- }
-
- /** @inheritDoc */
- public function addEvent(string $name, iterable $attributes = [], int $timestamp = null): SpanInterface
- {
- return $this;
- }
-
- /** @inheritDoc */
- public function recordException(Throwable $exception, iterable $attributes = []): SpanInterface
- {
- return $this;
- }
-
- /** @inheritDoc */
- public function updateName(string $name): SpanInterface
- {
- return $this;
- }
-
- /** @inheritDoc */
- public function setStatus(string $code, string $description = null): SpanInterface
- {
- return $this;
- }
-
- /** @inheritDoc */
- public function end(int $endEpochNanos = null): void
- {
- }
-}
diff --git a/vendor/open-telemetry/api/Trace/NoopSpanBuilder.php b/vendor/open-telemetry/api/Trace/NoopSpanBuilder.php
deleted file mode 100644
index 6f971e525..000000000
--- a/vendor/open-telemetry/api/Trace/NoopSpanBuilder.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-use OpenTelemetry\Context\Context;
-use OpenTelemetry\Context\ContextInterface;
-use OpenTelemetry\Context\ContextStorageInterface;
-
-final class NoopSpanBuilder implements SpanBuilderInterface
-{
- private ContextStorageInterface $contextStorage;
-
- /** @var ContextInterface|false|null */
- private $parentContext = null;
-
- public function __construct(ContextStorageInterface $contextStorage)
- {
- $this->contextStorage = $contextStorage;
- }
-
- public function setParent($context): SpanBuilderInterface
- {
- $this->parentContext = $context;
-
- return $this;
- }
-
- public function addLink(SpanContextInterface $context, iterable $attributes = []): SpanBuilderInterface
- {
- return $this;
- }
-
- public function setAttribute(string $key, $value): SpanBuilderInterface
- {
- return $this;
- }
-
- public function setAttributes(iterable $attributes): SpanBuilderInterface
- {
- return $this;
- }
-
- public function setStartTimestamp(int $timestampNanos): SpanBuilderInterface
- {
- return $this;
- }
-
- public function setSpanKind(int $spanKind): SpanBuilderInterface
- {
- return $this;
- }
-
- public function startSpan(): SpanInterface
- {
- $parentContext = Context::resolve($this->parentContext, $this->contextStorage);
- $span = Span::fromContext($parentContext);
- if ($span->isRecording()) {
- $span = Span::wrap($span->getContext());
- }
-
- return $span;
- }
-}
diff --git a/vendor/open-telemetry/api/Trace/NoopTracer.php b/vendor/open-telemetry/api/Trace/NoopTracer.php
deleted file mode 100644
index bc50248bd..000000000
--- a/vendor/open-telemetry/api/Trace/NoopTracer.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-use OpenTelemetry\Context\Context;
-
-final class NoopTracer implements TracerInterface
-{
- private static ?self $instance = null;
-
- public static function getInstance(): self
- {
- if (null === self::$instance) {
- self::$instance = new self();
- }
-
- return self::$instance;
- }
-
- public function spanBuilder(string $spanName): SpanBuilderInterface
- {
- return new NoopSpanBuilder(Context::storage());
- }
-}
diff --git a/vendor/open-telemetry/api/Trace/NoopTracerProvider.php b/vendor/open-telemetry/api/Trace/NoopTracerProvider.php
deleted file mode 100644
index e186a6fd9..000000000
--- a/vendor/open-telemetry/api/Trace/NoopTracerProvider.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-class NoopTracerProvider implements TracerProviderInterface
-{
- public function getTracer(
- string $name,
- ?string $version = null,
- ?string $schemaUrl = null,
- iterable $attributes = []
- ): TracerInterface {
- return NoopTracer::getInstance();
- }
-}
diff --git a/vendor/open-telemetry/api/Trace/Propagation/TraceContextPropagator.php b/vendor/open-telemetry/api/Trace/Propagation/TraceContextPropagator.php
deleted file mode 100644
index b70a15647..000000000
--- a/vendor/open-telemetry/api/Trace/Propagation/TraceContextPropagator.php
+++ /dev/null
@@ -1,157 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace\Propagation;
-
-use function count;
-use function explode;
-use function hexdec;
-use OpenTelemetry\API\Trace\Span;
-use OpenTelemetry\API\Trace\SpanContext;
-use OpenTelemetry\API\Trace\SpanContextInterface;
-use OpenTelemetry\API\Trace\SpanContextValidator;
-use OpenTelemetry\API\Trace\TraceFlags;
-use OpenTelemetry\API\Trace\TraceState;
-use OpenTelemetry\Context\Context;
-use OpenTelemetry\Context\ContextInterface;
-use OpenTelemetry\Context\Propagation\ArrayAccessGetterSetter;
-use OpenTelemetry\Context\Propagation\PropagationGetterInterface;
-use OpenTelemetry\Context\Propagation\PropagationSetterInterface;
-use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
-
-/**
- * TraceContext is a propagator that supports the W3C Trace Context format
- * (https://www.w3.org/TR/trace-context/)
- *
- * This propagator will propagate the traceparent and tracestate headers to
- * guarantee traces are not broken. It is up to the users of this propagator
- * to choose if they want to participate in a trace by modifying the
- * traceparent header and relevant parts of the tracestate header containing
- * their proprietary information.
- */
-final class TraceContextPropagator implements TextMapPropagatorInterface
-{
- public const TRACEPARENT = 'traceparent';
- public const TRACESTATE = 'tracestate';
- private const VERSION = '00'; // Currently, only '00' is supported
-
- public const FIELDS = [
- self::TRACEPARENT,
- self::TRACESTATE,
- ];
-
- private static ?self $instance = null;
-
- public static function getInstance(): self
- {
- if (null === self::$instance) {
- self::$instance = new self();
- }
-
- return self::$instance;
- }
-
- /** {@inheritdoc} */
- public function fields(): array
- {
- return self::FIELDS;
- }
-
- /** {@inheritdoc} */
- public function inject(&$carrier, PropagationSetterInterface $setter = null, ContextInterface $context = null): void
- {
- $setter ??= ArrayAccessGetterSetter::getInstance();
- $context ??= Context::getCurrent();
- $spanContext = Span::fromContext($context)->getContext();
-
- if (!$spanContext->isValid()) {
- return;
- }
-
- // Build and inject the traceparent header
- $traceparent = self::VERSION . '-' . $spanContext->getTraceId() . '-' . $spanContext->getSpanId() . '-' . ($spanContext->isSampled() ? '01' : '00');
- $setter->set($carrier, self::TRACEPARENT, $traceparent);
-
- // Build and inject the tracestate header
- // Spec says to avoid sending empty tracestate headers
- if (($tracestate = (string) $spanContext->getTraceState()) !== '') {
- $setter->set($carrier, self::TRACESTATE, $tracestate);
- }
- }
-
- /** {@inheritdoc} */
- public function extract($carrier, PropagationGetterInterface $getter = null, ContextInterface $context = null): ContextInterface
- {
- $getter ??= ArrayAccessGetterSetter::getInstance();
- $context ??= Context::getCurrent();
-
- $spanContext = self::extractImpl($carrier, $getter);
- if (!$spanContext->isValid()) {
- return $context;
- }
-
- return $context->withContextValue(Span::wrap($spanContext));
- }
-
- private static function extractImpl($carrier, PropagationGetterInterface $getter): SpanContextInterface
- {
- $traceparent = $getter->get($carrier, self::TRACEPARENT);
- if ($traceparent === null) {
- return SpanContext::getInvalid();
- }
-
- // traceParent = {version}-{trace-id}-{parent-id}-{trace-flags}
- $pieces = explode('-', $traceparent);
-
- // If the header does not have at least 4 pieces, it is invalid -- restart the trace.
- if (count($pieces) < 4) {
- return SpanContext::getInvalid();
- }
-
- [$version, $traceId, $spanId, $traceFlags] = $pieces;
-
- /**
- * Return invalid if:
- * - Version is invalid (not 2 char hex or 'ff')
- * - Trace version, trace ID, span ID or trace flag are invalid
- */
- if (!TraceContextValidator::isValidTraceVersion($version)
- || !SpanContextValidator::isValidTraceId($traceId)
- || !SpanContextValidator::isValidSpanId($spanId)
- || !TraceContextValidator::isValidTraceFlag($traceFlags)
- ) {
- return SpanContext::getInvalid();
- }
-
- // Return invalid if the trace version is not a future version but still has > 4 pieces.
- $versionIsFuture = hexdec($version) > hexdec(self::VERSION);
- if (count($pieces) > 4 && !$versionIsFuture) {
- return SpanContext::getInvalid();
- }
-
- // Only the sampled flag is extracted from the traceFlags (00000001)
- $convertedTraceFlags = hexdec($traceFlags);
- $isSampled = ($convertedTraceFlags & TraceFlags::SAMPLED) === TraceFlags::SAMPLED;
-
- // Tracestate = 'Vendor1=Value1,...,VendorN=ValueN'
- $rawTracestate = $getter->get($carrier, self::TRACESTATE);
- if ($rawTracestate !== null) {
- $tracestate = new TraceState($rawTracestate);
-
- return SpanContext::createFromRemoteParent(
- $traceId,
- $spanId,
- $isSampled ? TraceFlags::SAMPLED : TraceFlags::DEFAULT,
- $tracestate
- );
- }
-
- // Only traceparent header is extracted. No tracestate.
- return SpanContext::createFromRemoteParent(
- $traceId,
- $spanId,
- $isSampled ? TraceFlags::SAMPLED : TraceFlags::DEFAULT
- );
- }
-}
diff --git a/vendor/open-telemetry/api/Trace/Propagation/TraceContextValidator.php b/vendor/open-telemetry/api/Trace/Propagation/TraceContextValidator.php
deleted file mode 100644
index 5fb3f12c7..000000000
--- a/vendor/open-telemetry/api/Trace/Propagation/TraceContextValidator.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace\Propagation;
-
-use function strlen;
-
-class TraceContextValidator
-{
- public const TRACE_FLAG_LENGTH = 2;
- public const TRACE_VERSION_REGEX = '/^(?!ff)[\da-f]{2}$/';
-
- /**
- * @param string $traceVersion
- * @return bool Returns a value that indicates whether a trace version is valid.
- */
- public static function isValidTraceVersion(string $traceVersion): bool
- {
- return 1 === preg_match(self::TRACE_VERSION_REGEX, $traceVersion);
- }
-
- /**
- * @return bool Returns a value that indicates whether trace flag is valid
- * TraceFlags must be exactly 1 bytes (1 char) representing a bit field
- */
- public static function isValidTraceFlag(string $traceFlag): bool
- {
- return ctype_xdigit($traceFlag) && strlen($traceFlag) === self::TRACE_FLAG_LENGTH;
- }
-}
diff --git a/vendor/open-telemetry/api/Trace/Span.php b/vendor/open-telemetry/api/Trace/Span.php
deleted file mode 100644
index 88360e6cd..000000000
--- a/vendor/open-telemetry/api/Trace/Span.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-use OpenTelemetry\Context\Context;
-use OpenTelemetry\Context\ContextInterface;
-use OpenTelemetry\Context\ContextKeys;
-use OpenTelemetry\Context\ScopeInterface;
-
-abstract class Span implements SpanInterface
-{
- private static ?self $invalidSpan = null;
-
- /** @inheritDoc */
- final public static function fromContext(ContextInterface $context): SpanInterface
- {
- return $context->get(ContextKeys::span()) ?? self::getInvalid();
- }
-
- /** @inheritDoc */
- final public static function getCurrent(): SpanInterface
- {
- return self::fromContext(Context::getCurrent());
- }
-
- /** @inheritDoc */
- final public static function getInvalid(): SpanInterface
- {
- if (null === self::$invalidSpan) {
- self::$invalidSpan = new NonRecordingSpan(SpanContext::getInvalid());
- }
-
- return self::$invalidSpan;
- }
-
- /** @inheritDoc */
- final public static function wrap(SpanContextInterface $spanContext): SpanInterface
- {
- if (!$spanContext->isValid()) {
- return self::getInvalid();
- }
-
- return new NonRecordingSpan($spanContext);
- }
-
- /** @inheritDoc */
- final public function activate(): ScopeInterface
- {
- return Context::getCurrent()->withContextValue($this)->activate();
- }
-
- /** @inheritDoc */
- final public function storeInContext(ContextInterface $context): ContextInterface
- {
- return $context->with(ContextKeys::span(), $this);
- }
-}
diff --git a/vendor/open-telemetry/api/Trace/SpanBuilderInterface.php b/vendor/open-telemetry/api/Trace/SpanBuilderInterface.php
deleted file mode 100644
index 52070933a..000000000
--- a/vendor/open-telemetry/api/Trace/SpanBuilderInterface.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-use OpenTelemetry\Context\ContextInterface;
-
-/**
- * Obtained from a {@see TracerInterface} and used to construct a {@see SpanInterface}.
- */
-interface SpanBuilderInterface
-{
- /**
- * Sets the parent `Context`.
- *
- * @param ContextInterface|false|null $context the parent context, null to use the
- * current context, false to set no parent
- * @return SpanBuilderInterface this span builder
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#span-creation
- */
- public function setParent($context): SpanBuilderInterface;
-
- public function addLink(SpanContextInterface $context, iterable $attributes = []): SpanBuilderInterface;
- public function setAttribute(string $key, $value): SpanBuilderInterface;
- public function setAttributes(iterable $attributes): SpanBuilderInterface;
-
- /**
- * Sets an explicit start timestamp for the newly created {@see SpanInterface}.
- * The provided *$timestamp* is assumed to be in nanoseconds.
- *
- * Defaults to the timestamp when {@see SpanBuilderInterface::startSpan} was called if not explicitly set.
- */
- public function setStartTimestamp(int $timestampNanos): SpanBuilderInterface;
-
- /**
- * @psalm-param SpanKind::KIND_* $spanKind
- */
- public function setSpanKind(int $spanKind): SpanBuilderInterface;
-
- /**
- * Starts and returns a new {@see SpanInterface}.
- *
- * The user _MUST_ manually end the span by calling {@see SpanInterface::end}.
- *
- * This method does _NOT_ automatically install the span into the current context.
- * The user is responsible for calling {@see SpanInterface::activate} when they wish to do so.
- */
- public function startSpan(): SpanInterface;
-}
diff --git a/vendor/open-telemetry/api/Trace/SpanContext.php b/vendor/open-telemetry/api/Trace/SpanContext.php
deleted file mode 100644
index 7da7c0701..000000000
--- a/vendor/open-telemetry/api/Trace/SpanContext.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-use function hex2bin;
-
-final class SpanContext implements SpanContextInterface
-{
- private static ?SpanContextInterface $invalidContext = null;
-
- /**
- * @see https://www.w3.org/TR/trace-context/#trace-flags
- * @see https://www.w3.org/TR/trace-context/#sampled-flag
- */
- private bool $isSampled;
-
- private string $traceId;
- private string $spanId;
- private ?TraceStateInterface $traceState;
- private bool $isValid = true;
- private bool $isRemote;
- private int $traceFlags;
-
- private function __construct(
- string $traceId,
- string $spanId,
- int $traceFlags,
- bool $isRemote,
- TraceStateInterface $traceState = null
- ) {
- // TraceId must be exactly 16 bytes (32 chars) and at least one non-zero byte
- // SpanId must be exactly 8 bytes (16 chars) and at least one non-zero byte
- if (!SpanContextValidator::isValidTraceId($traceId) || !SpanContextValidator::isValidSpanId($spanId)) {
- $traceId = SpanContextValidator::INVALID_TRACE;
- $spanId = SpanContextValidator::INVALID_SPAN;
- $this->isValid=false;
- }
-
- $this->traceId = $traceId;
- $this->spanId = $spanId;
- $this->traceState = $traceState;
- $this->isRemote = $isRemote;
- $this->isSampled = ($traceFlags & TraceFlags::SAMPLED) === TraceFlags::SAMPLED;
- $this->traceFlags = $traceFlags;
- }
-
- public function getTraceId(): string
- {
- return $this->traceId;
- }
-
- public function getTraceIdBinary(): string
- {
- return hex2bin($this->traceId);
- }
-
- public function getSpanId(): string
- {
- return $this->spanId;
- }
-
- public function getSpanIdBinary(): string
- {
- return hex2bin($this->spanId);
- }
-
- public function getTraceState(): ?TraceStateInterface
- {
- return $this->traceState;
- }
-
- public function isSampled(): bool
- {
- return $this->isSampled;
- }
-
- public function isValid(): bool
- {
- return $this->isValid;
- }
-
- public function isRemote(): bool
- {
- return $this->isRemote;
- }
-
- public function getTraceFlags(): int
- {
- return $this->traceFlags;
- }
-
- /** @inheritDoc */
- public static function createFromRemoteParent(string $traceId, string $spanId, int $traceFlags = TraceFlags::DEFAULT, ?TraceStateInterface $traceState = null): SpanContextInterface
- {
- return new self(
- $traceId,
- $spanId,
- $traceFlags,
- true,
- $traceState,
- );
- }
-
- /** @inheritDoc */
- public static function create(string $traceId, string $spanId, int $traceFlags = TraceFlags::DEFAULT, ?TraceStateInterface $traceState = null): SpanContextInterface
- {
- return new self(
- $traceId,
- $spanId,
- $traceFlags,
- false,
- $traceState,
- );
- }
-
- /** @inheritDoc */
- public static function getInvalid(): SpanContextInterface
- {
- if (null === self::$invalidContext) {
- self::$invalidContext = self::create(SpanContextValidator::INVALID_TRACE, SpanContextValidator::INVALID_SPAN, 0);
- }
-
- return self::$invalidContext;
- }
-}
diff --git a/vendor/open-telemetry/api/Trace/SpanContextInterface.php b/vendor/open-telemetry/api/Trace/SpanContextInterface.php
deleted file mode 100644
index d15bc5987..000000000
--- a/vendor/open-telemetry/api/Trace/SpanContextInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-/**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#spancontext
- */
-interface SpanContextInterface
-{
- public static function createFromRemoteParent(string $traceId, string $spanId, int $traceFlags = TraceFlags::DEFAULT, ?TraceStateInterface $traceState = null): SpanContextInterface;
- public static function getInvalid(): SpanContextInterface;
- public static function create(string $traceId, string $spanId, int $traceFlags = TraceFlags::DEFAULT, ?TraceStateInterface $traceState = null): SpanContextInterface;
-
- /** @psalm-mutation-free */
- public function getTraceId(): string;
- public function getTraceIdBinary(): string;
-
- /** @psalm-mutation-free */
- public function getSpanId(): string;
- public function getSpanIdBinary(): string;
- public function getTraceFlags(): int;
- public function getTraceState(): ?TraceStateInterface;
- public function isValid(): bool;
- public function isRemote(): bool;
- public function isSampled(): bool;
-}
diff --git a/vendor/open-telemetry/api/Trace/SpanContextValidator.php b/vendor/open-telemetry/api/Trace/SpanContextValidator.php
deleted file mode 100644
index 09b39f6d8..000000000
--- a/vendor/open-telemetry/api/Trace/SpanContextValidator.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-use function strlen;
-use function strtolower;
-
-class SpanContextValidator
-{
- public const VALID_SPAN = '/^[0-9a-f]{16}$/';
- public const VALID_TRACE = '/^[0-9a-f]{32}$/';
- public const INVALID_SPAN = '0000000000000000';
- public const INVALID_TRACE = '00000000000000000000000000000000';
- public const SPAN_LENGTH = 16;
- public const TRACE_LENGTH = 32;
- public const SPAN_LENGTH_BYTES = 8;
-
- /**
- * @return bool Returns a value that indicates whether a trace id is valid
- */
- public static function isValidTraceId(string $traceId): bool
- {
- return ctype_xdigit($traceId) && strlen($traceId) === self::TRACE_LENGTH && $traceId !== self::INVALID_TRACE && $traceId === strtolower($traceId);
- }
-
- /**
- * @return bool Returns a value that indicates whether a span id is valid
- */
- public static function isValidSpanId(string $spanId): bool
- {
- return ctype_xdigit($spanId) && strlen($spanId) === self::SPAN_LENGTH && $spanId !== self::INVALID_SPAN && $spanId === strtolower($spanId);
- }
-}
diff --git a/vendor/open-telemetry/api/Trace/SpanInterface.php b/vendor/open-telemetry/api/Trace/SpanInterface.php
deleted file mode 100644
index 274a257ea..000000000
--- a/vendor/open-telemetry/api/Trace/SpanInterface.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-use OpenTelemetry\Context\ContextInterface;
-use OpenTelemetry\Context\ImplicitContextKeyedInterface;
-use Throwable;
-
-/**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#span-operations
- */
-interface SpanInterface extends ImplicitContextKeyedInterface
-{
- /**
- * Returns the {@see SpanInterface} from the provided *$context*,
- * falling back on {@see SpanInterface::getInvalid()} if there is no span in the provided context.
- */
- public static function fromContext(ContextInterface $context): SpanInterface;
-
- /**
- * Returns the current {@see SpanInterface} from the current {@see ContextInterface},
- * falling back on {@see SpanInterface::getEmpty()} if there is no span in the current context.
- */
- public static function getCurrent(): SpanInterface;
-
- /**
- * Returns an invalid {@see SpanInterface} that is used when tracing is disabled, such s when there is no available SDK.
- */
- public static function getInvalid(): SpanInterface;
-
- /**
- * Returns a non-recording {@see SpanInterface} that hold the provided *$spanContext* but has no functionality.
- * It will not be exported and al tracing operations are no-op, but can be used to propagate a valid {@see SpanContext} downstream.
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#wrapping-a-spancontext-in-a-span
- */
- public static function wrap(SpanContextInterface $spanContext): SpanInterface;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#get-context
- */
- public function getContext(): SpanContextInterface;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#isrecording
- */
- public function isRecording(): bool;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#set-attributes
- * Adding attributes at span creation is preferred to calling setAttribute later, as samplers can only consider information
- * already present during span creation
- * @param non-empty-string $key
- * @param bool|int|float|string|array|null $value Note: arrays MUST be homogeneous, i.e. it MUST NOT contain values of different types.
- */
- public function setAttribute(string $key, $value): SpanInterface;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#set-attributes
- * An attribute with a null key will be dropped, and an attribute with a null value will be dropped but also remove any existing
- * attribute with the same key.
- * @param iterable<non-empty-string, bool|int|float|string|array|null> $attributes
- */
- public function setAttributes(iterable $attributes): SpanInterface;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#add-events
- */
- public function addEvent(string $name, iterable $attributes = [], int $timestamp = null): SpanInterface;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#record-exception
- */
- public function recordException(Throwable $exception, iterable $attributes = []): SpanInterface;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#updatename
- *
- * @param non-empty-string $name
- */
- public function updateName(string $name): SpanInterface;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#set-status
- *
- * @psalm-param StatusCode::STATUS_* $code
- */
- public function setStatus(string $code, string $description = null): SpanInterface;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#end
- */
- public function end(int $endEpochNanos = null): void;
-}
diff --git a/vendor/open-telemetry/api/Trace/SpanKind.php b/vendor/open-telemetry/api/Trace/SpanKind.php
deleted file mode 100644
index f44339e00..000000000
--- a/vendor/open-telemetry/api/Trace/SpanKind.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-/**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#spankind
- */
-interface SpanKind
-{
- public const KIND_INTERNAL = 0;
- public const KIND_CLIENT = 1;
- public const KIND_SERVER = 2;
- public const KIND_PRODUCER = 3;
- public const KIND_CONSUMER = 4;
-}
diff --git a/vendor/open-telemetry/api/Trace/StatusCode.php b/vendor/open-telemetry/api/Trace/StatusCode.php
deleted file mode 100644
index 0d95e96a5..000000000
--- a/vendor/open-telemetry/api/Trace/StatusCode.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-/**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/trace/api.md#set-status
- */
-interface StatusCode
-{
- public const STATUS_UNSET = 'Unset';
- public const STATUS_OK = 'Ok';
- public const STATUS_ERROR = 'Error';
-}
diff --git a/vendor/open-telemetry/api/Trace/TraceFlags.php b/vendor/open-telemetry/api/Trace/TraceFlags.php
deleted file mode 100644
index 6adf72b1a..000000000
--- a/vendor/open-telemetry/api/Trace/TraceFlags.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-interface TraceFlags
-{
- public const SAMPLED = 0x01;
- public const DEFAULT = 0x00;
-}
diff --git a/vendor/open-telemetry/api/Trace/TraceState.php b/vendor/open-telemetry/api/Trace/TraceState.php
deleted file mode 100644
index 306a63322..000000000
--- a/vendor/open-telemetry/api/Trace/TraceState.php
+++ /dev/null
@@ -1,190 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-use function array_reverse;
-use OpenTelemetry\API\Behavior\LogsMessagesTrait;
-use function strlen;
-
-class TraceState implements TraceStateInterface
-{
- use LogsMessagesTrait;
-
- public const MAX_LIST_MEMBERS = 32; //@see https://www.w3.org/TR/trace-context/#tracestate-header-field-values
- public const MAX_COMBINED_LENGTH = 512; //@see https://www.w3.org/TR/trace-context/#tracestate-limits
- public const LIST_MEMBERS_SEPARATOR = ',';
- public const LIST_MEMBER_KEY_VALUE_SPLITTER = '=';
- private const VALID_KEY_CHAR_RANGE = '[_0-9a-z-*\/]';
- private const VALID_KEY = '[a-z]' . self::VALID_KEY_CHAR_RANGE . '{0,255}';
- private const VALID_VENDOR_KEY = '[a-z0-9]' . self::VALID_KEY_CHAR_RANGE . '{0,240}@[a-z]' . self::VALID_KEY_CHAR_RANGE . '{0,13}';
- private const VALID_KEY_REGEX = '/^(?:' . self::VALID_KEY . '|' . self::VALID_VENDOR_KEY . ')$/';
- private const VALID_VALUE_BASE_REGEX = '/^[ -~]{0,255}[!-~]$/';
- private const INVALID_VALUE_COMMA_EQUAL_REGEX = '/,|=/';
-
- /**
- * @var string[]
- */
- private array $traceState = [];
-
- public function __construct(string $rawTracestate = null)
- {
- if ($rawTracestate === null || trim($rawTracestate) === '') {
- return;
- }
- $this->traceState = $this->parse($rawTracestate);
- }
-
- /**
- * {@inheritdoc}
- */
- public function with(string $key, string $value): TraceStateInterface
- {
- $clonedTracestate = clone $this;
-
- if ($this->validateKey($key) && $this->validateValue($value)) {
-
- /*
- * Only one entry per key is allowed. In this case we need to overwrite the vendor entry
- * upon reentry to the tracing system and ensure the updated entry is at the beginning of
- * the list. This means we place it the back for now and it will be at the beginning once
- * we reverse the order back during __toString().
- */
- if (array_key_exists($key, $clonedTracestate->traceState)) {
- unset($clonedTracestate->traceState[$key]);
- }
-
- // Add new or updated entry to the back of the list.
- $clonedTracestate->traceState[$key] = $value;
- } else {
- self::logWarning('Invalid tracetrace key/value for: ' . $key);
- }
-
- return $clonedTracestate;
- }
-
- /**
- * {@inheritdoc}
- */
- public function without(string $key): TraceStateInterface
- {
- $clonedTracestate = clone $this;
-
- if ($key !== '') {
- unset($clonedTracestate->traceState[$key]);
- }
-
- return $clonedTracestate;
- }
-
- /**
- * {@inheritdoc}
- */
- public function get(string $key): ?string
- {
- return $this->traceState[$key] ?? null;
- }
-
- /**
- * {@inheritdoc}
- */
- public function getListMemberCount(): int
- {
- return count($this->traceState);
- }
-
- /**
- * {@inheritdoc}
- */
- public function __toString(): string
- {
- if ($this->traceState === []) {
- return '';
- }
- $traceStateString='';
- foreach (array_reverse($this->traceState) as $k => $v) {
- $traceStateString .=$k . self::LIST_MEMBER_KEY_VALUE_SPLITTER . $v . self::LIST_MEMBERS_SEPARATOR;
- }
-
- return rtrim($traceStateString, ',');
- }
-
- /**
- * Parse the raw tracestate header into the TraceState object. Since new or updated entries must
- * be added to the beginning of the list, the key-value pairs in the TraceState object will be
- * stored in reverse order. This ensures new entries added to the TraceState object are at the
- * beginning when we reverse the order back again while building the final tracestate header.
- *
- * Ex:
- * tracestate = 'vendor1=value1,vendor2=value2'
- *
- * ||
- * \/
- *
- * $this->tracestate = ['vendor2' => 'value2' ,'vendor1' => 'value1']
- *
- */
- private function parse(string $rawTracestate): array
- {
- if (strlen($rawTracestate) > self::MAX_COMBINED_LENGTH) {
- self::logWarning('tracestate discarded, exceeds max combined length: ' . self::MAX_COMBINED_LENGTH);
-
- return [];
- }
- $parsedTracestate = [];
- $listMembers = explode(self::LIST_MEMBERS_SEPARATOR, $rawTracestate);
-
- if (count($listMembers) > self::MAX_LIST_MEMBERS) {
- self::logWarning('tracestate discarded, too many members');
-
- return [];
- }
-
- foreach ($listMembers as $listMember) {
- $vendor = explode(self::LIST_MEMBER_KEY_VALUE_SPLITTER, trim($listMember));
-
- // There should only be one list-member per vendor separated by '='
- if (count($vendor) !== 2 || !$this->validateKey($vendor[0]) || !$this->validateValue($vendor[1])) {
- self::logWarning('tracestate discarded, invalid member: ' . $listMember);
-
- return [];
- }
- $parsedTracestate[$vendor[0]] = $vendor[1];
- }
-
- /*
- * Reversing the tracestate ensures the new entries added to the TraceState object are at
- * the beginning when we reverse it back during __toString().
- */
- return array_reverse($parsedTracestate);
- }
-
- /**
- * The Key is opaque string that is an identifier for a vendor. It can be up
- * to 256 characters and MUST begin with a lowercase letter or a digit, and can
- * only contain lowercase letters (a-z), digits (0-9), underscores (_), dashes (-),
- * asterisks (*), and forward slashes (/). For multi-tenant vendor scenarios, an at
- * sign (@) can be used to prefix the vendor name. Vendors SHOULD set the tenant ID
- * at the beginning of the key.
- *
- * @see https://www.w3.org/TR/trace-context/#key
- */
- private function validateKey(string $key): bool
- {
- return preg_match(self::VALID_KEY_REGEX, $key) !== 0;
- }
-
- /**
- * The value is an opaque string containing up to 256 printable ASCII [RFC0020]
- * characters (i.e., the range 0x20 to 0x7E) except comma (,) and (=). Note that
- * this also excludes tabs, newlines, carriage returns, etc.
- *
- * @see https://www.w3.org/TR/trace-context/#value
- */
- private function validateValue(string $key): bool
- {
- return (preg_match(self::VALID_VALUE_BASE_REGEX, $key) !== 0)
- && (preg_match(self::INVALID_VALUE_COMMA_EQUAL_REGEX, $key) === 0);
- }
-}
diff --git a/vendor/open-telemetry/api/Trace/TraceStateInterface.php b/vendor/open-telemetry/api/Trace/TraceStateInterface.php
deleted file mode 100644
index 79d4e0299..000000000
--- a/vendor/open-telemetry/api/Trace/TraceStateInterface.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-/**
- * TraceState parses and stores the tracestate header as an immutable list of string
- * key/value pairs. It provides the following operations following the rules described
- * in the W3C Trace Context specification:
- * - Get value for a given key
- * - Add a new key/value pair
- * - Update an existing value for a given key
- * - Delete a key/value pair
- *
- * All mutating operations return a new TraceState with the modifications applied.
- *
- * @see https://www.w3.org/TR/trace-context/#tracestate-header
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/api.md#tracestate
- */
-interface TraceStateInterface
-{
- /**
- * Return a new TraceState object that inherits from this TraceState
- * and contains the given key value pair.
- *
- * @param string $key
- * @param string $value
- * @return TraceStateInterface
- */
- public function with(string $key, string $value): TraceStateInterface;
-
- /**
- * Return a new TraceState object that inherits from this TraceState
- * without the given key value pair.
- *
- * @param string $key
- * @return TraceStateInterface
- */
- public function without(string $key): TraceStateInterface;
-
- /**
- * Return the value of a given key from this TraceState if it exists
- *
- * @param string $key
- * @return string|null
- */
- public function get(string $key): ?string;
-
- /**
- * Get the list-member count in this TraceState
- *
- * @return int
- */
- public function getListMemberCount(): int;
-
- /**
- * Returns a string representation of this TraceSate
- */
- public function __toString(): string;
-}
diff --git a/vendor/open-telemetry/api/Trace/TracerInterface.php b/vendor/open-telemetry/api/Trace/TracerInterface.php
deleted file mode 100644
index 1293a6642..000000000
--- a/vendor/open-telemetry/api/Trace/TracerInterface.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-interface TracerInterface
-{
- /** @param non-empty-string $spanName */
- public function spanBuilder(string $spanName): SpanBuilderInterface;
-}
diff --git a/vendor/open-telemetry/api/Trace/TracerProviderInterface.php b/vendor/open-telemetry/api/Trace/TracerProviderInterface.php
deleted file mode 100644
index 9f5d20759..000000000
--- a/vendor/open-telemetry/api/Trace/TracerProviderInterface.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-/** @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/specification/trace/api.md#tracerprovider */
-interface TracerProviderInterface
-{
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/specification/trace/api.md#get-a-tracer
- */
- public function getTracer(
- string $name,
- ?string $version = null,
- ?string $schemaUrl = null,
- iterable $attributes = []
- ): TracerInterface;
-}
diff --git a/vendor/open-telemetry/api/Trace/functions.php b/vendor/open-telemetry/api/Trace/functions.php
deleted file mode 100644
index 79f730717..000000000
--- a/vendor/open-telemetry/api/Trace/functions.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Trace;
-
-use Closure;
-use Throwable;
-
-/**
- * Executes the given closure within the provided span.
- *
- * The span will be ended.
- *
- * @template R
- * @param SpanInterface $span span to enclose the closure with
- * @param Closure(...): R $closure closure to invoke
- * @param iterable<int|string, mixed> $args arguments to provide to the closure
- * @return R result of the closure invocation
- *
- * @phpstan-ignore-next-line
- */
-function trace(SpanInterface $span, Closure $closure, iterable $args = [])
-{
- $s = $span;
- $c = $closure;
- $a = $args;
- unset($span, $closure, $args);
-
- $scope = $s->activate();
-
- try {
- /** @psalm-suppress InvalidArgument */
- return $c(...$a, ...($a = []));
- } catch (Throwable $e) {
- $s->setStatus(StatusCode::STATUS_ERROR, $e->getMessage());
- $s->recordException($e, ['exception.escaped' => true]);
-
- throw $e;
- } finally {
- $scope->detach();
- $s->end();
- }
-}