Skip to content

Connection Monitor Phase 2: Traceroute burst capture #196

@itsDNNS

Description

@itsDNNS

Summary

Add on-demand and event-triggered traceroute capture to the Connection Monitor module, building on the always-on latency monitoring from #194.

Instead of storing continuous traceroute data (expensive), run traceroute bursts in specific situations to capture hop-level evidence when it matters most.

Trigger conditions

  • Periodic schedule (slower interval, e.g. every 15-30 minutes)
  • Alert threshold violations (outage detected, high packet loss)
  • Route change suspicion (latency pattern shift)
  • On-demand from the UI (manual trigger button)

Data to capture per trace

  • Full hop list with hop index, host, IP
  • Per-hop latency snapshots
  • Timeout/missing hops
  • Route fingerprint for change detection over time

Data model sketch

latency_traces

  • id, target_id, timestamp, trigger_reason, hop_count, route_fingerprint

latency_trace_hops

  • trace_id, hop_index, hop_host, hop_ip, latency_ms, timeout

UI

  • Trace history view per target
  • Route change timeline
  • Per-hop latency visualization
  • Manual "Run traceroute" button in detail view

Open questions

  • Which traceroute method works reliably inside Docker (ICMP, UDP, TCP)?
  • Shell-based (traceroute/tracert) vs Python library for parsing?
  • Retention policy for trace data (separate from sample retention?)
  • How to detect route changes reliably from fingerprints?

Depends on

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions