26 - Traffic Logs

Overview

OpenAlgo logs all HTTP traffic for monitoring, debugging, and security analysis. Traffic logs capture request/response metadata without sensitive data.

Architecture Diagram

┌──────────────────────────────────────────────────────────────────────────────┐
│                        Traffic Logging Architecture                          │
└──────────────────────────────────────────────────────────────────────────────┘

                              HTTP Request


┌─────────────────────────────────────────────────────────────────────────────┐
│                       Traffic Logger Middleware                              │
│                              (WSGI)                                          │
│                                                                              │
│  ┌─────────────────────────────────────────────────────────────────────┐   │
│  │  Capture Request Data:                                               │   │
│  │  - Timestamp                                                         │   │
│  │  - Client IP (from proxy headers)                                    │   │
│  │  - HTTP Method                                                       │   │
│  │  - Request Path                                                      │   │
│  │  - Host Header                                                       │   │
│  │  - User ID (if authenticated)                                        │   │
│  └─────────────────────────────────────────────────────────────────────┘   │
│                                   │                                          │
│                                   ▼                                          │
│                           Flask Application                                  │
│                                   │                                          │
│                                   ▼                                          │
│  ┌─────────────────────────────────────────────────────────────────────┐   │
│  │  Capture Response Data:                                              │   │
│  │  - Status Code                                                       │   │
│  │  - Response Duration (ms)                                            │   │
│  │  - Error Message (if any)                                            │   │
│  └─────────────────────────────────────────────────────────────────────┘   │
│                                   │                                          │
│                                   ▼                                          │
│                          Write to logs.db                                    │
└─────────────────────────────────────────────────────────────────────────────┘

Database Schema

traffic_logs Table

Indexes

Implementation

WSGI Middleware

Initialization

Dashboard

Access

Dashboard View

Filtering Options

By Status Code

By Time Range

By IP Address

Analytics Queries

Request Volume by Hour

Top Endpoints

Error Rate

Slowest Endpoints

Data Exclusions

Not Logged

To protect privacy and reduce noise:

Sensitive Data

  • Request body NOT logged

  • Response body NOT logged

  • Headers NOT logged (except Host)

  • Cookies NOT logged

Retention

Automatic Cleanup

Scheduled Task

Key Files Reference

File
Purpose

utils/traffic_logger.py

WSGI middleware

database/traffic_db.py

Traffic model

utils/ip_helper.py

IP resolution

blueprints/logs.py

Dashboard routes

frontend/src/pages/Traffic.tsx

React dashboard

Last updated