PHP code example of laraotel / opentelemetry-laravel
1. Go to this page and download the library: Download laraotel/opentelemetry-laravel library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
laraotel / opentelemetry-laravel example snippets
protected $middleware = [
\LaraOTel\OpenTelemetryLaravel\Middlewares\MeasureRequest::class,
// ...
];
->withMiddleware(function (Middleware $middleware) {
$middleware->append(\LaraOTel\OpenTelemetryLaravel\Middlewares\MeasureRequest::class);
})
use LaraOTel\OpenTelemetryLaravel\Facades\Measure;
Measure::span('my-web-request')->measure(function() {
// ...
});
Measure::start('my-web-request');
// ...
Measure::end();
Measure::start('my-web-request', function($span) {
$span->setAttribute('key', 'value');
// ...
});
// ...
Measure::end();
$span = Measure::span('my-web-request');
$span->setAttribute('key', 'value');
$scope = $span->activate();
// ...
$span->end();
$scope->detach();
'default' => env('OTEL_DEFAULT_TRACER', 'log'),
# available drivers: `console`, `log`, `text`, `zipkin`, `http-json`, `http-binary`, `grpc`.
'tracers' => [
'console' => [
'driver' => 'console',
'transport' => 'stream',
'span_exporter' => 'console',
],
'log' => [
'driver' => 'log',
'transport' => 'stream',
'span_exporter' => 'console',
'endpoint' => storage_path('logs/otel.log'),
],
'text' => [
'driver' => 'text',
'transport' => 'stream',
'endpoint' => storage_path('logs/otel.text'),
],
'zipkin' => [
'driver' => 'zipkin',
'transport' => 'http',
'span_exporter' => 'otlp',
'endpoint' => env('OTEL_EXPORTER_ZIPKIN_ENDPOINT', 'http://zipkin:9411/api/v2/spans'),
'content_type' => 'application/json',
],
'http-json' => [
'driver' => 'http-json',
'transport' => 'http',
'span_exporter' => 'otlp',
'endpoint' => env('OTEL_HTTP_JSON_ENDPOINT', 'http://localhost:9411/v1/traces'),
'content_type' => 'application/json',
],
'http-binary' => [
'driver' => 'http-binary',
'transport' => 'http',
'span_exporter' => 'otlp',
'endpoint' => env('OTEL_HTTP_BINARY_ENDPOINT', 'http://localhost:4318/v1/traces'),
'content_type' => 'application/x-protobuf',
],
],
use LaraOTel\OpenTelemetryLaravel\Facades\Logger;
Logger::debug('my log message');
Logger::info('my log message');
Logger::warning('my log message');
Logger::error('my log message');
bash
php artisan vendor:publish --provider="LaraOTel\OpenTelemetryLaravel\OpenTelemetryServiceProvider" --tag="config"