Skip to content

feat(landing): Maple vs SigNoz comparison page - #779

Merged
JeremyFunk merged 10 commits into
mainfrom
feat/compare-signoz
Sep 7, 2026
Merged

feat(landing): Maple vs SigNoz comparison page#779
JeremyFunk merged 10 commits into
mainfrom
feat/compare-signoz

Conversation

@JeremyFunk

@JeremyFunk JeremyFunk commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

What

/compare/signoz in en, ja and ko, plus the fifth vendor wired into every place the four were hard-coded.

  • competitors.ts — the SigNoz entry: 11 difference rows with edges (7 Maple, 2 even, 4 SigNoz), parity chips, 2 migration steps, the otlpotlphttp/maple Collector diff, 5 FAQs, 10 sources checked 2026-09
  • messages/{en,ja,ko}.json — 48 keys each: nav/footer/bill link, four new topic labels, and the cmp_sn_* copy
  • brand-marks.ts + BrandMarkIcon.astro — SigNoz mark from signoz.io's own SVG; adds an optional fillRule since the glyph uses even-odd holes
  • NavBar.tsx, Footer.astro, BillComparison.astro, compare.md.ts — fifth column / link
  • CompareHub.astro, HubPair.astro — grids go from 4 to 5 columns

The pricing calculator already modelled SigNoz (#770), so the receipts section works without changes.

Where SigNoz is marked ahead

Self-hosting maturity (Docker/Swarm/Helm/Foundry, multi-user with roles in Community), PromQL, Ingest Guard, nine notification channel types. Source and AI rows are even. Maple's self-host row says what it is today: compose + your ClickHouse + root password, single-org, no SSO.

Migration

Two steps: add the exporter, then have an agent move dashboards and alerts across — SigNoz's MCP server reads them, Maple's creates them, one prompt is usually enough. No "rebuild the handful that matter" framing.

Verification

  • Landing vitest: 6 files, 33 tests pass (NavBar test included)
  • Rendered locally: /compare/signoz (mark in #FF5E19 with fill-rule="evenodd", 5 FAQs, 10 source links, two migration steps), /ja/compare/signoz and /ko/compare/signoz return 200, /compare hub lists five cards, /compare.md and /compare/signoz.md carry the new column and page
  • oxlint clean on the touched TS (the pre-existing useEffect warning in NavBar is untouched); oxfmt ignores apps/landing

Companion to #777 (the blog post).

Adds SigNoz to the comparison registry as /compare/signoz in all three
locales: twelve difference rows (retention, pricing, error workflow, session
replay, local mode, license, AI; then self-hosting, PromQL, purpose-built
views, cost controls and notification channels where SigNoz is ahead), the
Collector exporter diff, five FAQs and eleven dated sources. The pricing
calculator already knew SigNoz, so the receipts work unchanged.

Wires the fifth vendor everywhere the four were hard-coded: nav, footer, the
homepage bill table and its /compare.md mirror, the hub grid and pair. Adds a
SigNoz brand mark from signoz.io's own SVG; its glyph cuts holes with even-odd
winding, so BrandMark grows an optional fillRule that BrandMarkIcon forwards.

Five new topic messages (error workflow, local development, purpose-built
views, cost controls, notification channels) for rows the other vendors did
not need.
Removes the "purpose-built views" difference row and its source, and the
matching clause from the "how is Maple different" FAQ. Migration is two steps:
the exporter, then dashboards and alerts moved by an agent — SigNoz's MCP
server reads them, Maple's creates them — rather than a warning that they
don't come across. The third step went with it.
Takes main's SigNoz brand mark (orange tile with the white eye as an overlay)
and the overlay mechanism in BrandMarkIcon, dropping this branch's
single-path mark and its fillRule field. Keeps the five-column hub grid on
top of main's richer cards, and adds SigNoz to the hub's SEO title and
description in all three locales.
The hero pair gave each vendor 43px once SigNoz made five, so labels ran
together; it now wraps to 3 + 2, centred, with slightly smaller marks. The
vendor cards keep five columns but slim the mark row (8 instead of 9) and
show the domain only from xl, where it fits; at lg the five-up grid needed
the room for the title.
Five cards across was cramped. The grid is six columns at lg: a full row of
three takes two columns each, and the remainder on the last row stretches to
fill it (two cards at three columns), so the 1px-gap grid never shows an
empty cell. Restores the card header at main's size and keeps the domain
visible at every breakpoint; three-up cards have the room.
With five vendors, "other comparisons" hand-picked three and left one out on
each page. The section now lists every other registry entry, so the
`related` field goes. CrossLinks sizes its grid from the link count: four
links get four columns, so the 1px-gap grid never shows an empty cell;
three-link pages are unchanged.
The markdown route still read the removed `related` field, which failed the
production build at /compare/datadog.md. It now derives the list the way the
HTML page does.
@JeremyFunk
JeremyFunk merged commit 88607e9 into main Sep 7, 2026
27 checks passed
@JeremyFunk
JeremyFunk deleted the feat/compare-signoz branch September 7, 2026 15:26
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

🍁 Maple PR preview

Warning

Preview cleanup could not be confirmed. The Alchemy teardown outcome was skipped.

Final commit 19af798 · View workflow run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant