PHP code example of rylxes / laravel-observability

1. Go to this page and download the library: Download rylxes/laravel-observability 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/ */

    

rylxes / laravel-observability example snippets


protected $middleware = [
    // ... other middleware
    \Rylxes\Observability\Middleware\RequestTracingMiddleware::class,
];

->withMiddleware(function (Middleware $middleware) {
    $middleware->append(\Rylxes\Observability\Middleware\RequestTracingMiddleware::class);
})

use Rylxes\Observability\Facades\Observability;

// Get performance analysis
$analysis = Observability::analyze(days: 7);

// Detect slow queries
$slowQueries = Observability::slowQueries()->analyze();

// Detect anomalies
$anomalies = Observability::anomalies()->detectAnomalies('response_time');

// Export Prometheus metrics
$metrics = Observability::exportMetrics();

'tracing' => [
    'enabled' => true,
    'capture_headers' => true,
    'capture_payload' => false, // Be careful with sensitive data
    'excluded_routes' => ['telescope.*', 'horizon.*'],
    'sample_rate' => 1.0, // 0.0 to 1.0 (1.0 = trace all)
],

'queries' => [
    'enabled' => true,
    'log_all' => false, // Only log slow queries
    'slow_threshold_ms' => 1000,
    'detect_duplicates' => true, // N+1 detection
],

'anomaly_detection' => [
    'enabled' => true,
    'z_score_threshold' => 3.0, // Standard deviations
    'min_data_points' => 100,
    'baseline_window_days' => 7,
],

'notifications' => [
    'slack' => ['enabled' => true, 'webhook_url' => env('...')],
    'telegram' => ['enabled' => true, 'bot_token' => env('...')],
    'throttle' => [
        'enabled' => true,
        'window_minutes' => 15,
        'max_alerts_per_window' => 1,
    ],
],

'retention' => [
    'traces_days' => 7,
    'queries_days' => 7,
    'metrics_days' => 30,
    'alerts_days' => 30,
],

'dashboard' => [
    'enabled' => true,
    'route_prefix' => 'admin/observability',
    'middleware' => ['web'],
    'guards' => ['web', 'sanctum'],
    'refresh_interval_seconds' => 30,
],

$result = Observability::anomalies()->detectAnomalies('response_time');

if ($result['status'] === 'success') {
    foreach ($result['anomalies'] as $anomaly) {
        echo "Anomaly: {$anomaly['metric_name']} - ";
        echo "Value: {$anomaly['value']} (Baseline: {$anomaly['baseline']})";
        echo "Deviation: {$anomaly['deviation_percent']}%";
    }
}
bash
php artisan observability:install
bash
php artisan observability:prune --force
bash
cd ..
composer create-project laravel/laravel observability-sandbox
cd observability-sandbox
composer config repositories.observability '{"type":"path","url":"../Observability Plugin","options":{"symlink":true}}'
composer