Skip to content

feat(asap-tools): add remote_monitor (CPU/memory) support to experiment_run_clickhouse.py #479

Description

@akanksha-akkihal

Summary

experiment_run_clickhouse.py had no resource-monitoring support, so ClickHouse/SQL experiments never produced monitor_output.json and analyze_monitor_output.py had nothing to read. Only experiment_run_e2e.py wired in RemoteMonitorService. This adds the same capability to the ClickHouse runner behind a config flag, generalizing remote_monitor.py / RemoteMonitorService to support a ClickHouse (non-Prometheus) backend.

Motivation

Latency and query-accuracy comparisons (compare_latencies.py, compare_query_results.py) work for ClickHouse experiments, but CPU/memory profiling did not, because the runner never launched remote_monitor.py. Resource cost is needed to compare baseline (ClickHouse) vs sketchdb at different data rates.

Acceptance criteria

  • flow.remote_monitor=true produces monitor_output.json for both baseline and sketchdb.
  • analyze_monitor_output.py consumes it and emits CPU/memory stats + plots.
  • flow.remote_monitor=false (default) leaves existing behavior unchanged.
  • No regression in experiment_run_e2e.py (shared RemoteMonitorService / remote_monitor.py).

Related

  • Mirrors monitoring wiring in experiment_run_e2e.py.
  • Complements existing ClickHouse latency/query-result comparison tooling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions