You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
perf: publish properties with the nightly dataset and measure cached Trino JSON (#1224)
* perf: publish properties with the nightly dataset and measure cached Trino JSON
One nightly frozen-perf run produced two unrelated datasets: the table
suite published as posthog-file-views-v1 and the properties suite as
properties-sha256-<inventory hash>, so the dashboard's dataset selector
showed one or the other and no single view compared the engines across
both.
Publish both suites under the nightly's dataset version and tell them
apart with a suite column (tables | properties) on runs and
query_results. The properties inventory hash moves to a fixture_version
column so history still never mixes fixtures. The publisher's schema
bootstrap adds both columns and classifies existing rows by the
-properties run ID suffix; a summary without a suite publishes as
tables, and an unknown suite is rejected.
Also measure the properties JSON queries on trino_cached ("trino
(cache)"). It only ran the unsupported VARIANT representation, so cached
Trino had no properties coverage; now that the Hoglake connector honors
fs.cache.enabled, the measurement is meaningful. Update the README
paragraph that still said the connector ignores the cache.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* perf: pair suites by nightly_run_id and migrate the schema ahead of data
Review fixes:
- Publish an explicit nightly_run_id (the table-suite run's ID) instead
of leaving consumers to strip a -properties suffix from run IDs.
- Make the column migration one-shot: a guarded DO block adds suite,
fixture_version and nightly_run_id and classifies older rows only when
suite is missing, instead of two UPDATE scans on every publish.
- Add duckgres-perf-publisher --bootstrap-only and run it at the start
of main scenario runs, so the schema (and a dashboard that depends on
it) can land hours before the first data in the new shape; no window
where the old dashboard picks the properties run as the latest run.
- Move the suite constants to core and validate the suite when the step
starts, so a typo fails before the benchmark instead of at publish.
- Share the nightly dataset version through a YAML anchor.
- README: correct the uncached-cache cutoff and stop claiming that
fixture_version alone keeps history from spanning fixture changes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* perf: drop the bootstrap-only mode and the one-shot migration
Both solved problems that did not justify permanent machinery. The
bootstrap-only CLI mode and workflow step existed to close a one-time
window of a few hours where the dev perf dashboard's table panels would
be empty; merging the dashboard change right after the first publish
does the same. The guarded DO-block migration avoided two UPDATE scans
on a table that grows by ~200 rows a night; plain idempotent ALTERs and
a WHERE suite IS NULL backfill are simpler and just as correct.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
0 commit comments