Resources
You are viewing the English version of this page because it has not yet been fully translated. Interested in helping out? See Contributing.
O resursă reprezintă entitatea care produce telemetrie, descrisă prin intermediul atributelor de resursă. De exemplu, un proces care produce telemetrie și rulează într-un container în Kubernetes are un nume de proces, un nume de pod, un namespace și, eventual, un nume de Kubernetes deployment. Toate cele patru atribute pot fi incluse în resursă.
În backend-ul tău de observabilitate, poți utiliza informațiile despre resursă pentru a investiga mai bine comportamentele relevante. De exemplu, dacă datele de tracing sau metricile indică o latență ridicată în sistem, poți restrânge investigația la un anumit container, pod sau Kubernetes deployment.
Resource Detection
The PHP SDK detects resources from a variety of sources, and by default will use all available resource detectors:
- environment (
OTEL_RESOURCE_ATTRIBUTES,OTEL_SERVICE_NAME) - host information
- host operating system
- current process
- runtime
Disabling resource detection
By default, all SDK resource detectors are used, but you can use the environment
variable OTEL_PHP_DETECTORS to enable only certain detectors, or completely
disable them:
envhostosprocessprocess_runtimesdksdk_providedall- enable all resource detectorsnone- disable resource detection
For example, to enable only the env, host and sdk detectors:
env OTEL_PHP_DETECTORS=env,host,sdk \
php example.php
Custom resource detectors
Resource detectors for generic platforms or vendor-specific environments can be installed as composer packages.
For example, to install and enable the container resource detector:
composer require open-telemetry/detector-container
env OTEL_PHP_RESOURCE_DETECTORS=container \
php example.php
Note that installed detectors are automatically included in the default all
resource detector list.
Adding resources with environment variables
If there is not an SDK detector for the resource you need, you can add arbitrary
resources via the OTEL_RESOURCE_ATTRIBUTES environment variable, which is
interpreted by the env detector. This variable takes a comma-separated list of
key=value pairs, for example:
env OTEL_RESOURCE_ATTRIBUTES="service.name=my_service,service.namespace=demo,service.version=1.0,deployment.environment=development" \
php example.php
Adding resources in code
Custom resources can also be configured in your code. Here, the default resources (detected as described above) are merged with custom resources. The resources are then passed to the tracer provider, where they will be associated with all generated spans.
$resource = ResourceInfoFactory::defaultResource()->merge(ResourceInfo::create(Attributes::create([
ResourceAttributes::SERVICE_NAMESPACE => 'foo',
ResourceAttributes::SERVICE_NAME => 'bar',
ResourceAttributes::SERVICE_INSTANCE_ID => 1,
ResourceAttributes::SERVICE_VERSION => '0.1',
ResourceAttributes::DEPLOYMENT_ENVIRONMENT_NAME => 'development',
])));
$tracerProvider = new TracerProvider(
new SimpleSpanProcessor(
(new ConsoleSpanExporterFactory())->create()
),
null,
$resource
);
Comentariu
A fost utilă această pagină?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!