PHP code example of baddybugs / agent

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

    

baddybugs / agent example snippets


// config/baddybugs.php

'redact_keys' => [
    'password',
    'password_confirmation',
    'credit_card',
    'cvv',
    'ssn',
    'token',
    'secret',
    'api_key',
],

'redact_headers' => [
    'authorization',
    'cookie',
    'x-xsrf-token',
],

// config/baddybugs.php

'ignore_paths' => [
    'health-check',
    'livewire/*',
    'telescope/*',
    '_debugbar/*',
],

use BaddyBugs\Agent\Facades\BaddyBugs;

// Tracking automatique via recordLLMRequest()
BaddyBugs::recordLLMRequest(
    provider: 'openai',
    model: 'gpt-4',
    prompt: $prompt,
    response: $response,
    usage: ['prompt_tokens' => 100, 'completion_tokens' => 50],
    durationMs: 1500
);

$client = new \GuzzleHttp\Client([
    'handler' => BaddyBugs::getGuzzleMiddlewareStack(),
]);

// Toutes les requêtes sont automatiquement tracées
$response = $client->get('https://api.example.com/data');

use BaddyBugs\Agent\Facades\BaddyBugs;

BaddyBugs::record('custom', 'user_purchased', [
    'product_id' => 123,
    'amount' => 99.99,
    'currency' => 'EUR',
]);

// Tracker l'utilisation d'une feature
BaddyBugs::feature('dark_mode_enabled', [
    'user_segment' => 'premium',
]);

// Tracker un événement custom
BaddyBugs::track('button_clicked', [
    'button' => 'subscribe',
    'page' => 'pricing',
]);

use BaddyBugs\Agent\Breadcrumbs;

// Ajouter un breadcrumb pour contexte
Breadcrumbs::add('user.action', 'User clicked checkout button');
Breadcrumbs::add('api.call', 'Called payment gateway', ['gateway' => 'stripe']);

use BaddyBugs\Agent\Facades\BaddyBugs;

// Mesurer une opération
BaddyBugs::startTimer('heavy_computation');
// ... code coûteux ...
BaddyBugs::stopTimer('heavy_computation'); // Enregistre automatiquement la durée

// Ajouter du contexte à tous les événements
BaddyBugs::setContext([
    'tenant_id' => $tenant->id,
    'subscription_plan' => 'enterprise',
]);

try {
    // Code qui peut échouer
    $result = riskyOperation();
} catch (Exception $e) {
    // Reporter l'exception même si elle est gérée
    reportHandledException($e, [
        'operation' => 'risky_operation',
        'severity' => 'medium',
    ]);
    
    // Fallback
    $result = defaultValue();
}

// Vérifiez que l'agent est activé
php artisan tinker
>>> config('baddybugs.enabled')
true

// Vérifiez la clé API
>>> config('baddybugs.api_key')
"your-api-key"
bash
php artisan vendor:publish --tag=baddybugs-config

php artisan baddybugs:agent

┌─────────────────────────────────────────────────────────────────────┐
│ BOOTSTRAP (2.3ms)                                                    │
│ ├── PHP Version: 8.2.0                                               │
│ ├── Laravel Version: 11.0.0                                          │
│ └── SAPI: fpm-fcgi                                                   │
├─────────────────────────────────────────────────────────────────────┤
│ ROUTING (0.8ms)                                                      │
│ ├── Route: user.profile                                              │
│ ├── URI: /api/users/{user}                                           │
│ └── Methods: GET, HEAD                                               │
├─────────────────────────────────────────────────────────────────────┤
│ MIDDLEWARE (12.5ms)                                                  │
│ ├── Global: EncryptCookies, VerifyCsrfToken (5)                      │
│ ├── Route: auth, throttle:60,1 (2)                                   │
│ └── Total: 7 middlewares                                             │
├─────────────────────────────────────────────────────────────────────┤
│ CONTROLLER (45.2ms)                                                  │
│ ├── Class: App\Http\Controllers\UserController                       │
│ ├── Action: show                                                     │
│ └── Parameters: [user]                                               │
├─────────────────────────────────────────────────────────────────────┤
│ RESPONSE (1.2ms)                                                     │
│ ├── Status: 200                                                      │
│ ├── Content-Type: application/json                                   │
│ └── Size: 1,234 bytes                                                │
├─────────────────────────────────────────────────────────────────────┤
│ TERMINATE (0.5ms)                                                    │
│ └── Callbacks executed                                               │
└─────────────────────────────────────────────────────────────────────┘
TOTAL: 62.5ms | Memory Peak: 24.5 MB
bash
php artisan baddybugs:send --test
bash
# Information sur l'agent
php artisan about

# Envoyer les événements en attente
php artisan baddybugs:agent

# Vider le buffer
php artisan baddybugs:flush