{{ message }}
feat(landing): honest /vs-* comparison pages (Grafana, Datadog, ClickHouse Cloud) - #2247
Merged
Merged
Conversation
…ckHouse Cloud (plan 63) Adds a reusable, data-driven ComparisonTable.astro plus three dedicated pages (/vs-grafana, /vs-datadog, /vs-clickhouse-cloud), each with a >=10-row feature matrix, a total-cost-of-ownership section, and a CTA. Every chmonitor row is verified against shipped apps/dashboard code (not pricing-page entitlements); every competitor row is dated/sourced to July 2026 public docs and includes rows where the competitor legitimately wins (Grafana's visualization/plugin ecosystem, Datadog's full-stack APM/on-call, ClickHouse Cloud's zero-ops hosting) so nothing reads as a strawman. Alert history and inbound-event persistence are D1-backed with no self-hosted-Docker fallback (confirmed via alert-history-store.ts / event-store.ts) — the alerting row calls that out explicitly rather than implying it works identically on every self-host target. Co-Authored-By: duyetbot <bot@duyet.net>
…matrix Additive one-line footer under the on-page Comparison table pointing to the deeper /vs-grafana, /vs-datadog and /vs-clickhouse-cloud pages (plan 63). Co-Authored-By: duyetbot <bot@duyet.net>
…e too event_log is D1-backed with the same self-hosted-Docker gap as alert_events (event-store.ts) — the ingest pipeline still normalizes/re-emits everywhere, but storage/retrieval needs the same D1 binding, so the alerting row caveat now covers both instead of only alert history. Co-Authored-By: duyetbot <bot@duyet.net>
Contributor
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.

Implements plan 63 — three comparison pages plus a reusable, data-driven
ComparisonTable.astro.What
ComparisonTable.astro— shared, data-driven table (reuses existing global.cmp-*CSS; no new styles)./vs-grafana,/vs-datadog,/vs-clickhouse-cloud— each with hero, ≥10-row honest feature matrix, TCO section, dated/sourced disclaimer, reused<FinalCta />.data/comparisons.ts— row data (12/12/11 rows).Comparison.astro.Honesty guardrails
apps/dashboardcode (not just pricing capability flags): MCP server (/api/mcp), AI agent, query advisor (recommend-only, EXPLAIN-based impact), MV/projection designer, anomaly baselines, alert dedup/cooldown + 5-min fleet-wide sweep, outbound alert webhooks (Slack/Discord/Telegram/PagerDuty/generic — no email adapter, correctly omitted), version-aware SQL, self-host (Docker/Helm/Cloudflare Workers, GPL-3.0).Verification
bun run check(Biome) clean across all commits.cd apps/landing && bun run build— now verified locally (the earlier self-referentialapps/landing/node_modulessymlink was a stale artifact of the shared checkout, not the PR; a cleanbun installresolves it). All 8 pages build, including the 3 new/vs-*routes.build,landing,unit-tests) are transient infra flakes —ENOENT: could not open the "node_modules" directoryonbun install --frozen-lockfile, and an internal bunWriteFailederror on the dashboard's unrelated coverage run — not caused by this diff. Reran the failed jobs.Co-Authored-By: duyetbot bot@duyet.net