perf-sentinel 0.8.10

CLI for perf-sentinel: polyglot performance anti-pattern detector
[
  {
    "timestamp": "2025-07-10T14:32:01.000Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-1",
    "service": "order-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM order_item WHERE order_id = 1",
    "duration_us": 800,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.050Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-2",
    "service": "order-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM order_item WHERE order_id = 2",
    "duration_us": 750,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.100Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-3",
    "service": "order-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM order_item WHERE order_id = 3",
    "duration_us": 900,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.150Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-4",
    "service": "order-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM order_item WHERE order_id = 4",
    "duration_us": 820,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.200Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-5",
    "service": "order-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM order_item WHERE order_id = 5",
    "duration_us": 700,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.250Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-6",
    "service": "order-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM order_item WHERE order_id = 6",
    "duration_us": 850,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.300Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-7",
    "service": "order-svc",
    "type": "http_out",
    "operation": "GET",
    "target": "http://user-svc:5000/api/users/101",
    "duration_us": 12000,
    "status_code": 200,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.350Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-8",
    "service": "order-svc",
    "type": "http_out",
    "operation": "GET",
    "target": "http://user-svc:5000/api/users/102",
    "duration_us": 11000,
    "status_code": 200,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.400Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-9",
    "service": "order-svc",
    "type": "http_out",
    "operation": "GET",
    "target": "http://user-svc:5000/api/users/103",
    "duration_us": 13000,
    "status_code": 200,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.450Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-10",
    "service": "order-svc",
    "type": "http_out",
    "operation": "GET",
    "target": "http://user-svc:5000/api/users/104",
    "duration_us": 14000,
    "status_code": 200,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.500Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-11",
    "service": "order-svc",
    "type": "http_out",
    "operation": "GET",
    "target": "http://user-svc:5000/api/users/105",
    "duration_us": 10000,
    "status_code": 200,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.550Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-12",
    "service": "order-svc",
    "type": "http_out",
    "operation": "GET",
    "target": "http://user-svc:5000/api/users/106",
    "duration_us": 11500,
    "status_code": 200,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.600Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-slow-1",
    "service": "order-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM order_status WHERE order_id = 42",
    "duration_us": 750000,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.700Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-slow-2",
    "service": "order-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM order_status WHERE order_id = 43",
    "duration_us": 800000,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:01.800Z",
    "trace_id": "trace-demo-order",
    "span_id": "span-slow-3",
    "service": "order-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM order_status WHERE order_id = 44",
    "duration_us": 2600000,
    "source": { "endpoint": "POST /api/orders/42/submit", "method": "OrderService::create_order" }
  },
  {
    "timestamp": "2025-07-10T14:32:02.000Z",
    "trace_id": "trace-demo-clean",
    "span_id": "span-20",
    "service": "user-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM users WHERE id = 1",
    "duration_us": 500,
    "source": { "endpoint": "GET /api/users/1", "method": "UserService::get_user" }
  },
  {
    "timestamp": "2025-07-10T14:32:02.050Z",
    "trace_id": "trace-demo-clean",
    "span_id": "span-21",
    "service": "user-svc",
    "type": "sql",
    "operation": "SELECT",
    "target": "SELECT * FROM orders WHERE user_id = 1",
    "duration_us": 600,
    "source": { "endpoint": "GET /api/users/1", "method": "UserService::get_user" }
  },

  {"timestamp":"2025-07-10T14:32:03.000Z","trace_id":"trace-demo-chatty","span_id":"chatty-1","service":"gateway","type":"http_out","operation":"GET","target":"http://user-svc:5000/api/users/101","duration_us":8000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.010Z","trace_id":"trace-demo-chatty","span_id":"chatty-2","service":"gateway","type":"http_out","operation":"GET","target":"http://user-svc:5000/api/users/102","duration_us":7500,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.020Z","trace_id":"trace-demo-chatty","span_id":"chatty-3","service":"gateway","type":"http_out","operation":"GET","target":"http://user-svc:5000/api/users/103","duration_us":9000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.030Z","trace_id":"trace-demo-chatty","span_id":"chatty-4","service":"gateway","type":"http_out","operation":"GET","target":"http://user-svc:5000/api/users/104","duration_us":8200,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.040Z","trace_id":"trace-demo-chatty","span_id":"chatty-5","service":"gateway","type":"http_out","operation":"GET","target":"http://user-svc:5000/api/users/105","duration_us":7800,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.050Z","trace_id":"trace-demo-chatty","span_id":"chatty-6","service":"gateway","type":"http_out","operation":"GET","target":"http://user-svc:5000/api/users/106","duration_us":8500,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.060Z","trace_id":"trace-demo-chatty","span_id":"chatty-7","service":"gateway","type":"http_out","operation":"GET","target":"http://inventory-svc:5000/api/inventory/1001","duration_us":12000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.070Z","trace_id":"trace-demo-chatty","span_id":"chatty-8","service":"gateway","type":"http_out","operation":"GET","target":"http://inventory-svc:5000/api/inventory/1002","duration_us":11000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.080Z","trace_id":"trace-demo-chatty","span_id":"chatty-9","service":"gateway","type":"http_out","operation":"GET","target":"http://inventory-svc:5000/api/inventory/1003","duration_us":13000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.090Z","trace_id":"trace-demo-chatty","span_id":"chatty-10","service":"gateway","type":"http_out","operation":"GET","target":"http://inventory-svc:5000/api/inventory/1004","duration_us":10500,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.100Z","trace_id":"trace-demo-chatty","span_id":"chatty-11","service":"gateway","type":"http_out","operation":"GET","target":"http://inventory-svc:5000/api/inventory/1005","duration_us":11500,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.110Z","trace_id":"trace-demo-chatty","span_id":"chatty-12","service":"gateway","type":"http_out","operation":"GET","target":"http://pricing-svc:5000/api/pricing/quote","duration_us":15000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.120Z","trace_id":"trace-demo-chatty","span_id":"chatty-13","service":"gateway","type":"http_out","operation":"GET","target":"http://shipping-svc:5000/api/shipping/estimate","duration_us":18000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.130Z","trace_id":"trace-demo-chatty","span_id":"chatty-14","service":"gateway","type":"http_out","operation":"GET","target":"http://tax-svc:5000/api/tax/calculate","duration_us":9000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.140Z","trace_id":"trace-demo-chatty","span_id":"chatty-15","service":"gateway","type":"http_out","operation":"GET","target":"http://loyalty-svc:5000/api/loyalty/points","duration_us":7000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.150Z","trace_id":"trace-demo-chatty","span_id":"chatty-16","service":"gateway","type":"http_out","operation":"GET","target":"http://notification-svc:5000/api/notifications/send","duration_us":5000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.160Z","trace_id":"trace-demo-chatty","span_id":"chatty-17","service":"gateway","type":"http_out","operation":"GET","target":"http://audit-svc:5000/api/audit/log","duration_us":4000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},
  {"timestamp":"2025-07-10T14:32:03.170Z","trace_id":"trace-demo-chatty","span_id":"chatty-18","service":"gateway","type":"http_out","operation":"GET","target":"http://analytics-svc:5000/api/analytics/track","duration_us":3000,"status_code":200,"source":{"endpoint":"POST /api/orders/99/submit","method":"Gateway::submit_order"}},

  {"timestamp":"2025-07-10T14:32:04.000Z","trace_id":"trace-demo-pool","span_id":"pool-root","parent_span_id":null,"service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT 1","duration_us":500000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-1","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT * FROM accounts WHERE id = 42","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-2","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT balance FROM wallets WHERE user_id = 42","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-3","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT * FROM transactions WHERE account_id = 42 ORDER BY created_at DESC LIMIT 10","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-4","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT * FROM payment_methods WHERE user_id = 42 AND active = true","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-5","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT * FROM fraud_checks WHERE transaction_id = 99","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-6","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"INSERT","target":"INSERT INTO audit_log (event, user_id) VALUES ('charge_attempt', 42)","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-7","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"UPDATE","target":"UPDATE accounts SET last_charged_at = NOW() WHERE id = 42","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-8","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT rate FROM exchange_rates WHERE currency = 'EUR'","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-9","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT * FROM spending_limits WHERE user_id = 42","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-10","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT * FROM discount_codes WHERE code = 'SAVE10'","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-11","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT fee FROM merchant_fees WHERE merchant_id = 7","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},
  {"timestamp":"2025-07-10T14:32:04.010Z","trace_id":"trace-demo-pool","span_id":"pool-12","parent_span_id":"pool-root","service":"payment-svc","type":"sql","operation":"SELECT","target":"SELECT * FROM compliance_rules WHERE region = 'EU'","duration_us":200000,"source":{"endpoint":"POST /api/payments/charge","method":"PaymentService::charge"}},

  {"timestamp":"2025-07-10T14:32:05.000Z","trace_id":"trace-demo-serial","span_id":"serial-root","parent_span_id":null,"service":"checkout-svc","type":"http_out","operation":"POST","target":"http://gateway:5000/api/checkout/finalize","duration_us":800000,"status_code":200,"source":{"endpoint":"POST /api/checkout/finalize","method":"CheckoutService::finalize"}},
  {"timestamp":"2025-07-10T14:32:05.100Z","trace_id":"trace-demo-serial","span_id":"serial-1","parent_span_id":"serial-root","service":"checkout-svc","type":"http_out","operation":"GET","target":"http://user-svc:5000/api/users/42","duration_us":120000,"status_code":200,"source":{"endpoint":"POST /api/checkout/finalize","method":"CheckoutService::finalize"}},
  {"timestamp":"2025-07-10T14:32:05.230Z","trace_id":"trace-demo-serial","span_id":"serial-2","parent_span_id":"serial-root","service":"checkout-svc","type":"http_out","operation":"GET","target":"http://inventory-svc:5000/api/inventory/check","duration_us":95000,"status_code":200,"source":{"endpoint":"POST /api/checkout/finalize","method":"CheckoutService::finalize"}},
  {"timestamp":"2025-07-10T14:32:05.335Z","trace_id":"trace-demo-serial","span_id":"serial-3","parent_span_id":"serial-root","service":"checkout-svc","type":"http_out","operation":"GET","target":"http://pricing-svc:5000/api/pricing/quote","duration_us":80000,"status_code":200,"source":{"endpoint":"POST /api/checkout/finalize","method":"CheckoutService::finalize"}},
  {"timestamp":"2025-07-10T14:32:05.425Z","trace_id":"trace-demo-serial","span_id":"serial-4","parent_span_id":"serial-root","service":"checkout-svc","type":"http_out","operation":"GET","target":"http://shipping-svc:5000/api/shipping/estimate","duration_us":60000,"status_code":200,"source":{"endpoint":"POST /api/checkout/finalize","method":"CheckoutService::finalize"}},

  {"timestamp":"2025-07-10T14:32:06.000Z","trace_id":"trace-demo-redundant-http","span_id":"redun-1","service":"dashboard-svc","type":"http_out","operation":"GET","target":"http://config-svc:5000/api/config/feature-flags","duration_us":9000,"status_code":200,"source":{"endpoint":"GET /api/dashboard/home","method":"DashboardService::home"}},
  {"timestamp":"2025-07-10T14:32:06.010Z","trace_id":"trace-demo-redundant-http","span_id":"redun-2","service":"dashboard-svc","type":"http_out","operation":"GET","target":"http://config-svc:5000/api/config/feature-flags","duration_us":8500,"status_code":200,"source":{"endpoint":"GET /api/dashboard/home","method":"DashboardService::home"}},
  {"timestamp":"2025-07-10T14:32:06.020Z","trace_id":"trace-demo-redundant-http","span_id":"redun-3","service":"dashboard-svc","type":"http_out","operation":"GET","target":"http://config-svc:5000/api/config/feature-flags","duration_us":9200,"status_code":200,"source":{"endpoint":"GET /api/dashboard/home","method":"DashboardService::home"}},
  {"timestamp":"2025-07-10T14:32:06.030Z","trace_id":"trace-demo-redundant-http","span_id":"redun-4","service":"dashboard-svc","type":"http_out","operation":"GET","target":"http://config-svc:5000/api/config/feature-flags","duration_us":8800,"status_code":200,"source":{"endpoint":"GET /api/dashboard/home","method":"DashboardService::home"}},
  {"timestamp":"2025-07-10T14:32:06.040Z","trace_id":"trace-demo-redundant-http","span_id":"redun-5","service":"dashboard-svc","type":"http_out","operation":"GET","target":"http://config-svc:5000/api/config/feature-flags","duration_us":9100,"status_code":200,"source":{"endpoint":"GET /api/dashboard/home","method":"DashboardService::home"}},
  {"timestamp":"2025-07-10T14:32:06.050Z","trace_id":"trace-demo-redundant-http","span_id":"redun-6","service":"dashboard-svc","type":"http_out","operation":"GET","target":"http://config-svc:5000/api/config/feature-flags","duration_us":8700,"status_code":200,"source":{"endpoint":"GET /api/dashboard/home","method":"DashboardService::home"}},

  {"timestamp":"2025-07-10T14:32:06.500Z","trace_id":"trace-demo-redundant-sql","span_id":"redsql-1","service":"profile-svc","type":"sql","operation":"SELECT","target":"SELECT * FROM feature_flags WHERE name = 'beta'","duration_us":900,"source":{"endpoint":"GET /api/profile/me","method":"ProfileService::me"}},
  {"timestamp":"2025-07-10T14:32:06.510Z","trace_id":"trace-demo-redundant-sql","span_id":"redsql-2","service":"profile-svc","type":"sql","operation":"SELECT","target":"SELECT * FROM feature_flags WHERE name = 'beta'","duration_us":850,"source":{"endpoint":"GET /api/profile/me","method":"ProfileService::me"}},
  {"timestamp":"2025-07-10T14:32:06.520Z","trace_id":"trace-demo-redundant-sql","span_id":"redsql-3","service":"profile-svc","type":"sql","operation":"SELECT","target":"SELECT * FROM feature_flags WHERE name = 'beta'","duration_us":920,"source":{"endpoint":"GET /api/profile/me","method":"ProfileService::me"}},

  {"timestamp":"2025-07-10T14:32:07.000Z","trace_id":"trace-demo-slow-http","span_id":"slowh-1","service":"reports-svc","type":"http_out","operation":"GET","target":"http://warehouse-svc:5000/api/reports/1","duration_us":1800000,"status_code":200,"source":{"endpoint":"GET /api/reports/monthly","method":"ReportsService::monthly"}},
  {"timestamp":"2025-07-10T14:32:09.000Z","trace_id":"trace-demo-slow-http","span_id":"slowh-2","service":"reports-svc","type":"http_out","operation":"GET","target":"http://warehouse-svc:5000/api/reports/2","duration_us":2200000,"status_code":200,"source":{"endpoint":"GET /api/reports/monthly","method":"ReportsService::monthly"}},
  {"timestamp":"2025-07-10T14:32:11.500Z","trace_id":"trace-demo-slow-http","span_id":"slowh-3","service":"reports-svc","type":"http_out","operation":"GET","target":"http://warehouse-svc:5000/api/reports/3","duration_us":3500000,"status_code":200,"source":{"endpoint":"GET /api/reports/monthly","method":"ReportsService::monthly"}},

  {"timestamp":"2025-07-10T14:32:13.000Z","trace_id":"trace-demo-nplus-http","span_id":"nph-1","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/201","duration_us":8000,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.010Z","trace_id":"trace-demo-nplus-http","span_id":"nph-2","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/202","duration_us":8200,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.020Z","trace_id":"trace-demo-nplus-http","span_id":"nph-3","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/203","duration_us":7900,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.030Z","trace_id":"trace-demo-nplus-http","span_id":"nph-4","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/204","duration_us":8100,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.040Z","trace_id":"trace-demo-nplus-http","span_id":"nph-5","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/205","duration_us":8300,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.050Z","trace_id":"trace-demo-nplus-http","span_id":"nph-6","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/206","duration_us":7700,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.060Z","trace_id":"trace-demo-nplus-http","span_id":"nph-7","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/207","duration_us":8000,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.070Z","trace_id":"trace-demo-nplus-http","span_id":"nph-8","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/208","duration_us":8400,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.080Z","trace_id":"trace-demo-nplus-http","span_id":"nph-9","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/209","duration_us":7800,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.090Z","trace_id":"trace-demo-nplus-http","span_id":"nph-10","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/210","duration_us":8100,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.100Z","trace_id":"trace-demo-nplus-http","span_id":"nph-11","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/211","duration_us":8200,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},
  {"timestamp":"2025-07-10T14:32:13.110Z","trace_id":"trace-demo-nplus-http","span_id":"nph-12","service":"inventory-svc","type":"http_out","operation":"GET","target":"http://catalog-svc:5000/api/products/212","duration_us":7900,"status_code":200,"source":{"endpoint":"GET /api/cart/enrich","method":"CartService::enrich"}},

  {"timestamp":"2025-07-10T14:32:14.000Z","trace_id":"trace-demo-fanout","span_id":"fan-root","parent_span_id":null,"service":"catalog-svc","type":"http_out","operation":"GET","target":"http://aggregator:5000/api/catalog/page","duration_us":300000,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.001Z","trace_id":"trace-demo-fanout","span_id":"fan-1","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-alpha:5000/api/fragment/alpha","duration_us":5000,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.002Z","trace_id":"trace-demo-fanout","span_id":"fan-2","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-bravo:5000/api/fragment/bravo","duration_us":5100,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.003Z","trace_id":"trace-demo-fanout","span_id":"fan-3","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-charlie:5000/api/fragment/charlie","duration_us":4900,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.004Z","trace_id":"trace-demo-fanout","span_id":"fan-4","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-delta:5000/api/fragment/delta","duration_us":5200,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.005Z","trace_id":"trace-demo-fanout","span_id":"fan-5","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-echo:5000/api/fragment/echo","duration_us":4800,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.006Z","trace_id":"trace-demo-fanout","span_id":"fan-6","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-foxtrot:5000/api/fragment/foxtrot","duration_us":5050,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.007Z","trace_id":"trace-demo-fanout","span_id":"fan-7","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-golf:5000/api/fragment/golf","duration_us":4950,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.008Z","trace_id":"trace-demo-fanout","span_id":"fan-8","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-hotel:5000/api/fragment/hotel","duration_us":5150,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.009Z","trace_id":"trace-demo-fanout","span_id":"fan-9","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-india:5000/api/fragment/india","duration_us":4850,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.010Z","trace_id":"trace-demo-fanout","span_id":"fan-10","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-juliet:5000/api/fragment/juliet","duration_us":5000,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.011Z","trace_id":"trace-demo-fanout","span_id":"fan-11","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-kilo:5000/api/fragment/kilo","duration_us":5100,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.012Z","trace_id":"trace-demo-fanout","span_id":"fan-12","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-lima:5000/api/fragment/lima","duration_us":4900,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.013Z","trace_id":"trace-demo-fanout","span_id":"fan-13","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-mike:5000/api/fragment/mike","duration_us":5200,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.014Z","trace_id":"trace-demo-fanout","span_id":"fan-14","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-november:5000/api/fragment/november","duration_us":4800,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.015Z","trace_id":"trace-demo-fanout","span_id":"fan-15","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-oscar:5000/api/fragment/oscar","duration_us":5050,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.016Z","trace_id":"trace-demo-fanout","span_id":"fan-16","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-papa:5000/api/fragment/papa","duration_us":4950,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.017Z","trace_id":"trace-demo-fanout","span_id":"fan-17","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-quebec:5000/api/fragment/quebec","duration_us":5150,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.018Z","trace_id":"trace-demo-fanout","span_id":"fan-18","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-romeo:5000/api/fragment/romeo","duration_us":4850,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.019Z","trace_id":"trace-demo-fanout","span_id":"fan-19","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-sierra:5000/api/fragment/sierra","duration_us":5000,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.020Z","trace_id":"trace-demo-fanout","span_id":"fan-20","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-tango:5000/api/fragment/tango","duration_us":5100,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}},
  {"timestamp":"2025-07-10T14:32:14.021Z","trace_id":"trace-demo-fanout","span_id":"fan-21","parent_span_id":"fan-root","service":"catalog-svc","type":"http_out","operation":"GET","target":"http://widget-uniform:5000/api/fragment/uniform","duration_us":4900,"status_code":200,"source":{"endpoint":"GET /api/catalog/page","method":"CatalogService::page"}}
]