Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ConsoleSpanExporter.php

class ConsoleSpanExporter

Hierarchy

  • class \OpenTelemetry\SDK\Trace\SpanExporter\ConsoleSpanExporter implements \OpenTelemetry\SDK\Trace\SpanExporterInterface uses \OpenTelemetry\SDK\Trace\Behavior\UsesSpanConverterTrait, \OpenTelemetry\API\Behavior\LogsMessagesTrait

Expanded class hierarchy of ConsoleSpanExporter

File

vendor/open-telemetry/sdk/Trace/SpanExporter/ConsoleSpanExporter.php, line 16

Namespace

OpenTelemetry\SDK\Trace\SpanExporter
View source
class ConsoleSpanExporter implements SpanExporterInterface {
    use UsesSpanConverterTrait;
    use LogsMessagesTrait;
    public function __construct(TransportInterface $transport, ?SpanConverterInterface $converter = null) {
        $this->setSpanConverter($converter ?? new FriendlySpanConverter());
    }
    public function export(iterable $batch, ?CancellationInterface $cancellation = null) : FutureInterface {
        $payload = '';
        foreach ($batch as $span) {
            try {
                $payload .= json_encode($this->getSpanConverter()
                    ->convert([
                    $span,
                ]), JSON_THROW_ON_ERROR | JSON_PRETTY_PRINT) . PHP_EOL;
            } catch (JsonException $e) {
                self::logWarning('Error converting span: ' . $e->getMessage());
            }
        }
        return $this->transport
            ->send($payload)
            ->map(fn() => true)
            ->catch(fn() => false);
    }
    public function shutdown(?CancellationInterface $cancellation = null) : bool {
        return $this->transport
            ->shutdown();
    }
    public function forceFlush(?CancellationInterface $cancellation = null) : bool {
        return $this->transport
            ->forceFlush();
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title
ConsoleSpanExporter::export public function @psalm-return FutureInterface<bool> Overrides SpanExporterInterface::export
ConsoleSpanExporter::forceFlush public function @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/specification/trace/sdk.md#forceflush-2 Overrides SpanExporterInterface::forceFlush
ConsoleSpanExporter::shutdown public function @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/specification/trace/sdk.md#shutdown-2 Overrides SpanExporterInterface::shutdown
ConsoleSpanExporter::__construct public function
LogsMessagesTrait::doLog private static function
LogsMessagesTrait::logDebug protected static function
LogsMessagesTrait::logError protected static function
LogsMessagesTrait::logInfo protected static function
LogsMessagesTrait::logNotice protected static function
LogsMessagesTrait::logWarning protected static function
LogsMessagesTrait::shouldLog private static function
UsesSpanConverterTrait::$converter private property
UsesSpanConverterTrait::convertSpan protected function @psalm-suppress PossiblyNullReference
UsesSpanConverterTrait::getSpanConverter public function
UsesSpanConverterTrait::setSpanConverter protected function
RSS feed
Powered by Drupal