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\SpanExporterView 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 |