Merge branch 'main' into 2.x
This commit is contained in:
commit
b81968d55c
|
|
@ -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@fca7ace96b7d713c7035871441bd52efbe39e27e # v3.28.19
|
||||
uses: github/codeql-action/upload-sarif@ce28f5bb42b7a9f2c824e633a3f6ee835bab6858 # v3.29.0
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
|
|
|||
|
|
@ -381,6 +381,7 @@ return [
|
|||
'vendor/google/protobuf/src',
|
||||
'vendor/ramsey/uuid/src',
|
||||
'vendor/nyholm/psr7-server/src',
|
||||
'vendor/symfony/config',
|
||||
],
|
||||
|
||||
// A list of individual files to include in analysis
|
||||
|
|
|
|||
|
|
@ -78,11 +78,7 @@
|
|||
"OpenTelemetry\\Tests\\": "tests/",
|
||||
"OpenTelemetry\\Example\\": "examples/src/",
|
||||
"ExampleSDK\\ComponentProvider\\": "tests/Unit/Config/SDK/Configuration/ExampleSdk/"
|
||||
},
|
||||
"files": [
|
||||
"examples/src/_register.php",
|
||||
"tests/_register.php"
|
||||
]
|
||||
}
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-grpc": "*",
|
||||
|
|
@ -126,8 +122,21 @@
|
|||
"target-directory": "vendor-bin",
|
||||
"forward-command": true
|
||||
},
|
||||
"spi-config": {
|
||||
"autoload-files": [
|
||||
"examples/src/_register.php",
|
||||
"src/API/_register.php",
|
||||
"src/Config/SDK/_register.php",
|
||||
"src/Contrib/Otlp/_register.php",
|
||||
"src/Contrib/Grpc/_register.php",
|
||||
"src/Contrib/Zipkin/_register.php",
|
||||
"src/SDK/_register.php",
|
||||
"tests/_register.php"
|
||||
],
|
||||
"prune-autoload-files": true
|
||||
},
|
||||
"spi": {
|
||||
"OpenTelemetry\\Config\\SDK\\Configuration\\ComponentProvider": [
|
||||
"OpenTelemetry\\API\\Configuration\\Config\\ComponentProvider": [
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Propagator\\TextMapPropagatorB3",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Propagator\\TextMapPropagatorB3Multi",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Propagator\\TextMapPropagatorBaggage",
|
||||
|
|
@ -181,17 +190,18 @@
|
|||
"OpenTelemetry\\Tests\\Integration\\Config\\ComponentProvider\\Propagator\\TextMapPropagatorXray",
|
||||
"OpenTelemetry\\Tests\\Integration\\Config\\ComponentProvider\\Propagator\\TextMapPropagatorOtTrace"
|
||||
],
|
||||
"autoload-files": [
|
||||
"examples/src/_register.php",
|
||||
"src/API/_register.php",
|
||||
"src/Config/SDK/_register.php",
|
||||
"src/Contrib/Otlp/_register.php",
|
||||
"src/Contrib/Grpc/_register.php",
|
||||
"src/Contrib/Zipkin/_register.php",
|
||||
"src/SDK/_register.php",
|
||||
"tests/_register.php"
|
||||
"OpenTelemetry\\API\\Configuration\\ConfigEnv\\EnvComponentLoader": [
|
||||
"OpenTelemetry\\API\\Instrumentation\\Configuration\\General\\ConfigEnv\\EnvComponentLoaderHttpConfig",
|
||||
"OpenTelemetry\\API\\Instrumentation\\Configuration\\General\\ConfigEnv\\EnvComponentLoaderPeerConfig",
|
||||
|
||||
"OpenTelemetry\\Example\\ExampleConfigLoader"
|
||||
],
|
||||
"prune-autoload-files": true
|
||||
"OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [
|
||||
"OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager"
|
||||
],
|
||||
"OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\Instrumentation": [
|
||||
"OpenTelemetry\\Example\\ExampleInstrumentation"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,2 +1,8 @@
|
|||
deptrac:
|
||||
skip_violations:
|
||||
OpenTelemetry\API\Configuration\Config\ComponentProvider:
|
||||
- Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition
|
||||
- Symfony\Component\Config\Definition\Builder\NodeBuilder
|
||||
OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry:
|
||||
- Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition
|
||||
- Symfony\Component\Config\Definition\Builder\NodeDefinition
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ declare(strict_types=1);
|
|||
namespace _;
|
||||
|
||||
use Nevay\SPI\ServiceLoader;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Globals;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\ExtensionHookManager;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\Instrumentation;
|
||||
use OpenTelemetry\Config\SDK\Configuration;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Example\Example;
|
||||
use const PHP_EOL;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace _;
|
||||
|
||||
use OpenTelemetry\Example\Example;
|
||||
use const PHP_EOL;
|
||||
use function putenv;
|
||||
|
||||
/**
|
||||
* This example uses SPI (see root composer.json extra.spi) to configure an example auto-instrumentation from environment variables.
|
||||
*/
|
||||
// php examples/instrumentation/configure_instrumentation_env.php
|
||||
putenv('OTEL_PHP_AUTOLOAD_ENABLED=true');
|
||||
putenv('OTEL_PHP_EXAMPLE_INSTRUMENTATION_SPAN_NAME=example span');
|
||||
putenv('OTEL_TRACES_EXPORTER=console');
|
||||
putenv('OTEL_METRICS_EXPORTER=none');
|
||||
putenv('OTEL_LOGS_EXPORTER=none');
|
||||
|
||||
require __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
echo (new Example())->test(), PHP_EOL;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
file_format: '0.3'
|
||||
file_format: '0.4'
|
||||
|
||||
propagator:
|
||||
composite: []
|
||||
|
|
|
|||
|
|
@ -9,13 +9,8 @@ use OpenTelemetry\API\Instrumentation\AutoInstrumentation\InstrumentationConfigu
|
|||
final class ExampleConfig implements InstrumentationConfiguration
|
||||
{
|
||||
public function __construct(
|
||||
public readonly string $spanName,
|
||||
public readonly string $spanName = 'example',
|
||||
public readonly bool $enabled = true,
|
||||
) {
|
||||
}
|
||||
|
||||
public static function default(): self
|
||||
{
|
||||
return new self('example');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Example;
|
||||
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvComponentLoader;
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvComponentLoaderRegistry;
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvResolver;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\InstrumentationConfiguration;
|
||||
|
||||
/**
|
||||
* @implements EnvComponentLoader<InstrumentationConfiguration>
|
||||
*/
|
||||
final class ExampleConfigLoader implements EnvComponentLoader
|
||||
{
|
||||
public function load(EnvResolver $env, EnvComponentLoaderRegistry $registry, Context $context): InstrumentationConfiguration
|
||||
{
|
||||
return new ExampleConfig(
|
||||
spanName: $env->string('OTEL_PHP_EXAMPLE_INSTRUMENTATION_SPAN_NAME') ?? 'example',
|
||||
);
|
||||
}
|
||||
|
||||
public function name(): string
|
||||
{
|
||||
return ExampleConfig::class;
|
||||
}
|
||||
}
|
||||
|
|
@ -4,10 +4,10 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Example;
|
||||
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\InstrumentationConfiguration;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ final class ExampleInstrumentation implements Instrumentation
|
|||
{
|
||||
public function register(HookManagerInterface $hookManager, ConfigProperties $configuration, InstrumentationContext $context): void
|
||||
{
|
||||
$config = $configuration->get(ExampleConfig::class) ?? ExampleConfig::default();
|
||||
$config = $configuration->get(ExampleConfig::class) ?? new ExampleConfig();
|
||||
if (!$config->enabled) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@ declare(strict_types=1);
|
|||
|
||||
use Nevay\SPI\ServiceLoader;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\Instrumentation;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\Example\ExampleConfigProvider;
|
||||
use OpenTelemetry\Example\ExampleInstrumentation;
|
||||
use OpenTelemetry\Example\TestResourceDetectorFactory;
|
||||
use OpenTelemetry\SDK\Resource\ResourceDetectorFactoryInterface;
|
||||
|
||||
ServiceLoader::register(Instrumentation::class, ExampleInstrumentation::class);
|
||||
//ServiceLoader::register(Instrumentation::class, ExampleInstrumentation::class);
|
||||
ServiceLoader::register(ResourceDetectorFactoryInterface::class, TestResourceDetectorFactory::class);
|
||||
ServiceLoader::register(ComponentProvider::class, ExampleConfigProvider::class);
|
||||
//ServiceLoader::register(ComponentProvider::class, ExampleConfigProvider::class);
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ CODE_DIR="${ROOT_DIR}/src/SemConv"
|
|||
SEMCONV_VERSION=1.32.0
|
||||
SPEC_VERSION=v$SEMCONV_VERSION
|
||||
SCHEMA_URL=https://opentelemetry.io/schemas/$SEMCONV_VERSION
|
||||
OTEL_WEAVER_IMG_VERSION=v0.14.0
|
||||
OTEL_WEAVER_IMG_VERSION=v0.15.2
|
||||
|
||||
rm -rf "${SPEC_DIR}"
|
||||
mkdir "${SPEC_DIR}"
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ interface ResourceAttributeValues
|
|||
* {{ member.brief or member.id }}
|
||||
*
|
||||
* @see ResourceAttributes::{{ c.attribute_name(attribute) }}
|
||||
{% if attribute.deprecated %}
|
||||
{% if attribute is deprecated %}
|
||||
* @deprecated {{ attribute.deprecated }}
|
||||
{% endif %}
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ text_maps:
|
|||
template[string[]]: string[]
|
||||
|
||||
templates:
|
||||
- pattern: Attributes.php.j2
|
||||
- template: Attributes.php.j2
|
||||
filter: >
|
||||
semconv_grouped_attributes({
|
||||
"exclude_root_namespace": $excluded_namespaces,
|
||||
|
|
@ -31,7 +31,7 @@ templates:
|
|||
})
|
||||
application_mode: single
|
||||
file_name: "TraceAttributes.php"
|
||||
- pattern: AttributeValues.php.j2
|
||||
- template: AttributeValues.php.j2
|
||||
filter: >
|
||||
semconv_grouped_attributes({
|
||||
"exclude_root_namespace": $excluded_namespaces,
|
||||
|
|
@ -39,7 +39,7 @@ templates:
|
|||
})
|
||||
application_mode: single
|
||||
file_name: "TraceAttributeValues.php"
|
||||
- pattern: ResourceAttributes.php.j2
|
||||
- template: ResourceAttributes.php.j2
|
||||
filter: >
|
||||
semconv_signal("resource"; {})
|
||||
| map(.attributes[])
|
||||
|
|
@ -47,7 +47,7 @@ templates:
|
|||
| map(.[-1])
|
||||
application_mode: single
|
||||
file_name: "ResourceAttributes.php"
|
||||
- pattern: ResourceAttributeValues.php.j2
|
||||
- template: ResourceAttributeValues.php.j2
|
||||
filter: >
|
||||
semconv_signal("resource"; {})
|
||||
| map(.attributes[])
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Configuration\Config;
|
||||
|
||||
use function class_alias;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
|
||||
/**
|
||||
* A component plugin that can be used to create a component.
|
||||
*
|
||||
* @template T
|
||||
*/
|
||||
interface ComponentPlugin
|
||||
{
|
||||
/**
|
||||
* Creates the component that is provided by this plugin.
|
||||
*
|
||||
* @param Context $context context used for creation
|
||||
* @return T created component
|
||||
*/
|
||||
public function create(Context $context): mixed;
|
||||
}
|
||||
|
||||
/** @phpstan-ignore-next-line @phan-suppress-next-line PhanUndeclaredClassReference */
|
||||
class_alias(ComponentPlugin::class, \OpenTelemetry\Config\SDK\Configuration\ComponentPlugin::class);
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Configuration\Config;
|
||||
|
||||
use function class_alias;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
/**
|
||||
* A component provider is responsible for interpreting configuration and returning an
|
||||
* implementation of a particular type.
|
||||
*
|
||||
* @template T
|
||||
*/
|
||||
interface ComponentProvider
|
||||
{
|
||||
/**
|
||||
* @param array $properties properties provided for this component provider
|
||||
* @param Context $context context that should be used to resolve component plugins
|
||||
* @return T created component, typehint has to specify the component type that is
|
||||
* provided by this component provider
|
||||
*
|
||||
* @see ComponentPlugin::create()
|
||||
*/
|
||||
public function createPlugin(array $properties, Context $context): mixed;
|
||||
|
||||
/**
|
||||
* Returns an array node describing the properties of this component provider.
|
||||
*
|
||||
* @param ComponentProviderRegistry $registry registry containing all available component providers
|
||||
* @param NodeBuilder $builder node builder used to create configuration nodes
|
||||
* @return ArrayNodeDefinition array node describing the properties
|
||||
*
|
||||
* @see ComponentProviderRegistry::component()
|
||||
* @see ComponentProviderRegistry::componentList()
|
||||
* @see ComponentProviderRegistry::componentNames()
|
||||
*/
|
||||
public function getConfig(ComponentProviderRegistry $registry, NodeBuilder $builder): ArrayNodeDefinition;
|
||||
}
|
||||
|
||||
/** @phpstan-ignore-next-line @phan-suppress-next-line PhanUndeclaredClassReference */
|
||||
class_alias(ComponentProvider::class, \OpenTelemetry\Config\SDK\Configuration\ComponentProvider::class);
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Configuration\Config;
|
||||
|
||||
use function class_alias;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
|
||||
|
||||
/**
|
||||
* A registry of component providers.
|
||||
*/
|
||||
interface ComponentProviderRegistry
|
||||
{
|
||||
/**
|
||||
* Creates a node to specify a component plugin.
|
||||
*
|
||||
* `$name: ?ComponentPlugin<$type>`
|
||||
*
|
||||
* ```
|
||||
* $name:
|
||||
* provider1:
|
||||
* property: value
|
||||
* anotherProperty: value
|
||||
* ```
|
||||
*
|
||||
* @param string $name name of configuration node
|
||||
* @param string $type type of the component plugin
|
||||
*/
|
||||
public function component(string $name, string $type): NodeDefinition;
|
||||
|
||||
/**
|
||||
* Creates a node to specify a list of component plugin.
|
||||
*
|
||||
* `$name: list<ComponentPlugin<$type>>`
|
||||
*
|
||||
* ```
|
||||
* $name:
|
||||
* - provider1:
|
||||
* property: value
|
||||
* anotherProperty: value
|
||||
* - provider2:
|
||||
* property: value
|
||||
* anotherProperty: value
|
||||
* ```
|
||||
*
|
||||
* @param string $name name of configuration node
|
||||
* @param string $type type of the component plugin
|
||||
*/
|
||||
public function componentList(string $name, string $type): ArrayNodeDefinition;
|
||||
|
||||
/**
|
||||
* Creates a node to specify a map of component plugin.
|
||||
*
|
||||
* `$name: list<ComponentPlugin<$type>>`
|
||||
*
|
||||
* ```
|
||||
* $name:
|
||||
* provider1:
|
||||
* property: value
|
||||
* anotherProperty: value
|
||||
* provider2:
|
||||
* property: value
|
||||
* anotherProperty: value
|
||||
* ```
|
||||
*
|
||||
* @param string $name name of configuration node
|
||||
* @param string $type type of the component plugin
|
||||
*/
|
||||
public function componentMap(string $name, string $type): ArrayNodeDefinition;
|
||||
|
||||
/**
|
||||
* Creates a node to specify a list of component plugin names.
|
||||
*
|
||||
* The providers cannot have required properties.
|
||||
*
|
||||
* `$name: list<ComponentPlugin<$type>>`
|
||||
*
|
||||
* ```
|
||||
* $name: [provider1, provider2]
|
||||
* ```
|
||||
*
|
||||
* @param string $name name of configuration node
|
||||
* @param string $type type of the component plugin
|
||||
*/
|
||||
public function componentNames(string $name, string $type): ArrayNodeDefinition;
|
||||
}
|
||||
|
||||
/** @phpstan-ignore-next-line @phan-suppress-next-line PhanUndeclaredClassReference */
|
||||
class_alias(ComponentProviderRegistry::class, \OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry::class);
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Configuration\ConfigEnv;
|
||||
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
|
||||
/**
|
||||
* @template T
|
||||
*/
|
||||
interface EnvComponentLoader
|
||||
{
|
||||
/**
|
||||
* @psalm-return T
|
||||
*/
|
||||
public function load(EnvResolver $env, EnvComponentLoaderRegistry $registry, Context $context): mixed;
|
||||
|
||||
public function name(): string;
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Configuration\ConfigEnv;
|
||||
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
|
||||
interface EnvComponentLoaderRegistry
|
||||
{
|
||||
/**
|
||||
* @template T
|
||||
* @param class-string<T> $type
|
||||
* @return T
|
||||
*/
|
||||
public function load(string $type, string $name, EnvResolver $env, Context $context): mixed;
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Configuration\ConfigEnv;
|
||||
|
||||
/**
|
||||
* Helper class to access environment-based configuration.
|
||||
*/
|
||||
interface EnvResolver
|
||||
{
|
||||
/**
|
||||
* Resolves a string-valued environment variable.
|
||||
*
|
||||
* @param string $name environment variable name
|
||||
* @return string|null value of the environment variable, or null if not set or invalid
|
||||
*
|
||||
* @see https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#string
|
||||
*/
|
||||
public function string(string $name): ?string;
|
||||
|
||||
/**
|
||||
* Resolves an enum-valued environment variable.
|
||||
*
|
||||
* @param string $name environment variable name
|
||||
* @param list<string> $values list of permissible enum values
|
||||
* @return string|null value of the environment variable, of null if not set or invalid
|
||||
*
|
||||
* @see https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#enum
|
||||
*/
|
||||
public function enum(string $name, array $values): ?string;
|
||||
|
||||
/**
|
||||
* Resolves a boolean-valued environment variable.
|
||||
*
|
||||
* Allowed values:
|
||||
* - case-insensitive "true"
|
||||
* - case-insensitive "false"
|
||||
*
|
||||
* @param string $name environment variable name
|
||||
* @return bool|null value of the environment variable, or null if not set or invalid
|
||||
*
|
||||
* @see https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#boolean-value
|
||||
*/
|
||||
public function bool(string $name): ?bool;
|
||||
|
||||
/**
|
||||
* Resolves an integer-valued environment variable.
|
||||
*
|
||||
* @param string $name environment variable name
|
||||
* @param int|null $min lower limit (inclusive), defaults to 0
|
||||
* @param int|null $max upper limit (inclusive), defaults to 2^31-1
|
||||
* @return int|null value of the environment variable, or null if not set or invalid
|
||||
*
|
||||
* @see https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#numeric-value
|
||||
*/
|
||||
public function int(string $name, ?int $min = 0, ?int $max = ~(-1 << 31)): int|null;
|
||||
|
||||
/**
|
||||
* Resolves a numeric-valued environment variable.
|
||||
*
|
||||
* @param string $name environment variable name
|
||||
* @param int|float|null $min lower limit (inclusive), defaults to 0
|
||||
* @param int|float|null $max upper limit (inclusive), defaults to 2^31-1
|
||||
* @return int|float|null value of the environment variable, or null if not set or invalid
|
||||
*
|
||||
* @see https://opentelemetry.io/docs/specs/otel/configuration/sdk-environment-variables/#numeric-value
|
||||
*/
|
||||
public function numeric(string $name, int|float|null $min = 0, int|float|null $max = ~(-1 << 31)): float|int|null;
|
||||
|
||||
/**
|
||||
* Resolves a list-valued environment variable.
|
||||
*
|
||||
* @param string $name environment variable name
|
||||
* @return list<string>|null value of the environment variable, or null if not set or invalid
|
||||
*/
|
||||
public function list(string $name): ?array;
|
||||
|
||||
/**
|
||||
* Resolves a map-valued environment variable.
|
||||
*
|
||||
* @param string $name environment variable name
|
||||
* @return array<string, string>|null value of the environment variable, or null if not set or invalid
|
||||
*/
|
||||
public function map(string $name): ?array;
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Configuration;
|
||||
|
||||
use function class_alias;
|
||||
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 Psr\Log\LoggerInterface;
|
||||
use Psr\Log\NullLogger;
|
||||
|
||||
final class Context
|
||||
{
|
||||
public function __construct(
|
||||
public readonly TracerProviderInterface $tracerProvider = new NoopTracerProvider(),
|
||||
public readonly MeterProviderInterface $meterProvider = new NoopMeterProvider(),
|
||||
public readonly LoggerProviderInterface $loggerProvider = new NoopLoggerProvider(),
|
||||
public readonly LoggerInterface $logger = new NullLogger(),
|
||||
) {
|
||||
}
|
||||
}
|
||||
|
||||
/** @phpstan-ignore-next-line @phan-suppress-next-line PhanUndeclaredClassReference */
|
||||
class_alias(Context::class, \OpenTelemetry\Config\SDK\Configuration\Context::class);
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Instrumentation\Configuration\General\ConfigEnv;
|
||||
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvComponentLoader;
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvComponentLoaderRegistry;
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvResolver;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\GeneralInstrumentationConfiguration;
|
||||
use OpenTelemetry\API\Instrumentation\Configuration\General\HttpConfig;
|
||||
|
||||
/**
|
||||
* @implements EnvComponentLoader<GeneralInstrumentationConfiguration>
|
||||
*/
|
||||
final class EnvComponentLoaderHttpConfig implements EnvComponentLoader
|
||||
{
|
||||
public function load(EnvResolver $env, EnvComponentLoaderRegistry $registry, Context $context): GeneralInstrumentationConfiguration
|
||||
{
|
||||
return new HttpConfig([
|
||||
'client' => [
|
||||
'request_captured_headers' => $env->list('OTEL_PHP_INSTRUMENTATION_HTTP_REQUEST_HEADERS') ?? [],
|
||||
'response_captured_headers' => $env->list('OTEL_PHP_INSTRUMENTATION_HTTP_RESPONSE_HEADERS') ?? [],
|
||||
],
|
||||
'server' => [
|
||||
'request_captured_headers' => $env->list('OTEL_PHP_INSTRUMENTATION_HTTP_REQUEST_HEADERS') ?? [],
|
||||
'response_captured_headers' => $env->list('OTEL_PHP_INSTRUMENTATION_HTTP_RESPONSE_HEADERS') ?? [],
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
public function name(): string
|
||||
{
|
||||
return HttpConfig::class;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\API\Instrumentation\Configuration\General\ConfigEnv;
|
||||
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvComponentLoader;
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvComponentLoaderRegistry;
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvResolver;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\GeneralInstrumentationConfiguration;
|
||||
use OpenTelemetry\API\Instrumentation\Configuration\General\PeerConfig;
|
||||
|
||||
/**
|
||||
* @implements EnvComponentLoader<GeneralInstrumentationConfiguration>
|
||||
*/
|
||||
final class EnvComponentLoaderPeerConfig implements EnvComponentLoader
|
||||
{
|
||||
public function load(EnvResolver $env, EnvComponentLoaderRegistry $registry, Context $context): GeneralInstrumentationConfiguration
|
||||
{
|
||||
return new PeerConfig([]);
|
||||
}
|
||||
|
||||
public function name(): string
|
||||
{
|
||||
return PeerConfig::class;
|
||||
}
|
||||
}
|
||||
|
|
@ -17,10 +17,11 @@
|
|||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^8.2",
|
||||
"open-telemetry/context": "^1.0|^2.0",
|
||||
"php": "^8.1",
|
||||
"open-telemetry/context": "^1.0",
|
||||
"psr/log": "^1.1|^2.0|^3.0",
|
||||
"tbachert/spi": "^1.0.1"
|
||||
"symfony/polyfill-php82": "^1.26",
|
||||
"tbachers/spi": "^1.0.1"
|
||||
},
|
||||
"conflict": {
|
||||
"open-telemetry/sdk": "<=1.0.8"
|
||||
|
|
@ -36,14 +37,19 @@
|
|||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-main": "1.1.x-dev",
|
||||
"dev-main": "1.4.x-dev",
|
||||
"dev-2.x": "2.x-dev"
|
||||
},
|
||||
"spi": {
|
||||
"OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [
|
||||
"OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager"
|
||||
]
|
||||
},
|
||||
"spi-config": {
|
||||
"autoload-files": [
|
||||
"_register.php"
|
||||
],
|
||||
"prune-autoload-files": true
|
||||
"autoload-files": [
|
||||
"_register.php"
|
||||
],
|
||||
"prune-autoload-files": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Detector;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Resource\Detectors\Composer as ComposerDetector;
|
||||
use OpenTelemetry\SDK\Resource\ResourceDetectorInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Detector;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Resource\Detectors\Host as HostDetector;
|
||||
use OpenTelemetry\SDK\Resource\ResourceDetectorInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Detector;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Resource\Detectors\Process as ProcessDetector;
|
||||
use OpenTelemetry\SDK\Resource\ResourceDetectorInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Instrumentation\General;
|
||||
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\GeneralInstrumentationConfiguration;
|
||||
use OpenTelemetry\API\Instrumentation\Configuration\General\HttpConfig;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Instrumentation\General;
|
||||
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\GeneralInstrumentationConfiguration;
|
||||
use OpenTelemetry\API\Instrumentation\Configuration\General\PeerConfig;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider;
|
||||
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\ConfigurationRegistry;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\GeneralInstrumentationConfiguration;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\InstrumentationConfiguration;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Logs;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Common\Services\Loader;
|
||||
use OpenTelemetry\SDK\Logs\Exporter\ConsoleExporter;
|
||||
use OpenTelemetry\SDK\Logs\LogRecordExporterInterface;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Logs;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Logs\Exporter\InMemoryExporter;
|
||||
use OpenTelemetry\SDK\Logs\LogRecordExporterInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Logs;
|
||||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\ComponentProvider\OutputStreamParser;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Contrib\Otlp\ContentTypes;
|
||||
use OpenTelemetry\Contrib\Otlp\LogsExporter;
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ namespace OpenTelemetry\Config\SDK\ComponentProvider\Logs;
|
|||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\API\Common\Time\ClockInterface;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Signals;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Contrib\Otlp\LogsExporter;
|
||||
use OpenTelemetry\Contrib\Otlp\OtlpUtil;
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ namespace OpenTelemetry\Config\SDK\ComponentProvider\Logs;
|
|||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\API\Common\Time\ClockInterface;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Contrib\Otlp\ContentTypes;
|
||||
use OpenTelemetry\Contrib\Otlp\LogsExporter;
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Logs;
|
||||
|
||||
use OpenTelemetry\API\Common\Time\Clock;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Logs\LogRecordExporterInterface;
|
||||
use OpenTelemetry\SDK\Logs\LogRecordProcessorInterface;
|
||||
use OpenTelemetry\SDK\Logs\Processor\BatchLogRecordProcessor;
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Logs;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Logs\LogRecordExporterInterface;
|
||||
use OpenTelemetry\SDK\Logs\LogRecordProcessorInterface;
|
||||
use OpenTelemetry\SDK\Logs\Processor\SimpleLogRecordProcessor;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Metrics;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Metrics\DefaultAggregationProviderInterface;
|
||||
use OpenTelemetry\SDK\Metrics\DefaultAggregationProviderTrait;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Metrics;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Metrics\MetricExporter\ConsoleMetricExporter;
|
||||
use OpenTelemetry\SDK\Metrics\MetricExporterInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Metrics;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Metrics\MetricExporter\InMemoryExporter;
|
||||
use OpenTelemetry\SDK\Metrics\MetricExporterInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Metrics;
|
||||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\ComponentProvider\OutputStreamParser;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Contrib\Otlp\ContentTypes;
|
||||
use OpenTelemetry\Contrib\Otlp\MetricExporter;
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ namespace OpenTelemetry\Config\SDK\ComponentProvider\Metrics;
|
|||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\API\Common\Time\ClockInterface;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Signals;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Contrib\Otlp\MetricExporter;
|
||||
use OpenTelemetry\Contrib\Otlp\OtlpUtil;
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ namespace OpenTelemetry\Config\SDK\ComponentProvider\Metrics;
|
|||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\API\Common\Time\ClockInterface;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Contrib\Otlp\ContentTypes;
|
||||
use OpenTelemetry\Contrib\Otlp\MetricExporter;
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Metrics;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Metrics\MetricExporterInterface;
|
||||
use OpenTelemetry\SDK\Metrics\MetricReader\ExportingReader;
|
||||
use OpenTelemetry\SDK\Metrics\MetricReaderInterface;
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK\ComponentProvider;
|
||||
|
||||
use OpenTelemetry\API\Common\Time\Clock;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Config\SDK\Parser\AttributesParser;
|
||||
use OpenTelemetry\Context\Propagation\MultiTextMapPropagator;
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Propagator;
|
||||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
use OpenTelemetry\Extension\Propagator\B3\B3Propagator;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Propagator;
|
||||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
use OpenTelemetry\Extension\Propagator\B3\B3Propagator;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Propagator;
|
||||
|
||||
use OpenTelemetry\API\Baggage\Propagation\BaggagePropagator;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Propagator;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Context\Propagation\MultiTextMapPropagator;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Propagator;
|
||||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
use OpenTelemetry\Extension\Propagator\Jaeger\JaegerPropagator;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Propagator;
|
||||
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Trace\Propagation\TraceContextPropagator;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Trace\Sampler\AlwaysOffSampler;
|
||||
use OpenTelemetry\SDK\Trace\SamplerInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Trace\Sampler\AlwaysOnSampler;
|
||||
use OpenTelemetry\SDK\Trace\SamplerInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Trace\Sampler\AlwaysOffSampler;
|
||||
use OpenTelemetry\SDK\Trace\Sampler\AlwaysOnSampler;
|
||||
use OpenTelemetry\SDK\Trace\Sampler\ParentBased;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Trace\Sampler\TraceIdRatioBasedSampler;
|
||||
use OpenTelemetry\SDK\Trace\SamplerInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Common\Services\Loader;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporter\ConsoleSpanExporter;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporter\InMemoryExporter;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
||||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\ComponentProvider\OutputStreamParser;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Contrib\Otlp\ContentTypes;
|
||||
use OpenTelemetry\Contrib\Otlp\SpanExporter;
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
|||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\API\Common\Time\ClockInterface;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Signals;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Contrib\Otlp\OtlpUtil;
|
||||
use OpenTelemetry\Contrib\Otlp\Protocols;
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
|||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\API\Common\Time\ClockInterface;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Contrib\Otlp\ContentTypes;
|
||||
use OpenTelemetry\Contrib\Otlp\SpanExporter;
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
|||
|
||||
use Nevay\SPI\ServiceProviderDependency\PackageDependency;
|
||||
use OpenTelemetry\API\Common\Time\ClockInterface;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\Contrib\Zipkin;
|
||||
use OpenTelemetry\SDK\Common\Services\Loader;
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
||||
|
||||
use OpenTelemetry\API\Common\Time\Clock;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
use OpenTelemetry\SDK\Trace\SpanProcessor\BatchSpanProcessor;
|
||||
use OpenTelemetry\SDK\Trace\SpanProcessorInterface;
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\ComponentProvider\Trace;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
use OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor;
|
||||
use OpenTelemetry\SDK\Trace\SpanProcessorInterface;
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK;
|
||||
|
||||
use Nevay\SPI\ServiceLoader;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\ComponentProvider\OpenTelemetrySdk;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ConfigurationFactory;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\EnvSourceReader;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\PhpIniEnvSource;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\ServerEnvSource;
|
||||
|
|
@ -49,7 +49,7 @@ final class Configuration
|
|||
static $factory;
|
||||
|
||||
return $factory ??= new ConfigurationFactory(
|
||||
ServiceLoader::load(ComponentProvider::class),
|
||||
self::loadComponentProviders(),
|
||||
new OpenTelemetrySdk(),
|
||||
new EnvSourceReader([
|
||||
new ServerEnvSource(),
|
||||
|
|
@ -57,4 +57,12 @@ final class Configuration
|
|||
]),
|
||||
);
|
||||
}
|
||||
|
||||
private static function loadComponentProviders(): iterable
|
||||
{
|
||||
yield from ServiceLoader::load(ComponentProvider::class);
|
||||
|
||||
/** @phpstan-ignore-next-line */
|
||||
yield from ServiceLoader::load(Configuration\ComponentProvider::class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,20 +2,6 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Config\SDK\Configuration;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
|
||||
/**
|
||||
* A component plugin that can be used to create a component.
|
||||
*
|
||||
* @template T
|
||||
*/
|
||||
interface ComponentPlugin
|
||||
{
|
||||
/**
|
||||
* Creates the component that is provided by this plugin.
|
||||
*
|
||||
* @param Context $context context used for creation
|
||||
* @return T created component
|
||||
*/
|
||||
public function create(Context $context): mixed;
|
||||
}
|
||||
interface_exists(ComponentPlugin::class);
|
||||
|
|
|
|||
|
|
@ -2,39 +2,6 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Config\SDK\Configuration;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
/**
|
||||
* A component provider is responsible for interpreting configuration and returning an
|
||||
* implementation of a particular type.
|
||||
*
|
||||
* @template T
|
||||
*/
|
||||
interface ComponentProvider
|
||||
{
|
||||
/**
|
||||
* @param array $properties properties provided for this component provider
|
||||
* @param Context $context context that should be used to resolve component plugins
|
||||
* @return T created component, typehint has to specify the component type that is
|
||||
* provided by this component provider
|
||||
*
|
||||
* @see ComponentPlugin::create()
|
||||
*/
|
||||
public function createPlugin(array $properties, Context $context): mixed;
|
||||
|
||||
/**
|
||||
* Returns an array node describing the properties of this component provider.
|
||||
*
|
||||
* @param ComponentProviderRegistry $registry registry containing all available component providers
|
||||
* @param NodeBuilder $builder node builder used to create configuration nodes
|
||||
* @return ArrayNodeDefinition array node describing the properties
|
||||
*
|
||||
* @see ComponentProviderRegistry::component()
|
||||
* @see ComponentProviderRegistry::componentList()
|
||||
* @see ComponentProviderRegistry::componentNames()
|
||||
*/
|
||||
public function getConfig(ComponentProviderRegistry $registry, NodeBuilder $builder): ArrayNodeDefinition;
|
||||
}
|
||||
interface_exists(ComponentProvider::class);
|
||||
|
|
|
|||
|
|
@ -2,86 +2,6 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Config\SDK\Configuration;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeDefinition;
|
||||
|
||||
/**
|
||||
* A registry of component providers.
|
||||
*/
|
||||
interface ComponentProviderRegistry
|
||||
{
|
||||
/**
|
||||
* Creates a node to specify a component plugin.
|
||||
*
|
||||
* `$name: ?ComponentPlugin<$type>`
|
||||
*
|
||||
* ```
|
||||
* $name:
|
||||
* provider1:
|
||||
* property: value
|
||||
* anotherProperty: value
|
||||
* ```
|
||||
*
|
||||
* @param string $name name of configuration node
|
||||
* @param string $type type of the component plugin
|
||||
*/
|
||||
public function component(string $name, string $type): NodeDefinition;
|
||||
|
||||
/**
|
||||
* Creates a node to specify a list of component plugin.
|
||||
*
|
||||
* `$name: list<ComponentPlugin<$type>>`
|
||||
*
|
||||
* ```
|
||||
* $name:
|
||||
* provider1:
|
||||
* property: value
|
||||
* anotherProperty: value
|
||||
* provider2:
|
||||
* property: value
|
||||
* anotherProperty: value
|
||||
* ```
|
||||
*
|
||||
* @param string $name name of configuration node
|
||||
* @param string $type type of the component plugin
|
||||
*/
|
||||
public function componentList(string $name, string $type): ArrayNodeDefinition;
|
||||
|
||||
/**
|
||||
* Creates a node to specify a map of component plugins.
|
||||
*
|
||||
* `$name: list<ComponentPlugin<$type>>`
|
||||
*
|
||||
* ```
|
||||
* $name:
|
||||
* provider1:
|
||||
* property: value
|
||||
* anotherProperty: value
|
||||
* provider2:
|
||||
* property: value
|
||||
* anotherProperty: value
|
||||
* ```
|
||||
*
|
||||
* @param string $name name of configuration node
|
||||
* @param string $type type of the component plugin
|
||||
*/
|
||||
public function componentMap(string $name, string $type): ArrayNodeDefinition;
|
||||
|
||||
/**
|
||||
* Creates a node to specify a list of component plugin names.
|
||||
*
|
||||
* The providers cannot have required properties.
|
||||
*
|
||||
* `$name: list<ComponentPlugin<$type>>`
|
||||
*
|
||||
* ```
|
||||
* $name: [provider1, provider2]
|
||||
* ```
|
||||
*
|
||||
* @param string $name name of configuration node
|
||||
* @param string $type type of the component plugin
|
||||
*/
|
||||
public function componentNames(string $name, string $type): ArrayNodeDefinition;
|
||||
}
|
||||
interface_exists(ComponentProviderRegistry::class);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ use function class_exists;
|
|||
use Exception;
|
||||
use function getcwd;
|
||||
use function is_file;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\EnvReader;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\EnvResourceChecker;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Internal\CompiledConfigurationFactory;
|
||||
|
|
|
|||
|
|
@ -2,29 +2,6 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Config\SDK\Configuration;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
|
||||
use OpenTelemetry\API\Metrics\MeterProviderInterface;
|
||||
use OpenTelemetry\API\Metrics\Noop\NoopMeterProvider;
|
||||
use OpenTelemetry\API\Trace\NoopTracerProvider;
|
||||
use OpenTelemetry\API\Trace\TracerProviderInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Psr\Log\NullLogger;
|
||||
|
||||
/**
|
||||
* Context used for component creation.
|
||||
*/
|
||||
final class Context
|
||||
{
|
||||
/**
|
||||
* @param TracerProviderInterface $tracerProvider tracer provider to use for self diagnostics
|
||||
* @param MeterProviderInterface $meterProvider meter provider to use for self diagnostics
|
||||
* @param LoggerInterface $logger logger to use for self diagnostics
|
||||
*/
|
||||
public function __construct(
|
||||
public readonly TracerProviderInterface $tracerProvider = new NoopTracerProvider(),
|
||||
public readonly MeterProviderInterface $meterProvider = new NoopMeterProvider(),
|
||||
public readonly LoggerInterface $logger = new NullLogger(),
|
||||
) {
|
||||
}
|
||||
}
|
||||
class_exists(Context::class);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\Configuration\Internal;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException;
|
||||
use Symfony\Component\Config\Definition\NodeInterface;
|
||||
use Symfony\Component\Config\Definition\Processor;
|
||||
|
|
|
|||
|
|
@ -4,16 +4,16 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\Configuration\Internal;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
|
||||
/**
|
||||
* @template T
|
||||
* @implements \OpenTelemetry\Config\SDK\Configuration\ComponentPlugin<T>
|
||||
* @implements \OpenTelemetry\API\Configuration\Config\ComponentPlugin<T>
|
||||
*
|
||||
* @internal
|
||||
*/
|
||||
final class ComponentPlugin implements \OpenTelemetry\Config\SDK\Configuration\ComponentPlugin
|
||||
final class ComponentPlugin implements \OpenTelemetry\API\Configuration\Config\ComponentPlugin
|
||||
{
|
||||
/**
|
||||
* @param array $properties resolved properties according to component provider config
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ use function count;
|
|||
use function implode;
|
||||
use InvalidArgumentException;
|
||||
use LogicException;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ResourceCollection;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use ReflectionClass;
|
||||
|
|
@ -30,7 +30,7 @@ use Symfony\Component\Config\Definition\Processor;
|
|||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class ComponentProviderRegistry implements \OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry, ResourceTrackable
|
||||
final class ComponentProviderRegistry implements \OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry, ResourceTrackable
|
||||
{
|
||||
/** @var iterable iterable<Normalization> */
|
||||
private readonly iterable $normalizations;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Config\SDK\Configuration\Internal;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\NodeInterface;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,12 +5,12 @@ declare(strict_types=1);
|
|||
namespace OpenTelemetry\Config\SDK;
|
||||
|
||||
use Nevay\SPI\ServiceLoader;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\ConfigurationRegistry;
|
||||
use OpenTelemetry\Config\SDK\ComponentProvider\InstrumentationConfigurationRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ConfigurationFactory;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\EnvSourceReader;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\PhpIniEnvSource;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\ServerEnvSource;
|
||||
|
|
@ -51,7 +51,7 @@ final class Instrumentation
|
|||
static $factory;
|
||||
|
||||
return $factory ??= new ConfigurationFactory(
|
||||
ServiceLoader::load(ComponentProvider::class),
|
||||
self::loadComponentProviders(),
|
||||
new InstrumentationConfigurationRegistry(),
|
||||
new EnvSourceReader([
|
||||
new ServerEnvSource(),
|
||||
|
|
@ -59,4 +59,12 @@ final class Instrumentation
|
|||
]),
|
||||
);
|
||||
}
|
||||
|
||||
private static function loadComponentProviders(): iterable
|
||||
{
|
||||
yield from ServiceLoader::load(ComponentProvider::class);
|
||||
|
||||
/** @phpstan-ignore-next-line */
|
||||
yield from ServiceLoader::load(Configuration\ComponentProvider::class);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ use OpenTelemetry\Config\SDK\ComponentProvider\Trace\SpanExporterOtlpHttp;
|
|||
use OpenTelemetry\Config\SDK\ComponentProvider\Trace\SpanExporterZipkin;
|
||||
use OpenTelemetry\Config\SDK\ComponentProvider\Trace\SpanProcessorBatch;
|
||||
use OpenTelemetry\Config\SDK\ComponentProvider\Trace\SpanProcessorSimple;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
|
||||
ServiceLoader::register(ComponentProvider::class, TextMapPropagatorB3::class);
|
||||
ServiceLoader::register(ComponentProvider::class, TextMapPropagatorB3Multi::class);
|
||||
|
|
|
|||
|
|
@ -18,15 +18,13 @@
|
|||
],
|
||||
"require": {
|
||||
"php": "^8.2",
|
||||
"open-telemetry/context": "^1.0|^2.0",
|
||||
"open-telemetry/sdk": "^1.0|^2.0",
|
||||
"open-telemetry/api": "~1.4.0",
|
||||
"open-telemetry/context": "^1.0",
|
||||
"open-telemetry/sdk": "^1.0",
|
||||
"symfony/config": "^6.4 || ^7.0",
|
||||
"tbachert/spi": "^1.0.1"
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"_register.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"OpenTelemetry\\Config\\SDK\\": ""
|
||||
}
|
||||
|
|
@ -42,8 +40,54 @@
|
|||
"dev-2.x": "2.x-dev"
|
||||
},
|
||||
"spi-config": {
|
||||
"autoload-files": true,
|
||||
"prune-autoload-files": true
|
||||
"autoload-files": true,
|
||||
"prune-autoload-files": true
|
||||
},
|
||||
"spi": {
|
||||
"OpenTelemetry\\API\\Configuration\\Config\\ComponentProvider": [
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Propagator\\TextMapPropagatorB3",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Propagator\\TextMapPropagatorB3Multi",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Propagator\\TextMapPropagatorBaggage",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Propagator\\TextMapPropagatorComposite",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Propagator\\TextMapPropagatorJaeger",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Propagator\\TextMapPropagatorTraceContext",
|
||||
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SamplerAlwaysOff",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SamplerAlwaysOn",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SamplerParentBased",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SamplerTraceIdRatioBased",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SpanExporterConsole",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SpanExporterMemory",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SpanExporterOtlpFile",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SpanExporterOtlpGrpc",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SpanExporterOtlpHttp",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SpanExporterZipkin",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SpanProcessorBatch",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Trace\\SpanProcessorSimple",
|
||||
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Metrics\\AggregationResolverDefault",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Metrics\\MetricExporterConsole",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Metrics\\MetricExporterMemory",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Metrics\\MetricExporterOtlpFile",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Metrics\\MetricExporterOtlpGrpc",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Metrics\\MetricExporterOtlpHttp",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Metrics\\MetricReaderPeriodic",
|
||||
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Logs\\LogRecordExporterConsole",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Logs\\LogRecordExporterMemory",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Logs\\LogRecordExporterOtlpFile",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Logs\\LogRecordExporterOtlpGrpc",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Logs\\LogRecordExporterOtlpHttp",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Logs\\LogRecordProcessorBatch",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Logs\\LogRecordProcessorSimple",
|
||||
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Detector\\Composer",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Detector\\Host",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Detector\\Process",
|
||||
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Instrumentation\\General\\HttpConfigProvider",
|
||||
"OpenTelemetry\\Config\\SDK\\ComponentProvider\\Instrumentation\\General\\PeerConfigProvider"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,80 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\SDK\Common\Configuration;
|
||||
|
||||
use function array_map;
|
||||
use function implode;
|
||||
use InvalidArgumentException;
|
||||
use LogicException;
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvComponentLoader;
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvResolver;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use ReflectionIntersectionType;
|
||||
use ReflectionMethod;
|
||||
use ReflectionNamedType;
|
||||
use ReflectionType;
|
||||
use ReflectionUnionType;
|
||||
use function sprintf;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class EnvComponentLoaderRegistry implements \OpenTelemetry\API\Configuration\ConfigEnv\EnvComponentLoaderRegistry
|
||||
{
|
||||
/**
|
||||
* @var array<string, array<string, EnvComponentLoader>>
|
||||
*/
|
||||
private array $loaders = [];
|
||||
|
||||
public function register(EnvComponentLoader $loader): EnvComponentLoaderRegistry
|
||||
{
|
||||
$name = $loader->name();
|
||||
$type = self::loadType($loader);
|
||||
if (isset($this->loaders[$type][$name])) {
|
||||
throw new LogicException(sprintf('Duplicate environment loader registered for "%s" "%s"', $type, $name));
|
||||
}
|
||||
|
||||
$this->loaders[$type][$name] = $loader;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function load(string $type, string $name, EnvResolver $env, Context $context): mixed
|
||||
{
|
||||
if (!$loader = $this->loaders[$type][$name] ?? null) {
|
||||
throw new InvalidArgumentException(sprintf('Loader for %s %s not found', $type, $name));
|
||||
}
|
||||
|
||||
return $loader->load($env, $this, $context);
|
||||
}
|
||||
|
||||
public function loadAll(string $type, EnvResolver $env, Context $context): iterable
|
||||
{
|
||||
foreach ($this->loaders[$type] ?? [] as $loader) {
|
||||
yield $loader->load($env, $this, $context);
|
||||
}
|
||||
}
|
||||
|
||||
private static function loadType(EnvComponentLoader $loader): string
|
||||
{
|
||||
/** @noinspection PhpUnhandledExceptionInspection */
|
||||
if ($returnType = (new ReflectionMethod($loader, 'load'))->getReturnType()) {
|
||||
return self::typeToString($returnType);
|
||||
}
|
||||
|
||||
return 'mixed';
|
||||
}
|
||||
|
||||
/** @phan-suppress PhanUndeclaredMethod */
|
||||
private static function typeToString(ReflectionType $type): string
|
||||
{
|
||||
/** @phpstan-ignore-next-line */
|
||||
return match ($type::class) {
|
||||
ReflectionNamedType::class => $type->getName(),
|
||||
ReflectionUnionType::class => implode('|', array_map(self::typeToString(...), $type->getTypes())),
|
||||
ReflectionIntersectionType::class => implode('&', array_map(self::typeToString(...), $type->getTypes())),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\SDK\Common\Configuration;
|
||||
|
||||
use function in_array;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
final class EnvResolver implements \OpenTelemetry\API\Configuration\ConfigEnv\EnvResolver
|
||||
{
|
||||
public function string(string $name): ?string
|
||||
{
|
||||
if (!Configuration::has($name)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Configuration::getString($name);
|
||||
}
|
||||
|
||||
public function enum(string $name, array $values): ?string
|
||||
{
|
||||
if (!Configuration::has($name)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$value = Configuration::getEnum($name);
|
||||
if (!in_array($value, $values, true)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
public function bool(string $name): ?bool
|
||||
{
|
||||
if (!Configuration::has($name)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Configuration::getBoolean($name);
|
||||
}
|
||||
|
||||
public function int(string $name, ?int $min = 0, ?int $max = ~(-1 << 31)): int|null
|
||||
{
|
||||
if (!Configuration::has($name)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$value = Configuration::getInt($name);
|
||||
if ($value < $min || $value > $max) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
public function numeric(string $name, float|int|null $min = 0, float|int|null $max = ~(-1 << 31)): float|int|null
|
||||
{
|
||||
if (!Configuration::has($name)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$value = Configuration::getFloat($name);
|
||||
if ($value < $min || $value > $max) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
public function list(string $name): ?array
|
||||
{
|
||||
if (!Configuration::has($name)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @var list<string> $value */
|
||||
$value = Configuration::getList($name);
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
public function map(string $name): ?array
|
||||
{
|
||||
if (!Configuration::has($name)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Configuration::getMap($name);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,14 +4,19 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\SDK;
|
||||
|
||||
use function class_exists;
|
||||
use Nevay\SPI\ServiceLoader;
|
||||
use OpenTelemetry\API\Behavior\LogsMessagesTrait;
|
||||
use OpenTelemetry\API\Configuration\Noop\NoopConfigProperties;
|
||||
use OpenTelemetry\API\Configuration\ConfigEnv\EnvComponentLoader;
|
||||
use OpenTelemetry\API\Configuration\ConfigProperties;
|
||||
use OpenTelemetry\API\Globals;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\ConfigurationRegistry;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\Context as InstrumentationContext;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\GeneralInstrumentationConfiguration;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\HookManager;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\HookManagerInterface;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\Instrumentation;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\InstrumentationConfiguration;
|
||||
use OpenTelemetry\API\Instrumentation\AutoInstrumentation\NoopHookManager;
|
||||
use OpenTelemetry\API\Instrumentation\Configurator;
|
||||
use OpenTelemetry\API\Logs\LateBindingLoggerProvider;
|
||||
|
|
@ -25,6 +30,8 @@ use OpenTelemetry\Config\SDK\Instrumentation as SdkInstrumentation;
|
|||
use OpenTelemetry\Context\Context;
|
||||
use OpenTelemetry\Context\Propagation\TextMapPropagatorInterface;
|
||||
use OpenTelemetry\SDK\Common\Configuration\Configuration;
|
||||
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;
|
||||
|
|
@ -150,10 +157,10 @@ class SdkAutoloader
|
|||
$files = Configuration::has(Variables::OTEL_EXPERIMENTAL_CONFIG_FILE)
|
||||
? Configuration::getList(Variables::OTEL_EXPERIMENTAL_CONFIG_FILE)
|
||||
: [];
|
||||
if (class_exists(SdkInstrumentation::class)) {
|
||||
if (class_exists(SdkInstrumentation::class) && $files) {
|
||||
$configuration = SdkInstrumentation::parseFile($files)->create();
|
||||
} else {
|
||||
$configuration = new NoopConfigProperties();
|
||||
$configuration = self::loadConfigPropertiesFromEnv();
|
||||
}
|
||||
$hookManager = self::getHookManager();
|
||||
$tracerProvider = self::createLateBindingTracerProvider();
|
||||
|
|
@ -172,6 +179,27 @@ class SdkAutoloader
|
|||
}
|
||||
}
|
||||
|
||||
private static function loadConfigPropertiesFromEnv(): ConfigProperties
|
||||
{
|
||||
$loaderRegistry = new EnvComponentLoaderRegistry();
|
||||
foreach (ServiceLoader::load(EnvComponentLoader::class) as $loader) {
|
||||
$loaderRegistry->register($loader);
|
||||
}
|
||||
|
||||
$env = new EnvResolver();
|
||||
$context = new \OpenTelemetry\API\Configuration\Context();
|
||||
|
||||
$configuration = new ConfigurationRegistry();
|
||||
foreach ($loaderRegistry->loadAll(GeneralInstrumentationConfiguration::class, $env, $context) as $instrumentation) {
|
||||
$configuration->add($instrumentation);
|
||||
}
|
||||
foreach ($loaderRegistry->loadAll(InstrumentationConfiguration::class, $env, $context) as $instrumentation) {
|
||||
$configuration->add($instrumentation);
|
||||
}
|
||||
|
||||
return $configuration;
|
||||
}
|
||||
|
||||
private static function createLateBindingTracerProvider(): TracerProviderInterface
|
||||
{
|
||||
return new LateBindingTracerProvider(static function (): TracerProviderInterface {
|
||||
|
|
|
|||
|
|
@ -17,11 +17,11 @@
|
|||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^8.2",
|
||||
"php": "^8.1",
|
||||
"ext-json": "*",
|
||||
"nyholm/psr7-server": "^1.1",
|
||||
"open-telemetry/api": "^1.0|^2.0",
|
||||
"open-telemetry/context": "^1.0|^2.0",
|
||||
"open-telemetry/api": "~1.4.0",
|
||||
"open-telemetry/context": "^1.0",
|
||||
"open-telemetry/sem-conv": "^1.0",
|
||||
"php-http/discovery": "^1.14",
|
||||
"psr/http-client-implementation": "^1.0",
|
||||
|
|
@ -31,6 +31,7 @@
|
|||
"psr/log": "^1.1|^2.0|^3.0",
|
||||
"ramsey/uuid": "^3.0 || ^4.0",
|
||||
"symfony/polyfill-mbstring": "^1.23",
|
||||
"symfony/polyfill-php82": "^1.26",
|
||||
"tbachert/spi": "^1.0.1"
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -55,10 +56,19 @@
|
|||
"dev-2.x": "2.x-dev"
|
||||
},
|
||||
"spi-config": {
|
||||
"autoload-files": [
|
||||
"_register.php"
|
||||
"autoload-files": [
|
||||
"_register.php"
|
||||
],
|
||||
"prune-autoload-files": true
|
||||
},
|
||||
"spi": {
|
||||
"OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [
|
||||
"OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager"
|
||||
],
|
||||
"prune-autoload-files": true
|
||||
"OpenTelemetry\\API\\Configuration\\ConfigEnv\\EnvComponentLoader": [
|
||||
"OpenTelemetry\\API\\Instrumentation\\Configuration\\General\\ConfigEnv\\EnvComponentLoaderHttpConfig",
|
||||
"OpenTelemetry\\API\\Instrumentation\\Configuration\\General\\ConfigEnv\\EnvComponentLoaderPeerConfig"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -532,12 +532,19 @@ interface ResourceAttributeValues
|
|||
public const OS_TYPE_SOLARIS = 'solaris';
|
||||
|
||||
/**
|
||||
* IBM z/OS
|
||||
* Deprecated. Use `zos` instead.
|
||||
*
|
||||
* @see ResourceAttributes::OS_TYPE
|
||||
*/
|
||||
public const OS_TYPE_Z_OS = 'z_os';
|
||||
|
||||
/**
|
||||
* IBM z/OS
|
||||
*
|
||||
* @see ResourceAttributes::OS_TYPE
|
||||
*/
|
||||
public const OS_TYPE_ZOS = 'zos';
|
||||
|
||||
/**
|
||||
* cpp
|
||||
*
|
||||
|
|
@ -622,4 +629,18 @@ interface ResourceAttributeValues
|
|||
*/
|
||||
public const TELEMETRY_SDK_LANGUAGE_WEBJS = 'webjs';
|
||||
|
||||
/**
|
||||
* [branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch)
|
||||
*
|
||||
* @see ResourceAttributes::VCS_REF_TYPE
|
||||
*/
|
||||
public const VCS_REF_TYPE_BRANCH = 'branch';
|
||||
|
||||
/**
|
||||
* [tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag)
|
||||
*
|
||||
* @see ResourceAttributes::VCS_REF_TYPE
|
||||
*/
|
||||
public const VCS_REF_TYPE_TAG = 'tag';
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -132,6 +132,36 @@ interface ResourceAttributes
|
|||
*/
|
||||
public const BROWSER_PLATFORM = 'browser.platform';
|
||||
|
||||
/**
|
||||
* The human readable name of the pipeline within a CI/CD system.
|
||||
*/
|
||||
public const CICD_PIPELINE_NAME = 'cicd.pipeline.name';
|
||||
|
||||
/**
|
||||
* The unique identifier of a pipeline run within a CI/CD system.
|
||||
*/
|
||||
public const CICD_PIPELINE_RUN_ID = 'cicd.pipeline.run.id';
|
||||
|
||||
/**
|
||||
* The [URL](https://wikipedia.org/wiki/URL) of the pipeline run, providing the complete address in order to locate and identify the pipeline run.
|
||||
*/
|
||||
public const CICD_PIPELINE_RUN_URL_FULL = 'cicd.pipeline.run.url.full';
|
||||
|
||||
/**
|
||||
* The unique identifier of a worker within a CICD system.
|
||||
*/
|
||||
public const CICD_WORKER_ID = 'cicd.worker.id';
|
||||
|
||||
/**
|
||||
* The name of a worker within a CICD system.
|
||||
*/
|
||||
public const CICD_WORKER_NAME = 'cicd.worker.name';
|
||||
|
||||
/**
|
||||
* The [URL](https://wikipedia.org/wiki/URL) of the worker, providing the complete address in order to locate and identify the worker.
|
||||
*/
|
||||
public const CICD_WORKER_URL_FULL = 'cicd.worker.url.full';
|
||||
|
||||
/**
|
||||
* The cloud account ID the resource is assigned to.
|
||||
*/
|
||||
|
|
@ -157,7 +187,7 @@ interface ResourceAttributes
|
|||
public const CLOUD_PROVIDER = 'cloud.provider';
|
||||
|
||||
/**
|
||||
* The geographical region the resource is running.
|
||||
* The geographical region within a cloud provider. When associated with a resource, this attribute specifies the region where the resource operates. When calling services or APIs deployed on a cloud, this attribute identifies the region where the called destination is deployed.
|
||||
*
|
||||
* Refer to your provider's docs to see the available regions, for example [Alibaba Cloud regions](https://www.alibabacloud.com/help/doc-detail/40654.htm), [AWS regions](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/), [Azure regions](https://azure.microsoft.com/global-infrastructure/geographies/), [Google Cloud regions](https://cloud.google.com/about/locations), or [Tencent Cloud regions](https://www.tencentcloud.com/document/product/213/6091).
|
||||
*/
|
||||
|
|
@ -377,7 +407,7 @@ interface ResourceAttributes
|
|||
* > [!WARNING]> This attribute may contain sensitive (PII) information. Caution should be taken when storing personal data or anything which can identify a user. GDPR and data protection laws may apply,
|
||||
* > ensure you do your own due diligence.> Due to these reasons, this identifier is not recommended for consumer applications and will likely result in rejection from both Google Play and App Store.
|
||||
* > However, it may be appropriate for specific enterprise scenarios, such as kiosk devices or enterprise-managed devices, with appropriate compliance clearance.
|
||||
* > Any instrumentation providing this identifier MUST implement it as an opt-in feature.> See [`app.installation.id`](/docs/attributes-registry/app.md#app-installation-id)> for a more privacy-preserving alternative.
|
||||
* > Any instrumentation providing this identifier MUST implement it as an opt-in feature.> See [`app.installation.id`](/docs/registry/attributes/app.md#app-installation-id)> for a more privacy-preserving alternative.
|
||||
*/
|
||||
public const DEVICE_ID = 'device.id';
|
||||
|
||||
|
|
@ -782,6 +812,27 @@ interface ResourceAttributes
|
|||
*/
|
||||
public const K8S_HPA_NAME = 'k8s.hpa.name';
|
||||
|
||||
/**
|
||||
* The API version of the target resource to scale for the HorizontalPodAutoscaler.
|
||||
*
|
||||
* This maps to the `apiVersion` field in the `scaleTargetRef` of the HPA spec.
|
||||
*/
|
||||
public const K8S_HPA_SCALETARGETREF_API_VERSION = 'k8s.hpa.scaletargetref.api_version';
|
||||
|
||||
/**
|
||||
* The kind of the target resource to scale for the HorizontalPodAutoscaler.
|
||||
*
|
||||
* This maps to the `kind` field in the `scaleTargetRef` of the HPA spec.
|
||||
*/
|
||||
public const K8S_HPA_SCALETARGETREF_KIND = 'k8s.hpa.scaletargetref.kind';
|
||||
|
||||
/**
|
||||
* The name of the target resource to scale for the HorizontalPodAutoscaler.
|
||||
*
|
||||
* This maps to the `name` field in the `scaleTargetRef` of the HPA spec.
|
||||
*/
|
||||
public const K8S_HPA_SCALETARGETREF_NAME = 'k8s.hpa.scaletargetref.name';
|
||||
|
||||
/**
|
||||
* The UID of the horizontal pod autoscaler.
|
||||
*/
|
||||
|
|
@ -970,6 +1021,11 @@ interface ResourceAttributes
|
|||
*/
|
||||
public const K8S_STATEFULSET_UID = 'k8s.statefulset.uid';
|
||||
|
||||
/**
|
||||
* Name of the logical partition that hosts a systems with a mainframe operating system.
|
||||
*/
|
||||
public const MAINFRAME_LPAR_NAME = 'mainframe.lpar.name';
|
||||
|
||||
/**
|
||||
* The digest of the OCI image manifest. For container images specifically is the digest by which the container image is known.
|
||||
*
|
||||
|
|
@ -1026,12 +1082,12 @@ interface ResourceAttributes
|
|||
public const PROCESS_COMMAND = 'process.command';
|
||||
|
||||
/**
|
||||
* All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`.
|
||||
* All the command arguments (including the command/executable itself) as received by the process. On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according to the list of null-delimited strings extracted from `proc/[pid]/cmdline`. For libc-based executables, this would be the full argv vector passed to `main`. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data.
|
||||
*/
|
||||
public const PROCESS_COMMAND_ARGS = 'process.command_args';
|
||||
|
||||
/**
|
||||
* The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead.
|
||||
* The full command used to launch the process as a single string representing the full command. On Windows, can be set to the result of `GetCommandLineW`. Do not set this if you have to assemble it just for monitoring; use `process.command_args` instead. SHOULD NOT be collected by default unless there is sanitization that excludes sensitive data.
|
||||
*/
|
||||
public const PROCESS_COMMAND_LINE = 'process.command_line';
|
||||
|
||||
|
|
@ -1173,6 +1229,53 @@ interface ResourceAttributes
|
|||
*/
|
||||
public const USER_AGENT_ORIGINAL = 'user_agent.original';
|
||||
|
||||
/**
|
||||
* The name of the [reference](https://git-scm.com/docs/gitglossary#def_ref) such as **branch** or **tag** in the repository.
|
||||
*
|
||||
* `head` refers to where you are right now; the current reference at a
|
||||
* given time.
|
||||
*/
|
||||
public const VCS_REF_HEAD_NAME = 'vcs.ref.head.name';
|
||||
|
||||
/**
|
||||
* The revision, literally [revised version](https://www.merriam-webster.com/dictionary/revision), The revision most often refers to a commit object in Git, or a revision number in SVN.
|
||||
*
|
||||
* `head` refers to where you are right now; the current reference at a
|
||||
* given time.The revision can be a full [hash value (see
|
||||
* glossary)](https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf),
|
||||
* of the recorded change to a ref within a repository pointing to a
|
||||
* commit [commit](https://git-scm.com/docs/git-commit) object. It does
|
||||
* not necessarily have to be a hash; it can simply define a [revision
|
||||
* number](https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html)
|
||||
* which is an integer that is monotonically increasing. In cases where
|
||||
* it is identical to the `ref.head.name`, it SHOULD still be included.
|
||||
* It is up to the implementer to decide which value to set as the
|
||||
* revision based on the VCS system and situational context.
|
||||
*/
|
||||
public const VCS_REF_HEAD_REVISION = 'vcs.ref.head.revision';
|
||||
|
||||
/**
|
||||
* The type of the [reference](https://git-scm.com/docs/gitglossary#def_ref) in the repository.
|
||||
*/
|
||||
public const VCS_REF_TYPE = 'vcs.ref.type';
|
||||
|
||||
/**
|
||||
* The human readable name of the repository. It SHOULD NOT include any additional identifier like Group/SubGroup in GitLab or organization in GitHub.
|
||||
*
|
||||
* Due to it only being the name, it can clash with forks of the same
|
||||
* repository if collecting telemetry across multiple orgs or groups in
|
||||
* the same backends.
|
||||
*/
|
||||
public const VCS_REPOSITORY_NAME = 'vcs.repository.name';
|
||||
|
||||
/**
|
||||
* The [canonical URL](https://support.google.com/webmasters/answer/10347851?hl=en#:~:text=A%20canonical%20URL%20is%20the,Google%20chooses%20one%20as%20canonical.) of the repository providing the complete HTTP(S) address in order to locate and identify the repository through a browser.
|
||||
*
|
||||
* In Git Version Control Systems, the canonical URL SHOULD NOT include
|
||||
* the `.git` extension.
|
||||
*/
|
||||
public const VCS_REPOSITORY_URL_FULL = 'vcs.repository.url.full';
|
||||
|
||||
/**
|
||||
* Additional description of the web engine (e.g. detailed version and edition information).
|
||||
*/
|
||||
|
|
@ -1188,4 +1291,14 @@ interface ResourceAttributes
|
|||
*/
|
||||
public const WEBENGINE_VERSION = 'webengine.version';
|
||||
|
||||
/**
|
||||
* The System Management Facility (SMF) Identifier uniquely identified a z/OS system within a SYSPLEX or mainframe environment and is used for system and performance analysis.
|
||||
*/
|
||||
public const ZOS_SMF_ID = 'zos.smf.id';
|
||||
|
||||
/**
|
||||
* The name of the SYSPLEX to which the z/OS system belongs too.
|
||||
*/
|
||||
public const ZOS_SYSPLEX_NAME = 'zos.sysplex.name';
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,48 @@ interface TraceAttributeValues
|
|||
* The URL of the OpenTelemetry schema for these values.
|
||||
*/
|
||||
public const SCHEMA_URL = 'https://opentelemetry.io/schemas/1.32.0';
|
||||
/**
|
||||
* Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time.
|
||||
*
|
||||
* @see TraceAttributes::ANDROID_APP_STATE
|
||||
*/
|
||||
public const ANDROID_APP_STATE_CREATED = 'created';
|
||||
|
||||
/**
|
||||
* Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state.
|
||||
*
|
||||
* @see TraceAttributes::ANDROID_APP_STATE
|
||||
*/
|
||||
public const ANDROID_APP_STATE_BACKGROUND = 'background';
|
||||
|
||||
/**
|
||||
* Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states.
|
||||
*
|
||||
* @see TraceAttributes::ANDROID_APP_STATE
|
||||
*/
|
||||
public const ANDROID_APP_STATE_FOREGROUND = 'foreground';
|
||||
|
||||
/**
|
||||
* Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has been called in the app for the first time.
|
||||
*
|
||||
* @see TraceAttributes::ANDROID_STATE
|
||||
*/
|
||||
public const ANDROID_STATE_CREATED = 'created';
|
||||
|
||||
/**
|
||||
* Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been called when the app was in the foreground state.
|
||||
*
|
||||
* @see TraceAttributes::ANDROID_STATE
|
||||
*/
|
||||
public const ANDROID_STATE_BACKGROUND = 'background';
|
||||
|
||||
/**
|
||||
* Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has been called when the app was in either the created or background states.
|
||||
*
|
||||
* @see TraceAttributes::ANDROID_STATE
|
||||
*/
|
||||
public const ANDROID_STATE_FOREGROUND = 'foreground';
|
||||
|
||||
/**
|
||||
* Exception was handled by the exception handling middleware.
|
||||
*
|
||||
|
|
@ -222,6 +264,27 @@ interface TraceAttributeValues
|
|||
*/
|
||||
public const CASSANDRA_CONSISTENCY_LEVEL_LOCAL_SERIAL = 'local_serial';
|
||||
|
||||
/**
|
||||
* The pipeline run is executing a build.
|
||||
*
|
||||
* @see TraceAttributes::CICD_PIPELINE_ACTION_NAME
|
||||
*/
|
||||
public const CICD_PIPELINE_ACTION_NAME_BUILD = 'BUILD';
|
||||
|
||||
/**
|
||||
* The pipeline run is executing.
|
||||
*
|
||||
* @see TraceAttributes::CICD_PIPELINE_ACTION_NAME
|
||||
*/
|
||||
public const CICD_PIPELINE_ACTION_NAME_RUN = 'RUN';
|
||||
|
||||
/**
|
||||
* The pipeline run is executing a sync.
|
||||
*
|
||||
* @see TraceAttributes::CICD_PIPELINE_ACTION_NAME
|
||||
*/
|
||||
public const CICD_PIPELINE_ACTION_NAME_SYNC = 'SYNC';
|
||||
|
||||
/**
|
||||
* The pipeline run finished successfully.
|
||||
*
|
||||
|
|
@ -285,6 +348,48 @@ interface TraceAttributeValues
|
|||
*/
|
||||
public const CICD_PIPELINE_RUN_STATE_FINALIZING = 'finalizing';
|
||||
|
||||
/**
|
||||
* The task run finished successfully.
|
||||
*
|
||||
* @see TraceAttributes::CICD_PIPELINE_TASK_RUN_RESULT
|
||||
*/
|
||||
public const CICD_PIPELINE_TASK_RUN_RESULT_SUCCESS = 'success';
|
||||
|
||||
/**
|
||||
* The task run did not finish successfully, eg. due to a compile error or a failing test. Such failures are usually detected by non-zero exit codes of the tools executed in the task run.
|
||||
*
|
||||
* @see TraceAttributes::CICD_PIPELINE_TASK_RUN_RESULT
|
||||
*/
|
||||
public const CICD_PIPELINE_TASK_RUN_RESULT_FAILURE = 'failure';
|
||||
|
||||
/**
|
||||
* The task run failed due to an error in the CICD system, eg. due to the worker being killed.
|
||||
*
|
||||
* @see TraceAttributes::CICD_PIPELINE_TASK_RUN_RESULT
|
||||
*/
|
||||
public const CICD_PIPELINE_TASK_RUN_RESULT_ERROR = 'error';
|
||||
|
||||
/**
|
||||
* A timeout caused the task run to be interrupted.
|
||||
*
|
||||
* @see TraceAttributes::CICD_PIPELINE_TASK_RUN_RESULT
|
||||
*/
|
||||
public const CICD_PIPELINE_TASK_RUN_RESULT_TIMEOUT = 'timeout';
|
||||
|
||||
/**
|
||||
* The task run was cancelled, eg. by a user manually cancelling the task run.
|
||||
*
|
||||
* @see TraceAttributes::CICD_PIPELINE_TASK_RUN_RESULT
|
||||
*/
|
||||
public const CICD_PIPELINE_TASK_RUN_RESULT_CANCELLATION = 'cancellation';
|
||||
|
||||
/**
|
||||
* The task run was skipped, eg. due to a precondition not being met.
|
||||
*
|
||||
* @see TraceAttributes::CICD_PIPELINE_TASK_RUN_RESULT
|
||||
*/
|
||||
public const CICD_PIPELINE_TASK_RUN_RESULT_SKIP = 'skip';
|
||||
|
||||
/**
|
||||
* build
|
||||
*
|
||||
|
|
@ -670,6 +775,27 @@ interface TraceAttributeValues
|
|||
*/
|
||||
public const CPU_MODE_KERNEL = 'kernel';
|
||||
|
||||
/**
|
||||
* Generation 0
|
||||
*
|
||||
* @see TraceAttributes::CPYTHON_GC_GENERATION
|
||||
*/
|
||||
public const CPYTHON_GC_GENERATION_GENERATION_0 = '0';
|
||||
|
||||
/**
|
||||
* Generation 1
|
||||
*
|
||||
* @see TraceAttributes::CPYTHON_GC_GENERATION
|
||||
*/
|
||||
public const CPYTHON_GC_GENERATION_GENERATION_1 = '1';
|
||||
|
||||
/**
|
||||
* Generation 2
|
||||
*
|
||||
* @see TraceAttributes::CPYTHON_GC_GENERATION
|
||||
*/
|
||||
public const CPYTHON_GC_GENERATION_GENERATION_2 = '2';
|
||||
|
||||
/**
|
||||
* all
|
||||
*
|
||||
|
|
@ -2484,6 +2610,76 @@ interface TraceAttributeValues
|
|||
*/
|
||||
public const HTTP_REQUEST_METHOD_OTHER = '_OTHER';
|
||||
|
||||
/**
|
||||
* The app has become `active`. Associated with UIKit notification `applicationDidBecomeActive`.
|
||||
*
|
||||
* @see TraceAttributes::IOS_APP_STATE
|
||||
*/
|
||||
public const IOS_APP_STATE_ACTIVE = 'active';
|
||||
|
||||
/**
|
||||
* The app is now `inactive`. Associated with UIKit notification `applicationWillResignActive`.
|
||||
*
|
||||
* @see TraceAttributes::IOS_APP_STATE
|
||||
*/
|
||||
public const IOS_APP_STATE_INACTIVE = 'inactive';
|
||||
|
||||
/**
|
||||
* The app is now in the background. This value is associated with UIKit notification `applicationDidEnterBackground`.
|
||||
*
|
||||
* @see TraceAttributes::IOS_APP_STATE
|
||||
*/
|
||||
public const IOS_APP_STATE_BACKGROUND = 'background';
|
||||
|
||||
/**
|
||||
* The app is now in the foreground. This value is associated with UIKit notification `applicationWillEnterForeground`.
|
||||
*
|
||||
* @see TraceAttributes::IOS_APP_STATE
|
||||
*/
|
||||
public const IOS_APP_STATE_FOREGROUND = 'foreground';
|
||||
|
||||
/**
|
||||
* The app is about to terminate. Associated with UIKit notification `applicationWillTerminate`.
|
||||
*
|
||||
* @see TraceAttributes::IOS_APP_STATE
|
||||
*/
|
||||
public const IOS_APP_STATE_TERMINATE = 'terminate';
|
||||
|
||||
/**
|
||||
* The app has become `active`. Associated with UIKit notification `applicationDidBecomeActive`.
|
||||
*
|
||||
* @see TraceAttributes::IOS_STATE
|
||||
*/
|
||||
public const IOS_STATE_ACTIVE = 'active';
|
||||
|
||||
/**
|
||||
* The app is now `inactive`. Associated with UIKit notification `applicationWillResignActive`.
|
||||
*
|
||||
* @see TraceAttributes::IOS_STATE
|
||||
*/
|
||||
public const IOS_STATE_INACTIVE = 'inactive';
|
||||
|
||||
/**
|
||||
* The app is now in the background. This value is associated with UIKit notification `applicationDidEnterBackground`.
|
||||
*
|
||||
* @see TraceAttributes::IOS_STATE
|
||||
*/
|
||||
public const IOS_STATE_BACKGROUND = 'background';
|
||||
|
||||
/**
|
||||
* The app is now in the foreground. This value is associated with UIKit notification `applicationWillEnterForeground`.
|
||||
*
|
||||
* @see TraceAttributes::IOS_STATE
|
||||
*/
|
||||
public const IOS_STATE_FOREGROUND = 'foreground';
|
||||
|
||||
/**
|
||||
* The app is about to terminate. Associated with UIKit notification `applicationWillTerminate`.
|
||||
*
|
||||
* @see TraceAttributes::IOS_STATE
|
||||
*/
|
||||
public const IOS_STATE_TERMINATE = 'terminate';
|
||||
|
||||
/**
|
||||
* Heap memory.
|
||||
*
|
||||
|
|
@ -2540,6 +2736,90 @@ interface TraceAttributeValues
|
|||
*/
|
||||
public const JVM_THREAD_STATE_TERMINATED = 'terminated';
|
||||
|
||||
/**
|
||||
* The container is being created.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_REASON
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_REASON_CONTAINER_CREATING = 'ContainerCreating';
|
||||
|
||||
/**
|
||||
* The container is in a crash loop back off state.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_REASON
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_REASON_CRASH_LOOP_BACK_OFF = 'CrashLoopBackOff';
|
||||
|
||||
/**
|
||||
* There was an error creating the container configuration.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_REASON
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_REASON_CREATE_CONTAINER_CONFIG_ERROR = 'CreateContainerConfigError';
|
||||
|
||||
/**
|
||||
* There was an error pulling the container image.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_REASON
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_REASON_ERR_IMAGE_PULL = 'ErrImagePull';
|
||||
|
||||
/**
|
||||
* The container image pull is in back off state.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_REASON
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_REASON_IMAGE_PULL_BACK_OFF = 'ImagePullBackOff';
|
||||
|
||||
/**
|
||||
* The container was killed due to out of memory.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_REASON
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_REASON_OOM_KILLED = 'OOMKilled';
|
||||
|
||||
/**
|
||||
* The container has completed execution.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_REASON
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_REASON_COMPLETED = 'Completed';
|
||||
|
||||
/**
|
||||
* There was an error with the container.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_REASON
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_REASON_ERROR = 'Error';
|
||||
|
||||
/**
|
||||
* The container cannot run.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_REASON
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_REASON_CONTAINER_CANNOT_RUN = 'ContainerCannotRun';
|
||||
|
||||
/**
|
||||
* The container has terminated.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_STATE
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_STATE_TERMINATED = 'terminated';
|
||||
|
||||
/**
|
||||
* The container is running.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_STATE
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_STATE_RUNNING = 'running';
|
||||
|
||||
/**
|
||||
* The container is waiting.
|
||||
*
|
||||
* @see TraceAttributes::K8S_CONTAINER_STATUS_STATE
|
||||
*/
|
||||
public const K8S_CONTAINER_STATUS_STATE_WAITING = 'waiting';
|
||||
|
||||
/**
|
||||
* Active namespace phase as described by [K8s API](https://pkg.go.dev/k8s.io/api@v0.31.3/core/v1#NamespacePhase)
|
||||
*
|
||||
|
|
@ -3299,12 +3579,19 @@ interface TraceAttributeValues
|
|||
public const OS_TYPE_SOLARIS = 'solaris';
|
||||
|
||||
/**
|
||||
* IBM z/OS
|
||||
* Deprecated. Use `zos` instead.
|
||||
*
|
||||
* @see TraceAttributes::OS_TYPE
|
||||
*/
|
||||
public const OS_TYPE_Z_OS = 'z_os';
|
||||
|
||||
/**
|
||||
* IBM z/OS
|
||||
*
|
||||
* @see TraceAttributes::OS_TYPE
|
||||
*/
|
||||
public const OS_TYPE_ZOS = 'zos';
|
||||
|
||||
/**
|
||||
* The builtin SDK batching span processor
|
||||
*
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Tests\Integration\Config\ComponentProvider\Detector;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Resource\ResourceDetectorInterface;
|
||||
use OpenTelemetry\SDK\Resource\ResourceInfo;
|
||||
use OpenTelemetry\SDK\Resource\ResourceInfoFactory;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Tests\Integration\Config\ComponentProvider\Detector;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Resource\ResourceDetectorInterface;
|
||||
use OpenTelemetry\SDK\Resource\ResourceInfo;
|
||||
use OpenTelemetry\SDK\Resource\ResourceInfoFactory;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Tests\Integration\Config\ComponentProvider\Metrics;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\SDK\Metrics\DefaultAggregationProviderInterface;
|
||||
use OpenTelemetry\SDK\Metrics\DefaultAggregationProviderTrait;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Tests\Integration\Config\ComponentProvider\Metrics;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use OpenTelemetry\SDK\Metrics\MetricExporterInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Tests\Integration\Config\ComponentProvider\Metrics;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\SDK\Metrics\MetricExporterInterface;
|
||||
use OpenTelemetry\SDK\Metrics\MetricReaderInterface;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Tests\Integration\Config\ComponentProvider\Propagator;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Context\Context as Ctx;
|
||||
use OpenTelemetry\Context\ContextInterface;
|
||||
use OpenTelemetry\Context\Propagation\PropagationGetterInterface;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Tests\Integration\Config\ComponentProvider\Propagator;
|
||||
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Context\Context as Ctx;
|
||||
use OpenTelemetry\Context\ContextInterface;
|
||||
use OpenTelemetry\Context\Propagation\PropagationGetterInterface;
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ namespace OpenTelemetry\Test\Unit\Config\SDK\Configuration;
|
|||
|
||||
use BadMethodCallException;
|
||||
use ExampleSDK\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ConfigurationFactory;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\ArrayEnvSource;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\EnvSourceReader;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Environment\PhpIniEnvSource;
|
||||
|
|
@ -48,7 +48,7 @@ final class ConfigurationFactoryTest extends TestCase
|
|||
// see example https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/file-configuration.md#environment-variable-substitution
|
||||
$factory = new ConfigurationFactory(
|
||||
[],
|
||||
new class() implements \OpenTelemetry\Config\SDK\Configuration\ComponentProvider {
|
||||
new class() implements \OpenTelemetry\API\Configuration\Config\ComponentProvider {
|
||||
public function createPlugin(array $properties, Context $context): mixed
|
||||
{
|
||||
throw new BadMethodCallException();
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ namespace ExampleSDK\ComponentProvider\Logs;
|
|||
|
||||
use BadMethodCallException;
|
||||
use ExampleSDK\Logs\LogRecordExporter;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ namespace ExampleSDK\ComponentProvider\Logs;
|
|||
|
||||
use BadMethodCallException;
|
||||
use ExampleSDK\Logs\LogRecordExporter;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Validation;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ namespace ExampleSDK\ComponentProvider\Logs;
|
|||
use BadMethodCallException;
|
||||
use ExampleSDK\Logs\LogRecordExporter;
|
||||
use ExampleSDK\Logs\LogRecordProcessor;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
|
|
|
|||
|
|
@ -7,10 +7,10 @@ namespace ExampleSDK\ComponentProvider\Logs;
|
|||
use BadMethodCallException;
|
||||
use ExampleSDK\Logs\LogRecordExporter;
|
||||
use ExampleSDK\Logs\LogRecordProcessor;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentPlugin;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentPlugin;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ namespace ExampleSDK\ComponentProvider\Metrics;
|
|||
|
||||
use BadMethodCallException;
|
||||
use ExampleSDK\Metrics\AggregationResolver;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ namespace ExampleSDK\ComponentProvider\Metrics;
|
|||
|
||||
use BadMethodCallException;
|
||||
use ExampleSDK\Metrics\AggregationResolver;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ namespace ExampleSDK\ComponentProvider\Metrics;
|
|||
use BadMethodCallException;
|
||||
use ExampleSDK\Metrics\AggregationResolver;
|
||||
use InvalidArgumentException;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProvider;
|
||||
use OpenTelemetry\Config\SDK\Configuration\ComponentProviderRegistry;
|
||||
use OpenTelemetry\Config\SDK\Configuration\Context;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProvider;
|
||||
use OpenTelemetry\API\Configuration\Config\ComponentProviderRegistry;
|
||||
use OpenTelemetry\API\Configuration\Context;
|
||||
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
||||
use Symfony\Component\Config\Definition\Builder\NodeBuilder;
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue