PHP code example of laratel / opentelemetry
1. Go to this page and download the library: Download laratel/opentelemetry 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/ */
laratel / opentelemetry example snippets
'providers' => [
// Other Service Providers...
Laratel\Opentelemetry\Providers\OpenTelemetryServiceProvider::class,
],
'otel' => [
'driver' => 'custom',
'via' => Laratel\Opentelemetry\Logger\OtelLoggerFactory::class,
'level' => 'debug',
],
protected $middleware = [
\Laratel\Opentelemetry\Middleware\OpenTelemetryMetricsMiddleware::class,
\Laratel\Opentelemetry\Middleware\OpenTelemetryTraceMiddleware::class,
];
protected $routeMiddleware = [
'opentelemetry.metrics' => \Laratel\Opentelemetry\Middleware\OpenTelemetryMetricsMiddleware::class,
'opentelemetry.trace' => \Laratel\Opentelemetry\Middleware\OpenTelemetryTraceMiddleware::class,
];
Route::middleware(['opentelemetry.metrics', 'opentelemetry.trace'])->group(function () {
Route::get('/example', function () {
return response()->json(['message' => 'Tracing and metrics enabled']);
});
});
use Illuminate\Support\Facades\Log;
Log::channel('otel')->info('Test log for OpenTelemetry collector', ['user' => 'example']);
use Laratel\Opentelemetry\Services\TraceService;
$traceService = app(TraceService::class);
$tracer = $traceService->getTracer();
$span = $tracer->spanBuilder('custom-operation')->startSpan();
$span->setAttribute('custom.attribute', 'value');
// Perform some operation
$span->end();
use Laratel\Opentelemetry\Services\MetricsService;
$metricsService = app(MetricsService::class);
$metricsService->metrics['requestCount']->add(1, ['route' => '/example']);
Route::middleware(['opentelemetry.metrics', 'opentelemetry.trace'])->get('/api/example', function () {
return response()->json(['message' => 'Telemetry data collected']);
});
bash
php artisan vendor:publish --provider="Laratel\Opentelemetry\Providers\OpenTelemetryServiceProvider"