malloy-materialization-tuning
Tuning materializations for cost and performance
This skill turns the signals the open-source Publisher already records (the materialization history, per-run timings, and which sources were built vs reused) into concrete, recommendations-only advice: which sources to persist, which to stop persisting, and how to schedule and scope them. It is the local counterpart to the platform's usage-driven optimization: the Publisher has the raw signals, and you read them with the malloy-pub CLI.
Recommendations only. Never change a model, schedule, or scope without the user's explicit go-ahead. Present the findings and the proposed edits, then apply them only when asked. Persisting the wrong source wastes storage and rebuild time; unpersisting a hot one makes queries slow. Let the user decide.
Assumes the malloy-pub CLI is on PATH and points at the server (--url or MALLOY_PUBLISHER_URL, default http://localhost:4000). Substitute the real environment and package for <env> / <pkg>.
Step 1: Take inventory
Establish what the package persists today and how it is governed.
-
Persist sources: the sources annotated
#@ persist name="…"in the package's.malloyfiles. Read the models (ormalloy_getContextthe package) to list them. -
Schedule + scope:
malloy-pub schedule view --environment <env> --package <pkg>