Skip to content

Comments

feat: Add memory profiling to TPC benchmarks [WIP]#3539

Draft
andygrove wants to merge 3 commits intoapache:mainfrom
andygrove:add-docker-compose-benchmarks
Draft

feat: Add memory profiling to TPC benchmarks [WIP]#3539
andygrove wants to merge 3 commits intoapache:mainfrom
andygrove:add-docker-compose-benchmarks

Conversation

@andygrove
Copy link
Member

@andygrove andygrove commented Feb 16, 2026

Summary

  • Add executor metrics profiling via the Spark REST API (--profile / --profile-interval flags) that polls executor memory stats during benchmark runs and writes time-series CSV output
  • Add cgroup memory metrics collection inside Docker worker containers using a background collect-metrics.sh script, with automatic per-engine snapshots when profiling is enabled
  • Add visualize-metrics.py to generate memory charts from JVM executor and cgroup metrics CSVs
  • Add requirements.txt with matplotlib dependency for the visualization script
  • Update Docker Compose worker command to run the metrics collector sidecar alongside the Spark worker process
  • Update Dockerfile to bundle profiling.py, visualize-metrics.py, and collect-metrics.sh into the benchmark image
  • Update tpcbench.py and run.py to wire through profiling options
  • Update documentation with profiling usage, metrics collection details, and visualization instructions

@andygrove andygrove marked this pull request as draft February 16, 2026 22:21
@andygrove andygrove changed the title Add Docker Compose support for TPC benchmarks perf: Add Docker Compose support for TPC benchmarks [WIP] Feb 16, 2026
@andygrove andygrove changed the title perf: Add Docker Compose support for TPC benchmarks [WIP] feat: Add Docker Compose support for TPC benchmarks [WIP] Feb 16, 2026
@andygrove andygrove force-pushed the add-docker-compose-benchmarks branch 2 times, most recently from 07ec5c4 to 1cad3be Compare February 17, 2026 13:38
@andygrove andygrove changed the title feat: Add Docker Compose support for TPC benchmarks [WIP] feat: Add memory profiling to TPC benchmarks [WIP] Feb 21, 2026
@andygrove andygrove force-pushed the add-docker-compose-benchmarks branch from 859ee45 to 43a7612 Compare February 24, 2026 16:50
andygrove and others added 2 commits February 24, 2026 09:51
Single script that orchestrates the full benchmark lifecycle: starts
the Spark cluster, runs the benchmark, and tears down on exit (including
Ctrl-C). Supports --laptop flag for single-worker mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant