Skip to content

Technical Details

Architecture

Demo Frontend  ←→  Demo Backend (distributed tracing + auto-traffic)
        ↓                    ↓
   OTel Collector  ←─────────┘
   TinyOlly OTLP Receiver (Async FastAPI, parses OTLP, stores in Redis)
   Redis (30-minute TTL with cardinality protection)
   TinyOlly UI & REST API (FastAPI + HTML + JavaScript)

Data Storage

  • Format: Full OpenTelemetry (OTEL) format for traces, logs, and metrics
  • Redis: All telemetry stored with 30-minute TTL (compressed with ZSTD + msgpack)
  • Sorted Sets: Time-series data indexed by timestamp
  • Correlation: Native trace-metric-log correlation via trace/span IDs
  • Cardinality Protection: Prevents metric explosion
  • No Persistence: Data vanishes after TTL (ephemeral dev tool)

OTLP Compatibility

TinyOlly is fully OpenTelemetry-native:
- Ingestion: Accepts OTLP/gRPC (primary) and OTLP/HTTP
- Storage: Stores traces, logs, and metrics in full OTEL format with resources, scopes, and attributes
- Correlation: Native support for trace/span ID correlation across all telemetry types
- REST API: Exposes OTEL-formatted JSON for programmatic access