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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions