Merge branch '2.x' into spi-span-processors
This commit is contained in:
commit
ab583e08f3
|
|
@ -42,6 +42,6 @@ jobs:
|
|||
# Upload the results to GitHub's code scanning dashboard (optional).
|
||||
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
|
||||
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3.29.2
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@ on:
|
|||
pull_request:
|
||||
branches: [ main, 1.x, 2.x ]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
php:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@ on:
|
|||
- "main"
|
||||
workflow_dispatch:
|
||||
|
||||
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
documentation:
|
||||
permissions:
|
||||
pages: write # required for GitHub Pages deployment
|
||||
id-token: write # required for GitHub Pages deployment
|
||||
name: "Documentation"
|
||||
runs-on: "ubuntu-latest"
|
||||
steps:
|
||||
|
|
|
|||
|
|
@ -11,12 +11,14 @@ on:
|
|||
paths:
|
||||
- docker/Dockerfile
|
||||
- .github/workflows/publish-otel-php-base-docker-image.yml
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
push_to_registry:
|
||||
name: OpenTelemetry PHP base docker image creation
|
||||
strategy:
|
||||
matrix:
|
||||
php-version: ['8.0', '8.1', '8.2', '8.3', '8.4']
|
||||
php-version: ['8.1', '8.2', '8.3', '8.4']
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
packages: write
|
||||
|
|
@ -45,7 +47,6 @@ jobs:
|
|||
file: docker/Dockerfile
|
||||
build-args: PHP_VERSION=${{ matrix.php-version }}
|
||||
platforms: linux/amd64,linux/arm/v8,linux/arm64
|
||||
tags: ghcr.io/open-telemetry/opentelemetry-php/opentelemetry-php-base:${{ matrix.php-version }}
|
||||
|
||||
- name: Build and push ${{ matrix.php-version }} to ghcr.io
|
||||
uses: docker/build-push-action@v6
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@ on:
|
|||
pull_request:
|
||||
branches: [ main, 1.x, 2.x ]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
shellcheck:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@ on:
|
|||
create:
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
gitsplit:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
|||
|
|
@ -291,13 +291,13 @@ For more information about the triager role, see the [community repository](http
|
|||
|
||||
## Emeritus maintainers/approvers/triagers
|
||||
|
||||
- [Timo Michna](https://github.com/tidal/)
|
||||
- [Amber Zsistla](https://github.com/zsistla)
|
||||
- [Beniamin Calota](https://github.com/beniamin)
|
||||
- [Fahmy Mohammed](https://github.com/Fahmy-Mohammed)
|
||||
- [Levi Morrison](https://github.com/morrisonlevi)
|
||||
- [Amber Zsistla](https://github.com/zsistla)
|
||||
- [Jodee Varney](https://github.com/jodeev)
|
||||
- [Przemek Delewski](https://github.com/pdelewski), Sumo Logic
|
||||
- [Levi Morrison](https://github.com/morrisonlevi)
|
||||
- [Przemek Delewski](https://github.com/pdelewski)
|
||||
- [Timo Michna](https://github.com/tidal/)
|
||||
|
||||
For more information about the emeritus role, see the [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#emeritus-maintainerapprovertriager).
|
||||
|
||||
|
|
|
|||
|
|
@ -1,43 +1,45 @@
|
|||
ARG PHP_VERSION=8.0
|
||||
|
||||
FROM php:8.0.30-cli-alpine AS php-8.0-cli-alpine
|
||||
FROM php:8.1.32-cli-alpine AS php-8.1-cli-alpine
|
||||
FROM php:8.2.28-cli-alpine AS php-8.2-cli-alpine
|
||||
FROM php:8.3.20-cli-alpine AS php-8.3-cli-alpine
|
||||
FROM php:8.4.8-cli-alpine AS php-8.4-cli-alpine
|
||||
|
||||
FROM php-${PHP_VERSION}-cli-alpine
|
||||
|
||||
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/install-php-extensions \
|
||||
&& apk add binutils \
|
||||
&& install-php-extensions \
|
||||
@composer \
|
||||
ast \
|
||||
grpc \
|
||||
intl\
|
||||
opcache \
|
||||
opentelemetry \
|
||||
pcntl \
|
||||
protobuf \
|
||||
sockets \
|
||||
xdebug \
|
||||
zip \
|
||||
&& find /usr/local/lib/php/extensions -name "*.so" -exec strip --strip-debug {} \;
|
||||
|
||||
RUN echo "grpc.enable_fork_support = 1" > $(php-config --ini-dir)/grpc.ini \
|
||||
&& echo "grpc.poll_strategy = epoll1" >> $(php-config --ini-dir)/grpc.ini
|
||||
|
||||
FROM composer:2 AS composer
|
||||
FROM debian:bullseye
|
||||
WORKDIR /usr/src/myapp
|
||||
|
||||
RUN apk add --no-cache bash git; \
|
||||
find /usr/local/lib/php/extensions -type d -exec chmod +x -R {} \;; \
|
||||
addgroup -g "1000" -S php; \
|
||||
adduser --system \
|
||||
--gecos "" \
|
||||
--ingroup "php" \
|
||||
--uid "1000" \
|
||||
"php";
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends git wget gnupg2 \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& groupadd --gid 1000 php \
|
||||
&& useradd --system --uid 1000 --gid php --shell /bin/bash --create-home php
|
||||
|
||||
RUN apt-get update && apt-get install -y lsb-release apt-transport-https ca-certificates \
|
||||
&& echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list \
|
||||
&& wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add - \
|
||||
&& apt-get update
|
||||
|
||||
ARG PHP_VERSION=8.3
|
||||
|
||||
RUN apt-get install -y \
|
||||
php${PHP_VERSION}-ast \
|
||||
php${PHP_VERSION}-cli \
|
||||
php${PHP_VERSION}-curl \
|
||||
php${PHP_VERSION}-dev \
|
||||
php${PHP_VERSION}-grpc \
|
||||
php${PHP_VERSION}-intl \
|
||||
php${PHP_VERSION}-mbstring \
|
||||
php${PHP_VERSION}-opcache \
|
||||
php${PHP_VERSION}-opentelemetry \
|
||||
php${PHP_VERSION}-protobuf \
|
||||
php${PHP_VERSION}-simplexml \
|
||||
php${PHP_VERSION}-sockets \
|
||||
php${PHP_VERSION}-xdebug \
|
||||
php${PHP_VERSION}-zip \
|
||||
php${PHP_VERSION}-mongodb \
|
||||
php${PHP_VERSION}-amqp \
|
||||
php${PHP_VERSION}-rdkafka \
|
||||
php${PHP_VERSION}-mysqli \
|
||||
unzip
|
||||
|
||||
COPY --from=composer /usr/bin/composer /usr/local/bin/composer
|
||||
|
||||
RUN echo ";grpc.enable_fork_support = 1" > $(php-config --ini-dir)/40-otel-dev.ini \
|
||||
&& echo "grpc.poll_strategy = epoll1" >> $(php-config --ini-dir)/40-otel-dev.ini \
|
||||
&& echo "zend.assertions = 1" >> $(php-config --ini-dir)/40-otel-dev.ini
|
||||
|
||||
USER php
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Example;
|
||||
|
||||
use OpenTelemetry\API\Logs\LogRecord;
|
||||
|
||||
putenv('OTEL_PHP_AUTOLOAD_ENABLED=true');
|
||||
putenv('OTEL_TRACES_EXPORTER=otlp');
|
||||
putenv('OTEL_METRICS_EXPORTER=otlp');
|
||||
putenv('OTEL_LOGS_EXPORTER=otlp');
|
||||
putenv('OTEL_EXPORTER_OTLP_PROTOCOL=grpc');
|
||||
putenv('OTEL_EXPORTER_OTLP_ENDPOINT=http://collector:4317');
|
||||
putenv('OTEL_TRACES_EXPORTER=console');
|
||||
putenv('OTEL_METRICS_EXPORTER=console');
|
||||
putenv('OTEL_LOGS_EXPORTER=console');
|
||||
putenv('OTEL_PROPAGATORS=b3,baggage,tracecontext');
|
||||
|
||||
echo 'autoloading SDK example starting...' . PHP_EOL;
|
||||
|
|
@ -21,6 +21,6 @@ $instrumentation = new \OpenTelemetry\API\Instrumentation\CachedInstrumentation(
|
|||
|
||||
$instrumentation->tracer()->spanBuilder('root')->startSpan()->end();
|
||||
$instrumentation->meter()->createCounter('cnt')->add(1);
|
||||
$instrumentation->eventLogger()->emit('foo', 'hello, otel');
|
||||
$instrumentation->logger()->emit((new LogRecord('hello, otel'))->setEventName('foo'));
|
||||
|
||||
echo 'Finished!' . PHP_EOL;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use OpenTelemetry\API\Logs\LogRecord;
|
||||
use OpenTelemetry\Config\SDK\Configuration;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
|
@ -16,13 +17,13 @@ $sdk = $config
|
|||
|
||||
$tracer = $sdk->getTracerProvider()->getTracer('demo');
|
||||
$meter = $sdk->getMeterProvider()->getMeter('demo');
|
||||
$eventLogger = $sdk->getEventLoggerProvider()->getEventLogger('demo');
|
||||
$logger = $sdk->getLoggerProvider()->getLogger('demo');
|
||||
|
||||
$span = $tracer->spanBuilder('root')->startSpan();
|
||||
$scope = $span->activate();
|
||||
$meter->createCounter('cnt')->add(1);
|
||||
|
||||
$eventLogger->emit('foo', 'hello, otel');
|
||||
$logger->emit((new LogRecord('hello, otel'))->setEventName('foo'));
|
||||
$scope->detach();
|
||||
$span->end();
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use OpenTelemetry\API\Logs\LogRecord;
|
||||
use OpenTelemetry\Config\SDK\Configuration;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
|
@ -21,10 +22,10 @@ $sdk = $config
|
|||
|
||||
$tracer = $sdk->getTracerProvider()->getTracer('demo');
|
||||
$meter = $sdk->getMeterProvider()->getMeter('demo');
|
||||
$eventLogger = $sdk->getEventLoggerProvider()->getEventLogger('demo');
|
||||
$logger = $sdk->getLoggerProvider()->getLogger('demo');
|
||||
|
||||
$tracer->spanBuilder('root')->startSpan()->end();
|
||||
$meter->createCounter('cnt')->add(1);
|
||||
$eventLogger->emit('foo', 'hello, otel');
|
||||
$logger->emit((new LogRecord('hello, otel'))->setEventName('foo'));
|
||||
|
||||
echo 'Finished!' . PHP_EOL;
|
||||
|
|
|
|||
|
|
@ -5,13 +5,13 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Example;
|
||||
|
||||
use OpenTelemetry\API\Common\Time\Clock;
|
||||
use OpenTelemetry\API\Logs\LogRecord;
|
||||
use OpenTelemetry\API\Logs\Severity;
|
||||
use OpenTelemetry\API\Signals;
|
||||
use OpenTelemetry\Contrib\Grpc\GrpcTransportFactory;
|
||||
use OpenTelemetry\Contrib\Otlp\LogsExporter;
|
||||
use OpenTelemetry\Contrib\Otlp\OtlpUtil;
|
||||
use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactory;
|
||||
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\LogRecordLimitsBuilder;
|
||||
use OpenTelemetry\SDK\Logs\Processor\BatchLogRecordProcessor;
|
||||
|
|
@ -29,18 +29,9 @@ $loggerProvider = new LoggerProvider(
|
|||
(new LogRecordLimitsBuilder())->build()->getAttributeFactory()
|
||||
)
|
||||
);
|
||||
$eventLoggerProvider = new EventLoggerProvider($loggerProvider);
|
||||
$eventLogger = $eventLoggerProvider->getEventLogger('demo', '1.0', 'http://schema.url', ['foo' => 'bar']);
|
||||
$logger = $loggerProvider->getLogger('demo', '1.0', 'http://schema.url', ['foo' => 'bar']);
|
||||
|
||||
$eventLogger->emit(
|
||||
name: 'foo',
|
||||
body: ['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world'],
|
||||
severityNumber: Severity::INFO
|
||||
);
|
||||
|
||||
$eventLogger->emit(
|
||||
'bar',
|
||||
'otel is great'
|
||||
);
|
||||
$logger->emit((new LogRecord(['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world']))->setEventName('foo')->setSeverityNumber(Severity::INFO));
|
||||
$logger->emit((new LogRecord('otel is great'))->setEventName('bar'));
|
||||
|
||||
$loggerProvider->shutdown();
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ use OpenTelemetry\API\Logs\Severity;
|
|||
use OpenTelemetry\Contrib\Otlp\LogsExporter;
|
||||
use OpenTelemetry\SDK\Common\Export\Http\PsrTransportFactory;
|
||||
use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactory;
|
||||
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\LogRecordLimitsBuilder;
|
||||
use OpenTelemetry\SDK\Logs\Processor\SimpleLogRecordProcessor;
|
||||
|
|
@ -27,12 +26,10 @@ $loggerProvider = new LoggerProvider(
|
|||
(new LogRecordLimitsBuilder())->build()->getAttributeFactory()
|
||||
)
|
||||
);
|
||||
$eventLoggerProvider = new EventLoggerProvider($loggerProvider);
|
||||
$eventLogger = $eventLoggerProvider->getEventLogger('demo', '1.0', 'https://opentelemetry.io/schemas/1.7.1', ['foo' => 'bar']);
|
||||
|
||||
$eventLogger->emit(
|
||||
name: 'foo',
|
||||
body: ['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world'],
|
||||
timestamp: (new \DateTime())->getTimestamp() * LogRecord::NANOS_PER_SECOND,
|
||||
severityNumber: Severity::INFO,
|
||||
$logger = $loggerProvider->getLogger('demo', '1.0', 'https://opentelemetry.io/schemas/1.7.1', ['foo' => 'bar']);
|
||||
$logger->emit(
|
||||
(new LogRecord(['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world']))
|
||||
->setEventName('foo')
|
||||
->setSeverityNumber(Severity::INFO)
|
||||
->setTimestamp((new \DateTime())->getTimestamp() * LogRecord::NANOS_PER_SECOND)
|
||||
);
|
||||
|
|
|
|||
|
|
@ -5,11 +5,10 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Example;
|
||||
|
||||
use OpenTelemetry\API\Common\Time\Clock;
|
||||
use OpenTelemetry\API\Logs\LogRecord;
|
||||
use OpenTelemetry\API\Logs\Severity;
|
||||
use OpenTelemetry\SDK\Common\Attribute\Attributes;
|
||||
use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactory;
|
||||
use OpenTelemetry\SDK\Logs\EventLogger;
|
||||
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\Exporter\ConsoleExporterFactory;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\Processor\BatchLogRecordProcessor;
|
||||
|
|
@ -23,16 +22,15 @@ $loggerProvider = new LoggerProvider(
|
|||
),
|
||||
new InstrumentationScopeFactory(Attributes::factory())
|
||||
);
|
||||
$eventLoggerProvider = new EventLoggerProvider($loggerProvider);
|
||||
//get a logger, and emit a log record from an EventLogger.
|
||||
$eventLoggerOne = $eventLoggerProvider->getEventLogger('demo', '1.0');
|
||||
$eventLoggerTwo = $eventLoggerProvider->getEventLogger('demo', '2.0');
|
||||
//get a logger, and emit an event.
|
||||
$loggerOne = $loggerProvider->getLogger('demo', '1.0');
|
||||
$loggerTwo = $loggerProvider->getLogger('demo', '2.0');
|
||||
|
||||
$payload = ['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world'];
|
||||
|
||||
$eventLoggerOne->emit(name: 'foo', body: $payload, severityNumber: Severity::INFO);
|
||||
$eventLoggerOne->emit('bar', 'hello world');
|
||||
$eventLoggerTwo->emit(name: 'foo', body: $payload, severityNumber: Severity::INFO);
|
||||
$loggerOne->emit((new LogRecord($payload))->setEventName('foo')->setSeverityNumber(Severity::INFO));
|
||||
$loggerOne->emit((new LogRecord('hello world'))->setEventName('bar'));
|
||||
$loggerTwo->emit((new LogRecord($payload))->setEventName('foo')->setSeverityNumber(Severity::INFO));
|
||||
|
||||
//shut down logger provider
|
||||
$loggerProvider->shutdown();
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use OpenTelemetry\API\Logs\LogRecord;
|
||||
use OpenTelemetry\API\Logs\Severity;
|
||||
use OpenTelemetry\SDK\Common\Attribute\Attributes;
|
||||
use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactory;
|
||||
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\Exporter\ConsoleExporterFactory;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\Processor\SimpleLogRecordProcessor;
|
||||
|
|
@ -26,7 +26,6 @@ $loggerProvider = new LoggerProvider(
|
|||
),
|
||||
new InstrumentationScopeFactory(Attributes::factory())
|
||||
);
|
||||
$eventLoggerProvider = new EventLoggerProvider($loggerProvider);
|
||||
$tracerProvider = new TracerProvider();
|
||||
$tracer = $tracerProvider->getTracer('demo-tracer');
|
||||
|
||||
|
|
@ -36,12 +35,12 @@ $scope = $span->activate();
|
|||
echo 'Trace id: ' . $span->getContext()->getTraceId() . PHP_EOL;
|
||||
echo 'Span id: ' . $span->getContext()->getSpanId() . PHP_EOL;
|
||||
|
||||
//get an event logger, and emit an event. The active context (trace id + span id) will be
|
||||
//get a logger, and emit an event. The active context (trace id + span id) will be
|
||||
//attached to the log record
|
||||
$eventLogger = $eventLoggerProvider->getEventLogger('demo', '1.0', 'http://schema.url', ['foo' => 'bar']);
|
||||
$logger = $loggerProvider->getLogger('demo', '1.0', 'http://schema.url', ['foo' => 'bar']);
|
||||
$payload = ['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world'];
|
||||
|
||||
$eventLogger->emit(name: 'foo', body: $payload, severityNumber: Severity::INFO);
|
||||
$logger->emit((new LogRecord($payload))->setEventName('foo')->setSeverityNumber(Severity::INFO));
|
||||
|
||||
//end span
|
||||
$span->end();
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Example;
|
||||
|
||||
use OpenTelemetry\API\Instrumentation\CachedInstrumentation;
|
||||
use OpenTelemetry\API\Logs\LogRecord;
|
||||
|
||||
putenv('OTEL_PHP_AUTOLOAD_ENABLED=true');
|
||||
putenv('OTEL_TRACES_EXPORTER=otlp/stdout');
|
||||
|
|
@ -17,7 +18,7 @@ $instrumentation = new CachedInstrumentation('demo');
|
|||
|
||||
$instrumentation->tracer()->spanBuilder('root')->startSpan()->end();
|
||||
$instrumentation->meter()->createCounter('cnt')->add(1);
|
||||
$instrumentation->eventLogger()->emit('foo', 'hello, otel');
|
||||
$instrumentation->logger()->emit(new LogRecord('foo'));
|
||||
|
||||
echo PHP_EOL . 'OTLP/stdout autoload example complete!';
|
||||
echo PHP_EOL;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ use Closure;
|
|||
use OpenTelemetry\API\Behavior\LogsMessagesTrait;
|
||||
use OpenTelemetry\API\Instrumentation\Configurator;
|
||||
use OpenTelemetry\API\Instrumentation\ContextKeys;
|
||||
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
|
||||
use OpenTelemetry\API\Logs\LoggerProviderInterface;
|
||||
use OpenTelemetry\API\Metrics\MeterProviderInterface;
|
||||
use OpenTelemetry\API\Trace\TracerProviderInterface;
|
||||
|
|
@ -33,7 +32,6 @@ final class Globals
|
|||
private readonly TracerProviderInterface $tracerProvider,
|
||||
private readonly MeterProviderInterface $meterProvider,
|
||||
private readonly LoggerProviderInterface $loggerProvider,
|
||||
private readonly EventLoggerProviderInterface $eventLoggerProvider,
|
||||
private readonly TextMapPropagatorInterface $propagator,
|
||||
) {
|
||||
}
|
||||
|
|
@ -58,15 +56,6 @@ final class Globals
|
|||
return Context::getCurrent()->get(ContextKeys::loggerProvider()) ?? self::globals()->loggerProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @phan-suppress PhanDeprecatedFunction
|
||||
*/
|
||||
public static function eventLoggerProvider(): EventLoggerProviderInterface
|
||||
{
|
||||
return Context::getCurrent()->get(ContextKeys::eventLoggerProvider()) ?? self::globals()->eventLoggerProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Closure(Configurator): Configurator $initializer
|
||||
*
|
||||
|
|
@ -108,11 +97,10 @@ final class Globals
|
|||
$meterProvider = $context->get(ContextKeys::meterProvider());
|
||||
$propagator = $context->get(ContextKeys::propagator());
|
||||
$loggerProvider = $context->get(ContextKeys::loggerProvider());
|
||||
$eventLoggerProvider = $context->get(ContextKeys::eventLoggerProvider());
|
||||
|
||||
assert(isset($tracerProvider, $meterProvider, $loggerProvider, $eventLoggerProvider, $propagator));
|
||||
assert(isset($tracerProvider, $meterProvider, $loggerProvider, $propagator));
|
||||
|
||||
return self::$globals = new self($tracerProvider, $meterProvider, $loggerProvider, $eventLoggerProvider, $propagator);
|
||||
return self::$globals = new self($tracerProvider, $meterProvider, $loggerProvider, $propagator);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\API\Instrumentation;
|
||||
|
||||
use OpenTelemetry\API\Globals;
|
||||
use OpenTelemetry\API\Logs\EventLoggerInterface;
|
||||
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
|
||||
use OpenTelemetry\API\Logs\LoggerInterface;
|
||||
use OpenTelemetry\API\Logs\LoggerProviderInterface;
|
||||
use OpenTelemetry\API\Metrics\MeterInterface;
|
||||
|
|
@ -31,8 +29,6 @@ final class CachedInstrumentation
|
|||
private WeakMap $meters;
|
||||
/** @var WeakMap<LoggerProviderInterface, LoggerInterface> */
|
||||
private WeakMap $loggers;
|
||||
/** @var WeakMap<EventLoggerProviderInterface, EventLoggerInterface> */
|
||||
private WeakMap $eventLoggers;
|
||||
|
||||
/**
|
||||
* @psalm-suppress PropertyTypeCoercion
|
||||
|
|
@ -46,7 +42,6 @@ final class CachedInstrumentation
|
|||
$this->tracers = new \WeakMap();
|
||||
$this->meters = new \WeakMap();
|
||||
$this->loggers = new \WeakMap();
|
||||
$this->eventLoggers = new \WeakMap();
|
||||
}
|
||||
|
||||
public function tracer(): TracerInterface
|
||||
|
|
@ -68,15 +63,4 @@ final class CachedInstrumentation
|
|||
|
||||
return $this->loggers[$loggerProvider] ??= $loggerProvider->getLogger($this->name, $this->version, $this->schemaUrl, $this->attributes);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @phan-suppress PhanDeprecatedFunction
|
||||
*/
|
||||
public function eventLogger(): EventLoggerInterface
|
||||
{
|
||||
$eventLoggerProvider = Globals::eventLoggerProvider();
|
||||
|
||||
return $this->eventLoggers[$eventLoggerProvider] ??= $eventLoggerProvider->getEventLogger($this->name, $this->version, $this->schemaUrl, $this->attributes);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\API\Instrumentation;
|
||||
|
||||
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
|
||||
use OpenTelemetry\API\Logs\LoggerProviderInterface;
|
||||
use OpenTelemetry\API\Logs\NoopEventLoggerProvider;
|
||||
use OpenTelemetry\API\Logs\NoopLoggerProvider;
|
||||
use OpenTelemetry\API\Metrics\MeterProviderInterface;
|
||||
use OpenTelemetry\API\Metrics\Noop\NoopMeterProvider;
|
||||
|
|
@ -30,7 +28,6 @@ final class Configurator implements ImplicitContextKeyedInterface
|
|||
private ?MeterProviderInterface $meterProvider = null;
|
||||
private ?TextMapPropagatorInterface $propagator = null;
|
||||
private ?LoggerProviderInterface $loggerProvider = null;
|
||||
private ?EventLoggerProviderInterface $eventLoggerProvider = null;
|
||||
|
||||
private function __construct()
|
||||
{
|
||||
|
|
@ -55,7 +52,6 @@ final class Configurator implements ImplicitContextKeyedInterface
|
|||
->withMeterProvider(new NoopMeterProvider())
|
||||
->withPropagator(new NoopTextMapPropagator())
|
||||
->withLoggerProvider(NoopLoggerProvider::getInstance())
|
||||
->withEventLoggerProvider(new NoopEventLoggerProvider())
|
||||
;
|
||||
}
|
||||
|
||||
|
|
@ -83,9 +79,6 @@ final class Configurator implements ImplicitContextKeyedInterface
|
|||
if ($this->loggerProvider !== null) {
|
||||
$context = $context->with(ContextKeys::loggerProvider(), $this->loggerProvider);
|
||||
}
|
||||
if ($this->eventLoggerProvider !== null) {
|
||||
$context = $context->with(ContextKeys::eventLoggerProvider(), $this->eventLoggerProvider);
|
||||
}
|
||||
|
||||
return $context;
|
||||
}
|
||||
|
|
@ -121,15 +114,4 @@ final class Configurator implements ImplicitContextKeyedInterface
|
|||
|
||||
return $self;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
public function withEventLoggerProvider(?EventLoggerProviderInterface $eventLoggerProvider): Configurator
|
||||
{
|
||||
$self = clone $this;
|
||||
$self->eventLoggerProvider = $eventLoggerProvider;
|
||||
|
||||
return $self;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\API\Instrumentation;
|
||||
|
||||
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
|
||||
use OpenTelemetry\API\Logs\LoggerProviderInterface;
|
||||
use OpenTelemetry\API\Metrics\MeterProviderInterface;
|
||||
use OpenTelemetry\API\Trace\TracerProviderInterface;
|
||||
|
|
@ -56,15 +55,4 @@ final class ContextKeys
|
|||
|
||||
return $instance ??= Context::createKey(LoggerProviderInterface::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @return ContextKeyInterface<EventLoggerProviderInterface>
|
||||
*/
|
||||
public static function eventLoggerProvider(): ContextKeyInterface
|
||||
{
|
||||
static $instance;
|
||||
|
||||
return $instance ??= Context::createKey(EventLoggerProviderInterface::class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Logs;
|
||||
|
||||
use OpenTelemetry\Context\ContextInterface;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/event-api.md#events-api-interface
|
||||
*/
|
||||
interface EventLoggerInterface
|
||||
{
|
||||
public function emit(
|
||||
string $name,
|
||||
mixed $body = null,
|
||||
?int $timestamp = null,
|
||||
?ContextInterface $context = null,
|
||||
?Severity $severityNumber = null,
|
||||
iterable $attributes = [],
|
||||
): void;
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Logs;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.32.0/specification/logs/event-api.md#get-an-eventlogger
|
||||
*/
|
||||
interface EventLoggerProviderInterface
|
||||
{
|
||||
public function getEventLogger(
|
||||
string $name,
|
||||
?string $version = null,
|
||||
?string $schemaUrl = null,
|
||||
iterable $attributes = [],
|
||||
): EventLoggerInterface;
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Logs;
|
||||
|
||||
use OpenTelemetry\Context\ContextInterface;
|
||||
|
||||
/**
|
||||
* @phan-suppress PhanDeprecatedInterface
|
||||
*/
|
||||
class NoopEventLogger implements EventLoggerInterface
|
||||
{
|
||||
public static function instance(): self
|
||||
{
|
||||
static $instance;
|
||||
$instance ??= new self();
|
||||
|
||||
return $instance;
|
||||
}
|
||||
|
||||
public function emit(string $name, mixed $body = null, ?int $timestamp = null, ?ContextInterface $context = null, Severity|int|null $severityNumber = null, iterable $attributes = []): void
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Logs;
|
||||
|
||||
/**
|
||||
* @phan-suppress PhanDeprecatedInterface
|
||||
*/
|
||||
class NoopEventLoggerProvider implements EventLoggerProviderInterface
|
||||
{
|
||||
public static function getInstance(): self
|
||||
{
|
||||
static $instance;
|
||||
|
||||
return $instance ??= new self();
|
||||
}
|
||||
|
||||
public function getEventLogger(
|
||||
string $name,
|
||||
?string $version = null,
|
||||
?string $schemaUrl = null,
|
||||
iterable $attributes = [],
|
||||
): EventLoggerInterface {
|
||||
return NoopEventLogger::instance();
|
||||
}
|
||||
}
|
||||
|
|
@ -17,7 +17,6 @@ use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
|||
use OpenTelemetry\SDK\Common\Attribute\Attributes;
|
||||
use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactory;
|
||||
use OpenTelemetry\SDK\Common\InstrumentationScope\Configurator;
|
||||
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\LoggerConfig;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\LogRecordProcessorInterface;
|
||||
|
|
@ -365,7 +364,6 @@ final class OpenTelemetrySdk implements ComponentProvider
|
|||
resource: $resource,
|
||||
configurator: $configurator,
|
||||
);
|
||||
$eventLoggerProvider = new EventLoggerProvider($loggerProvider);
|
||||
|
||||
// </editor-fold>
|
||||
|
||||
|
|
@ -400,7 +398,6 @@ final class OpenTelemetrySdk implements ComponentProvider
|
|||
$sdkBuilder->setTracerProvider($tracerProvider);
|
||||
$sdkBuilder->setMeterProvider($meterProvider);
|
||||
$sdkBuilder->setLoggerProvider($loggerProvider);
|
||||
$sdkBuilder->setEventLoggerProvider($eventLoggerProvider);
|
||||
|
||||
return $sdkBuilder;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,6 +78,10 @@ class LogsConverter
|
|||
private function convertLogRecord(ReadableLogRecord $record): LogRecord
|
||||
{
|
||||
$pLogRecord = new LogRecord();
|
||||
$eventName = $record->getEventName();
|
||||
if ($eventName !== null) {
|
||||
$pLogRecord->setEventName($eventName);
|
||||
}
|
||||
$pLogRecord->setBody(AttributesConverter::convertAnyValue($record->getBody()));
|
||||
$pLogRecord->setTimeUnixNano($record->getTimestamp() ?? 0);
|
||||
$pLogRecord->setObservedTimeUnixNano($record->getObservedTimestamp() ?? 0);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
"require": {
|
||||
"php": "^8.2",
|
||||
"php-http/discovery": "^1.14",
|
||||
"open-telemetry/gen-otlp-protobuf": "^1.1",
|
||||
"open-telemetry/gen-otlp-protobuf": "^1.5",
|
||||
"open-telemetry/api": "^1.0|^2.0",
|
||||
"open-telemetry/sdk": "^1.0|^2.0",
|
||||
"tbachert/spi": "^1.0.1"
|
||||
|
|
|
|||
|
|
@ -1,52 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\SDK\Logs;
|
||||
|
||||
use OpenTelemetry\API\Common\Time\ClockInterface;
|
||||
use OpenTelemetry\API\Logs\EventLoggerInterface;
|
||||
use OpenTelemetry\API\Logs\LoggerInterface;
|
||||
use OpenTelemetry\API\Logs\LogRecord;
|
||||
use OpenTelemetry\API\Logs\Severity;
|
||||
use OpenTelemetry\Context\Context;
|
||||
use OpenTelemetry\Context\ContextInterface;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
* @phan-suppress PhanDeprecatedInterface
|
||||
*/
|
||||
class EventLogger implements EventLoggerInterface
|
||||
{
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
public function __construct(
|
||||
private readonly LoggerInterface $logger,
|
||||
private readonly ClockInterface $clock,
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.32.0/specification/logs/event-sdk.md#emit-event
|
||||
*/
|
||||
public function emit(
|
||||
string $name,
|
||||
mixed $body = null,
|
||||
?int $timestamp = null,
|
||||
?ContextInterface $context = null,
|
||||
?Severity $severityNumber = null,
|
||||
iterable $attributes = [],
|
||||
): void {
|
||||
$logRecord = new LogRecord();
|
||||
$logRecord->setAttribute('event.name', $name);
|
||||
$logRecord->setAttributes($attributes);
|
||||
$logRecord->setAttribute('event.name', $name);
|
||||
$logRecord->setBody($body);
|
||||
$logRecord->setTimestamp($timestamp ?? $this->clock->now());
|
||||
$logRecord->setContext($context ?? Context::getCurrent());
|
||||
$logRecord->setSeverityNumber($severityNumber ?? Severity::INFO);
|
||||
|
||||
$this->logger->emit($logRecord);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\SDK\Logs;
|
||||
|
||||
use OpenTelemetry\API\Common\Time\Clock;
|
||||
use OpenTelemetry\API\Logs\EventLoggerInterface;
|
||||
|
||||
/**
|
||||
* @phan-suppress PhanDeprecatedInterface
|
||||
*/
|
||||
class EventLoggerProvider implements EventLoggerProviderInterface
|
||||
{
|
||||
public function __construct(private readonly LoggerProviderInterface $loggerProvider)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @phan-suppress PhanDeprecatedClass
|
||||
*/
|
||||
public function getEventLogger(string $name, ?string $version = null, ?string $schemaUrl = null, iterable $attributes = []): EventLoggerInterface
|
||||
{
|
||||
return new EventLogger(
|
||||
$this->loggerProvider->getLogger($name, $version, $schemaUrl, $attributes),
|
||||
Clock::getDefault(),
|
||||
);
|
||||
}
|
||||
|
||||
public function forceFlush(): bool
|
||||
{
|
||||
return $this->loggerProvider->forceFlush();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\SDK\Logs;
|
||||
|
||||
use OpenTelemetry\SDK\Sdk;
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
class EventLoggerProviderFactory
|
||||
{
|
||||
public function create(LoggerProviderInterface $loggerProvider): EventLoggerProviderInterface
|
||||
{
|
||||
if (Sdk::isDisabled()) {
|
||||
return NoopEventLoggerProvider::getInstance();
|
||||
}
|
||||
|
||||
return new EventLoggerProvider($loggerProvider);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\SDK\Logs;
|
||||
|
||||
use OpenTelemetry\API\Logs as API;
|
||||
|
||||
/**
|
||||
* @phan-suppress PhanDeprecatedInterface
|
||||
*/
|
||||
interface EventLoggerProviderInterface extends API\EventLoggerProviderInterface
|
||||
{
|
||||
public function forceFlush(): bool;
|
||||
}
|
||||
|
|
@ -68,6 +68,7 @@ class ConsoleExporter implements LogRecordExporterInterface
|
|||
'severity_number' => $record->getSeverityNumber(),
|
||||
'severity_text' => $record->getSeverityText(),
|
||||
'body' => $record->getBody(),
|
||||
'event_name' => $record->getEventName(),
|
||||
'trace_id' => $spanContext !== null ? $spanContext->getTraceId() : '',
|
||||
'span_id' => $spanContext !== null ? $spanContext->getSpanId() : '',
|
||||
'trace_flags' => $spanContext !== null ? $spanContext->getTraceFlags() : null,
|
||||
|
|
|
|||
|
|
@ -1,25 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\SDK\Logs;
|
||||
|
||||
use OpenTelemetry\API\Logs as API;
|
||||
|
||||
/**
|
||||
* @phan-suppress PhanDeprecatedInterface
|
||||
*/
|
||||
class NoopEventLoggerProvider extends API\NoopEventLoggerProvider implements EventLoggerProviderInterface
|
||||
{
|
||||
public static function getInstance(): self
|
||||
{
|
||||
static $instance;
|
||||
|
||||
return $instance ??= new self();
|
||||
}
|
||||
|
||||
public function forceFlush(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,6 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\SDK;
|
||||
|
||||
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
|
||||
use OpenTelemetry\API\Metrics\MeterProviderInterface;
|
||||
use OpenTelemetry\API\Trace\TracerProviderInterface;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
|
|
@ -20,7 +19,6 @@ class Sdk
|
|||
private readonly TracerProviderInterface $tracerProvider,
|
||||
private readonly MeterProviderInterface $meterProvider,
|
||||
private readonly LoggerProviderInterface $loggerProvider,
|
||||
private readonly EventLoggerProviderInterface $eventLoggerProvider,
|
||||
private readonly TextMapPropagatorInterface $propagator,
|
||||
) {
|
||||
}
|
||||
|
|
@ -60,14 +58,6 @@ class Sdk
|
|||
return $this->loggerProvider;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
public function getEventLoggerProvider(): EventLoggerProviderInterface
|
||||
{
|
||||
return $this->eventLoggerProvider;
|
||||
}
|
||||
|
||||
public function getPropagator(): TextMapPropagatorInterface
|
||||
{
|
||||
return $this->propagator;
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ use OpenTelemetry\SDK\Common\Configuration\EnvComponentLoaderRegistry;
|
|||
use OpenTelemetry\SDK\Common\Configuration\EnvResolver;
|
||||
use OpenTelemetry\SDK\Common\Configuration\Variables;
|
||||
use OpenTelemetry\SDK\Common\Util\ShutdownHandler;
|
||||
use OpenTelemetry\SDK\Logs\EventLoggerProviderFactory;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProviderFactory;
|
||||
use OpenTelemetry\SDK\Metrics\MeterProviderFactory;
|
||||
use OpenTelemetry\SDK\Propagation\LateBindingTextMapPropagator;
|
||||
|
|
@ -102,8 +101,7 @@ class SdkAutoloader
|
|||
->setSampler((new SamplerFactory())->create())
|
||||
->build();
|
||||
|
||||
$loggerProvider = (new LoggerProviderFactory())->create($meterProvider);
|
||||
$eventLoggerProvider = (new EventLoggerProviderFactory())->create($loggerProvider);
|
||||
$loggerProvider = (new LoggerProviderFactory())->create($meterProvider, $resource);
|
||||
|
||||
ShutdownHandler::register($tracerProvider->shutdown(...));
|
||||
ShutdownHandler::register($meterProvider->shutdown(...));
|
||||
|
|
@ -113,7 +111,6 @@ class SdkAutoloader
|
|||
->withTracerProvider($tracerProvider)
|
||||
->withMeterProvider($meterProvider)
|
||||
->withLoggerProvider($loggerProvider)
|
||||
->withEventLoggerProvider($eventLoggerProvider)
|
||||
->withPropagator($propagator)
|
||||
;
|
||||
}
|
||||
|
|
@ -143,7 +140,6 @@ class SdkAutoloader
|
|||
->withMeterProvider($sdk->getMeterProvider())
|
||||
->withLoggerProvider($sdk->getLoggerProvider())
|
||||
->withPropagator($sdk->getPropagator())
|
||||
->withEventLoggerProvider($sdk->getEventLoggerProvider())
|
||||
;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\SDK;
|
||||
|
||||
use OpenTelemetry\API\Instrumentation\Configurator;
|
||||
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
|
||||
use OpenTelemetry\API\Logs\NoopEventLoggerProvider;
|
||||
use OpenTelemetry\Context\Context;
|
||||
use OpenTelemetry\Context\Propagation\NoopTextMapPropagator;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
|
|
@ -24,7 +22,6 @@ class SdkBuilder
|
|||
private ?TracerProviderInterface $tracerProvider = null;
|
||||
private ?MeterProviderInterface $meterProvider = null;
|
||||
private ?LoggerProviderInterface $loggerProvider = null;
|
||||
private ?EventLoggerProviderInterface $eventLoggerProvider = null;
|
||||
private ?TextMapPropagatorInterface $propagator = null;
|
||||
private bool $autoShutdown = false;
|
||||
|
||||
|
|
@ -59,16 +56,6 @@ class SdkBuilder
|
|||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
public function setEventLoggerProvider(EventLoggerProviderInterface $eventLoggerProvider): self
|
||||
{
|
||||
$this->eventLoggerProvider = $eventLoggerProvider;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setPropagator(TextMapPropagatorInterface $propagator): self
|
||||
{
|
||||
$this->propagator = $propagator;
|
||||
|
|
@ -81,7 +68,6 @@ class SdkBuilder
|
|||
$tracerProvider = $this->tracerProvider ?? new NoopTracerProvider();
|
||||
$meterProvider = $this->meterProvider ?? new NoopMeterProvider();
|
||||
$loggerProvider = $this->loggerProvider ?? new NoopLoggerProvider();
|
||||
$eventLoggerProvider = $this->eventLoggerProvider ?? new NoopEventLoggerProvider();
|
||||
if ($this->autoShutdown) {
|
||||
// rector rule disabled in config, because ShutdownHandler::register() does not keep a strong reference to $this
|
||||
ShutdownHandler::register($tracerProvider->shutdown(...));
|
||||
|
|
@ -93,7 +79,6 @@ class SdkBuilder
|
|||
$tracerProvider,
|
||||
$meterProvider,
|
||||
$loggerProvider,
|
||||
$eventLoggerProvider,
|
||||
$this->propagator ?? NoopTextMapPropagator::getInstance(),
|
||||
);
|
||||
}
|
||||
|
|
@ -109,7 +94,6 @@ class SdkBuilder
|
|||
->withTracerProvider($sdk->getTracerProvider())
|
||||
->withMeterProvider($sdk->getMeterProvider())
|
||||
->withLoggerProvider($sdk->getLoggerProvider())
|
||||
->withEventLoggerProvider($sdk->getEventLoggerProvider())
|
||||
->storeInContext();
|
||||
|
||||
return Context::storage()->attach($context);
|
||||
|
|
|
|||
|
|
@ -10,11 +10,8 @@ use OpenTelemetry\API\Globals;
|
|||
use OpenTelemetry\API\Instrumentation\CachedInstrumentation;
|
||||
use OpenTelemetry\API\Instrumentation\Configurator;
|
||||
use OpenTelemetry\API\Instrumentation\ContextKeys;
|
||||
use OpenTelemetry\API\Logs\EventLoggerInterface;
|
||||
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
|
||||
use OpenTelemetry\API\Logs\LoggerInterface;
|
||||
use OpenTelemetry\API\Logs\LoggerProviderInterface;
|
||||
use OpenTelemetry\API\Logs\NoopEventLoggerProvider;
|
||||
use OpenTelemetry\API\Logs\NoopLoggerProvider;
|
||||
use OpenTelemetry\API\Metrics\MeterInterface;
|
||||
use OpenTelemetry\API\Metrics\MeterProviderInterface;
|
||||
|
|
@ -56,7 +53,6 @@ final class InstrumentationTest extends TestCase
|
|||
$this->assertInstanceOf(NoopMeterProvider::class, Globals::meterProvider());
|
||||
$this->assertInstanceOf(NoopTextMapPropagator::class, Globals::propagator());
|
||||
$this->assertInstanceOf(NoopLoggerProvider::class, Globals::loggerProvider());
|
||||
$this->assertInstanceOf(NoopEventLoggerProvider::class, Globals::eventLoggerProvider());
|
||||
}
|
||||
|
||||
public function test_globals_returns_configured_instances(): void
|
||||
|
|
@ -65,14 +61,12 @@ final class InstrumentationTest extends TestCase
|
|||
$meterProvider = $this->createMock(MeterProviderInterface::class);
|
||||
$propagator = $this->createMock(TextMapPropagatorInterface::class);
|
||||
$loggerProvider = $this->createMock(LoggerProviderInterface::class);
|
||||
$eventLoggerProvider = $this->createMock(EventLoggerProviderInterface::class);
|
||||
|
||||
$scope = Configurator::create()
|
||||
->withTracerProvider($tracerProvider)
|
||||
->withMeterProvider($meterProvider)
|
||||
->withPropagator($propagator)
|
||||
->withLoggerProvider($loggerProvider)
|
||||
->withEventLoggerProvider($eventLoggerProvider)
|
||||
->activate();
|
||||
|
||||
try {
|
||||
|
|
@ -80,7 +74,6 @@ final class InstrumentationTest extends TestCase
|
|||
$this->assertSame($meterProvider, Globals::meterProvider());
|
||||
$this->assertSame($propagator, Globals::propagator());
|
||||
$this->assertSame($loggerProvider, Globals::loggerProvider());
|
||||
$this->assertSame($eventLoggerProvider, Globals::eventLoggerProvider());
|
||||
} finally {
|
||||
$scope->detach();
|
||||
}
|
||||
|
|
@ -107,16 +100,12 @@ final class InstrumentationTest extends TestCase
|
|||
$logger = $this->createMock(LoggerInterface::class);
|
||||
$loggerProvider = $this->createMock(LoggerProviderInterface::class);
|
||||
$loggerProvider->method('getLogger')->willReturn($logger);
|
||||
$eventLogger = $this->createMock(EventLoggerInterface::class);
|
||||
$eventLoggerProvider = $this->createMock(EventLoggerProviderInterface::class);
|
||||
$eventLoggerProvider->method('getEventLogger')->willReturn($eventLogger);
|
||||
$propagator = $this->createMock(TextMapPropagatorInterface::class);
|
||||
|
||||
$scope = Configurator::create()
|
||||
->withTracerProvider($tracerProvider)
|
||||
->withMeterProvider($meterProvider)
|
||||
->withLoggerProvider($loggerProvider)
|
||||
->withEventLoggerProvider($eventLoggerProvider)
|
||||
->withPropagator($propagator)
|
||||
->activate();
|
||||
|
||||
|
|
@ -124,7 +113,6 @@ final class InstrumentationTest extends TestCase
|
|||
$this->assertSame($tracer, $instrumentation->tracer());
|
||||
$this->assertSame($meter, $instrumentation->meter());
|
||||
$this->assertSame($logger, $instrumentation->logger());
|
||||
$this->assertSame($eventLogger, $instrumentation->eventLogger());
|
||||
} finally {
|
||||
$scope->detach();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,8 +6,6 @@ namespace OpenTelemetry\Tests\Unit\Contrib\Otlp;
|
|||
|
||||
use OpenTelemetry\API\Trace\SpanContext;
|
||||
use OpenTelemetry\API\Trace\SpanInterface;
|
||||
use OpenTelemetry\Context\Context;
|
||||
use OpenTelemetry\Context\ContextKeys;
|
||||
use OpenTelemetry\Contrib\Otlp\LogsConverter;
|
||||
use OpenTelemetry\SDK\Logs\ReadableLogRecord;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
|
|
@ -20,8 +18,7 @@ class LogsConverterTest extends TestCase
|
|||
private const TRACE_ID_BASE16 = 'ff000000000000000000000000000041';
|
||||
private const SPAN_ID_BASE16 = 'ff00000000000041';
|
||||
private const FLAGS = 12;
|
||||
/** @var ReadableLogRecord&MockObject $record */
|
||||
private $record;
|
||||
private ReadableLogRecord&MockObject $record;
|
||||
private LogsConverter $converter;
|
||||
|
||||
public function setUp(): void
|
||||
|
|
@ -34,17 +31,27 @@ class LogsConverterTest extends TestCase
|
|||
{
|
||||
$this->record->method('getBody')->willReturn('body');
|
||||
|
||||
$request = $this->converter->convert([$this->record]);
|
||||
$converted = $this->converter->convert([$this->record]);
|
||||
/** @psalm-suppress InvalidArgument */
|
||||
$row = $request->getResourceLogs()[0]->getScopeLogs()[0]->getLogRecords()[0];
|
||||
$this->assertSame('body', $row->getBody()->getStringValue());
|
||||
$logRecord = $converted->getResourceLogs()[0]->getScopeLogs()[0]->getLogRecords()[0];
|
||||
$this->assertSame('body', $logRecord->getBody()->getStringValue());
|
||||
}
|
||||
|
||||
public function test_convert_event_name(): void
|
||||
{
|
||||
$this->record->method('getEventName')->willReturn('my.event');
|
||||
|
||||
$converted = $this->converter->convert([$this->record]);
|
||||
/** @psalm-suppress InvalidArgument */
|
||||
$logRecord = $converted->getResourceLogs()[0]->getScopeLogs()[0]->getLogRecords()[0];
|
||||
|
||||
$this->assertSame('my.event', $logRecord->getEventName());
|
||||
}
|
||||
|
||||
public function test_convert_with_context(): void
|
||||
{
|
||||
$spanContext = SpanContext::create(self::TRACE_ID_BASE16, self::SPAN_ID_BASE16, self::FLAGS);
|
||||
$span = $this->createMock(SpanInterface::class);
|
||||
$context = Context::getCurrent()->with(ContextKeys::span(), $span);
|
||||
$span->method('getContext')->willReturn($spanContext);
|
||||
$this->record->method('getSpanContext')->willReturn($spanContext);
|
||||
$request = $this->converter->convert([$this->record]);
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Logs;
|
||||
|
||||
use OpenTelemetry\SDK\Common\Configuration\Variables;
|
||||
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\EventLoggerProviderFactory;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProviderInterface;
|
||||
use OpenTelemetry\SDK\Logs\NoopEventLoggerProvider;
|
||||
use OpenTelemetry\Tests\TestState;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\Attributes\DataProvider;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
#[CoversClass(EventLoggerProviderFactory::class)]
|
||||
class EventLoggerProviderFactoryTest extends TestCase
|
||||
{
|
||||
use TestState;
|
||||
|
||||
/**
|
||||
* @psalm-suppress ArgumentTypeCoercion
|
||||
*/
|
||||
#[DataProvider('createProvider')]
|
||||
public function test_create(string $disabled, string $expected): void
|
||||
{
|
||||
$this->setEnvironmentVariable(Variables::OTEL_SDK_DISABLED, $disabled);
|
||||
$loggerProvider = $this->createMock(LoggerProviderInterface::class);
|
||||
$factory = new EventLoggerProviderFactory();
|
||||
$eventLoggerProvider = $factory->create($loggerProvider);
|
||||
$this->assertInstanceOf($expected, $eventLoggerProvider);
|
||||
}
|
||||
|
||||
public static function createProvider(): array
|
||||
{
|
||||
return [
|
||||
'sdk disabled' => [
|
||||
'true',
|
||||
NoopEventLoggerProvider::class,
|
||||
],
|
||||
'sdk enabled' => [
|
||||
'false',
|
||||
EventLoggerProvider::class,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Unit\SDK\Logs;
|
||||
|
||||
use OpenTelemetry\API\Logs\LoggerInterface;
|
||||
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProviderInterface;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
#[CoversClass(EventLoggerProvider::class)]
|
||||
class EventLoggerProviderTest extends TestCase
|
||||
{
|
||||
private EventLoggerProvider $eventLoggerProvider;
|
||||
/** @var LoggerProviderInterface&MockObject $loggerProvider */
|
||||
private LoggerProviderInterface $loggerProvider;
|
||||
private LoggerInterface $logger;
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
$this->loggerProvider = $this->createMock(LoggerProviderInterface::class);
|
||||
$this->logger = $this->createMock(LoggerInterface::class);
|
||||
$this->eventLoggerProvider = new EventLoggerProvider($this->loggerProvider);
|
||||
}
|
||||
|
||||
public function test_emit(): void
|
||||
{
|
||||
$this->loggerProvider->expects($this->once())->method('getLogger')->willReturn($this->logger);
|
||||
|
||||
$this->eventLoggerProvider->getEventLogger('event.logger', '1.0', 'https://example.org/schema', ['foo' => 'foo']);
|
||||
}
|
||||
|
||||
public function test_force_flush(): void
|
||||
{
|
||||
$this->loggerProvider->expects($this->once())->method('forceFlush')->willReturn(true);
|
||||
|
||||
$this->eventLoggerProvider->forceFlush();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,98 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Logs;
|
||||
|
||||
use OpenTelemetry\API\Common\Time\Clock;
|
||||
use OpenTelemetry\API\Common\Time\TestClock;
|
||||
use OpenTelemetry\API\Logs\LoggerInterface;
|
||||
use OpenTelemetry\API\Logs\LogRecord;
|
||||
use OpenTelemetry\API\Logs\Severity;
|
||||
use OpenTelemetry\Context\Context;
|
||||
use OpenTelemetry\SDK\Logs\EventLogger;
|
||||
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProviderInterface;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
#[CoversClass(EventLogger::class)]
|
||||
class EventLoggerTest extends TestCase
|
||||
{
|
||||
private LoggerInterface&MockObject $logger;
|
||||
private EventLoggerProvider $eventLoggerProvider;
|
||||
private TestClock $clock;
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
$this->clock = new TestClock();
|
||||
Clock::setDefault($this->clock);
|
||||
$this->logger = $this->createMock(LoggerInterface::class);
|
||||
$loggerProvider = $this->createMock(LoggerProviderInterface::class);
|
||||
$loggerProvider->method('getLogger')->willReturn($this->logger);
|
||||
$this->eventLoggerProvider = new EventLoggerProvider($loggerProvider);
|
||||
}
|
||||
|
||||
public function test_emit(): void
|
||||
{
|
||||
$this->logger->expects($this->once())->method('emit')->with($this->callback(function (LogRecord $logRecord) {
|
||||
$expected = (new LogRecord('some.payload'))
|
||||
->setSeverityNumber(Severity::ERROR)
|
||||
->setTimestamp(123456)
|
||||
->setContext(Context::getCurrent())
|
||||
->setAttributes([
|
||||
'event.name' => 'my.event',
|
||||
'bar' => 'bar',
|
||||
]);
|
||||
$this->assertEquals($expected, $logRecord);
|
||||
|
||||
return true;
|
||||
}));
|
||||
|
||||
$eventLogger = $this->eventLoggerProvider->getEventLogger('event.logger', '1.0', 'https://example.org/schema', ['foo' => 'foo']);
|
||||
$eventLogger->emit('my.event', 'some.payload', 123456, severityNumber: Severity::ERROR, attributes: ['bar' => 'bar']);
|
||||
}
|
||||
|
||||
public function test_default_values(): void
|
||||
{
|
||||
$this->logger->expects($this->once())->method('emit')->with($this->callback(function (LogRecord $logRecord) {
|
||||
$expected = (new LogRecord())
|
||||
->setSeverityNumber(Severity::INFO)
|
||||
->setTimestamp($this->clock->now())
|
||||
->setContext(Context::getCurrent())
|
||||
->setAttributes([
|
||||
'event.name' => 'my.event',
|
||||
]);
|
||||
$this->assertEquals($expected, $logRecord);
|
||||
|
||||
return true;
|
||||
}));
|
||||
|
||||
$eventLogger = $this->eventLoggerProvider->getEventLogger('event.logger');
|
||||
$eventLogger->emit('my.event');
|
||||
}
|
||||
|
||||
/**
|
||||
* "The user provided Attributes MUST not take over the event.name attribute"
|
||||
* @see https://github.com/open-telemetry/opentelemetry-specification/blob/v1.32.0/specification/logs/event-sdk.md#emit-event
|
||||
*/
|
||||
public function test_event_name_attribute_is_ignored(): void
|
||||
{
|
||||
$this->logger->expects($this->once())->method('emit')->with($this->callback(function (LogRecord $logRecord) {
|
||||
$expected = (new LogRecord())
|
||||
->setSeverityNumber(Severity::INFO)
|
||||
->setTimestamp($this->clock->now())
|
||||
->setContext(Context::getCurrent())
|
||||
->setAttributes([
|
||||
'event.name' => 'my.event',
|
||||
]);
|
||||
$this->assertEquals($expected, $logRecord);
|
||||
|
||||
return true;
|
||||
}));
|
||||
|
||||
$eventLogger = $this->eventLoggerProvider->getEventLogger('event.logger');
|
||||
$eventLogger->emit('my.event', attributes: ['event.name' => 'not.my.event']);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Unit\SDK\Logs;
|
||||
|
||||
use OpenTelemetry\SDK\Logs\NoopEventLoggerProvider;
|
||||
use PHPUnit\Framework\Attributes\CoversClass;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
#[CoversClass(NoopEventLoggerProvider::class)]
|
||||
class NoopEventLoggerProviderTest extends TestCase
|
||||
{
|
||||
public function test_get_instance(): void
|
||||
{
|
||||
$this->assertInstanceOf(NoopEventLoggerProvider::class, NoopEventLoggerProvider::getInstance());
|
||||
}
|
||||
|
||||
public function test_force_flush(): void
|
||||
{
|
||||
$this->assertTrue(NoopEventLoggerProvider::getInstance()->forceFlush());
|
||||
}
|
||||
}
|
||||
|
|
@ -7,7 +7,6 @@ namespace OpenTelemetry\Tests\Unit\SDK;
|
|||
use OpenTelemetry\API\Globals;
|
||||
use OpenTelemetry\API\Instrumentation\Configurator;
|
||||
use OpenTelemetry\API\LoggerHolder;
|
||||
use OpenTelemetry\API\Logs\NoopEventLoggerProvider;
|
||||
use OpenTelemetry\API\Logs\NoopLoggerProvider;
|
||||
use OpenTelemetry\API\Metrics\Noop\NoopMeterProvider;
|
||||
use OpenTelemetry\API\Trace\NoopTracerProvider;
|
||||
|
|
@ -70,7 +69,6 @@ class SdkAutoloaderTest extends TestCase
|
|||
$this->assertInstanceOf(NoopMeterProvider::class, Globals::meterProvider());
|
||||
$this->assertInstanceOf(NoopTracerProvider::class, Globals::tracerProvider());
|
||||
$this->assertInstanceOf(NoopLoggerProvider::class, Globals::loggerProvider());
|
||||
$this->assertInstanceOf(NoopEventLoggerProvider::class, Globals::eventLoggerProvider());
|
||||
$this->assertInstanceOf(NoopTextMapPropagator::class, Globals::propagator(), 'propagator not initialized by disabled autoloader');
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Tests\Unit\SDK;
|
||||
|
||||
use OpenTelemetry\API\Globals;
|
||||
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProviderInterface;
|
||||
use OpenTelemetry\SDK\Metrics\MeterProviderInterface;
|
||||
|
|
@ -21,7 +20,6 @@ class SdkBuilderTest extends TestCase
|
|||
private TracerProviderInterface $tracerProvider;
|
||||
private MeterProviderInterface $meterProvider;
|
||||
private LoggerProviderInterface $loggerProvider;
|
||||
private EventLoggerProviderInterface $eventLoggerProvider;
|
||||
private SdkBuilder $builder;
|
||||
|
||||
public function setUp(): void
|
||||
|
|
@ -30,11 +28,9 @@ class SdkBuilderTest extends TestCase
|
|||
$this->tracerProvider = $this->createMock(TracerProviderInterface::class);
|
||||
$this->meterProvider = $this->createMock(MeterProviderInterface::class);
|
||||
$this->loggerProvider = $this->createMock(LoggerProviderInterface::class);
|
||||
$this->eventLoggerProvider = $this->createMock(EventLoggerProviderInterface::class);
|
||||
$this->builder = (new SdkBuilder())
|
||||
->setMeterProvider($this->meterProvider)
|
||||
->setLoggerProvider($this->loggerProvider)
|
||||
->setEventLoggerProvider($this->eventLoggerProvider)
|
||||
->setPropagator($this->propagator)
|
||||
->setTracerProvider($this->tracerProvider)
|
||||
->setAutoShutdown(true);
|
||||
|
|
@ -47,7 +43,6 @@ class SdkBuilderTest extends TestCase
|
|||
$this->assertSame($this->propagator, $sdk->getPropagator());
|
||||
$this->assertSame($this->tracerProvider, $sdk->getTracerProvider());
|
||||
$this->assertSame($this->loggerProvider, $sdk->getLoggerProvider());
|
||||
$this->assertSame($this->eventLoggerProvider, $sdk->getEventLoggerProvider());
|
||||
}
|
||||
|
||||
public function test_build_and_register_global(): void
|
||||
|
|
@ -57,7 +52,6 @@ class SdkBuilderTest extends TestCase
|
|||
$this->assertSame($this->propagator, Globals::propagator());
|
||||
$this->assertSame($this->tracerProvider, Globals::tracerProvider());
|
||||
$this->assertSame($this->loggerProvider, Globals::loggerProvider());
|
||||
$this->assertSame($this->eventLoggerProvider, Globals::eventLoggerProvider());
|
||||
$scope->detach();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Tests\Unit\SDK;
|
||||
|
||||
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
use OpenTelemetry\SDK\Common\Configuration\Variables;
|
||||
use OpenTelemetry\SDK\Logs\LoggerProviderInterface;
|
||||
|
|
@ -26,7 +25,6 @@ class SdkTest extends TestCase
|
|||
private MeterProviderInterface $meterProvider;
|
||||
private TracerProviderInterface $tracerProvider;
|
||||
private LoggerProviderInterface $loggerProvider;
|
||||
private EventLoggerProviderInterface $eventLoggerProvider;
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
|
|
@ -34,7 +32,6 @@ class SdkTest extends TestCase
|
|||
$this->meterProvider = $this->createMock(MeterProviderInterface::class);
|
||||
$this->tracerProvider = $this->createMock(TracerProviderInterface::class);
|
||||
$this->loggerProvider = $this->createMock(LoggerProviderInterface::class);
|
||||
$this->eventLoggerProvider = $this->createMock(EventLoggerProviderInterface::class);
|
||||
}
|
||||
|
||||
public function tearDown(): void
|
||||
|
|
@ -90,11 +87,10 @@ class SdkTest extends TestCase
|
|||
|
||||
public function test_getters(): void
|
||||
{
|
||||
$sdk = new Sdk($this->tracerProvider, $this->meterProvider, $this->loggerProvider, $this->eventLoggerProvider, $this->propagator);
|
||||
$sdk = new Sdk($this->tracerProvider, $this->meterProvider, $this->loggerProvider, $this->propagator);
|
||||
$this->assertSame($this->propagator, $sdk->getPropagator());
|
||||
$this->assertSame($this->meterProvider, $sdk->getMeterProvider());
|
||||
$this->assertSame($this->tracerProvider, $sdk->getTracerProvider());
|
||||
$this->assertSame($this->loggerProvider, $sdk->getLoggerProvider());
|
||||
$this->assertSame($this->eventLoggerProvider, $sdk->getEventLoggerProvider());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue