Repository navigation
Add reproducible reader metrics and query resource evidence for Blog 6 - #44
Merged
Merged
Conversation
tom-clickhouse
requested review from
lio-p
and
a balanced review from Copilot
October 12, 2026 15:01
There was a problem hiding this comment.
🟡 Changes recommended
The documented reproduction check fails because a committed CPU-throughput CSV is stale, and visual identifiers are inconsistent.
3 open findings
What changed in this PR
Adds reproducible Blog 6 reader-query metrics, resource evidence, and offline derivation for visuals 11a/11b.
Changes:
- Adds bounded SQL exports and frozen CPU, memory, latency, and throughput evidence.
- Adds dependency-free derivation and checksum tooling.
- Documents query-execution resource calculations and smoothing.
| File | Description |
|---|---|
reader/README.md |
Links query-level evidence. |
query-metrics/README.md |
Documents metrics and reproduction. |
query-resources/source-provenance.json |
Records formulas and sources. |
query-resources/source-manifest.json |
Pins source hashes. |
query-resources/README.md |
Explains resource calculations. |
query-resources/FILES.sha256 |
Lists package checksums. |
evidence/queries/10-query-peak-memory.sql |
Exports query memory. |
evidence/queries/09-query-memory-schema.sql |
Inspects memory fields. |
evidence/queries/08-memory-cache-check.sql |
Checks cache memory. |
evidence/queries/07-memory-metric-descriptions.sql |
Exports metric definitions. |
evidence/queries/06-historical-memory-metrics.sql |
Queries historical memory. |
evidence/queries/05-memory-definition.sql |
Inspects metric schema. |
evidence/queries/04-capacity.sql |
Exports service capacity. |
evidence/queries/03-resource-series.sql |
Exports resource telemetry. |
evidence/queries/02-log-coverage.sql |
Checks telemetry coverage. |
evidence/queries/01-schema.sql |
Inspects telemetry schema. |
evidence/effective-aggregation-throughput.csv |
Freezes aggregation rates. |
evidence/drilldown_20260808T065602Z.jsonl |
Freezes drill-down runs. |
evidence/data-throughput-per-cpu-core.csv |
Freezes CPU efficiency. |
evidence/data-processing-throughput.csv |
Freezes throughput. |
evidence/09-query-memory-schema.csv |
Records memory schema. |
evidence/08-memory-cache-check.csv |
Records cache observations. |
evidence/07-memory-metric-descriptions.csv |
Records metric semantics. |
evidence/04-capacity.csv |
Records provisioned capacity. |
evidence/02-log-coverage.csv |
Records log coverage. |
evidence/01-schema.csv |
Records telemetry fields. |
query-resources/derive.py |
Generates visual payloads. |
query-resources/config.json |
Configures 11a/11b outputs. |
query-resources/checksums.py |
Verifies package hashes. |
query-resources/.gitignore |
Excludes Python caches. |
query-latency.csv |
Stores latency display values. |
queries/benchmark-drill-downs.sql |
Captures drill-down queries. |
queries/benchmark-aggregations.sql |
Captures aggregation queries. |
queries/03-export-profile-stats.sql |
Exports profile counters. |
queries/02-export-query-log.sql |
Exports query-log evidence. |
queries/01-discover-benchmark-queries.sql |
Discovers benchmark hashes. |
queries/00-query-log-fields.sql |
Inspects query-log fields. |
provenance.json |
Records matching and formulas. |
effective-aggregation-throughput.csv |
Stores aggregation coverage. |
derive.py |
Derives parent metrics. |
data-throughput-per-cpu-core.csv |
Stores CPU efficiency. |
data-processing-throughput.csv |
Stores processing throughput. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+257
to
+260
| for name, expected in derive().items(): | ||
| path = HERE / name | ||
| if args.check: | ||
| assert path.read_text() == expected, f'Stale derived evidence: {path}' |
|
|
||
| ## Current blog values and resource band | ||
|
|
||
| Use [query-resources/](query-resources/README.md) for the current two-panel layouts and their **Resource utilization during query execution** bands. It includes extraction SQL/results, all 958 matched per-query memory peaks, CPU during execution with headroom, shared Gaussian display smoothing, exact 16/17 payloads and a dependency-free reproducer. These calculations exclude the idle gaps in the query schedule and preserve the original 16-vCPU / 64-GiB setup. |
Comment on lines
+1
to
+5
| # Reader query resources and current 16/17 display data | ||
|
|
||
| Visual numbers follow the current Part 6 article. Existing filenames retain their earlier identifiers so reproduction commands and links stay compatible. | ||
|
|
||
| This package reproduces the current two reader visuals from the original Run 2 evidence. **16** shows data processing throughput and throughput per consumed CPU core; **17** shows query latency and effective aggregation throughput. Both use the same **Resource utilization during query execution** band. |
lio-p
approved these changes
Oct 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


The continuous-ingestion reader metrics lacked reproducible query-execution CPU and per-query memory evidence for the current Blog 6 visuals. This adds bounded SQL exports, source CSVs, exact runner matching, metric definitions, and dependency-free derivation for 11a and 11b.
The package retains all 958 active executions while the dataset grows to 113.2B quotes on one 16-vCPU / 64-GiB reader. It derives uncompressed GB/s, MB/s per consumed CPU core, query latency, and effective A3/A4 aggregation throughput. The current display adapter applies the accepted centered Gaussian kernel in actual UTC time (sigma one hour, radius three hours), smoothing rate numerators and denominators before division. Original extraction files and the earlier four-panel payload remain preserved.
Both resource bands use CPU during query execution, excluding schedule idle gaps, with headroom as its complement. Memory shows separate average per-query peaks for drill-downs and interactive aggregates. All 958 peaks match uniquely by exact timestamp and query hash, with duration, rows, and bytes cross-checked. Whole-service cache/memory telemetry remains separate evidence.
Validation:
Start at
full-path-realtime/quotes/clickhouse-cloud/results_t2/utilization/reader/query-metrics/README.md, thenquery-resources/README.mdfor current display and resource calculations. The newer static-data Hot/Cold scaling experiment for 11c is separate in PR #46.