feat: per-function execution metrics dashboard - #47
Merged
Conversation
Add a Metrics tab showing execution count, error rate, and average/max duration trended over time, backed by a pre-aggregated hourly rollup table that outlives the short execution-retention window. - store: execution_metrics table (migration 000012) with SQL backfill from existing executions; IncrementMetricBucket / GetFunctionMetrics / DeleteOldMetricBuckets on both the SQLite and in-memory stores - engine: best-effort hourly bucket increment on execution completion - housekeeping: METRICS_RETENTION_DAYS cleanup pass (default 365) - graphql: lazy Function.metrics(from, to, granularity) with server-computed error rate and average duration - frontend: Metrics tab with hand-rolled SVG components (MetricCard, BarChart, Sparkline), command-palette entry, preview gallery, i18n (en/pt-BR) - docs: CONTEXT.md glossary, ADR-0014, README feature bullet + screenshot No new dependencies.
…meout The first scenario (alphabetically connected_clients) launched headless Chrome lazily inside its own 90s browserTimeout; on slow CI runners the cold start alone exceeded the budget, failing the sign-in step with "context deadline exceeded". Launch the browser once in a BeforeSuite hook, outside any scenario's timeout, so no scenario pays the cold start.
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.
Adds a per-function Metrics tab showing execution count, error rate, and average/max duration trended over time, with 24h/7d/30d ranges. Metrics live in a new pre-aggregated hourly rollup table (
execution_metrics, migration 000012, backfilled from existing executions) that outlives the short execution-retention window — the engine increments buckets best-effort on each run, and housekeeping prunes them perMETRICS_RETENTION_DAYS(default 365). The data is exposed via a lazy GraphQLFunction.metrics(from, to, granularity)field with server-computed error rate and average duration, and rendered with hand-rolled SVG components (MetricCard,BarChart,Sparkline) — no new dependencies. Also adds a command-palette entry, preview-gallery showcase, en/pt-BR translations, Go + Jasmine tests, aCONTEXT.mdglossary,ADR-0014, and a README feature bullet + screenshot.