summaryrefslogtreecommitdiff
path: root/vendor/open-telemetry/api
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/open-telemetry/api')
-rw-r--r--vendor/open-telemetry/api/Baggage/Baggage.php100
-rw-r--r--vendor/open-telemetry/api/Baggage/BaggageBuilder.php40
-rw-r--r--vendor/open-telemetry/api/Baggage/BaggageBuilderInterface.php23
-rw-r--r--vendor/open-telemetry/api/Baggage/BaggageInterface.php62
-rw-r--r--vendor/open-telemetry/api/Baggage/Entry.php38
-rw-r--r--vendor/open-telemetry/api/Baggage/Metadata.php27
-rw-r--r--vendor/open-telemetry/api/Baggage/MetadataInterface.php13
-rw-r--r--vendor/open-telemetry/api/Baggage/Propagation/BaggagePropagator.php92
-rw-r--r--vendor/open-telemetry/api/Baggage/Propagation/Parser.php69
-rw-r--r--vendor/open-telemetry/api/Behavior/Internal/LogWriter/ErrorLogWriter.php13
-rw-r--r--vendor/open-telemetry/api/Behavior/Internal/LogWriter/Formatter.php37
-rw-r--r--vendor/open-telemetry/api/Behavior/Internal/LogWriter/LogWriterInterface.php10
-rw-r--r--vendor/open-telemetry/api/Behavior/Internal/LogWriter/NoopLogWriter.php13
-rw-r--r--vendor/open-telemetry/api/Behavior/Internal/LogWriter/Psr3LogWriter.php22
-rw-r--r--vendor/open-telemetry/api/Behavior/Internal/LogWriter/StreamLogWriter.php25
-rw-r--r--vendor/open-telemetry/api/Behavior/Internal/LogWriterFactory.php48
-rw-r--r--vendor/open-telemetry/api/Behavior/Internal/Logging.php90
-rw-r--r--vendor/open-telemetry/api/Behavior/LogsMessagesTrait.php50
-rw-r--r--vendor/open-telemetry/api/Globals.php121
-rw-r--r--vendor/open-telemetry/api/Instrumentation/CachedInstrumentation.php97
-rw-r--r--vendor/open-telemetry/api/Instrumentation/ConfigurationResolver.php77
-rw-r--r--vendor/open-telemetry/api/Instrumentation/ConfigurationResolverInterface.php14
-rw-r--r--vendor/open-telemetry/api/Instrumentation/Configurator.php113
-rw-r--r--vendor/open-telemetry/api/Instrumentation/ContextKeys.php58
-rw-r--r--vendor/open-telemetry/api/Instrumentation/InstrumentationInterface.php43
-rw-r--r--vendor/open-telemetry/api/Instrumentation/InstrumentationTrait.php193
-rw-r--r--vendor/open-telemetry/api/LoggerHolder.php53
-rw-r--r--vendor/open-telemetry/api/Logs/EventLogger.php26
-rw-r--r--vendor/open-telemetry/api/Logs/EventLoggerInterface.php13
-rw-r--r--vendor/open-telemetry/api/Logs/LogRecord.php108
-rw-r--r--vendor/open-telemetry/api/Logs/LoggerInterface.php10
-rw-r--r--vendor/open-telemetry/api/Logs/LoggerProviderInterface.php18
-rw-r--r--vendor/open-telemetry/api/Logs/Map/Psr3.php40
-rw-r--r--vendor/open-telemetry/api/Logs/NoopLogger.php33
-rw-r--r--vendor/open-telemetry/api/Logs/NoopLoggerProvider.php20
-rw-r--r--vendor/open-telemetry/api/Logs/README.md19
-rw-r--r--vendor/open-telemetry/api/Metrics/CounterInterface.php21
-rw-r--r--vendor/open-telemetry/api/Metrics/HistogramInterface.php21
-rw-r--r--vendor/open-telemetry/api/Metrics/MeterInterface.php111
-rw-r--r--vendor/open-telemetry/api/Metrics/MeterProviderInterface.php28
-rw-r--r--vendor/open-telemetry/api/Metrics/Noop/NoopCounter.php18
-rw-r--r--vendor/open-telemetry/api/Metrics/Noop/NoopHistogram.php18
-rw-r--r--vendor/open-telemetry/api/Metrics/Noop/NoopMeter.php46
-rw-r--r--vendor/open-telemetry/api/Metrics/Noop/NoopMeterProvider.php20
-rw-r--r--vendor/open-telemetry/api/Metrics/Noop/NoopObservableCallback.php18
-rw-r--r--vendor/open-telemetry/api/Metrics/Noop/NoopObservableCounter.php19
-rw-r--r--vendor/open-telemetry/api/Metrics/Noop/NoopObservableGauge.php19
-rw-r--r--vendor/open-telemetry/api/Metrics/Noop/NoopObservableUpDownCounter.php19
-rw-r--r--vendor/open-telemetry/api/Metrics/Noop/NoopUpDownCounter.php18
-rw-r--r--vendor/open-telemetry/api/Metrics/ObservableCallbackInterface.php56
-rw-r--r--vendor/open-telemetry/api/Metrics/ObservableCounterInterface.php16
-rw-r--r--vendor/open-telemetry/api/Metrics/ObservableGaugeInterface.php16
-rw-r--r--vendor/open-telemetry/api/Metrics/ObservableUpDownCounterInterface.php16
-rw-r--r--vendor/open-telemetry/api/Metrics/ObserverInterface.php18
-rw-r--r--vendor/open-telemetry/api/Metrics/UpDownCounterInterface.php19
-rw-r--r--vendor/open-telemetry/api/README.md14
-rw-r--r--vendor/open-telemetry/api/Signals.php21
-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
-rw-r--r--vendor/open-telemetry/api/composer.json40
78 files changed, 0 insertions, 3556 deletions
diff --git a/vendor/open-telemetry/api/Baggage/Baggage.php b/vendor/open-telemetry/api/Baggage/Baggage.php
deleted file mode 100644
index 06c701605..000000000
--- a/vendor/open-telemetry/api/Baggage/Baggage.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Baggage;
-
-use OpenTelemetry\Context\Context;
-use OpenTelemetry\Context\ContextInterface;
-use OpenTelemetry\Context\ContextKeys;
-use OpenTelemetry\Context\ScopeInterface;
-
-final class Baggage implements BaggageInterface
-{
- private static ?self $emptyBaggage = null;
-
- /** @inheritDoc */
- public static function fromContext(ContextInterface $context): BaggageInterface
- {
- return $context->get(ContextKeys::baggage()) ?? self::getEmpty();
- }
-
- /** @inheritDoc */
- public static function getBuilder(): BaggageBuilderInterface
- {
- return new BaggageBuilder();
- }
-
- /** @inheritDoc */
- public static function getCurrent(): BaggageInterface
- {
- return self::fromContext(Context::getCurrent());
- }
-
- /** @inheritDoc */
- public static function getEmpty(): BaggageInterface
- {
- if (null === self::$emptyBaggage) {
- self::$emptyBaggage = new self();
- }
-
- return self::$emptyBaggage;
- }
-
- /** @var array<string, Entry> */
- private array $entries;
-
- /** @param array<string, Entry> $entries */
- public function __construct(array $entries = [])
- {
- $this->entries = $entries;
- }
-
- /** @inheritDoc */
- public function activate(): ScopeInterface
- {
- return Context::getCurrent()->withContextValue($this)->activate();
- }
-
- /** @inheritDoc */
- public function getEntry(string $key): ?Entry
- {
- return $this->entries[$key] ?? null;
- }
-
- /** @inheritDoc */
- public function getValue(string $key)
- {
- if (($entry = $this->getEntry($key)) !== null) {
- return $entry->getValue();
- }
-
- return null;
- }
-
- /** @inheritDoc */
- public function getAll(): iterable
- {
- foreach ($this->entries as $key => $entry) {
- yield $key => $entry;
- }
- }
-
- /** @inheritDoc */
- public function isEmpty(): bool
- {
- return $this->entries === [];
- }
-
- /** @inheritDoc */
- public function toBuilder(): BaggageBuilderInterface
- {
- return new BaggageBuilder($this->entries);
- }
-
- /** @inheritDoc */
- public function storeInContext(ContextInterface $context): ContextInterface
- {
- return $context->with(ContextKeys::baggage(), $this);
- }
-}
diff --git a/vendor/open-telemetry/api/Baggage/BaggageBuilder.php b/vendor/open-telemetry/api/Baggage/BaggageBuilder.php
deleted file mode 100644
index d4500eac5..000000000
--- a/vendor/open-telemetry/api/Baggage/BaggageBuilder.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Baggage;
-
-final class BaggageBuilder implements BaggageBuilderInterface
-{
- /** @var array<string, Entry> */
- private array $entries;
-
- /** @param array<string, Entry> $entries */
- public function __construct(array $entries = [])
- {
- $this->entries = $entries;
- }
-
- /** @inheritDoc */
- public function remove(string $key): BaggageBuilderInterface
- {
- unset($this->entries[$key]);
-
- return $this;
- }
-
- /** @inheritDoc */
- public function set(string $key, $value, MetadataInterface $metadata = null): BaggageBuilderInterface
- {
- $metadata ??= Metadata::getEmpty();
-
- $this->entries[$key] = new Entry($value, $metadata);
-
- return $this;
- }
-
- public function build(): BaggageInterface
- {
- return new Baggage($this->entries);
- }
-}
diff --git a/vendor/open-telemetry/api/Baggage/BaggageBuilderInterface.php b/vendor/open-telemetry/api/Baggage/BaggageBuilderInterface.php
deleted file mode 100644
index 301cfbc3c..000000000
--- a/vendor/open-telemetry/api/Baggage/BaggageBuilderInterface.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Baggage;
-
-use OpenTelemetry\API\Baggage as API;
-
-interface BaggageBuilderInterface
-{
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/baggage/api.md#set-value
- * @param mixed $value
- */
- public function set(string $key, $value, API\MetadataInterface $metadata = null): API\BaggageBuilderInterface;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/baggage/api.md#remove-value
- */
- public function remove(string $key): API\BaggageBuilderInterface;
-
- public function build(): API\BaggageInterface;
-}
diff --git a/vendor/open-telemetry/api/Baggage/BaggageInterface.php b/vendor/open-telemetry/api/Baggage/BaggageInterface.php
deleted file mode 100644
index 83f45755d..000000000
--- a/vendor/open-telemetry/api/Baggage/BaggageInterface.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Baggage;
-
-use OpenTelemetry\API\Baggage as API;
-use OpenTelemetry\Context\ContextInterface;
-use OpenTelemetry\Context\ImplicitContextKeyedInterface;
-
-/**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/baggage/api.md#operations
- */
-interface BaggageInterface extends ImplicitContextKeyedInterface
-{
- /**
- * Returns the {@see API\BaggageInterface} from the provided *$context*,
- * falling back on {@see API\BaggageInterface::getEmpty()} if there is no baggage in the provided context.
- */
- public static function fromContext(ContextInterface $context): API\BaggageInterface;
-
- /**
- * Returns a new empty {@see API\BaggageBuilderInterface}.
- */
- public static function getBuilder(): API\BaggageBuilderInterface;
-
- /**
- * Returns the current {@see Baggage} from the current {@see ContextInterface},
- * falling back on {@see API\BaggageInterface::getEmpty()} if there is no baggage in the current context.
- */
- public static function getCurrent(): API\BaggageInterface;
-
- /**
- * Returns a new {@see API\BaggageInterface} with no entries.
- */
- public static function getEmpty(): API\BaggageInterface;
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/baggage/api.md#get-value
- */
- public function getEntry(string $key): ?API\Entry;
-
- /**
- * Returns the value from the {@see API\Entry} with the provided *key*.
- * @see getEntry
- *
- * @return mixed
- */
- public function getValue(string $key);
-
- /**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/baggage/api.md#get-all-values
- */
- public function getAll(): iterable;
-
- public function isEmpty(): bool;
-
- /**
- * Returns a new {@see API\BaggageBuilderInterface} pre-initialized with the contents of `$this`.
- */
- public function toBuilder(): API\BaggageBuilderInterface;
-}
diff --git a/vendor/open-telemetry/api/Baggage/Entry.php b/vendor/open-telemetry/api/Baggage/Entry.php
deleted file mode 100644
index eb3d0de5b..000000000
--- a/vendor/open-telemetry/api/Baggage/Entry.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Baggage;
-
-final class Entry
-{
- /** @var mixed */
- private $value;
-
- private MetadataInterface $metadata;
-
- /**
- * @param mixed $value
- * @param MetadataInterface $metadata
- */
- public function __construct(
- $value,
- MetadataInterface $metadata
- ) {
- $this->value = $value;
- $this->metadata = $metadata;
- }
-
- /**
- * @return mixed
- */
- public function getValue()
- {
- return $this->value;
- }
-
- public function getMetadata(): MetadataInterface
- {
- return $this->metadata;
- }
-}
diff --git a/vendor/open-telemetry/api/Baggage/Metadata.php b/vendor/open-telemetry/api/Baggage/Metadata.php
deleted file mode 100644
index 043c96a8a..000000000
--- a/vendor/open-telemetry/api/Baggage/Metadata.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Baggage;
-
-final class Metadata implements MetadataInterface
-{
- private static ?self $instance = null;
-
- public static function getEmpty(): Metadata
- {
- return self::$instance ??= new self('');
- }
-
- private string $metadata;
-
- public function __construct(string $metadata)
- {
- $this->metadata = $metadata;
- }
-
- public function getValue(): string
- {
- return $this->metadata;
- }
-}
diff --git a/vendor/open-telemetry/api/Baggage/MetadataInterface.php b/vendor/open-telemetry/api/Baggage/MetadataInterface.php
deleted file mode 100644
index cd0a6d1ec..000000000
--- a/vendor/open-telemetry/api/Baggage/MetadataInterface.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Baggage;
-
-/**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.6.1/specification/baggage/api.md#set-value
- */
-interface MetadataInterface
-{
- public function getValue(): string;
-}
diff --git a/vendor/open-telemetry/api/Baggage/Propagation/BaggagePropagator.php b/vendor/open-telemetry/api/Baggage/Propagation/BaggagePropagator.php
deleted file mode 100644
index fae62dcab..000000000
--- a/vendor/open-telemetry/api/Baggage/Propagation/BaggagePropagator.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Baggage\Propagation;
-
-use OpenTelemetry\API\Baggage\Baggage;
-use OpenTelemetry\API\Baggage\BaggageBuilderInterface;
-use OpenTelemetry\API\Baggage\Entry; /** @phan-suppress-current-line PhanUnreferencedUseNormal */
-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;
-use function rtrim;
-use function urlencode;
-
-/**
- * @see https://www.w3.org/TR/baggage
- */
-final class BaggagePropagator implements TextMapPropagatorInterface
-{
- public const BAGGAGE = 'baggage';
-
- private static ?self $instance = null;
-
- public static function getInstance(): self
- {
- if (null === self::$instance) {
- self::$instance = new self();
- }
-
- return self::$instance;
- }
-
- public function fields(): array
- {
- return [self::BAGGAGE];
- }
-
- public function inject(&$carrier, PropagationSetterInterface $setter = null, ContextInterface $context = null): void
- {
- $setter ??= ArrayAccessGetterSetter::getInstance();
- $context ??= Context::getCurrent();
-
- $baggage = Baggage::fromContext($context);
-
- if ($baggage->isEmpty()) {
- return;
- }
-
- $headerString = '';
-
- /** @var Entry $entry */
- foreach ($baggage->getAll() as $key => $entry) {
- $value = urlencode($entry->getValue());
- $headerString.= "{$key}={$value}";
-
- if (($metadata = $entry->getMetadata()->getValue()) !== '' && ($metadata = $entry->getMetadata()->getValue()) !== '0') {
- $headerString .= ";{$metadata}";
- }
-
- $headerString .= ',';
- }
-
- if ($headerString !== '' && $headerString !== '0') {
- $headerString = rtrim($headerString, ',');
- $setter->set($carrier, self::BAGGAGE, $headerString);
- }
- }
-
- public function extract($carrier, PropagationGetterInterface $getter = null, ContextInterface $context = null): ContextInterface
- {
- $getter ??= ArrayAccessGetterSetter::getInstance();
- $context ??= Context::getCurrent();
-
- if (!$baggageHeader = $getter->get($carrier, self::BAGGAGE)) {
- return $context;
- }
-
- $baggageBuilder = Baggage::getBuilder();
- $this->extractValue($baggageHeader, $baggageBuilder);
-
- return $context->withContextValue($baggageBuilder->build());
- }
-
- private function extractValue(string $baggageHeader, BaggageBuilderInterface $baggageBuilder): void
- {
- (new Parser($baggageHeader))->parseInto($baggageBuilder);
- }
-}
diff --git a/vendor/open-telemetry/api/Baggage/Propagation/Parser.php b/vendor/open-telemetry/api/Baggage/Propagation/Parser.php
deleted file mode 100644
index 3518b858d..000000000
--- a/vendor/open-telemetry/api/Baggage/Propagation/Parser.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Baggage\Propagation;
-
-use function explode;
-use OpenTelemetry\API\Baggage\BaggageBuilderInterface;
-use OpenTelemetry\API\Baggage\Metadata;
-use function str_replace;
-use function trim;
-use function urldecode;
-
-final class Parser
-{
- private const EXCLUDED_KEY_CHARS = [' ', '(', ')', '<', '>', '@', ',', ';', ':', '\\', '"', '/', '[', ']', '?', '=', '{', '}'];
- private const EXCLUDED_VALUE_CHARS = [' ', '"', ',', ';', '\\'];
- private const EQUALS = '=';
-
- /** @readonly */
- private string $baggageHeader;
-
- public function __construct(string $baggageHeader)
- {
- $this->baggageHeader = $baggageHeader;
- }
-
- public function parseInto(BaggageBuilderInterface $baggageBuilder): void
- {
- foreach (explode(',', $this->baggageHeader) as $baggageString) {
- if (empty(trim($baggageString))) {
- continue;
- }
-
- $explodedString = explode(';', $baggageString, 2);
-
- $keyValue = trim($explodedString[0]);
-
- if (empty($keyValue) || mb_strpos($keyValue, self::EQUALS) === false) {
- continue;
- }
-
- $metadataString = $explodedString[1] ?? null;
-
- if ($metadataString && !empty(trim(($metadataString)))) {
- $metadata = new Metadata(trim($metadataString));
- } else {
- $metadata = null;
- }
-
- [$key, $value] = explode(self::EQUALS, $keyValue, 2);
-
- $key = urldecode($key);
- $value = urldecode($value);
-
- $key = str_replace(self::EXCLUDED_KEY_CHARS, '', trim($key), $invalidKeyCharacters);
- if (empty($key) || $invalidKeyCharacters > 0) {
- continue;
- }
-
- $value = str_replace(self::EXCLUDED_VALUE_CHARS, '', trim($value), $invalidValueCharacters);
- if (empty($value) || $invalidValueCharacters > 0) {
- continue;
- }
-
- $baggageBuilder->set($key, $value, $metadata);
- }
- }
-}
diff --git a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/ErrorLogWriter.php b/vendor/open-telemetry/api/Behavior/Internal/LogWriter/ErrorLogWriter.php
deleted file mode 100644
index 1b9f785aa..000000000
--- a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/ErrorLogWriter.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Behavior\Internal\LogWriter;
-
-class ErrorLogWriter implements LogWriterInterface
-{
- public function write($level, string $message, array $context): void
- {
- error_log(Formatter::format($level, $message, $context));
- }
-}
diff --git a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/Formatter.php b/vendor/open-telemetry/api/Behavior/Internal/LogWriter/Formatter.php
deleted file mode 100644
index 4cfd6f9d4..000000000
--- a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/Formatter.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Behavior\Internal\LogWriter;
-
-class Formatter
-{
- public static function format($level, string $message, array $context): string
- {
- $exception = (array_key_exists('exception', $context) && $context['exception'] instanceof \Throwable)
- ? $context['exception']
- : null;
- if ($exception) {
- $message = sprintf(
- 'OpenTelemetry: [%s] %s [exception] %s%s%s',
- $level,
- $message,
- $exception->getMessage(),
- PHP_EOL,
- $exception->getTraceAsString()
- );
- } else {
- //get calling location, skipping over trait, formatter etc
- $caller = debug_backtrace()[3];
- $message = sprintf(
- 'OpenTelemetry: [%s] %s in %s(%s)',
- $level,
- $message,
- $caller['file'],
- $caller['line'],
- );
- }
-
- return $message;
- }
-}
diff --git a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/LogWriterInterface.php b/vendor/open-telemetry/api/Behavior/Internal/LogWriter/LogWriterInterface.php
deleted file mode 100644
index 046d21fc9..000000000
--- a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/LogWriterInterface.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Behavior\Internal\LogWriter;
-
-interface LogWriterInterface
-{
- public function write($level, string $message, array $context): void;
-}
diff --git a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/NoopLogWriter.php b/vendor/open-telemetry/api/Behavior/Internal/LogWriter/NoopLogWriter.php
deleted file mode 100644
index f7529c082..000000000
--- a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/NoopLogWriter.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Behavior\Internal\LogWriter;
-
-class NoopLogWriter implements LogWriterInterface
-{
- public function write($level, string $message, array $context): void
- {
- //do nothing
- }
-}
diff --git a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/Psr3LogWriter.php b/vendor/open-telemetry/api/Behavior/Internal/LogWriter/Psr3LogWriter.php
deleted file mode 100644
index 5b2d19c15..000000000
--- a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/Psr3LogWriter.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Behavior\Internal\LogWriter;
-
-use Psr\Log\LoggerInterface;
-
-class Psr3LogWriter implements LogWriterInterface
-{
- private LoggerInterface $logger;
-
- public function __construct(LoggerInterface $logger)
- {
- $this->logger = $logger;
- }
-
- public function write($level, string $message, array $context): void
- {
- $this->logger->log($level, $message, $context);
- }
-}
diff --git a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/StreamLogWriter.php b/vendor/open-telemetry/api/Behavior/Internal/LogWriter/StreamLogWriter.php
deleted file mode 100644
index f65f1e856..000000000
--- a/vendor/open-telemetry/api/Behavior/Internal/LogWriter/StreamLogWriter.php
+++ /dev/null
@@ -1,25 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Behavior\Internal\LogWriter;
-
-class StreamLogWriter implements LogWriterInterface
-{
- private $stream;
-
- public function __construct(string $destination)
- {
- $stream = fopen($destination, 'a');
- if ($stream) {
- $this->stream = $stream;
- } else {
- throw new \RuntimeException(sprintf('Unable to open %s for writing', $destination));
- }
- }
-
- public function write($level, string $message, array $context): void
- {
- fwrite($this->stream, Formatter::format($level, $message, $context));
- }
-}
diff --git a/vendor/open-telemetry/api/Behavior/Internal/LogWriterFactory.php b/vendor/open-telemetry/api/Behavior/Internal/LogWriterFactory.php
deleted file mode 100644
index 07c48cea5..000000000
--- a/vendor/open-telemetry/api/Behavior/Internal/LogWriterFactory.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Behavior\Internal;
-
-use OpenTelemetry\API\Behavior\Internal\LogWriter\ErrorLogWriter;
-use OpenTelemetry\API\Behavior\Internal\LogWriter\LogWriterInterface;
-use OpenTelemetry\API\Behavior\Internal\LogWriter\NoopLogWriter;
-use OpenTelemetry\API\Behavior\Internal\LogWriter\Psr3LogWriter;
-use OpenTelemetry\API\Behavior\Internal\LogWriter\StreamLogWriter;
-use OpenTelemetry\API\Instrumentation\ConfigurationResolver;
-use OpenTelemetry\API\LoggerHolder;
-
-class LogWriterFactory
-{
- private const OTEL_PHP_LOG_DESTINATION = 'OTEL_PHP_LOG_DESTINATION';
-
- public function create(): LogWriterInterface
- {
- $dest = (new ConfigurationResolver())->getString(self::OTEL_PHP_LOG_DESTINATION);
- $logger = LoggerHolder::get();
-
- switch ($dest) {
- case 'none':
- return new NoopLogWriter();
- case 'stderr':
- return new StreamLogWriter('php://stderr');
- case 'stdout':
- return new StreamLogWriter('php://stdout');
- case 'psr3':
- if ($logger) {
- return new Psr3LogWriter($logger);
- }
- error_log('OpenTelemetry: cannot use OTEL_PHP_LOG_DESTINATION=psr3 without providing a PSR-3 logger');
- //default to error log
- return new ErrorLogWriter();
- case 'error_log':
- return new ErrorLogWriter();
- default:
- if ($logger) {
- return new Psr3LogWriter($logger);
- }
-
- return new ErrorLogWriter();
- }
- }
-}
diff --git a/vendor/open-telemetry/api/Behavior/Internal/Logging.php b/vendor/open-telemetry/api/Behavior/Internal/Logging.php
deleted file mode 100644
index e5bec7ab5..000000000
--- a/vendor/open-telemetry/api/Behavior/Internal/Logging.php
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Behavior\Internal;
-
-use OpenTelemetry\API\Behavior\Internal\LogWriter\LogWriterInterface;
-use Psr\Log\LogLevel;
-
-/**
- * Logging utility functions for internal logging (of OpenTelemetry errors/warnings etc).
- * This is not part of SDK configuration to avoid creating a dependency on SDK from any package which does logging.
- * @todo this should be `@internal`, but deptrac is not happy with that.
- */
-class Logging
-{
- private const OTEL_LOG_LEVEL = 'OTEL_LOG_LEVEL';
- private const DEFAULT_LEVEL = LogLevel::INFO;
- private const NONE = 'none';
- private const LEVELS = [
- LogLevel::DEBUG,
- LogLevel::INFO,
- LogLevel::NOTICE,
- LogLevel::WARNING,
- LogLevel::ERROR,
- LogLevel::CRITICAL,
- LogLevel::ALERT,
- LogLevel::EMERGENCY,
- self::NONE, //highest priority so that nothing is logged
- ];
-
- /**
- * The minimum log level. Messages with lower severity than this will be ignored.
- */
- private static ?int $logLevel = null;
- private static ?LogWriterInterface $writer = null;
-
- public static function setLogWriter(LogWriterInterface $writer): void
- {
- self::$writer = $writer;
- }
-
- public static function logWriter(): LogWriterInterface
- {
- self::$writer ??= (new LogWriterFactory())->create();
-
- return self::$writer;
- }
-
- /**
- * Get level priority from level name
- */
- public static function level(string $level): int
- {
- $value = array_search($level, self::LEVELS);
-
- return $value ?: 1; //'info'
- }
-
- /**
- * Get defined OTEL_LOG_LEVEL, or default
- */
- public static function logLevel(): int
- {
- self::$logLevel ??= self::getLogLevel();
-
- return self::$logLevel;
- }
-
- private static function getLogLevel(): int
- {
- $level = array_key_exists(self::OTEL_LOG_LEVEL, $_SERVER)
- ? $_SERVER[self::OTEL_LOG_LEVEL]
- : getenv(self::OTEL_LOG_LEVEL);
- if (!$level) {
- $level = ini_get(self::OTEL_LOG_LEVEL);
- }
- if (!$level) {
- $level = self::DEFAULT_LEVEL;
- }
-
- return self::level($level);
- }
-
- public static function reset(): void
- {
- self::$logLevel = null;
- self::$writer = null;
- }
-}
diff --git a/vendor/open-telemetry/api/Behavior/LogsMessagesTrait.php b/vendor/open-telemetry/api/Behavior/LogsMessagesTrait.php
deleted file mode 100644
index d0207e4b1..000000000
--- a/vendor/open-telemetry/api/Behavior/LogsMessagesTrait.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Behavior;
-
-use OpenTelemetry\API\Behavior\Internal\Logging;
-use Psr\Log\LogLevel;
-
-trait LogsMessagesTrait
-{
- private static function shouldLog(string $level): bool
- {
- return Logging::level($level) >= Logging::logLevel();
- }
-
- private static function doLog(string $level, string $message, array $context): void
- {
- $writer = Logging::logWriter();
- if (self::shouldLog($level)) {
- $context['source'] = get_called_class();
- $writer->write($level, $message, $context);
- }
- }
-
- protected static function logDebug(string $message, array $context = []): void
- {
- self::doLog(LogLevel::DEBUG, $message, $context);
- }
-
- protected static function logInfo(string $message, array $context = []): void
- {
- self::doLog(LogLevel::INFO, $message, $context);
- }
-
- protected static function logNotice(string $message, array $context = []): void
- {
- self::doLog(LogLevel::NOTICE, $message, $context);
- }
-
- protected static function logWarning(string $message, array $context = []): void
- {
- self::doLog(LogLevel::WARNING, $message, $context);
- }
-
- protected static function logError(string $message, array $context = []): void
- {
- self::doLog(LogLevel::ERROR, $message, $context);
- }
-}
diff --git a/vendor/open-telemetry/api/Globals.php b/vendor/open-telemetry/api/Globals.php
deleted file mode 100644
index 8f04b0b42..000000000
--- a/vendor/open-telemetry/api/Globals.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API;
-
-use function assert;
-use Closure;
-use const E_USER_WARNING;
-use OpenTelemetry\API\Instrumentation\Configurator;
-use OpenTelemetry\API\Instrumentation\ContextKeys;
-use OpenTelemetry\API\Logs\LoggerProviderInterface;
-use OpenTelemetry\API\Metrics\MeterProviderInterface;
-use OpenTelemetry\API\Trace\TracerProviderInterface;
-use OpenTelemetry\Context\Context;
-use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
-use function sprintf;
-use Throwable;
-use function trigger_error;
-
-/**
- * Provides access to the globally configured instrumentation instances.
- */
-final class Globals
-{
- /** @var Closure[] */
- private static array $initializers = [];
- private static ?self $globals = null;
-
- private TracerProviderInterface $tracerProvider;
- private MeterProviderInterface $meterProvider;
- private TextMapPropagatorInterface $propagator;
- private LoggerProviderInterface $loggerProvider;
-
- public function __construct(
- TracerProviderInterface $tracerProvider,
- MeterProviderInterface $meterProvider,
- LoggerProviderInterface $loggerProvider,
- TextMapPropagatorInterface $propagator
- ) {
- $this->tracerProvider = $tracerProvider;
- $this->meterProvider = $meterProvider;
- $this->loggerProvider = $loggerProvider;
- $this->propagator = $propagator;
- }
-
- public static function tracerProvider(): TracerProviderInterface
- {
- return Context::getCurrent()->get(ContextKeys::tracerProvider()) ?? self::globals()->tracerProvider;
- }
-
- public static function meterProvider(): MeterProviderInterface
- {
- return Context::getCurrent()->get(ContextKeys::meterProvider()) ?? self::globals()->meterProvider;
- }
-
- public static function propagator(): TextMapPropagatorInterface
- {
- return Context::getCurrent()->get(ContextKeys::propagator()) ?? self::globals()->propagator;
- }
-
- public static function loggerProvider(): LoggerProviderInterface
- {
- return Context::getCurrent()->get(ContextKeys::loggerProvider()) ?? self::globals()->loggerProvider;
- }
-
- /**
- * @param Closure(Configurator): Configurator $initializer
- *
- * @interal
- * @psalm-internal OpenTelemetry
- */
- public static function registerInitializer(Closure $initializer): void
- {
- self::$initializers[] = $initializer;
- }
-
- /**
- * @phan-suppress PhanTypeMismatchReturnNullable
- */
- private static function globals(): self
- {
- if (self::$globals !== null) {
- return self::$globals;
- }
-
- $configurator = Configurator::createNoop();
- $scope = $configurator->activate();
-
- try {
- foreach (self::$initializers as $initializer) {
- try {
- $configurator = $initializer($configurator);
- } catch (Throwable $e) {
- trigger_error(sprintf("Error during opentelemetry initialization: %s\n%s", $e->getMessage(), $e->getTraceAsString()), E_USER_WARNING);
- }
- }
- } finally {
- $scope->detach();
- }
-
- $context = $configurator->storeInContext();
- $tracerProvider = $context->get(ContextKeys::tracerProvider());
- $meterProvider = $context->get(ContextKeys::meterProvider());
- $propagator = $context->get(ContextKeys::propagator());
- $loggerProvider = $context->get(ContextKeys::loggerProvider());
-
- assert(isset($tracerProvider, $meterProvider, $loggerProvider, $propagator));
-
- return self::$globals = new self($tracerProvider, $meterProvider, $loggerProvider, $propagator);
- }
-
- /**
- * @internal
- */
- public static function reset(): void
- {
- self::$globals = null;
- self::$initializers = [];
- }
-}
diff --git a/vendor/open-telemetry/api/Instrumentation/CachedInstrumentation.php b/vendor/open-telemetry/api/Instrumentation/CachedInstrumentation.php
deleted file mode 100644
index 5ffb3950d..000000000
--- a/vendor/open-telemetry/api/Instrumentation/CachedInstrumentation.php
+++ /dev/null
@@ -1,97 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Instrumentation;
-
-use ArrayAccess;
-use function assert;
-use function class_exists;
-use OpenTelemetry\API\Globals;
-use OpenTelemetry\API\Logs\LoggerInterface;
-use OpenTelemetry\API\Logs\LoggerProviderInterface;
-use OpenTelemetry\API\Metrics\MeterInterface;
-use OpenTelemetry\API\Metrics\MeterProviderInterface;
-use OpenTelemetry\API\Trace\TracerInterface;
-use OpenTelemetry\API\Trace\TracerProviderInterface;
-use const PHP_VERSION_ID;
-
-/**
- * Provides access to cached {@link TracerInterface} and {@link MeterInterface}
- * instances.
- *
- * Autoinstrumentation should prefer using a {@link CachedInstrumentation}
- * instance over repeatedly obtaining instrumentation instances from
- * {@link Globals}.
- */
-final class CachedInstrumentation
-{
- private string $name;
- private ?string $version;
- private ?string $schemaUrl;
- private iterable $attributes;
- /** @var ArrayAccess<TracerProviderInterface, TracerInterface>|null */
- private ?ArrayAccess $tracers;
- /** @var ArrayAccess<MeterProviderInterface, MeterInterface>|null */
- private ?ArrayAccess $meters;
- /** @var ArrayAccess<LoggerProviderInterface, LoggerInterface>|null */
- private ?ArrayAccess $loggers;
-
- public function __construct(string $name, ?string $version = null, ?string $schemaUrl = null, iterable $attributes = [])
- {
- $this->name = $name;
- $this->version = $version;
- $this->schemaUrl = $schemaUrl;
- $this->attributes = $attributes;
- $this->tracers = self::createWeakMap();
- $this->meters = self::createWeakMap();
- $this->loggers = self::createWeakMap();
- }
-
- private static function createWeakMap(): ?ArrayAccess
- {
- if (PHP_VERSION_ID < 80000) {
- return null;
- }
-
- /** @phan-suppress-next-line PhanUndeclaredClassReference */
- assert(class_exists(\WeakMap::class, false));
- /** @phan-suppress-next-line PhanUndeclaredClassMethod */
- $map = new \WeakMap();
- assert($map instanceof ArrayAccess);
-
- return $map;
- }
-
- public function tracer(): TracerInterface
- {
- $tracerProvider = Globals::tracerProvider();
-
- if ($this->tracers === null) {
- return $tracerProvider->getTracer($this->name, $this->version, $this->schemaUrl, $this->attributes);
- }
-
- return $this->tracers[$tracerProvider] ??= $tracerProvider->getTracer($this->name, $this->version, $this->schemaUrl, $this->attributes);
- }
-
- public function meter(): MeterInterface
- {
- $meterProvider = Globals::meterProvider();
-
- if ($this->meters === null) {
- return $meterProvider->getMeter($this->name, $this->version, $this->schemaUrl, $this->attributes);
- }
-
- return $this->meters[$meterProvider] ??= $meterProvider->getMeter($this->name, $this->version, $this->schemaUrl, $this->attributes);
- }
- public function logger(): LoggerInterface
- {
- $loggerProvider = Globals::loggerProvider();
-
- if ($this->loggers === null) {
- return $loggerProvider->getLogger($this->name, $this->version, $this->schemaUrl, $this->attributes);
- }
-
- return $this->loggers[$loggerProvider] ??= $loggerProvider->getLogger($this->name, $this->version, $this->schemaUrl, $this->attributes);
- }
-}
diff --git a/vendor/open-telemetry/api/Instrumentation/ConfigurationResolver.php b/vendor/open-telemetry/api/Instrumentation/ConfigurationResolver.php
deleted file mode 100644
index bb5619c30..000000000
--- a/vendor/open-telemetry/api/Instrumentation/ConfigurationResolver.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Instrumentation;
-
-class ConfigurationResolver implements ConfigurationResolverInterface
-{
- public function has(string $name): bool
- {
- return $this->getVariable($name) !== null;
- }
-
- public function getString(string $name): ?string
- {
- return $this->getVariable($name);
- }
-
- public function getBoolean(string $name): ?bool
- {
- $value = $this->getVariable($name);
- if ($value === null) {
- return null;
- }
-
- return ($value === 'true');
- }
-
- public function getInt(string $name): ?int
- {
- $value = $this->getVariable($name);
- if ($value === null) {
- return null;
- }
- if (filter_var($value, FILTER_VALIDATE_INT) === false) {
- //log warning
- return null;
- }
-
- return (int) $value;
- }
-
- public function getList(string $name): array
- {
- $value = $this->getVariable($name);
- if ($value === null) {
- return [];
- }
-
- return explode(',', $value);
- }
-
- private function getVariable(string $name): ?string
- {
- $value = $_SERVER[$name] ?? null;
- if ($value !== false && !self::isEmpty($value)) {
- assert(is_string($value));
-
- return $value;
- }
- $value = getenv($name);
- if ($value !== false && !self::isEmpty($value)) {
- return $value;
- }
- $value = ini_get($name);
- if ($value !== false && !self::isEmpty($value)) {
- return $value;
- }
-
- return null;
- }
-
- private static function isEmpty($value): bool
- {
- return $value === false || $value === null || $value === '';
- }
-}
diff --git a/vendor/open-telemetry/api/Instrumentation/ConfigurationResolverInterface.php b/vendor/open-telemetry/api/Instrumentation/ConfigurationResolverInterface.php
deleted file mode 100644
index 79bd94047..000000000
--- a/vendor/open-telemetry/api/Instrumentation/ConfigurationResolverInterface.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Instrumentation;
-
-interface ConfigurationResolverInterface
-{
- public function has(string $name): bool;
- public function getString(string $name): ?string;
- public function getBoolean(string $name): ?bool;
- public function getInt(string $name): ?int;
- public function getList(string $name): array;
-}
diff --git a/vendor/open-telemetry/api/Instrumentation/Configurator.php b/vendor/open-telemetry/api/Instrumentation/Configurator.php
deleted file mode 100644
index 71d301363..000000000
--- a/vendor/open-telemetry/api/Instrumentation/Configurator.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Instrumentation;
-
-use OpenTelemetry\API\Logs\LoggerProviderInterface;
-use OpenTelemetry\API\Logs\NoopLoggerProvider;
-use OpenTelemetry\API\Metrics\MeterProviderInterface;
-use OpenTelemetry\API\Metrics\Noop\NoopMeterProvider;
-use OpenTelemetry\API\Trace\NoopTracerProvider;
-use OpenTelemetry\API\Trace\TracerProviderInterface;
-use OpenTelemetry\Context\Context;
-use OpenTelemetry\Context\ContextInterface;
-use OpenTelemetry\Context\ImplicitContextKeyedInterface;
-use OpenTelemetry\Context\Propagation\NoopTextMapPropagator;
-use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
-use OpenTelemetry\Context\ScopeInterface;
-
-/**
- * Configures the global (context scoped) instrumentation instances.
- *
- * @see Configurator::activate()
- */
-final class Configurator implements ImplicitContextKeyedInterface
-{
- private ?TracerProviderInterface $tracerProvider = null;
- private ?MeterProviderInterface $meterProvider = null;
- private ?TextMapPropagatorInterface $propagator = null;
- private ?LoggerProviderInterface $loggerProvider = null;
-
- private function __construct()
- {
- }
-
- /**
- * Creates a configurator that uses parent instances for not configured values.
- */
- public static function create(): Configurator
- {
- return new self();
- }
-
- /**
- * Creates a configurator that uses noop instances for not configured values.
- */
- public static function createNoop(): Configurator
- {
- return self::create()
- ->withTracerProvider(new NoopTracerProvider())
- ->withMeterProvider(new NoopMeterProvider())
- ->withPropagator(new NoopTextMapPropagator())
- ->withLoggerProvider(new NoopLoggerProvider())
- ;
- }
-
- public function activate(): ScopeInterface
- {
- return $this->storeInContext()->activate();
- }
-
- public function storeInContext(?ContextInterface $context = null): ContextInterface
- {
- $context ??= Context::getCurrent();
-
- if ($this->tracerProvider !== null) {
- $context = $context->with(ContextKeys::tracerProvider(), $this->tracerProvider);
- }
- if ($this->meterProvider !== null) {
- $context = $context->with(ContextKeys::meterProvider(), $this->meterProvider);
- }
- if ($this->propagator !== null) {
- $context = $context->with(ContextKeys::propagator(), $this->propagator);
- }
- if ($this->loggerProvider !== null) {
- $context = $context->with(ContextKeys::loggerProvider(), $this->loggerProvider);
- }
-
- return $context;
- }
-
- public function withTracerProvider(?TracerProviderInterface $tracerProvider): Configurator
- {
- $self = clone $this;
- $self->tracerProvider = $tracerProvider;
-
- return $self;
- }
-
- public function withMeterProvider(?MeterProviderInterface $meterProvider): Configurator
- {
- $self = clone $this;
- $self->meterProvider = $meterProvider;
-
- return $self;
- }
-
- public function withPropagator(?TextMapPropagatorInterface $propagator): Configurator
- {
- $self = clone $this;
- $self->propagator = $propagator;
-
- return $self;
- }
-
- public function withLoggerProvider(?LoggerProviderInterface $loggerProvider): Configurator
- {
- $self = clone $this;
- $self->loggerProvider = $loggerProvider;
-
- return $self;
- }
-}
diff --git a/vendor/open-telemetry/api/Instrumentation/ContextKeys.php b/vendor/open-telemetry/api/Instrumentation/ContextKeys.php
deleted file mode 100644
index ea1a66416..000000000
--- a/vendor/open-telemetry/api/Instrumentation/ContextKeys.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Instrumentation;
-
-use OpenTelemetry\API\Logs\LoggerProviderInterface;
-use OpenTelemetry\API\Metrics\MeterProviderInterface;
-use OpenTelemetry\API\Trace\TracerProviderInterface;
-use OpenTelemetry\Context\Context;
-use OpenTelemetry\Context\ContextKeyInterface;
-use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
-
-/**
- * @internal
- */
-final class ContextKeys
-{
- /**
- * @return ContextKeyInterface<TracerProviderInterface>
- */
- public static function tracerProvider(): ContextKeyInterface
- {
- static $instance;
-
- return $instance ??= Context::createKey(TracerProviderInterface::class);
- }
-
- /**
- * @return ContextKeyInterface<MeterProviderInterface>
- */
- public static function meterProvider(): ContextKeyInterface
- {
- static $instance;
-
- return $instance ??= Context::createKey(MeterProviderInterface::class);
- }
-
- /**
- * @return ContextKeyInterface<TextMapPropagatorInterface>
- */
- public static function propagator(): ContextKeyInterface
- {
- static $instance;
-
- return $instance ??= Context::createKey(TextMapPropagatorInterface::class);
- }
-
- /**
- * @return ContextKeyInterface<LoggerProviderInterface>
- */
- public static function loggerProvider(): ContextKeyInterface
- {
- static $instance;
-
- return $instance ??= Context::createKey(LoggerProviderInterface::class);
- }
-}
diff --git a/vendor/open-telemetry/api/Instrumentation/InstrumentationInterface.php b/vendor/open-telemetry/api/Instrumentation/InstrumentationInterface.php
deleted file mode 100644
index d67bc8d6d..000000000
--- a/vendor/open-telemetry/api/Instrumentation/InstrumentationInterface.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Instrumentation;
-
-use OpenTelemetry\API\Metrics\MeterInterface;
-use OpenTelemetry\API\Metrics\MeterProviderInterface;
-use OpenTelemetry\API\Trace\TracerInterface;
-use OpenTelemetry\API\Trace\TracerProviderInterface;
-use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
-use Psr\Log\LoggerInterface;
-
-interface InstrumentationInterface
-{
- public function getName(): string;
-
- public function getVersion(): ?string;
-
- public function getSchemaUrl(): ?string;
-
- public function init(): bool;
-
- public function activate(): bool;
-
- public function setPropagator(TextMapPropagatorInterface $propagator): void;
-
- public function getPropagator(): TextMapPropagatorInterface;
-
- public function setTracerProvider(TracerProviderInterface $tracerProvider): void;
-
- public function getTracerProvider(): TracerProviderInterface;
-
- public function getTracer(): TracerInterface;
-
- public function setMeterProvider(MeterProviderInterface $meterProvider): void;
-
- public function getMeter(): MeterInterface;
-
- public function setLogger(LoggerInterface $logger): void;
-
- public function getLogger(): LoggerInterface;
-}
diff --git a/vendor/open-telemetry/api/Instrumentation/InstrumentationTrait.php b/vendor/open-telemetry/api/Instrumentation/InstrumentationTrait.php
deleted file mode 100644
index 1e695adb5..000000000
--- a/vendor/open-telemetry/api/Instrumentation/InstrumentationTrait.php
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Instrumentation;
-
-use OpenTelemetry\API\Metrics\MeterInterface;
-use OpenTelemetry\API\Metrics\MeterProviderInterface;
-use OpenTelemetry\API\Metrics\Noop\NoopMeter;
-use OpenTelemetry\API\Trace\NoopTracer;
-use OpenTelemetry\API\Trace\NoopTracerProvider;
-use OpenTelemetry\API\Trace\TracerInterface;
-use OpenTelemetry\API\Trace\TracerProviderInterface;
-use OpenTelemetry\Context\Propagation\NoopTextMapPropagator;
-use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
-use Psr\Log\LoggerInterface;
-use Psr\Log\NullLogger;
-use RuntimeException;
-
-/**
- This trait in conjunction with the InstrumentationInterface is meant as a base for instrumentations for the
- OpenTelemetry API.
- Instrumentations need to implement the abstract methods of this trait (besides any instrumentation specific code)
-
- A very simplified instrumentation could look like this:
-
-class Instrumentation implements InstrumentationInterface
-{
- use InstrumentationTrait;
-
- public function getName(): string
- {
- return 'foo-instrumentation';
- }
-
- public function getVersion(): ?string
- {
- return '0.0.1';
- }
-
- public function getSchemaUrl(): ?string
- {
- return null;
- }
-
- public function init(): bool
- {
- // This is just an example. In a real-world scenario one should only create spans in reaction of things
- // happening in the instrumented code, not just for the sake of it.
- $span = $this->getTracer()->spanBuilder($this->getName())->startSpan();
- // do stuff
- $span->end();
- }
-}
-
-An user of the instrumentation and API/SDK would the call:
-
-$instrumentation = new Instrumentation;
-$instrumentation->activate()
-
-to activate and use the instrumentation with the API/SDK.
- **/
-
-trait InstrumentationTrait
-{
- private TextMapPropagatorInterface $propagator;
- private TracerProviderInterface $tracerProvider;
- private TracerInterface $tracer;
- private MeterInterface $meter;
- private LoggerInterface $logger;
-
- public function __construct()
- {
- $this->initDefaults();
- }
-
- /**
- * The name of the instrumenting/instrumented library/package/project.
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.12.0/specification/glossary.md#instrumentation-scope
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.12.0/specification/glossary.md#instrumentation-library
- */
- abstract public function getName(): string;
-
- /**
- * The version of the instrumenting/instrumented library/package/project.
- * If unknown or a lookup is too expensive simply return NULL.
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.12.0/specification/glossary.md#instrumentation-scope
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.12.0/specification/glossary.md#instrumentation-library
- */
- abstract public function getVersion(): ?string;
-
- /**
- * The version of the instrumenting/instrumented library/package/project.
- * If unknown simply return NULL.
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.12.0/specification/glossary.md#instrumentation-scope
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.12.0/specification/glossary.md#instrumentation-library
- */
- abstract public function getSchemaUrl(): ?string;
-
- /**
- * This method will be called from the API when the instrumentation has been activated (via activate()).
- * Here you can put any bootstrapping code needed by the instrumentation.
- * If not needed simply implement a method which returns TRUE.
- */
- abstract public function init(): bool;
-
- /**
- * This method registers and activates the instrumentation with the OpenTelemetry API/SDK and thus
- * the instrumentation will be used to generate telemetry data.
- */
- public function activate(): bool
- {
- $this->validateImplementation();
- // activate instrumentation with the API. not implemented yet.
- return true;
- }
-
- public function setPropagator(TextMapPropagatorInterface $propagator): void
- {
- $this->propagator = $propagator;
- }
-
- public function getPropagator(): TextMapPropagatorInterface
- {
- return $this->propagator;
- }
-
- public function setTracerProvider(TracerProviderInterface $tracerProvider): void
- {
- $this->tracerProvider = $tracerProvider;
- // @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.12.0/specification/trace/api.md#get-a-tracer
- $this->tracer = $tracerProvider->getTracer(
- $this->getName(),
- $this->getVersion(),
- $this->getSchemaUrl(),
- );
- }
-
- public function getTracerProvider(): TracerProviderInterface
- {
- return $this->tracerProvider;
- }
-
- public function getTracer(): TracerInterface
- {
- return $this->tracer;
- }
-
- public function setMeterProvider(MeterProviderInterface $meterProvider): void
- {
- // @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.12.0/specification/metrics/api.md#get-a-meter
- $this->meter = $meterProvider->getMeter(
- $this->getName(),
- $this->getVersion(),
- );
- }
-
- public function getMeter(): MeterInterface
- {
- return $this->meter;
- }
-
- public function setLogger(LoggerInterface $logger): void
- {
- $this->logger = $logger;
- }
-
- public function getLogger(): LoggerInterface
- {
- return $this->logger;
- }
-
- private function validateImplementation(): void
- {
- if (!$this instanceof InstrumentationInterface) {
- throw new RuntimeException(sprintf(
- '"%s" is meant to implement "%s"',
- InstrumentationTrait::class,
- InstrumentationInterface::class
- ));
- }
- }
-
- private function initDefaults(): void
- {
- $this->propagator = new NoopTextMapPropagator();
- $this->tracer = new NoopTracer();
- $this->tracerProvider = new NoopTracerProvider();
- /** @phan-suppress-next-line PhanAccessMethodInternal */
- $this->meter = new NoopMeter();
- $this->logger = new NullLogger();
- }
-}
diff --git a/vendor/open-telemetry/api/LoggerHolder.php b/vendor/open-telemetry/api/LoggerHolder.php
deleted file mode 100644
index 99f916a23..000000000
--- a/vendor/open-telemetry/api/LoggerHolder.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API;
-
-use Psr\Log\LoggerInterface;
-use Psr\Log\NullLogger;
-
-final class LoggerHolder
-{
- private static ?LoggerInterface $logger = null;
-
- /**
- * This constructor is a temporary solution to ease the setup of the logger with DI libraries
- */
- public function __construct(?LoggerInterface $logger = null)
- {
- self::$logger = $logger;
- }
-
- /**
- * @suppress PhanTypeMismatchReturnNullable
- * @internal
- */
- public static function get(): ?LoggerInterface
- {
- return self::$logger;
- }
-
- public static function set(?LoggerInterface $logger): void
- {
- self::$logger = $logger;
- }
-
- public static function isSet(): bool
- {
- return null !== self::$logger;
- }
-
- public static function unset(): void
- {
- self::$logger = null;
- }
-
- /**
- * Disable psr-3 logging
- */
- public static function disable(): void
- {
- self::$logger = new NullLogger();
- }
-}
diff --git a/vendor/open-telemetry/api/Logs/EventLogger.php b/vendor/open-telemetry/api/Logs/EventLogger.php
deleted file mode 100644
index 68deb865c..000000000
--- a/vendor/open-telemetry/api/Logs/EventLogger.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Logs;
-
-class EventLogger implements EventLoggerInterface
-{
- private LoggerInterface $logger;
- private string $domain;
-
- public function __construct(LoggerInterface $logger, string $domain)
- {
- $this->logger = $logger;
- $this->domain = $domain;
- }
-
- public function logEvent(string $eventName, LogRecord $logRecord): void
- {
- $logRecord->setAttributes([
- 'event.name' => $eventName,
- 'event.domain' => $this->domain,
- ]);
- $this->logger->emit($logRecord);
- }
-}
diff --git a/vendor/open-telemetry/api/Logs/EventLoggerInterface.php b/vendor/open-telemetry/api/Logs/EventLoggerInterface.php
deleted file mode 100644
index a2096b9b7..000000000
--- a/vendor/open-telemetry/api/Logs/EventLoggerInterface.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Logs;
-
-/**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/event-api.md#events-api-interface
- */
-interface EventLoggerInterface
-{
- public function logEvent(string $eventName, LogRecord $logRecord): void;
-}
diff --git a/vendor/open-telemetry/api/Logs/LogRecord.php b/vendor/open-telemetry/api/Logs/LogRecord.php
deleted file mode 100644
index 6833c71f9..000000000
--- a/vendor/open-telemetry/api/Logs/LogRecord.php
+++ /dev/null
@@ -1,108 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Logs;
-
-use OpenTelemetry\Context\ContextInterface;
-
-class LogRecord
-{
- public const NANOS_PER_SECOND = 1_000_000_000;
-
- protected ?int $timestamp = null;
- protected ?int $observedTimestamp = null;
- protected ?ContextInterface $context = null;
- protected int $severityNumber = 0;
- protected ?string $severityText = null;
- protected $body = null;
- protected array $attributes = [];
-
- /**
- * @param mixed $body
- */
- public function __construct($body = null)
- {
- $this->body = $body;
- }
-
- /**
- * @param int $timestamp Timestamp, in nanoseconds since the unix epoch, when the event occurred.
- * @see https://opentelemetry.io/docs/reference/specification/logs/data-model/#field-timestamp
- */
- public function setTimestamp(int $timestamp): self
- {
- $this->timestamp = $timestamp;
-
- return $this;
- }
-
- public function setContext(?ContextInterface $context = null): self
- {
- $this->context = $context;
-
- return $this;
- }
-
- /**
- * @param int $severityNumber Severity number
- * @see https://opentelemetry.io/docs/reference/specification/logs/data-model/#field-severitynumber
- */
- public function setSeverityNumber(int $severityNumber): self
- {
- $this->severityNumber = $severityNumber;
-
- return $this;
- }
-
- /**
- * @param string $severityText Severity text, also known as log level
- * @see https://opentelemetry.io/docs/reference/specification/logs/data-model/#field-severitynumber
- */
- public function setSeverityText(string $severityText): self
- {
- $this->severityText = $severityText;
-
- return $this;
- }
-
- /**
- * @param iterable $attributes Additional information about the specific event occurrence.
- * @see https://opentelemetry.io/docs/reference/specification/logs/data-model/#field-attributes
- */
- public function setAttributes(iterable $attributes): self
- {
- foreach ($attributes as $name => $value) {
- $this->setAttribute($name, $value);
- }
-
- return $this;
- }
-
- public function setAttribute(string $name, $value): self
- {
- $this->attributes[$name] = $value;
-
- return $this;
- }
-
- /**
- * @param mixed $body The log record body
- */
- public function setBody($body = null): self
- {
- $this->body = $body;
-
- return $this;
- }
-
- /**
- * @param int|null $observedTimestamp Time, in nanoseconds since the unix epoch, when the event was observed by the collection system.
- */
- public function setObservedTimestamp(int $observedTimestamp = null): self
- {
- $this->observedTimestamp = $observedTimestamp;
-
- return $this;
- }
-}
diff --git a/vendor/open-telemetry/api/Logs/LoggerInterface.php b/vendor/open-telemetry/api/Logs/LoggerInterface.php
deleted file mode 100644
index 89477c8d2..000000000
--- a/vendor/open-telemetry/api/Logs/LoggerInterface.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Logs;
-
-interface LoggerInterface
-{
- public function emit(LogRecord $logRecord): void;
-}
diff --git a/vendor/open-telemetry/api/Logs/LoggerProviderInterface.php b/vendor/open-telemetry/api/Logs/LoggerProviderInterface.php
deleted file mode 100644
index e60353de2..000000000
--- a/vendor/open-telemetry/api/Logs/LoggerProviderInterface.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Logs;
-
-/**
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/bridge-api.md#get-a-logger
- */
-interface LoggerProviderInterface
-{
- public function getLogger(
- string $name,
- ?string $version = null,
- ?string $schemaUrl = null,
- iterable $attributes = [] //instrumentation scope attributes
- ): LoggerInterface;
-}
diff --git a/vendor/open-telemetry/api/Logs/Map/Psr3.php b/vendor/open-telemetry/api/Logs/Map/Psr3.php
deleted file mode 100644
index 8fd85fad0..000000000
--- a/vendor/open-telemetry/api/Logs/Map/Psr3.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Logs\Map;
-
-use Psr\Log\LogLevel;
-
-class Psr3
-{
- /**
- * Maps PSR-3 severity level (string) to the appropriate opentelemetry severity number
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model-appendix.md#appendix-b-severitynumber-example-mappings
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-severitynumber
- */
- public static function severityNumber(string $level): int
- {
- switch (strtolower($level)) {
- case LogLevel::DEBUG:
- return 5;
- case LogLevel::INFO:
- return 9;
- case LogLevel::NOTICE:
- return 10;
- case LogLevel::WARNING:
- return 13;
- case LogLevel::ERROR:
- return 17;
- case LogLevel::CRITICAL:
- return 18;
- case LogLevel::ALERT:
- return 19;
- case LogLevel::EMERGENCY:
- return 21;
- default:
- return 0;
- }
- }
-}
diff --git a/vendor/open-telemetry/api/Logs/NoopLogger.php b/vendor/open-telemetry/api/Logs/NoopLogger.php
deleted file mode 100644
index faacd5e10..000000000
--- a/vendor/open-telemetry/api/Logs/NoopLogger.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Logs;
-
-use Psr\Log\LoggerTrait;
-
-class NoopLogger implements LoggerInterface
-{
- use LoggerTrait;
-
- public static function getInstance(): self
- {
- static $instance;
-
- return $instance ??= new self();
- }
-
- /**
- * @codeCoverageIgnore
- */
- public function emit(LogRecord $logRecord): void
- {
- }
-
- /**
- * @codeCoverageIgnore
- */
- public function log($level, $message, array $context = []): void
- {
- }
-}
diff --git a/vendor/open-telemetry/api/Logs/NoopLoggerProvider.php b/vendor/open-telemetry/api/Logs/NoopLoggerProvider.php
deleted file mode 100644
index 8b00b6637..000000000
--- a/vendor/open-telemetry/api/Logs/NoopLoggerProvider.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Logs;
-
-class NoopLoggerProvider implements LoggerProviderInterface
-{
- public static function getInstance(): self
- {
- static $instance;
-
- return $instance ??= new self();
- }
-
- public function getLogger(string $name, ?string $version = null, ?string $schemaUrl = null, iterable $attributes = []): LoggerInterface
- {
- return NoopLogger::getInstance();
- }
-}
diff --git a/vendor/open-telemetry/api/Logs/README.md b/vendor/open-telemetry/api/Logs/README.md
deleted file mode 100644
index d0bdb923e..000000000
--- a/vendor/open-telemetry/api/Logs/README.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Logs API
-
-This `Logger` API is not designed to be used by application developers, but rather by library developers for the purpose
-of integrating existing logging libraries with OpenTelemetry.
-
-## Logging from 3rd party loggers
-
-3rd party loggers should log to OpenTelemetry in accordance with the
-[logs bridge API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/bridge-api.md)
-specification.
-
-This means that a "log appender" in the 3rd party logging library (sometimes known as a "handler") should:
-- accept an `OpenTelemetry\API\Logs\LoggerProviderInterface`, or obtain a globally registered one from `OpenTelemetry\API\Instrumentation\Globals`
-- obtain a `Logger` from the logger provider (optionally adding any resources that should be associated with logs emitted)
-- convert logs from its own log format into OpenTelemetry's `LogRecord` format
-- send the logs to OpenTelemetry via `Logger::logRecord()`
-
-See [monolog-otel-integration](/examples/logs/features/monolog-otel-integration.php) for an example.
-
diff --git a/vendor/open-telemetry/api/Metrics/CounterInterface.php b/vendor/open-telemetry/api/Metrics/CounterInterface.php
deleted file mode 100644
index f0da706e1..000000000
--- a/vendor/open-telemetry/api/Metrics/CounterInterface.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics;
-
-use OpenTelemetry\Context\ContextInterface;
-
-interface CounterInterface
-{
-
- /**
- * @param float|int $amount non-negative amount to increment by
- * @param iterable<non-empty-string, string|bool|float|int|array|null> $attributes
- * attributes of the data point
- * @param ContextInterface|false|null $context execution context
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#add
- */
- public function add($amount, iterable $attributes = [], $context = null): void;
-}
diff --git a/vendor/open-telemetry/api/Metrics/HistogramInterface.php b/vendor/open-telemetry/api/Metrics/HistogramInterface.php
deleted file mode 100644
index 22ddd1f3c..000000000
--- a/vendor/open-telemetry/api/Metrics/HistogramInterface.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics;
-
-use OpenTelemetry\Context\ContextInterface;
-
-interface HistogramInterface
-{
-
- /**
- * @param float|int $amount non-negative amount to record
- * @param iterable<non-empty-string, string|bool|float|int|array|null> $attributes
- * attributes of the data point
- * @param ContextInterface|false|null $context execution context
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#record
- */
- public function record($amount, iterable $attributes = [], $context = null): void;
-}
diff --git a/vendor/open-telemetry/api/Metrics/MeterInterface.php b/vendor/open-telemetry/api/Metrics/MeterInterface.php
deleted file mode 100644
index 6e06d9085..000000000
--- a/vendor/open-telemetry/api/Metrics/MeterInterface.php
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics;
-
-interface MeterInterface
-{
-
- /**
- * Creates a `Counter`.
- *
- * @param string $name name of the instrument
- * @param string|null $unit unit of measure
- * @param string|null $description description of the instrument
- * @return CounterInterface created instrument
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#counter-creation
- */
- public function createCounter(
- string $name,
- ?string $unit = null,
- ?string $description = null
- ): CounterInterface;
-
- /**
- * Creates an `ObservableCounter`.
- *
- * @param string $name name of the instrument
- * @param string|null $unit unit of measure
- * @param string|null $description description of the instrument
- * @param callable ...$callbacks responsible for reporting measurements
- * @return ObservableCounterInterface created instrument
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#asynchronous-counter-creation
- */
- public function createObservableCounter(
- string $name,
- ?string $unit = null,
- ?string $description = null,
- callable ...$callbacks
- ): ObservableCounterInterface;
-
- /**
- * Creates a `Histogram`.
- *
- * @param string $name name of the instrument
- * @param string|null $unit unit of measure
- * @param string|null $description description of the instrument
- * @return HistogramInterface created instrument
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#histogram-creation
- */
- public function createHistogram(
- string $name,
- ?string $unit = null,
- ?string $description = null
- ): HistogramInterface;
-
- /**
- * Creates an `ObservableGauge`.
- *
- * @param string $name name of the instrument
- * @param string|null $unit unit of measure
- * @param string|null $description description of the instrument
- * @param callable ...$callbacks responsible for reporting measurements
- * @return ObservableGaugeInterface created instrument
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#asynchronous-gauge-creation
- */
- public function createObservableGauge(
- string $name,
- ?string $unit = null,
- ?string $description = null,
- callable ...$callbacks
- ): ObservableGaugeInterface;
-
- /**
- * Creates an `UpDownCounter`.
- *
- * @param string $name name of the instrument
- * @param string|null $unit unit of measure
- * @param string|null $description description of the instrument
- * @return UpDownCounterInterface created instrument
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#updowncounter-creation
- */
- public function createUpDownCounter(
- string $name,
- ?string $unit = null,
- ?string $description = null
- ): UpDownCounterInterface;
-
- /**
- * Creates an `ObservableUpDownCounter`.
- *
- * @param string $name name of the instrument
- * @param string|null $unit unit of measure
- * @param string|null $description description of the instrument
- * @param callable ...$callbacks responsible for reporting measurements
- * @return ObservableUpDownCounterInterface created instrument
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#asynchronous-updowncounter-creation
- */
- public function createObservableUpDownCounter(
- string $name,
- ?string $unit = null,
- ?string $description = null,
- callable ...$callbacks
- ): ObservableUpDownCounterInterface;
-}
diff --git a/vendor/open-telemetry/api/Metrics/MeterProviderInterface.php b/vendor/open-telemetry/api/Metrics/MeterProviderInterface.php
deleted file mode 100644
index f8fa07a2e..000000000
--- a/vendor/open-telemetry/api/Metrics/MeterProviderInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics;
-
-interface MeterProviderInterface
-{
-
- /**
- * Returns a `Meter` for the given instrumentation scope.
- *
- * @param string $name name of the instrumentation scope
- * @param string|null $version version of the instrumentation scope
- * @param string|null $schemaUrl schema url to record in the emitted telemetry
- * @param iterable<non-empty-string, string|bool|float|int|array|null> $attributes
- * instrumentation scope attributes
- * @return MeterInterface meter instance for the instrumentation scope
- *
- * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#get-a-meter
- */
- public function getMeter(
- string $name,
- ?string $version = null,
- ?string $schemaUrl = null,
- iterable $attributes = []
- ): MeterInterface;
-}
diff --git a/vendor/open-telemetry/api/Metrics/Noop/NoopCounter.php b/vendor/open-telemetry/api/Metrics/Noop/NoopCounter.php
deleted file mode 100644
index d47fc2166..000000000
--- a/vendor/open-telemetry/api/Metrics/Noop/NoopCounter.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics\Noop;
-
-use OpenTelemetry\API\Metrics\CounterInterface;
-
-/**
- * @internal
- */
-final class NoopCounter implements CounterInterface
-{
- public function add($amount, iterable $attributes = [], $context = null): void
- {
- // no-op
- }
-}
diff --git a/vendor/open-telemetry/api/Metrics/Noop/NoopHistogram.php b/vendor/open-telemetry/api/Metrics/Noop/NoopHistogram.php
deleted file mode 100644
index 79f0e60ce..000000000
--- a/vendor/open-telemetry/api/Metrics/Noop/NoopHistogram.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics\Noop;
-
-use OpenTelemetry\API\Metrics\HistogramInterface;
-
-/**
- * @internal
- */
-final class NoopHistogram implements HistogramInterface
-{
- public function record($amount, iterable $attributes = [], $context = null): void
- {
- // no-op
- }
-}
diff --git a/vendor/open-telemetry/api/Metrics/Noop/NoopMeter.php b/vendor/open-telemetry/api/Metrics/Noop/NoopMeter.php
deleted file mode 100644
index 31e3bd35c..000000000
--- a/vendor/open-telemetry/api/Metrics/Noop/NoopMeter.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics\Noop;
-
-use OpenTelemetry\API\Metrics\CounterInterface;
-use OpenTelemetry\API\Metrics\HistogramInterface;
-use OpenTelemetry\API\Metrics\MeterInterface;
-use OpenTelemetry\API\Metrics\ObservableCounterInterface;
-use OpenTelemetry\API\Metrics\ObservableGaugeInterface;
-use OpenTelemetry\API\Metrics\ObservableUpDownCounterInterface;
-use OpenTelemetry\API\Metrics\UpDownCounterInterface;
-
-final class NoopMeter implements MeterInterface
-{
- public function createCounter(string $name, ?string $unit = null, ?string $description = null): CounterInterface
- {
- return new NoopCounter();
- }
-
- public function createObservableCounter(string $name, ?string $unit = null, ?string $description = null, callable ...$callbacks): ObservableCounterInterface
- {
- return new NoopObservableCounter();
- }
-
- public function createHistogram(string $name, ?string $unit = null, ?string $description = null): HistogramInterface
- {
- return new NoopHistogram();
- }
-
- public function createObservableGauge(string $name, ?string $unit = null, ?string $description = null, callable ...$callbacks): ObservableGaugeInterface
- {
- return new NoopObservableGauge();
- }
-
- public function createUpDownCounter(string $name, ?string $unit = null, ?string $description = null): UpDownCounterInterface
- {
- return new NoopUpDownCounter();
- }
-
- public function createObservableUpDownCounter(string $name, ?string $unit = null, ?string $description = null, callable ...$callbacks): ObservableUpDownCounterInterface
- {
- return new NoopObservableUpDownCounter();
- }
-}
diff --git a/vendor/open-telemetry/api/Metrics/Noop/NoopMeterProvider.php b/vendor/open-telemetry/api/Metrics/Noop/NoopMeterProvider.php
deleted file mode 100644
index b4b5810eb..000000000
--- a/vendor/open-telemetry/api/Metrics/Noop/NoopMeterProvider.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics\Noop;
-
-use OpenTelemetry\API\Metrics\MeterInterface;
-use OpenTelemetry\API\Metrics\MeterProviderInterface;
-
-final class NoopMeterProvider implements MeterProviderInterface
-{
- public function getMeter(
- string $name,
- ?string $version = null,
- ?string $schemaUrl = null,
- iterable $attributes = []
- ): MeterInterface {
- return new NoopMeter();
- }
-}
diff --git a/vendor/open-telemetry/api/Metrics/Noop/NoopObservableCallback.php b/vendor/open-telemetry/api/Metrics/Noop/NoopObservableCallback.php
deleted file mode 100644
index c933bd506..000000000
--- a/vendor/open-telemetry/api/Metrics/Noop/NoopObservableCallback.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics\Noop;
-
-use OpenTelemetry\API\Metrics\ObservableCallbackInterface;
-
-/**
- * @internal
- */
-final class NoopObservableCallback implements ObservableCallbackInterface
-{
- public function detach(): void
- {
- // no-op
- }
-}
diff --git a/vendor/open-telemetry/api/Metrics/Noop/NoopObservableCounter.php b/vendor/open-telemetry/api/Metrics/Noop/NoopObservableCounter.php
deleted file mode 100644
index 41e363201..000000000
--- a/vendor/open-telemetry/api/Metrics/Noop/NoopObservableCounter.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics\Noop;
-
-use OpenTelemetry\API\Metrics\ObservableCallbackInterface;
-use OpenTelemetry\API\Metrics\ObservableCounterInterface;
-
-/**
- * @internal
- */
-final class NoopObservableCounter implements ObservableCounterInterface
-{
- public function observe(callable $callback, bool $weaken = false): ObservableCallbackInterface
- {
- return new NoopObservableCallback();
- }
-}
diff --git a/vendor/open-telemetry/api/Metrics/Noop/NoopObservableGauge.php b/vendor/open-telemetry/api/Metrics/Noop/NoopObservableGauge.php
deleted file mode 100644
index 987a530c8..000000000
--- a/vendor/open-telemetry/api/Metrics/Noop/NoopObservableGauge.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics\Noop;
-
-use OpenTelemetry\API\Metrics\ObservableCallbackInterface;
-use OpenTelemetry\API\Metrics\ObservableGaugeInterface;
-
-/**
- * @internal
- */
-final class NoopObservableGauge implements ObservableGaugeInterface
-{
- public function observe(callable $callback, bool $weaken = false): ObservableCallbackInterface
- {
- return new NoopObservableCallback();
- }
-}
diff --git a/vendor/open-telemetry/api/Metrics/Noop/NoopObservableUpDownCounter.php b/vendor/open-telemetry/api/Metrics/Noop/NoopObservableUpDownCounter.php
deleted file mode 100644
index 65a2bb830..000000000
--- a/vendor/open-telemetry/api/Metrics/Noop/NoopObservableUpDownCounter.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics\Noop;
-
-use OpenTelemetry\API\Metrics\ObservableCallbackInterface;
-use OpenTelemetry\API\Metrics\ObservableUpDownCounterInterface;
-
-/**
- * @internal
- */
-final class NoopObservableUpDownCounter implements ObservableUpDownCounterInterface
-{
- public function observe(callable $callback, bool $weaken = false): ObservableCallbackInterface
- {
- return new NoopObservableCallback();
- }
-}
diff --git a/vendor/open-telemetry/api/Metrics/Noop/NoopUpDownCounter.php b/vendor/open-telemetry/api/Metrics/Noop/NoopUpDownCounter.php
deleted file mode 100644
index e26140b7c..000000000
--- a/vendor/open-telemetry/api/Metrics/Noop/NoopUpDownCounter.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics\Noop;
-
-use OpenTelemetry\API\Metrics\UpDownCounterInterface;
-
-/**
- * @internal
- */
-final class NoopUpDownCounter implements UpDownCounterInterface
-{
- public function add($amount, iterable $attributes = [], $context = null): void
- {
- // no-op
- }
-}
diff --git a/vendor/open-telemetry/api/Metrics/ObservableCallbackInterface.php b/vendor/open-telemetry/api/Metrics/ObservableCallbackInterface.php
deleted file mode 100644
index a20e59666..000000000
--- a/vendor/open-telemetry/api/Metrics/ObservableCallbackInterface.php
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics;
-
-/**
- * An observed callback.
- *
- * Callbacks that are bound to an object are automatically detached when the
- * `ObservableCallbackInterface` and the bound object are out of scope.
- * This means that the `ObservableCallbackInterface` can be ignored if the
- * observed callback should be bound to the lifetime of the object.
- * ```php
- * class Example {
- * function __construct(MeterProviderInterface $meterProvider) {
- * $meterProvider->getMeter('example')
- * ->createObservableGauge('random')
- * ->observe(fn(ObserverInterface $observer)
- * => $observer->observe(rand(0, 10)));
- * }
- * }
- * ```
- * Keeping a reference to the `ObservableCallbackInterface` within the bound
- * object to gain a more fine-grained control over the life-time of the callback
- * does not prevent garbage collection (but might require cycle collection).
- *
- * Unbound (static) callbacks must be detached manually using
- * {@link ObservableCallbackInterface::detach()}.
- * ```php
- * class Example {
- * private ObservableCallbackInterface $gauge;
- * function __construct(MeterProviderInterface $meterProvider) {
- * $this->gauge = $meterProvider->getMeter('example')
- * ->createObservableGauge('random')
- * ->observe(static fn(ObserverInterface $observer)
- * => $observer->observe(rand(0, 10)));
- * }
- * function __destruct() {
- * $this->gauge->detach();
- * }
- * }
- * ```
- *
- * @see ObservableCounterInterface::observe()
- * @see ObservableGaugeInterface::observe()
- * @see ObservableUpDownCounterInterface::observe()
- */
-interface ObservableCallbackInterface
-{
-
- /**
- * Detaches the associated callback from the instrument.
- */
- public function detach(): void;
-}
diff --git a/vendor/open-telemetry/api/Metrics/ObservableCounterInterface.php b/vendor/open-telemetry/api/Metrics/ObservableCounterInterface.php
deleted file mode 100644
index feb1ed439..000000000
--- a/vendor/open-telemetry/api/Metrics/ObservableCounterInterface.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics;
-
-interface ObservableCounterInterface
-{
-
- /**
- * @param callable(ObserverInterface): void $callback function responsible for
- * reporting the measurements (as absolute values)
- * @return ObservableCallbackInterface token to detach callback
- */
- public function observe(callable $callback): ObservableCallbackInterface;
-}
diff --git a/vendor/open-telemetry/api/Metrics/ObservableGaugeInterface.php b/vendor/open-telemetry/api/Metrics/ObservableGaugeInterface.php
deleted file mode 100644
index afe59a777..000000000
--- a/vendor/open-telemetry/api/Metrics/ObservableGaugeInterface.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics;
-
-interface ObservableGaugeInterface
-{
-
- /**
- * @param callable(ObserverInterface): void $callback function responsible for
- * reporting the measurements
- * @return ObservableCallbackInterface token to detach callback
- */
- public function observe(callable $callback): ObservableCallbackInterface;
-}
diff --git a/vendor/open-telemetry/api/Metrics/ObservableUpDownCounterInterface.php b/vendor/open-telemetry/api/Metrics/ObservableUpDownCounterInterface.php
deleted file mode 100644
index 79548dec6..000000000
--- a/vendor/open-telemetry/api/Metrics/ObservableUpDownCounterInterface.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics;
-
-interface ObservableUpDownCounterInterface
-{
-
- /**
- * @param callable(ObserverInterface): void $callback function responsible for
- * reporting the measurements (as absolute values)
- * @return ObservableCallbackInterface token to detach callback
- */
- public function observe(callable $callback): ObservableCallbackInterface;
-}
diff --git a/vendor/open-telemetry/api/Metrics/ObserverInterface.php b/vendor/open-telemetry/api/Metrics/ObserverInterface.php
deleted file mode 100644
index 36e0ea791..000000000
--- a/vendor/open-telemetry/api/Metrics/ObserverInterface.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics;
-
-interface ObserverInterface
-{
-
- /**
- * Records the given absolute datapoint.
- *
- * @param float|int $amount observed amount
- * @param iterable<non-empty-string, string|bool|float|int|array|null> $attributes
- * attributes of the data point
- */
- public function observe($amount, iterable $attributes = []): void;
-}
diff --git a/vendor/open-telemetry/api/Metrics/UpDownCounterInterface.php b/vendor/open-telemetry/api/Metrics/UpDownCounterInterface.php
deleted file mode 100644
index f1f808fdb..000000000
--- a/vendor/open-telemetry/api/Metrics/UpDownCounterInterface.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API\Metrics;
-
-use OpenTelemetry\Context\ContextInterface;
-
-interface UpDownCounterInterface
-{
-
- /**
- * @param float|int $amount amount to increment / decrement by
- * @param iterable<non-empty-string, string|bool|float|int|array|null> $attributes
- * attributes of the data point
- * @param ContextInterface|false|null $context execution context
- */
- public function add($amount, iterable $attributes = [], $context = null): void;
-}
diff --git a/vendor/open-telemetry/api/README.md b/vendor/open-telemetry/api/README.md
deleted file mode 100644
index c2cbd1bf1..000000000
--- a/vendor/open-telemetry/api/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-[![Releases](https://img.shields.io/badge/releases-purple)](https://github.com/opentelemetry-php/api/releases)
-[![Source](https://img.shields.io/badge/source-api-green)](https://github.com/open-telemetry/opentelemetry-php/tree/main/src/API)
-[![Mirror](https://img.shields.io/badge/mirror-opentelemetry--php:api-blue)](https://github.com/opentelemetry-php/api)
-[![Latest Version](http://poser.pugx.org/open-telemetry/api/v/unstable)](https://packagist.org/packages/open-telemetry/api/)
-[![Stable](http://poser.pugx.org/open-telemetry/api/v/stable)](https://packagist.org/packages/open-telemetry/api/)
-
-# OpenTelemetry API
-
-Documentation: https://opentelemetry.io/docs/instrumentation/php
-
-## Contributing
-
-This repository is a read-only git subtree split.
-To contribute, please see the main [OpenTelemetry PHP monorepo](https://github.com/open-telemetry/opentelemetry-php).
diff --git a/vendor/open-telemetry/api/Signals.php b/vendor/open-telemetry/api/Signals.php
deleted file mode 100644
index 95582aaa2..000000000
--- a/vendor/open-telemetry/api/Signals.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace OpenTelemetry\API;
-
-interface Signals
-{
- /** @var string */
- public const TRACE = 'trace';
- /** @var string */
- public const METRICS = 'metrics';
- /** @var string */
- public const LOGS = 'logs';
- /** @var string[] */
- public const SIGNALS = [
- self::TRACE,
- self::METRICS,
- self::LOGS,
- ];
-}
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();
- }
-}
diff --git a/vendor/open-telemetry/api/composer.json b/vendor/open-telemetry/api/composer.json
deleted file mode 100644
index 39acaec47..000000000
--- a/vendor/open-telemetry/api/composer.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "name": "open-telemetry/api",
- "description": "API for OpenTelemetry PHP.",
- "keywords": ["opentelemetry", "otel", "metrics", "tracing", "logging", "apm", "api"],
- "type": "library",
- "support": {
- "issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
- "source": "https://github.com/open-telemetry/opentelemetry-php",
- "docs": "https://opentelemetry.io/docs/php",
- "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V"
- },
- "license": "Apache-2.0",
- "authors": [
- {
- "name": "opentelemetry-php contributors",
- "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors"
- }
- ],
- "require": {
- "php": "^7.4 || ^8.0",
- "open-telemetry/context": "^1.0",
- "psr/log": "^1.1|^2.0|^3.0",
- "symfony/polyfill-php80": "^1.26",
- "symfony/polyfill-php81": "^1.26",
- "symfony/polyfill-php82": "^1.26"
- },
- "autoload": {
- "psr-4": {
- "OpenTelemetry\\API\\": "."
- },
- "files": [
- "Trace/functions.php"
- ]
- },
- "extra": {
- "branch-alias": {
- "dev-main": "1.0.x-dev"
- }
- }
-}