ArticlesProjectsCredentialsAbout

Distributed Debugging Toolkit (1997)

Shell scripts and Java utilities for correlating logs, capturing thread dumps, and diagnosing failures across multiple JVMs — from before distributed tracing existed.

debuggingdistributed-systemsjava

Distributed Debugging Toolkit (1997)

Practical tools for diagnosing problems in a distributed Java system — written before Zipkin, before ELK, before distributed tracing was a thing.

Contents

  • scripts/collect-logs.sh — ssh to all hosts, extract time window, merge and sort
  • scripts/thread-dump.sh — send SIGQUIT to a named JVM process
  • src/.../CorrelationId.java — generates and propagates request IDs through calls
  • src/.../CircularLogBuffer.java — in-memory ring buffer for low-overhead debug logging