diff options
Diffstat (limited to 'vendor/open-telemetry/sdk/Trace/Behavior/UsesSpanConverterTrait.php')
-rw-r--r-- | vendor/open-telemetry/sdk/Trace/Behavior/UsesSpanConverterTrait.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/vendor/open-telemetry/sdk/Trace/Behavior/UsesSpanConverterTrait.php b/vendor/open-telemetry/sdk/Trace/Behavior/UsesSpanConverterTrait.php new file mode 100644 index 000000000..4802cd15b --- /dev/null +++ b/vendor/open-telemetry/sdk/Trace/Behavior/UsesSpanConverterTrait.php @@ -0,0 +1,41 @@ +<?php + +declare(strict_types=1); + +namespace OpenTelemetry\SDK\Trace\Behavior; + +use OpenTelemetry\SDK\Trace\SpanConverterInterface; +use OpenTelemetry\SDK\Trace\SpanDataInterface; +use OpenTelemetry\SDK\Trace\SpanExporter\NullSpanConverter; + +trait UsesSpanConverterTrait +{ + private ?SpanConverterInterface $converter = null; + + /** + * @param SpanConverterInterface $converter + */ + protected function setSpanConverter(SpanConverterInterface $converter): void + { + $this->converter = $converter; + } + + public function getSpanConverter(): SpanConverterInterface + { + if (null === $this->converter) { + $this->converter = new NullSpanConverter(); + } + + return $this->converter; + } + + /** + * @param SpanDataInterface $span + * @return array + * @psalm-suppress PossiblyNullReference + */ + protected function convertSpan(SpanDataInterface $span): array + { + return $this->getSpanConverter()->convert([$span]); + } +} |