diff --git a/apps/landing/messages/en.json b/apps/landing/messages/en.json index 2b9e14eae..50068551a 100644 --- a/apps/landing/messages/en.json +++ b/apps/landing/messages/en.json @@ -28,6 +28,7 @@ "nav_vs_new_relic": "Maple vs New Relic", "nav_vs_dash0": "Maple vs Dash0", "nav_vs_signoz": "Maple vs SigNoz", + "nav_vs_axiom": "Maple vs Axiom", "nav_nextjs": "Next.js", "nav_python": "Python", "nav_nodejs": "Node.js", @@ -53,6 +54,7 @@ "nav_desc_vs_new_relic": "OTel-native, predictable pricing", "nav_desc_vs_dash0": "Open source and self-hostable", "nav_desc_vs_signoz": "Issues, session replay, one local binary", + "nav_desc_vs_axiom": "Issues, session replay, one meter", "nav_product_footer": "Everything in one platform", "nav_product_footer_cta": "Explore all features \u2192", @@ -169,6 +171,7 @@ "bill_link_vs_nr": "Maple vs New Relic", "bill_link_vs_dash0": "Maple vs Dash0", "bill_link_vs_signoz": "Maple vs SigNoz", + "bill_link_vs_axiom": "Maple vs Axiom", "start_endpoint_label": "Endpoint", @@ -343,6 +346,7 @@ "footer_vs_new_relic": "vs New Relic", "footer_vs_dash0": "vs Dash0", "footer_vs_signoz": "vs SigNoz", + "footer_vs_axiom": "vs Axiom", "footer_integrations": "Integrations", "footer_community": "Community", "footer_github": "GitHub", @@ -1049,8 +1053,8 @@ "stack_chip_any_mcp": "Any MCP client", "cmp_eyebrow": "Compare", - "cmp_hub_seo_title": "Maple vs Datadog, Grafana, New Relic, Dash0 and SigNoz — Observability Compared", - "cmp_hub_seo_desc": "Side-by-side comparisons of Maple with Datadog, Grafana Cloud, New Relic, Dash0 and SigNoz: where each differs, where each is ahead, and what a month costs at list price.", + "cmp_hub_seo_title": "Maple vs Datadog, Grafana, New Relic, Dash0, SigNoz and Axiom \u2014 Observability Compared", + "cmp_hub_seo_desc": "Side-by-side comparisons of Maple with Datadog, Grafana Cloud, New Relic, Dash0, SigNoz and Axiom: where each differs, where each is ahead, and what a month costs at list price.", "cmp_hub_title": "Maple, compared.", "cmp_hub_lede": "One page per vendor. Each lists where the two differ and where the other tool is ahead, and prices the same month on both at list price. Every vendor claim links to its source and carries the date it was checked.", "cmp_hub_matrix_eyebrow": "At a glance", @@ -1063,6 +1067,7 @@ "cmp_nav_price": "Price", "cmp_nav_migration": "Migration", "cmp_nav_faq": "FAQ", + "cmp_nav_surfaces": "Surfaces", "cmp_diff_eyebrow": "Differences", "cmp_diff_title": "Where Maple and {name} differ", "cmp_diff_lede": "Every cell is a sentence, not a checkmark. The gutter says who has the edge on that row; rows where both tools do the same thing are collapsed into one line at the end.", @@ -1089,6 +1094,19 @@ "cmp_migration_lede": "Telemetry moves with one exporter change. Dashboards and alert rules don't cross vendors, so plan those as the real work.", "cmp_migration_diff_label": "The change", "cmp_migration_diff_caption": "Add Maple as a second exporter, run both, then drop the first.", + "cmp_surfaces_eyebrow": "Surfaces", + "cmp_surfaces_title": "What {name} leaves you to build", + "cmp_surfaces_instead_label": "On {name}:", + "cmp_surfaces_link": "See the surface", + "cmp_surface_map_name": "Service map", + "cmp_surface_map_body": "Every service, queue and database, drawn from the spans themselves. There is no topology file to maintain. Edges carry throughput, error rate and latency, and clicking one opens the traces behind it.", + "cmp_surface_sessions_name": "Browser sessions and replay", + "cmp_surface_sessions_body": "Watch the session back with its DOM, console, network and errors, and open the backend trace behind any click. Masking happens in the browser, before anything leaves the page.", + "cmp_surface_analytics_name": "Web analytics", + "cmp_surface_analytics_body": "Visitors, page views, referrers, countries and Web Vitals, from the same browser SDK that is already recording sessions. One script, and every number opens into the sessions behind it.", + "cmp_surface_analytics_shot": "The Web Analytics page: unique visitors, sessions, page views and bounce rate over the last 7 days, with the live visitor badge and the visitors and page views chart", + "cmp_surface_k8s_name": "Kubernetes console", + "cmp_surface_k8s_body": "Workloads, restarts and rollouts with live CPU and memory per pod, joined to the traces and logs of the service running inside them.", "cmp_sources_eyebrow": "Sources", "cmp_sources_title": "Where the {name} claims come from", "cmp_sources_lede": "Vendor facts on this page link to the vendor's own pages and carry the month they were last checked. If one is stale, tell us.", @@ -1133,6 +1151,7 @@ "cmp_topic_errors": "Error workflow", "cmp_topic_local": "Local development", "cmp_topic_cost_controls": "Cost controls", + "cmp_topic_volume_pricing": "Price at high volume", "cmp_topic_channels": "Notification channels", "cmp_dd_seo_title": "Maple vs Datadog — an open-source Datadog alternative, compared honestly", "cmp_dd_seo_desc": "Maple vs Datadog for observability: where they differ, where Datadog is ahead, and what one month costs on each at list price. Open source, OpenTelemetry-native, no per-host fees.", @@ -1324,7 +1343,7 @@ "cmp_sn_selfhost_them": "Docker, Swarm, Helm and Foundry installs with per-platform guides. Multi-user with roles and Google OAuth in the Community edition.", "cmp_sn_promql_maple": "No PromQL. Visual builder and SQL, one grammar across signals.", "cmp_sn_promql_them": "Query Builder v5, ClickHouse SQL and PromQL in dashboards. Prometheus rules carry over.", - "cmp_sn_cost_controls_maple": "Sampling guidance and volume alerts. No hard ingest cap.", + "cmp_sn_cost_controls_maple": "A monthly spend ceiling with per-signal caps in the billing settings. In pause mode the ingest gateway rejects past the limit. In notify mode it warns and keeps taking data.", "cmp_sn_cost_controls_them": "Ingest Guard: daily caps per signal and per team in Cloud that drop data past the limit.", "cmp_sn_channels_maple": "Slack, PagerDuty, Discord, Telegram, email and webhooks.", "cmp_sn_channels_them": "Nine channel types, including Opsgenie, Microsoft Teams, Incident.io, Rootly and Zenduty.", @@ -1342,6 +1361,55 @@ "cmp_sn_faq_4_a": "Yes. SigNoz has the more polished path today: Docker Compose, Helm, Foundry and platform guides, multi-user with roles in the Community edition. Maple self-hosts from the repository with a compose file, your ClickHouse and a root password, single-org, and runs as one binary with an embedded ClickHouse for local development.", "cmp_sn_faq_5_q": "Does SigNoz have session replay?", "cmp_sn_faq_5_a": "No, and their community has said it isn't planned. SigNoz ingests browser traces, logs and Web Vitals over OpenTelemetry. Maple records and replays browser sessions with the trace behind each event, masked in the browser before anything leaves the page.", + "cmp_ax_seo_title": "Maple vs Axiom: an event store with APL, or a platform you can self-host", + "cmp_ax_seo_desc": "Maple vs Axiom: both ingest OpenTelemetry and bill on usage with no per-seat fee. Where they differ on price, the error workflow, session replay, self-hosting and APL. Where Axiom is ahead, and what one month costs on each.", + "cmp_ax_hero_title": "Maple vs Axiom", + "cmp_ax_hero_lede": "Axiom and Maple both take OpenTelemetry in, bill on usage, and charge nothing per seat. The difference is what sits on top of the store. Axiom gives you APL and a dashboard builder. Maple ships the surfaces built, including the service map, session replay and web analytics, and you can self-host all of it. Below: where the two diverge, what Axiom leaves you to build, where Axiom is ahead, and what the same month costs on each.", + "cmp_ax_pricing_maple": "$39 a month with 100 GB per signal included, then $0.30 per GB. One meter. Queries, storage and single sign-on are not separate line items.", + "cmp_ax_pricing_them": "$25 a month, then three meters: data loading from $0.12 per GB, query compute from $0.20 per GB-hour, storage $0.03 per GB. The free allowance is 1 TB, 100 GB-hours and 100 GB. Single sign-on costs $100 a month, RBAC and the audit log $50 each.", + "cmp_ax_volume_pricing_maple": "$0.30 per GB at every volume. Lower rates exist on Enterprise but are not published.", + "cmp_ax_volume_pricing_them": "The ingest rate falls as volume grows, with no negotiation: $0.12 per GB, $0.085 above 500 TB, $0.06 above 5 PB. Pre-purchased credits take up to 40% off that.", + "cmp_ax_errors_maple": "Exceptions become issues with an owner, a state, a severity and comments. A resolved issue that fires again reopens.", + "cmp_ax_errors_them": "No issue object. Exceptions stay events: you query them in APL, group by message, and have a monitor notify per group.", + "cmp_ax_rum_maple": "Browser session replay with the trace behind every click, Web Vitals through the browser SDK, and a Swift SDK for iOS.", + "cmp_ax_rum_them": "Web Vitals from the browser and a zero-config app for Vercel. No session replay, no mobile SDK.", + "cmp_ax_local_maple": "One binary with an embedded ClickHouse. `maple start` on a laptop, no containers, no account.", + "cmp_ax_local_them": "Cloud only. Local work still means a dataset in a real organisation and a token in your environment.", + "cmp_ax_source_maple": "On GitHub under FSL-1.1, converting to Apache 2.0 two years after each release.", + "cmp_ax_source_them": "Closed. The SDKs, Collector configurations and the Vercel app are public. The platform is not.", + "cmp_ax_selfhost_maple": "Yes. The whole platform on your own infrastructure, your own ClickHouse, retention you set.", + "cmp_ax_selfhost_them": "No. Axiom runs the edge deployments, in US East and EU Central. Enterprise can point storage at its own S3 bucket.", + "cmp_ax_retention_maple": "30 days on the cloud plan at the flat rate. Longer on Enterprise, and your call when you self-host.", + "cmp_ax_retention_them": "Configurable per dataset and billed as storage: $0.03 per compressed GB a month, 100 GB free. A year of logs costs cents a gigabyte.", + "cmp_ax_query_maple": "One visual builder across every signal. When you want the query itself it is ClickHouse SQL, through the API or the MCP server.", + "cmp_ax_query_them": "APL for events, MPL for metrics. Over a hundred functions, plus a skill that translates Splunk's SPL into APL.", + "cmp_ax_ai_maple": "A hosted MCP server over the product's own queries, scoped to the org inside the SQL. Investigations run the diagnosis and write up what broke.", + "cmp_ax_ai_them": "An MCP server, six agent skills (SRE, metrics, dashboards, alerting, cost control, SPL translation) and Spotlight, which diffs two sets of events. Query cost limits per token stop an agent running up the bill.", + "cmp_ax_integrations_maple": "OpenTelemetry receivers plus a native catalog: Cloudflare, PlanetScale, GitHub, Kubernetes, Docker, Prometheus.", + "cmp_ax_integrations_them": "Over forty apps, including Vector, CloudWatch, Lambda, Heroku and CI/CD. A Splunk app federates search across both tools.", + "cmp_ax_cost_controls_maple": "A monthly spend ceiling with per-signal caps in the billing settings. In pause mode the ingest gateway rejects past the limit. In notify mode it warns and keeps taking data.", + "cmp_ax_cost_controls_them": "Spend alerts and hard caps in the console. Past the limit, ingestion pauses instead of billing as overage.", + "cmp_ax_compliance_maple": "No SOC 2 report yet. Self-hosting keeps the data in your own audited environment.", + "cmp_ax_compliance_them": "SOC 2 Type II, ISO 27001, GDPR, a self-serve HIPAA BAA, and a choice of US or EU residency.", + "cmp_ax_mig_1_title": "Keep the Collector, add an exporter", + "cmp_ax_mig_1_body": "Both platforms ingest standard OTLP, so SDKs, auto-instrumentation and semantic conventions carry over unchanged. Add Maple next to the Axiom exporter and ship to both until the alerts you care about fire from Maple.", + "cmp_ax_mig_2_title": "Move the dashboards and monitors with one prompt", + "cmp_ax_mig_2_body": "Dashboards and monitors do not travel over OTLP, and neither does APL. Both platforms expose an MCP server: Axiom's reads what you have, Maple's creates it. Connect an agent to both and ask it to port everything, translating the queries as it goes.", + "cmp_ax_faq_1_q": "Is Axiom open source? Can I self-host it?", + "cmp_ax_faq_1_a": "No to both. Axiom publishes its SDKs, Collector configurations and the Vercel app, but the platform is closed and runs only in Axiom's own edge deployments, today US East and EU Central. Enterprise customers can keep object storage in their own S3 bucket, which is data residency rather than self-hosting. Maple's source is on GitHub under FSL-1.1, converts to Apache 2.0 two years after each release, and runs on your own infrastructure with your own ClickHouse.", + "cmp_ax_faq_2_q": "How is Maple different from Axiom?", + "cmp_ax_faq_2_a": "Axiom is an event store first. Everything lands in a dataset, you query it in APL, and a monitor runs that query on a schedule. Maple is the product on top of that storage. Exceptions become issues with an owner and a state, browser sessions replay with the trace behind each click, agent sessions are a signal of their own, and one binary runs the whole thing on a laptop. Axiom is ahead on price at volume, retention economics, integration breadth and compliance.", + "cmp_ax_faq_3_q": "Which is cheaper, Axiom or Maple?", + "cmp_ax_faq_3_a": "At the reference workload Maple is, because Axiom's platform fee and query-compute meter start charging before Maple's overage does. Above a terabyte a month Axiom's ingest rate is the lower one and keeps falling with volume, and its storage pricing makes long retention cheap. The receipts above run both published rate cards on the same month, and the calculator lets you change the volumes.", + "cmp_ax_faq_4_q": "Does Axiom have error tracking or session replay?", + "cmp_ax_faq_4_a": "Not as products. Exceptions are events you query in APL and group inside a monitor, so nothing carries an owner, a state or a reopen. There is no session replay. Maple has both: issues with a lifecycle, and browser replay masked in the page before anything leaves it.", + "cmp_ax_faq_5_q": "Do I have to learn APL?", + "cmp_ax_faq_5_a": "On Axiom, mostly yes. APL for events, MPL for metrics, and a skill that translates SPL if you are arriving from Splunk. Maple's visual builder covers every signal, and when you want the query itself it is ClickHouse SQL, through the API or the MCP server.", + "cmp_ax_surfaces_lede": "Axiom stores events and hands you a dashboard builder. Every view is a panel you write in APL. Maple ships these four built, and none of them is a chart you could assemble out of panels.", + "cmp_ax_surface_map_instead": "no dependency graph. You aggregate caller and callee pairs in APL and read the topology as a table.", + "cmp_ax_surface_sessions_instead": "nothing to build on. Axiom stores browser events if you send them, but there is no capture and no replay.", + "cmp_ax_surface_analytics_instead": "a dashboard you assemble from APL over your own events, with no path from a number to the session that produced it.", + "cmp_ax_surface_k8s_instead": "a Kubernetes app that ships the data, and dashboards you build over it.", "home_objections_aria": "Common questions", "home_objection_selfhost_claim": "Self-host the whole thing", diff --git a/apps/landing/messages/ja.json b/apps/landing/messages/ja.json index 3e9a132b0..074157f9b 100644 --- a/apps/landing/messages/ja.json +++ b/apps/landing/messages/ja.json @@ -28,6 +28,7 @@ "nav_vs_new_relic": "Maple vs New Relic", "nav_vs_dash0": "Maple vs Dash0", "nav_vs_signoz": "Maple vs SigNoz", + "nav_vs_axiom": "Maple vs Axiom", "nav_nextjs": "Next.js", "nav_python": "Python", "nav_nodejs": "Node.js", @@ -53,6 +54,7 @@ "nav_desc_vs_new_relic": "OTel\u30cd\u30a4\u30c6\u30a3\u30d6\u3001\u660e\u6717\u306a\u6599\u91d1", "nav_desc_vs_dash0": "\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3067\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u53ef\u80fd", "nav_desc_vs_signoz": "\u30a4\u30b7\u30e5\u30fc\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u30ea\u30d7\u30ec\u30a4\u3001\u5358\u4e00\u306e\u30ed\u30fc\u30ab\u30eb\u30d0\u30a4\u30ca\u30ea", + "nav_desc_vs_axiom": "Issue\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u30ea\u30d7\u30ec\u30a4\u3001\u5358\u4e00\u306e\u30e1\u30fc\u30bf\u30fc", "nav_product_footer": "\u3059\u3079\u3066\u3092\u4e00\u3064\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067", "nav_product_footer_cta": "\u3059\u3079\u3066\u306e\u6a5f\u80fd\u3092\u898b\u308b \u2192", @@ -158,6 +160,7 @@ "bill_link_vs_nr": "Maple vs New Relic", "bill_link_vs_dash0": "Maple vs Dash0", "bill_link_vs_signoz": "Maple vs SigNoz", + "bill_link_vs_axiom": "Maple vs Axiom", "start_endpoint_label": "Endpoint", @@ -332,6 +335,7 @@ "footer_vs_new_relic": "vs New Relic", "footer_vs_dash0": "vs Dash0", "footer_vs_signoz": "vs SigNoz", + "footer_vs_axiom": "vs Axiom", "footer_integrations": "\u30a4\u30f3\u30c6\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3", "footer_community": "\u30b3\u30df\u30e5\u30cb\u30c6\u30a3", "footer_github": "GitHub", @@ -965,8 +969,8 @@ "platform_map_name": "\u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d7", "platform_alerts_name": "\u30a2\u30e9\u30fc\u30c8", "cmp_eyebrow": "\u6bd4\u8f03", - "cmp_hub_seo_title": "Maple vs Datadog\u3001Grafana\u3001New Relic\u3001Dash0\u3001SigNoz \u2014 \u30aa\u30d6\u30b6\u30fc\u30d0\u30d3\u30ea\u30c6\u30a3\u6bd4\u8f03", - "cmp_hub_seo_desc": "Maple\u3068Datadog\u3001Grafana Cloud\u3001New Relic\u3001Dash0\u3001SigNoz\u306e\u4e00\u5bfe\u4e00\u6bd4\u8f03\u3002\u305d\u308c\u305e\u308c\u3069\u3053\u304c\u9055\u3044\u3001\u3069\u3053\u3067\u76f8\u624b\u304c\u512a\u308c\u3066\u3044\u308b\u304b\u3001\u305d\u3057\u3066\u5b9a\u4fa1\u30671\u304b\u6708\u306b\u3044\u304f\u3089\u304b\u304b\u308b\u304b\u3002", + "cmp_hub_seo_title": "Maple vs Datadog\u3001Grafana\u3001New Relic\u3001Dash0\u3001SigNoz\u3001Axiom \u2014 \u30aa\u30d6\u30b6\u30fc\u30d0\u30d3\u30ea\u30c6\u30a3\u6bd4\u8f03", + "cmp_hub_seo_desc": "Maple\u3068Datadog\u3001Grafana Cloud\u3001New Relic\u3001Dash0\u3001SigNoz\u3001Axiom\u306e\u4e00\u5bfe\u4e00\u6bd4\u8f03\u3002\u305d\u308c\u305e\u308c\u3069\u3053\u304c\u9055\u3044\u3001\u3069\u3053\u3067\u76f8\u624b\u304c\u512a\u308c\u3066\u3044\u308b\u304b\u3001\u305d\u3057\u3066\u5b9a\u4fa1\u30671\u304b\u6708\u306b\u3044\u304f\u3089\u304b\u304b\u308b\u304b\u3002", "cmp_hub_title": "Maple\u3001\u6bd4\u8f03\u3059\u308b\u3002", "cmp_hub_lede": "\u30d9\u30f3\u30c0\u30fc\u3054\u3068\u306b1\u30da\u30fc\u30b8\u3002\u5404\u30da\u30fc\u30b8\u306f\u4e21\u8005\u306e\u9055\u3044\u3068\u76f8\u624b\u304c\u512a\u308c\u3066\u3044\u308b\u70b9\u3092\u6319\u3052\u3001\u540c\u30581\u304b\u6708\u3092\u4e21\u8005\u306e\u5b9a\u4fa1\u3067\u898b\u7a4d\u3082\u308a\u307e\u3059\u3002\u30d9\u30f3\u30c0\u30fc\u306b\u95a2\u3059\u308b\u8a18\u8ff0\u306f\u3059\u3079\u3066\u51fa\u5178\u306b\u30ea\u30f3\u30af\u3057\u3001\u78ba\u8a8d\u3057\u305f\u65e5\u4ed8\u3092\u660e\u8a18\u3057\u3066\u3044\u307e\u3059\u3002", "cmp_hub_matrix_eyebrow": "\u3072\u3068\u76ee\u3067", @@ -979,6 +983,7 @@ "cmp_nav_price": "\u4fa1\u683c", "cmp_nav_migration": "\u79fb\u884c", "cmp_nav_faq": "FAQ", + "cmp_nav_surfaces": "\u753b\u9762", "cmp_diff_eyebrow": "\u9055\u3044", "cmp_diff_title": "Maple\u3068{name}\u306e\u9055\u3044", "cmp_diff_lede": "\u5404\u30bb\u30eb\u306f\u30c1\u30a7\u30c3\u30af\u30de\u30fc\u30af\u3067\u306f\u306a\u304f\u6587\u7ae0\u3067\u3059\u3002\u884c\u306e\u8107\u306b\u306f\u3001\u305d\u306e\u9805\u76ee\u3067\u3069\u3061\u3089\u304c\u512a\u308c\u3066\u3044\u308b\u304b\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u4e21\u8005\u304c\u540c\u3058\u3053\u3068\u3092\u3059\u308b\u884c\u306f\u3001\u672b\u5c3e\u306e1\u884c\u306b\u307e\u3068\u3081\u307e\u3057\u305f\u3002", @@ -1005,6 +1010,19 @@ "cmp_migration_lede": "\u30c6\u30ec\u30e1\u30c8\u30ea\u306f\u30a8\u30af\u30b9\u30dd\u30fc\u30bf\u30fc\u30921\u3064\u5909\u3048\u308b\u3060\u3051\u3067\u79fb\u305b\u307e\u3059\u3002\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3068\u30a2\u30e9\u30fc\u30c8\u30eb\u30fc\u30eb\u306f\u30d9\u30f3\u30c0\u30fc\u3092\u307e\u305f\u3052\u306a\u3044\u306e\u3067\u3001\u305d\u3053\u3092\u672c\u5f53\u306e\u4f5c\u696d\u3068\u3057\u3066\u8a08\u753b\u3057\u3066\u304f\u3060\u3055\u3044\u3002", "cmp_migration_diff_label": "\u5909\u66f4\u5185\u5bb9", "cmp_migration_diff_caption": "Maple\u30922\u3064\u76ee\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30bf\u30fc\u3068\u3057\u3066\u8ffd\u52a0\u3057\u3001\u4e21\u65b9\u306b\u9001\u308a\u3001\u305d\u306e\u5f8c\u3067\u5143\u306e\u65b9\u3092\u5916\u3057\u307e\u3059\u3002", + "cmp_surfaces_eyebrow": "\u753b\u9762", + "cmp_surfaces_title": "{name}\u3067\u306f\u81ea\u5206\u3067\u7d44\u307f\u7acb\u3066\u308b\u3082\u306e", + "cmp_surfaces_instead_label": "{name}\u3067\u306f:", + "cmp_surfaces_link": "\u3053\u306e\u6a5f\u80fd\u3092\u898b\u308b", + "cmp_surface_map_name": "\u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d7", + "cmp_surface_map_body": "\u30b5\u30fc\u30d3\u30b9\u3001\u30ad\u30e5\u30fc\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30b9\u30d1\u30f3\u305d\u306e\u3082\u306e\u304b\u3089\u63cf\u753b\u3057\u307e\u3059\u3002\u30c8\u30dd\u30ed\u30b8\u30fc\u306e\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b88\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30a8\u30c3\u30b8\u306f\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3001\u30a8\u30e9\u30fc\u7387\u3001\u30ec\u30a4\u30c6\u30f3\u30b7\u3092\u8868\u3057\u3001\u30af\u30ea\u30c3\u30af\u3059\u308c\u3070\u305d\u306e\u80cc\u5f8c\u306e\u30c8\u30ec\u30fc\u30b9\u304c\u958b\u304d\u307e\u3059\u3002", + "cmp_surface_sessions_name": "\u30d6\u30e9\u30a6\u30b6\u30bb\u30c3\u30b7\u30e7\u30f3\u3068\u30ea\u30d7\u30ec\u30a4", + "cmp_surface_sessions_body": "DOM\u3001\u30b3\u30f3\u30bd\u30fc\u30eb\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3001\u30a8\u30e9\u30fc\u3068\u3068\u3082\u306b\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u518d\u751f\u3067\u304d\u3001\u3069\u306e\u30af\u30ea\u30c3\u30af\u304b\u3089\u3082\u80cc\u5f8c\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306e\u30c8\u30ec\u30fc\u30b9\u3092\u958b\u3051\u307e\u3059\u3002\u30de\u30b9\u30ad\u30f3\u30b0\u306f\u30da\u30fc\u30b8\u304b\u3089\u4f55\u304b\u304c\u51fa\u308b\u524d\u306b\u30d6\u30e9\u30a6\u30b6\u5185\u3067\u884c\u308f\u308c\u307e\u3059\u3002", + "cmp_surface_analytics_name": "Web\u30a2\u30ca\u30ea\u30c6\u30a3\u30af\u30b9", + "cmp_surface_analytics_body": "\u8a2a\u554f\u8005\u3001\u30da\u30fc\u30b8\u30d3\u30e5\u30fc\u3001\u30ea\u30d5\u30a1\u30e9\u30fc\u3001\u56fd\u3001Web Vitals\u3092\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u8a18\u9332\u3057\u3066\u3044\u308b\u306e\u3068\u540c\u3058\u30d6\u30e9\u30a6\u30b6SDK\u304b\u3089\u53d6\u5f97\u3057\u307e\u3059\u3002\u30b9\u30af\u30ea\u30d7\u30c8\u306f1\u3064\u3067\u3001\u3069\u306e\u6570\u5024\u304b\u3089\u3082\u305d\u306e\u80cc\u5f8c\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u958b\u3051\u307e\u3059\u3002", + "cmp_surface_analytics_shot": "Web\u30a2\u30ca\u30ea\u30c6\u30a3\u30af\u30b9\u753b\u9762\uff1a\u76f4\u8fd17\u65e5\u9593\u306e\u30e6\u30cb\u30fc\u30af\u30d3\u30b8\u30bf\u30fc\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u3001\u30da\u30fc\u30b8\u30d3\u30e5\u30fc\u3001\u76f4\u5e30\u7387\u3068\u3001\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306e\u8a2a\u554f\u8005\u30d0\u30c3\u30b8\u3001\u8a2a\u554f\u8005\u3068\u30da\u30fc\u30b8\u30d3\u30e5\u30fc\u306e\u30c1\u30e3\u30fc\u30c8", + "cmp_surface_k8s_name": "Kubernetes\u30b3\u30f3\u30bd\u30fc\u30eb", + "cmp_surface_k8s_body": "\u30ef\u30fc\u30af\u30ed\u30fc\u30c9\u3001\u518d\u8d77\u52d5\u3001\u30ed\u30fc\u30eb\u30a2\u30a6\u30c8\u3092Pod\u3054\u3068\u306eCPU\u30fb\u30e1\u30e2\u30ea\u3068\u3068\u3082\u306b\u8868\u793a\u3057\u3001\u305d\u306e\u4e2d\u3067\u52d5\u304f\u30b5\u30fc\u30d3\u30b9\u306e\u30c8\u30ec\u30fc\u30b9\u3084\u30ed\u30b0\u3068\u3064\u306a\u304c\u3063\u3066\u3044\u307e\u3059\u3002", "cmp_sources_eyebrow": "\u51fa\u5178", "cmp_sources_title": "{name}\u306b\u95a2\u3059\u308b\u8a18\u8ff0\u306e\u51fa\u5178", "cmp_sources_lede": "\u3053\u306e\u30da\u30fc\u30b8\u306e\u30d9\u30f3\u30c0\u30fc\u306b\u95a2\u3059\u308b\u4e8b\u5b9f\u306f\u3001\u5404\u30d9\u30f3\u30c0\u30fc\u81ea\u8eab\u306e\u30da\u30fc\u30b8\u306b\u30ea\u30f3\u30af\u3057\u3001\u6700\u5f8c\u306b\u78ba\u8a8d\u3057\u305f\u6708\u3092\u8a18\u8f09\u3057\u3066\u3044\u307e\u3059\u3002\u53e4\u304f\u306a\u3063\u3066\u3044\u308b\u3082\u306e\u304c\u3042\u308c\u3070\u3001\u304a\u77e5\u3089\u305b\u304f\u3060\u3055\u3044\u3002", @@ -1049,6 +1067,7 @@ "cmp_topic_errors": "\u30a8\u30e9\u30fc\u306e\u30ef\u30fc\u30af\u30d5\u30ed\u30fc", "cmp_topic_local": "\u30ed\u30fc\u30ab\u30eb\u958b\u767a", "cmp_topic_cost_controls": "\u30b3\u30b9\u30c8\u7ba1\u7406", + "cmp_topic_volume_pricing": "\u5927\u91cf\u5229\u7528\u6642\u306e\u5358\u4fa1", "cmp_topic_channels": "\u901a\u77e5\u30c1\u30e3\u30cd\u30eb", "cmp_dd_seo_title": "Maple vs Datadog \u2014 \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306eDatadog\u4ee3\u66ff\u3092\u3001\u6b63\u76f4\u306b\u6bd4\u8f03\u3059\u308b", "cmp_dd_seo_desc": "\u30aa\u30d6\u30b6\u30fc\u30d0\u30d3\u30ea\u30c6\u30a3\u306b\u304a\u3051\u308bMaple\u3068Datadog\u306e\u6bd4\u8f03\u3002\u4e21\u8005\u306e\u9055\u3044\u3001Datadog\u304c\u512a\u308c\u3066\u3044\u308b\u70b9\u3001\u305d\u3057\u3066\u5b9a\u4fa1\u30671\u304b\u6708\u306b\u304b\u304b\u308b\u8cbb\u7528\u3002\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3001OpenTelemetry\u30cd\u30a4\u30c6\u30a3\u30d6\u3001\u30db\u30b9\u30c8\u5358\u4f4d\u306e\u8ab2\u91d1\u306a\u3057\u3002", @@ -1240,7 +1259,7 @@ "cmp_sn_selfhost_them": "Docker\u3001Swarm\u3001Helm\u3001Foundry\u306b\u3088\u308b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u3001\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u5225\u306e\u30ac\u30a4\u30c9\u3002Community\u7248\u3067\u3082\u30ed\u30fc\u30eb\u4ed8\u304d\u306e\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc\u3068Google OAuth\u306b\u5bfe\u5fdc\u3002", "cmp_sn_promql_maple": "PromQL\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30d3\u30b8\u30e5\u30a2\u30eb\u30d3\u30eb\u30c0\u30fc\u3068SQL\u3067\u3001\u30b7\u30b0\u30ca\u30eb\u3092\u307e\u305f\u3044\u30671\u3064\u306e\u6587\u6cd5\u3067\u3059\u3002", "cmp_sn_promql_them": "\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3067Query Builder v5\u3001ClickHouse SQL\u3001PromQL\u304c\u4f7f\u3048\u307e\u3059\u3002Prometheus\u306e\u30eb\u30fc\u30eb\u3092\u305d\u306e\u307e\u307e\u6301\u3061\u8fbc\u3081\u307e\u3059\u3002", - "cmp_sn_cost_controls_maple": "\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u306e\u30ac\u30a4\u30c0\u30f3\u30b9\u3068\u30dc\u30ea\u30e5\u30fc\u30e0\u30a2\u30e9\u30fc\u30c8\u3002\u53d6\u308a\u8fbc\u307f\u306e\u4e0a\u9650\u306f\u3042\u308a\u307e\u305b\u3093\u3002", + "cmp_sn_cost_controls_maple": "\u8ab2\u91d1\u8a2d\u5b9a\u3067\u6708\u9593\u306e\u4e0a\u9650\u984d\u3068\u30b7\u30b0\u30ca\u30eb\u3054\u3068\u306e\u4e0a\u9650\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002pause\u30e2\u30fc\u30c9\u3067\u306f\u4e0a\u9650\u3092\u8d85\u3048\u305f\u5206\u3092\u53d6\u308a\u8fbc\u307f\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u304c\u62d2\u5426\u3057\u3001notify\u30e2\u30fc\u30c9\u3067\u306f\u8b66\u544a\u3060\u3051\u3092\u51fa\u3057\u3066\u53d6\u308a\u8fbc\u307f\u3092\u7d9a\u3051\u307e\u3059\u3002", "cmp_sn_cost_controls_them": "Ingest Guard\u3002Cloud\u3067\u30b7\u30b0\u30ca\u30eb\u5225\u30fb\u30c1\u30fc\u30e0\u5225\u306e\u65e5\u6b21\u4e0a\u9650\u3092\u8a2d\u5b9a\u3067\u304d\u3001\u8d85\u904e\u5206\u306e\u30c7\u30fc\u30bf\u306f\u7834\u68c4\u3055\u308c\u307e\u3059\u3002", "cmp_sn_channels_maple": "Slack\u3001PagerDuty\u3001Discord\u3001Telegram\u3001\u30e1\u30fc\u30eb\u3001Webhook\u3002", "cmp_sn_channels_them": "Opsgenie\u3001Microsoft Teams\u3001Incident.io\u3001Rootly\u3001Zenduty\u3092\u542b\u30809\u7a2e\u985e\u306e\u30c1\u30e3\u30cd\u30eb\u3002", @@ -1257,5 +1276,54 @@ "cmp_sn_faq_4_q": "\u3069\u3061\u3089\u3082\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3067\u304d\u307e\u3059\u304b\uff1f", "cmp_sn_faq_4_a": "\u306f\u3044\u3002\u73fe\u6642\u70b9\u3067\u306fSigNoz\u306e\u65b9\u304c\u6574\u3063\u3066\u3044\u307e\u3059\u3002Docker Compose\u3001Helm\u3001Foundry\u3001\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u5225\u30ac\u30a4\u30c9\u304c\u3042\u308a\u3001Community\u7248\u3067\u3082\u30ed\u30fc\u30eb\u4ed8\u304d\u306e\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc\u3067\u3059\u3002Maple\u306f\u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3089compose\u30d5\u30a1\u30a4\u30eb\u3001\u81ea\u524d\u306eClickHouse\u3001\u30eb\u30fc\u30c8\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3067\u304d\uff08\u5358\u4e00\u7d44\u7e54\uff09\u3001\u30ed\u30fc\u30ab\u30eb\u958b\u767a\u3067\u306fClickHouse\u3092\u5185\u8535\u3057\u305f1\u3064\u306e\u30d0\u30a4\u30ca\u30ea\u3068\u3057\u3066\u52d5\u304d\u307e\u3059\u3002", "cmp_sn_faq_5_q": "SigNoz\u306b\u30bb\u30c3\u30b7\u30e7\u30f3\u30ea\u30d7\u30ec\u30a4\u306f\u3042\u308a\u307e\u3059\u304b\uff1f", - "cmp_sn_faq_5_a": "\u3042\u308a\u307e\u305b\u3093\u3002\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3067\u3082\u4e88\u5b9a\u306f\u306a\u3044\u3068\u8ff0\u3079\u3089\u308c\u3066\u3044\u307e\u3059\u3002SigNoz\u306fOpenTelemetry\u7d4c\u7531\u3067\u30d6\u30e9\u30a6\u30b6\u306e\u30c8\u30ec\u30fc\u30b9\u3001\u30ed\u30b0\u3001Web Vitals\u3092\u53d6\u308a\u8fbc\u307f\u307e\u3059\u3002Maple\u306f\u30d6\u30e9\u30a6\u30b6\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u8a18\u9332\u30fb\u30ea\u30d7\u30ec\u30a4\u3057\u3001\u5404\u30a4\u30d9\u30f3\u30c8\u306e\u80cc\u5f8c\u306b\u3042\u308b\u30c8\u30ec\u30fc\u30b9\u3092\u958b\u3051\u307e\u3059\u3002\u30de\u30b9\u30ad\u30f3\u30b0\u306f\u30da\u30fc\u30b8\u304b\u3089\u4f55\u304b\u304c\u9001\u3089\u308c\u308b\u524d\u306b\u30d6\u30e9\u30a6\u30b6\u5185\u3067\u884c\u308f\u308c\u307e\u3059\u3002" + "cmp_sn_faq_5_a": "\u3042\u308a\u307e\u305b\u3093\u3002\u30b3\u30df\u30e5\u30cb\u30c6\u30a3\u3067\u3082\u4e88\u5b9a\u306f\u306a\u3044\u3068\u8ff0\u3079\u3089\u308c\u3066\u3044\u307e\u3059\u3002SigNoz\u306fOpenTelemetry\u7d4c\u7531\u3067\u30d6\u30e9\u30a6\u30b6\u306e\u30c8\u30ec\u30fc\u30b9\u3001\u30ed\u30b0\u3001Web Vitals\u3092\u53d6\u308a\u8fbc\u307f\u307e\u3059\u3002Maple\u306f\u30d6\u30e9\u30a6\u30b6\u30bb\u30c3\u30b7\u30e7\u30f3\u3092\u8a18\u9332\u30fb\u30ea\u30d7\u30ec\u30a4\u3057\u3001\u5404\u30a4\u30d9\u30f3\u30c8\u306e\u80cc\u5f8c\u306b\u3042\u308b\u30c8\u30ec\u30fc\u30b9\u3092\u958b\u3051\u307e\u3059\u3002\u30de\u30b9\u30ad\u30f3\u30b0\u306f\u30da\u30fc\u30b8\u304b\u3089\u4f55\u304b\u304c\u9001\u3089\u308c\u308b\u524d\u306b\u30d6\u30e9\u30a6\u30b6\u5185\u3067\u884c\u308f\u308c\u307e\u3059\u3002", + "cmp_ax_seo_title": "Maple vs Axiom\uff1aAPL\u3092\u5099\u3048\u305f\u30a4\u30d9\u30f3\u30c8\u30b9\u30c8\u30a2\u304b\u3001\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3067\u304d\u308b\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u304b", + "cmp_ax_seo_desc": "Maple vs Axiom\uff1a\u3069\u3061\u3089\u3082OpenTelemetry\u3092\u53d6\u308a\u8fbc\u307f\u3001\u30b7\u30fc\u30c8\u8ab2\u91d1\u306a\u3057\u306e\u5f93\u91cf\u8ab2\u91d1\u3067\u3059\u3002\u9055\u3044\uff08\u30e1\u30fc\u30bf\u30fc\u304c1\u3064\u304b3\u3064\u304b\u3001\u30a8\u30e9\u30fc\u306e\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u30ea\u30d7\u30ec\u30a4\u3001\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3001APL\uff09\u3001Axiom\u304c\u512a\u308c\u3066\u3044\u308b\u70b9\u3001\u305d\u3057\u3066\u540c\u30581\u304b\u6708\u306b\u304b\u304b\u308b\u8cbb\u7528\u3092\u6bd4\u8f03\u3057\u307e\u3059\u3002", + "cmp_ax_hero_title": "Maple vs Axiom", + "cmp_ax_hero_lede": "Axiom\u3068Maple\u306f\u3069\u3061\u3089\u3082OpenTelemetry\u3092\u53d6\u308a\u8fbc\u307f\u3001\u5f93\u91cf\u8ab2\u91d1\u3067\u3001\u30b7\u30fc\u30c8\u8ab2\u91d1\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u9055\u3044\u306f\u30b9\u30c8\u30a2\u306e\u4e0a\u306b\u4f55\u304c\u8f09\u3063\u3066\u3044\u308b\u304b\u3067\u3059\u3002Axiom\u306fAPL\u3068\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u30d3\u30eb\u30c0\u30fc\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002Maple\u306f\u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d7\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u30ea\u30d7\u30ec\u30a4\u3001Web\u30a2\u30ca\u30ea\u30c6\u30a3\u30af\u30b9\u3068\u3044\u3063\u305f\u753b\u9762\u3092\u4f5c\u308a\u8fbc\u3093\u3060\u72b6\u614b\u3067\u63d0\u4f9b\u3057\u3001\u305d\u306e\u3059\u3079\u3066\u3092\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3067\u304d\u307e\u3059\u3002\u4ee5\u4e0b\u3067\u306f\u3001\u4e21\u8005\u304c\u5206\u304b\u308c\u308b\u70b9\u3001Axiom\u3067\u306f\u81ea\u5206\u3067\u7d44\u307f\u7acb\u3066\u308b\u3053\u3068\u306b\u306a\u308b\u3082\u306e\u3001Axiom\u304c\u512a\u308c\u3066\u3044\u308b\u70b9\u3001\u305d\u3057\u3066\u540c\u30581\u304b\u6708\u306e\u8cbb\u7528\u3092\u793a\u3057\u307e\u3059\u3002", + "cmp_ax_pricing_maple": "\u6708\u984d39\u30c9\u30eb\u3001\u30b7\u30b0\u30ca\u30eb\u3054\u3068\u306b100 GB\u8fbc\u307f\u3001\u4ee5\u964d\u306f1 GB\u3042\u305f\u308a0.30\u30c9\u30eb\u3002\u30e1\u30fc\u30bf\u30fc\u306f1\u3064\u3067\u3001\u30af\u30a8\u30ea\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u3001\u30b7\u30f3\u30b0\u30eb\u30b5\u30a4\u30f3\u30aa\u30f3\u304c\u5225\u9805\u76ee\u306b\u306a\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002", + "cmp_ax_pricing_them": "\u6708\u984d25\u30c9\u30eb\u306b\u52a0\u3048\u30663\u3064\u306e\u30e1\u30fc\u30bf\u30fc\u304c\u3042\u308a\u307e\u3059\u3002\u30c7\u30fc\u30bf\u30ed\u30fc\u30c9\u306f1 GB\u3042\u305f\u308a0.12\u30c9\u30eb\u304b\u3089\u3001\u30af\u30a8\u30ea\u8a08\u7b97\u306f1 GB\u6642\u3042\u305f\u308a0.20\u30c9\u30eb\u304b\u3089\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u306f1 GB\u3042\u305f\u308a0.03\u30c9\u30eb\u3067\u3059\u3002\u7121\u511f\u67a0\u306f1 TB\u3001100 GB\u6642\u3001100 GB\u3067\u3059\u3002\u30b7\u30f3\u30b0\u30eb\u30b5\u30a4\u30f3\u30aa\u30f3\u306f\u6708100\u30c9\u30eb\u3001RBAC\u3068\u76e3\u67fb\u30ed\u30b0\u306f\u540450\u30c9\u30eb\u3067\u3059\u3002", + "cmp_ax_volume_pricing_maple": "\u3069\u306e\u898f\u6a21\u3067\u30821 GB\u3042\u305f\u308a0.30\u30c9\u30eb\u3002\u3053\u308c\u3088\u308a\u4f4e\u3044\u5358\u4fa1\u306fEnterprise\u3067\u306e\u76f8\u8ac7\u3068\u306a\u308a\u3001\u516c\u958b\u3055\u308c\u305f\u6bb5\u968e\u6599\u91d1\u306f\u3042\u308a\u307e\u305b\u3093\u3002", + "cmp_ax_volume_pricing_them": "\u53d6\u308a\u8fbc\u307f\u5358\u4fa1\u306f\u91cf\u306b\u5fdc\u3058\u3066\u81ea\u52d5\u7684\u306b\u4e0b\u304c\u308a\u307e\u3059\u30021 GB\u3042\u305f\u308a0.12\u30c9\u30eb\u3001500 TB\u8d85\u30670.085\u30c9\u30eb\u30015 PB\u8d85\u30670.06\u30c9\u30eb\u3002\u3055\u3089\u306b\u30af\u30ec\u30b8\u30c3\u30c8\u306e\u4e8b\u524d\u8cfc\u5165\u3067\u6700\u592740%\u5f15\u304d\u306b\u306a\u308a\u307e\u3059\u3002", + "cmp_ax_errors_maple": "\u4f8b\u5916\u306f\u62c5\u5f53\u8005\u3001\u72b6\u614b\u3001\u91cd\u8981\u5ea6\u3001\u30b3\u30e1\u30f3\u30c8\u3092\u6301\u3064issue\u306b\u306a\u308a\u307e\u3059\u3002\u89e3\u6c7a\u6e08\u307f\u306eissue\u304c\u518d\u767a\u3059\u308b\u3068\u518d\u30aa\u30fc\u30d7\u30f3\u3057\u307e\u3059\u3002", + "cmp_ax_errors_them": "issue\u3068\u3044\u3046\u6982\u5ff5\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u4f8b\u5916\u306f\u30a4\u30d9\u30f3\u30c8\u306e\u307e\u307e\u3067\u3001APL\u3067\u30af\u30a8\u30ea\u3057\u3066\u30e1\u30c3\u30bb\u30fc\u30b8\u3054\u3068\u306b\u30b0\u30eb\u30fc\u30d7\u5316\u3057\u3001\u30e2\u30cb\u30bf\u30fc\u304c\u30b0\u30eb\u30fc\u30d7\u5358\u4f4d\u3067\u901a\u77e5\u3057\u307e\u3059\u3002", + "cmp_ax_rum_maple": "\u30af\u30ea\u30c3\u30af\u306e\u80cc\u5f8c\u306b\u3042\u308b\u30c8\u30ec\u30fc\u30b9\u307e\u3067\u8fbf\u308c\u308b\u30d6\u30e9\u30a6\u30b6\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u30ea\u30d7\u30ec\u30a4\u3001\u30d6\u30e9\u30a6\u30b6SDK\u306b\u3088\u308bWeb Vitals\u3001iOS\u5411\u3051\u306eSwift SDK\u3002", + "cmp_ax_rum_them": "\u30d6\u30e9\u30a6\u30b6\u304b\u3089\u306eWeb Vitals\u3068\u3001\u8a2d\u5b9a\u4e0d\u8981\u306eVercel\u5411\u3051\u30a2\u30d7\u30ea\u3002\u30bb\u30c3\u30b7\u30e7\u30f3\u30ea\u30d7\u30ec\u30a4\u3068\u30e2\u30d0\u30a4\u30ebSDK\u306f\u3042\u308a\u307e\u305b\u3093\u3002", + "cmp_ax_local_maple": "ClickHouse\u3092\u57cb\u3081\u8fbc\u3093\u3060\u5358\u4e00\u30d0\u30a4\u30ca\u30ea\u3002\u30ce\u30fc\u30c8PC\u3067 `maple start`\u3001\u30b3\u30f3\u30c6\u30ca\u3082\u30a2\u30ab\u30a6\u30f3\u30c8\u3082\u4e0d\u8981\u3067\u3059\u3002", + "cmp_ax_local_them": "\u30af\u30e9\u30a6\u30c9\u5c02\u7528\u3067\u3059\u3002\u30ed\u30fc\u30ab\u30eb\u3067\u306e\u4f5c\u696d\u3082\u3001\u5b9f\u969b\u306e\u7d44\u7e54\u306e\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3068\u74b0\u5883\u5909\u6570\u306e\u30c8\u30fc\u30af\u30f3\u304c\u524d\u63d0\u306b\u306a\u308a\u307e\u3059\u3002", + "cmp_ax_source_maple": "GitHub\u3067FSL-1.1\u3068\u3057\u3066\u516c\u958b\u3002\u5404\u30ea\u30ea\u30fc\u30b9\u306e2\u5e74\u5f8c\u306bApache 2.0\u3078\u5207\u308a\u66ff\u308f\u308a\u307e\u3059\u3002", + "cmp_ax_source_them": "\u30af\u30ed\u30fc\u30ba\u30c9\u3067\u3059\u3002SDK\u3001Collector\u306e\u8a2d\u5b9a\u3001Vercel\u30a2\u30d7\u30ea\u306f\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u672c\u4f53\u306f\u975e\u516c\u958b\u3067\u3059\u3002", + "cmp_ax_selfhost_maple": "\u53ef\u80fd\u3067\u3059\u3002\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u5168\u4f53\u3092\u81ea\u793e\u30a4\u30f3\u30d5\u30e9\u3067\u3001\u81ea\u524d\u306eClickHouse\u3067\u52d5\u304b\u3057\u3001\u4fdd\u6301\u671f\u9593\u3082\u81ea\u5206\u3067\u6c7a\u3081\u3089\u308c\u307e\u3059\u3002", + "cmp_ax_selfhost_them": "\u4e0d\u53ef\u3067\u3059\u3002Axiom\u304c\u904b\u7528\u3059\u308b\u30a8\u30c3\u30b8\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\uff08US East\u3001EU Central\uff09\u306e\u307f\u3067\u3001Enterprise\u306f\u81ea\u793e\u306eS3\u30d0\u30b1\u30c3\u30c8\u3092\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002", + "cmp_ax_retention_maple": "\u30af\u30e9\u30a6\u30c9\u30d7\u30e9\u30f3\u3067\u306f\u5b9a\u984d\u306e\u307e\u307e30\u65e5\u3002Enterprise\u3067\u306f\u3055\u3089\u306b\u9577\u304f\u3001\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u306a\u3089\u81ea\u5206\u306e\u88c1\u91cf\u3067\u3059\u3002", + "cmp_ax_retention_them": "\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3054\u3068\u306b\u8a2d\u5b9a\u3067\u304d\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u3068\u3057\u3066\u8ab2\u91d1\u3055\u308c\u307e\u3059\u3002\u5727\u7e2e\u5f8c1 GB\u3042\u305f\u308a\u67080.03\u30c9\u30eb\u3001100 GB\u307e\u3067\u7121\u511f\u3002\u30ed\u30b0\u30921\u5e74\u6301\u3063\u3066\u30821 GB\u3042\u305f\u308a\u6570\u30bb\u30f3\u30c8\u3067\u3059\u3002", + "cmp_ax_query_maple": "\u3059\u3079\u3066\u306e\u30b7\u30b0\u30ca\u30eb\u30921\u3064\u306e\u30d3\u30b8\u30e5\u30a2\u30eb\u30d3\u30eb\u30c0\u30fc\u3067\u3002\u30af\u30a8\u30ea\u305d\u306e\u3082\u306e\u3092\u66f8\u304d\u305f\u3044\u3068\u304d\u306fAPI\u3068MCP\u30b5\u30fc\u30d0\u30fc\u7d4c\u7531\u306eClickHouse SQL\u3002", + "cmp_ax_query_them": "\u30a4\u30d9\u30f3\u30c8\u306b\u306fAPL\u3001\u30e1\u30c8\u30ea\u30af\u30b9\u306b\u306fMPL\u3092\u4f7f\u3044\u307e\u3059\u3002\u95a2\u6570\u306f100\u3092\u8d85\u3048\u3001Splunk\u306eSPL\u3092APL\u306b\u7ffb\u8a33\u3059\u308b\u30b9\u30ad\u30eb\u3082\u3042\u308a\u307e\u3059\u3002", + "cmp_ax_ai_maple": "\u88fd\u54c1\u81ea\u8eab\u306e\u30af\u30a8\u30ea\u3092\u516c\u958b\u3059\u308b\u30db\u30b9\u30c8\u578bMCP\u30b5\u30fc\u30d0\u30fc\uff08SQL\u306e\u4e2d\u3067\u7d44\u7e54\u306b\u30b9\u30b3\u30fc\u30d7\u3055\u308c\u307e\u3059\uff09\u3068\u3001\u8a3a\u65ad\u3092\u5b9f\u884c\u3057\u3066\u4f55\u304c\u58ca\u308c\u305f\u304b\u3092\u307e\u3068\u3081\u308b\u8abf\u67fb\u6a5f\u80fd\u3002", + "cmp_ax_ai_them": "MCP\u30b5\u30fc\u30d0\u30fc\u30016\u3064\u306e\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30b9\u30ad\u30eb\uff08SRE\u3001\u30e1\u30c8\u30ea\u30af\u30b9\u3001\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3001\u30a2\u30e9\u30fc\u30c8\u3001\u30b3\u30b9\u30c8\u7ba1\u7406\u3001SPL\u7ffb\u8a33\uff09\u30012\u3064\u306e\u30a4\u30d9\u30f3\u30c8\u96c6\u5408\u3092\u6bd4\u8f03\u3059\u308bSpotlight\u304c\u3042\u308a\u307e\u3059\u3002\u30c8\u30fc\u30af\u30f3\u5358\u4f4d\u306e\u30af\u30a8\u30ea\u30b3\u30b9\u30c8\u4e0a\u9650\u304c\u3042\u308b\u306e\u3067\u3001\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u8acb\u6c42\u3092\u81a8\u3089\u307e\u305b\u308b\u3053\u3068\u3082\u3042\u308a\u307e\u305b\u3093\u3002", + "cmp_ax_integrations_maple": "OpenTelemetry\u306e\u30ec\u30b7\u30fc\u30d0\u30fc\u306b\u52a0\u3048\u3066\u3001Cloudflare\u3001PlanetScale\u3001GitHub\u3001Kubernetes\u3001Docker\u3001Prometheus\u306e\u30cd\u30a4\u30c6\u30a3\u30d6\u30ab\u30bf\u30ed\u30b0\u3002", + "cmp_ax_integrations_them": "Vector\u3001CloudWatch\u3001Lambda\u3001Heroku\u3001CI/CD\u306a\u306940\u3092\u8d85\u3048\u308b\u30a2\u30d7\u30ea\u304c\u3042\u308a\u307e\u3059\u3002Splunk\u30a2\u30d7\u30ea\u306f\u4e21\u8005\u3092\u307e\u305f\u3044\u3067\u691c\u7d22\u3067\u304d\u307e\u3059\u3002", + "cmp_ax_cost_controls_maple": "\u8ab2\u91d1\u8a2d\u5b9a\u3067\u6708\u9593\u306e\u4e0a\u9650\u984d\u3068\u30b7\u30b0\u30ca\u30eb\u3054\u3068\u306e\u4e0a\u9650\u3092\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002pause\u30e2\u30fc\u30c9\u3067\u306f\u4e0a\u9650\u3092\u8d85\u3048\u305f\u5206\u3092\u53d6\u308a\u8fbc\u307f\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u304c\u62d2\u5426\u3057\u3001notify\u30e2\u30fc\u30c9\u3067\u306f\u8b66\u544a\u3060\u3051\u3092\u51fa\u3057\u3066\u53d6\u308a\u8fbc\u307f\u3092\u7d9a\u3051\u307e\u3059\u3002", + "cmp_ax_cost_controls_them": "\u30b3\u30f3\u30bd\u30fc\u30eb\u3067\u8a2d\u5b9a\u3059\u308b\u652f\u51fa\u30a2\u30e9\u30fc\u30c8\u3068\u30cf\u30fc\u30c9\u4e0a\u9650\u304c\u3042\u308a\u307e\u3059\u3002\u4e0a\u9650\u3092\u8d85\u3048\u308b\u3068\u3001\u8d85\u904e\u8acb\u6c42\u3067\u306f\u306a\u304f\u53d6\u308a\u8fbc\u307f\u304c\u505c\u6b62\u3057\u307e\u3059\u3002", + "cmp_ax_compliance_maple": "SOC 2\u30ec\u30dd\u30fc\u30c8\u306f\u307e\u3060\u3042\u308a\u307e\u305b\u3093\u3002\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u306a\u3089\u3001\u30c7\u30fc\u30bf\u306f\u81ea\u793e\u306e\u76e3\u67fb\u6e08\u307f\u74b0\u5883\u306b\u7559\u307e\u308a\u307e\u3059\u3002", + "cmp_ax_compliance_them": "SOC 2 Type II\u3001ISO 27001\u3001GDPR\u3001\u30bb\u30eb\u30d5\u30b5\u30fc\u30d3\u30b9\u306eHIPAA BAA\u3001\u305d\u3057\u3066\u7c73\u56fd\u304bEU\u306e\u30ea\u30fc\u30b8\u30e7\u30f3\u3092\u9078\u3079\u307e\u3059\u3002", + "cmp_ax_mig_1_title": "Collector\u306f\u305d\u306e\u307e\u307e\u3001\u30a8\u30af\u30b9\u30dd\u30fc\u30bf\u30fc\u30921\u3064\u8db3\u3059", + "cmp_ax_mig_1_body": "\u3069\u3061\u3089\u3082\u6a19\u6e96\u306eOTLP\u3092\u53d7\u3051\u53d6\u308b\u305f\u3081\u3001SDK\u3001\u81ea\u52d5\u8a08\u88c5\u3001\u30bb\u30de\u30f3\u30c6\u30a3\u30c3\u30af\u898f\u7d04\u306f\u305d\u306e\u307e\u307e\u4f7f\u3048\u307e\u3059\u3002Axiom\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30bf\u30fc\u306e\u3068\u306a\u308a\u306bMaple\u3092\u8ffd\u52a0\u3057\u3001\u91cd\u8981\u306a\u30a2\u30e9\u30fc\u30c8\u304cMaple\u304b\u3089\u9cf4\u308b\u3088\u3046\u306b\u306a\u308b\u307e\u3067\u4e21\u65b9\u3078\u9001\u3063\u3066\u304f\u3060\u3055\u3044\u3002", + "cmp_ax_mig_2_title": "\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3068\u30e2\u30cb\u30bf\u30fc\u306f\u30d7\u30ed\u30f3\u30d7\u30c81\u56de\u3067\u79fb\u3059", + "cmp_ax_mig_2_body": "\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3068\u30e2\u30cb\u30bf\u30fc\u306fOTLP\u3067\u306f\u79fb\u3089\u305a\u3001APL\u3082\u540c\u3058\u3067\u3059\u3002\u4e21\u8005\u3068\u3082MCP\u30b5\u30fc\u30d0\u30fc\u3092\u5099\u3048\u3066\u3044\u3066\u3001Axiom\u5074\u306f\u65e2\u5b58\u306e\u8a2d\u5b9a\u3092\u8aad\u307f\u3001Maple\u5074\u306f\u4f5c\u6210\u3067\u304d\u307e\u3059\u3002\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u4e21\u65b9\u306b\u3064\u306a\u304e\u3001\u30af\u30a8\u30ea\u3092\u7ffb\u8a33\u3057\u306a\u304c\u3089\u79fb\u3057\u3066\u3082\u3089\u3063\u3066\u304f\u3060\u3055\u3044\u3002", + "cmp_ax_faq_1_q": "Axiom\u306f\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3067\u3059\u304b\uff1f\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3067\u304d\u307e\u3059\u304b\uff1f", + "cmp_ax_faq_1_a": "\u3069\u3061\u3089\u3082\u3044\u3044\u3048\u3067\u3059\u3002Axiom\u306fSDK\u3001Collector\u306e\u8a2d\u5b9a\u3001Vercel\u30a2\u30d7\u30ea\u3092\u516c\u958b\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u672c\u4f53\u306f\u30af\u30ed\u30fc\u30ba\u30c9\u3067\u3001Axiom\u81ea\u8eab\u306e\u30a8\u30c3\u30b8\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\uff08\u73fe\u5728\u306fUS East\u3068EU Central\uff09\u3067\u306e\u307f\u52d5\u304d\u307e\u3059\u3002Enterprise\u306f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u81ea\u793e\u306eS3\u30d0\u30b1\u30c3\u30c8\u306b\u7f6e\u3051\u307e\u3059\u304c\u3001\u3053\u308c\u306f\u30bb\u30eb\u30d5\u30db\u30b9\u30c8\u3067\u306f\u306a\u304f\u30c7\u30fc\u30bf\u30ec\u30b8\u30c7\u30f3\u30b7\u30fc\u3067\u3059\u3002Maple\u306e\u30bd\u30fc\u30b9\u306fGitHub\u3067FSL-1.1\u3068\u3057\u3066\u516c\u958b\u3055\u308c\u3001\u5404\u30ea\u30ea\u30fc\u30b9\u306e2\u5e74\u5f8c\u306bApache 2.0\u3078\u5207\u308a\u66ff\u308f\u308a\u3001\u81ea\u793e\u30a4\u30f3\u30d5\u30e9\u306e\u81ea\u524dClickHouse\u3067\u52d5\u304b\u305b\u307e\u3059\u3002", + "cmp_ax_faq_2_q": "Maple\u306fAxiom\u3068\u3069\u3046\u9055\u3044\u307e\u3059\u304b\uff1f", + "cmp_ax_faq_2_a": "Axiom\u306f\u307e\u305a\u30a4\u30d9\u30f3\u30c8\u30b9\u30c8\u30a2\u3067\u3059\u3002\u3059\u3079\u3066\u306f\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u306b\u5165\u308a\u3001APL\u3067\u30af\u30a8\u30ea\u3057\u3001\u30e2\u30cb\u30bf\u30fc\u304c\u305d\u306e\u30af\u30a8\u30ea\u3092\u5b9a\u671f\u5b9f\u884c\u3057\u307e\u3059\u3002Maple\u306f\u305d\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u4e0a\u306b\u8f09\u308b\u88fd\u54c1\u3067\u3001\u4f8b\u5916\u306f\u62c5\u5f53\u8005\u3068\u72b6\u614b\u3092\u6301\u3064issue\u306b\u306a\u308a\u3001\u30d6\u30e9\u30a6\u30b6\u30bb\u30c3\u30b7\u30e7\u30f3\u306f\u30af\u30ea\u30c3\u30af\u306e\u80cc\u5f8c\u306e\u30c8\u30ec\u30fc\u30b9\u3068\u3068\u3082\u306b\u30ea\u30d7\u30ec\u30a4\u3067\u304d\u3001\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3082\u4e00\u7d1a\u306e\u30b7\u30b0\u30ca\u30eb\u3067\u3001\u5358\u4e00\u30d0\u30a4\u30ca\u30ea\u3067\u30ce\u30fc\u30c8PC\u3067\u3082\u52d5\u304d\u307e\u3059\u3002Axiom\u306f\u5927\u91cf\u5229\u7528\u6642\u306e\u5358\u4fa1\u3001\u4fdd\u6301\u306e\u30b3\u30b9\u30c8\u3001\u30a4\u30f3\u30c6\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u306e\u5e45\u3001\u30b3\u30f3\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9\u3067\u5148\u3092\u884c\u3063\u3066\u3044\u307e\u3059\u3002", + "cmp_ax_faq_3_q": "Axiom\u3068Maple\u306f\u3069\u3061\u3089\u304c\u5b89\u3044\u3067\u3059\u304b\uff1f", + "cmp_ax_faq_3_a": "\u57fa\u6e96\u3068\u306a\u308b\u30ef\u30fc\u30af\u30ed\u30fc\u30c9\u3067\u306fMaple\u3067\u3059\u3002Axiom\u306f\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u6599\u91d1\u3068\u30af\u30a8\u30ea\u8a08\u7b97\u306e\u30e1\u30fc\u30bf\u30fc\u304c\u3001Maple\u306e\u8d85\u904e\u6599\u91d1\u3088\u308a\u65e9\u304f\u8ab2\u91d1\u3092\u59cb\u3081\u307e\u3059\u3002\u67081 TB\u3092\u8d85\u3048\u308b\u3068Axiom\u306e\u53d6\u308a\u8fbc\u307f\u5358\u4fa1\u306e\u307b\u3046\u304c\u5b89\u304f\u3001\u91cf\u306b\u5fdc\u3058\u3066\u3055\u3089\u306b\u4e0b\u304c\u308a\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u6599\u91d1\u306e\u304a\u304b\u3052\u3067\u9577\u671f\u4fdd\u6301\u3082\u5b89\u4fa1\u3067\u3059\u3002\u4e0a\u306e\u660e\u7d30\u306f\u516c\u958b\u3055\u308c\u3066\u3044\u308b\u4e21\u8005\u306e\u6599\u91d1\u8868\u3092\u540c\u30581\u304b\u6708\u306b\u5f53\u3066\u306f\u3081\u305f\u3082\u306e\u3067\u3001\u8a08\u7b97\u6a5f\u3067\u6570\u91cf\u3092\u5909\u3048\u3089\u308c\u307e\u3059\u3002", + "cmp_ax_faq_4_q": "Axiom\u306b\u30a8\u30e9\u30fc\u30c8\u30e9\u30c3\u30ad\u30f3\u30b0\u3084\u30bb\u30c3\u30b7\u30e7\u30f3\u30ea\u30d7\u30ec\u30a4\u306f\u3042\u308a\u307e\u3059\u304b\uff1f", + "cmp_ax_faq_4_a": "\u88fd\u54c1\u3068\u3057\u3066\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u4f8b\u5916\u306fAPL\u3067\u30af\u30a8\u30ea\u3057\u3066\u30e2\u30cb\u30bf\u30fc\u306e\u4e2d\u3067\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\u30a4\u30d9\u30f3\u30c8\u306e\u307e\u307e\u306a\u306e\u3067\u3001\u62c5\u5f53\u8005\u3082\u72b6\u614b\u3082\u518d\u30aa\u30fc\u30d7\u30f3\u3082\u3042\u308a\u307e\u305b\u3093\u3002\u30bb\u30c3\u30b7\u30e7\u30f3\u30ea\u30d7\u30ec\u30a4\u3082\u3042\u308a\u307e\u305b\u3093\u3002Maple\u306f\u3069\u3061\u3089\u3082\u5099\u3048\u3066\u3044\u307e\u3059\u3002\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\u3092\u6301\u3064issue\u3068\u3001\u30da\u30fc\u30b8\u304b\u3089\u4f55\u304b\u304c\u51fa\u308b\u524d\u306b\u30d6\u30e9\u30a6\u30b6\u5185\u3067\u30de\u30b9\u30af\u3055\u308c\u308b\u30bb\u30c3\u30b7\u30e7\u30f3\u30ea\u30d7\u30ec\u30a4\u3067\u3059\u3002", + "cmp_ax_faq_5_q": "APL\u3092\u899a\u3048\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u304b\uff1f", + "cmp_ax_faq_5_a": "Axiom\u3067\u306f\u304a\u304a\u3080\u306d\u5fc5\u8981\u3067\u3059\u3002\u30a4\u30d9\u30f3\u30c8\u306b\u306fAPL\u3001\u30e1\u30c8\u30ea\u30af\u30b9\u306b\u306fMPL\u3001Splunk\u304b\u3089\u79fb\u308b\u306a\u3089SPL\u3092\u7ffb\u8a33\u3059\u308b\u30b9\u30ad\u30eb\u304c\u3042\u308a\u307e\u3059\u3002Maple\u306f\u30d3\u30b8\u30e5\u30a2\u30eb\u30d3\u30eb\u30c0\u30fc\u304c\u3059\u3079\u3066\u306e\u30b7\u30b0\u30ca\u30eb\u3092\u30ab\u30d0\u30fc\u3057\u3001\u30af\u30a8\u30ea\u305d\u306e\u3082\u306e\u3092\u898b\u305f\u3044\u3068\u304d\u306fAPI\u304bMCP\u30b5\u30fc\u30d0\u30fc\u7d4c\u7531\u306eClickHouse SQL\u3067\u3059\u3002", + "cmp_ax_surfaces_lede": "Axiom\u306f\u30a4\u30d9\u30f3\u30c8\u3092\u4fdd\u5b58\u3057\u3001\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u30d3\u30eb\u30c0\u30fc\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002\u3042\u3089\u3086\u308b\u30d3\u30e5\u30fc\u306fAPL\u3067\u66f8\u304f\u30d1\u30cd\u30eb\u3067\u3059\u3002Maple\u306f\u6b21\u306e4\u3064\u3092\u4f5c\u308a\u8fbc\u3093\u3060\u72b6\u614b\u3067\u63d0\u4f9b\u3057\u307e\u3059\u3002\u3044\u305a\u308c\u3082\u30d1\u30cd\u30eb\u3092\u4e26\u3079\u3066\u7d44\u307f\u7acb\u3066\u3089\u308c\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002", + "cmp_ax_surface_map_instead": "\u4f9d\u5b58\u95a2\u4fc2\u306e\u30b0\u30e9\u30d5\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u547c\u3073\u51fa\u3057\u5143\u3068\u547c\u3073\u51fa\u3057\u5148\u306e\u7d44\u3092APL\u3067\u96c6\u8a08\u3057\u3001\u30c8\u30dd\u30ed\u30b8\u30fc\u3092\u8868\u3068\u3057\u3066\u8aad\u3080\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002", + "cmp_ax_surface_sessions_instead": "\u571f\u53f0\u305d\u306e\u3082\u306e\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u9001\u308c\u3070\u30d6\u30e9\u30a6\u30b6\u306e\u30a4\u30d9\u30f3\u30c8\u306f\u4fdd\u5b58\u3067\u304d\u307e\u3059\u304c\u3001\u8a18\u9332\u3082\u30ea\u30d7\u30ec\u30a4\u3082\u3042\u308a\u307e\u305b\u3093\u3002", + "cmp_ax_surface_analytics_instead": "\u81ea\u5206\u306e\u30a4\u30d9\u30f3\u30c8\u306b\u5bfe\u3057\u3066APL\u3067\u7d44\u307f\u7acb\u3066\u308b\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3067\u3059\u3002\u6570\u5024\u304b\u3089\u305d\u306e\u80cc\u5f8c\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u3078\u8fbf\u308b\u9053\u306f\u3042\u308a\u307e\u305b\u3093\u3002", + "cmp_ax_surface_k8s_instead": "\u30c7\u30fc\u30bf\u3092\u9001\u308bKubernetes\u30a2\u30d7\u30ea\u3068\u3001\u305d\u306e\u4e0a\u306b\u81ea\u5206\u3067\u4f5c\u308b\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3067\u3059\u3002" } diff --git a/apps/landing/messages/ko.json b/apps/landing/messages/ko.json index 6cbd72311..eae0d4c06 100644 --- a/apps/landing/messages/ko.json +++ b/apps/landing/messages/ko.json @@ -28,6 +28,7 @@ "nav_vs_new_relic": "Maple vs New Relic", "nav_vs_dash0": "Maple vs Dash0", "nav_vs_signoz": "Maple vs SigNoz", + "nav_vs_axiom": "Maple vs Axiom", "nav_nextjs": "Next.js", "nav_python": "Python", "nav_nodejs": "Node.js", @@ -53,6 +54,7 @@ "nav_desc_vs_new_relic": "OTel \ub124\uc774\ud2f0\ube0c, \uc608\uce21 \uac00\ub2a5\ud55c \uc694\uae08", "nav_desc_vs_dash0": "\uc624\ud508\uc18c\uc2a4, \uc140\ud504 \ud638\uc2a4\ud305 \uac00\ub2a5", "nav_desc_vs_signoz": "\uc774\uc288, \uc138\uc158 \ub9ac\ud50c\ub808\uc774, \ub2e8\uc77c \ub85c\uceec \ubc14\uc774\ub108\ub9ac", + "nav_desc_vs_axiom": "\uc774\uc288, \uc138\uc158 \ub9ac\ud50c\ub808\uc774, \ub2e8\uc77c \ubbf8\ud130", "nav_product_footer": "\ubaa8\ub4e0 \uac83\uc744 \ud558\ub098\uc758 \ud50c\ub7ab\ud3fc\uc5d0\uc11c", "nav_product_footer_cta": "\ubaa8\ub4e0 \uae30\ub2a5 \uc0b4\ud3b4\ubcf4\uae30 \u2192", @@ -158,6 +160,7 @@ "bill_link_vs_nr": "Maple vs New Relic", "bill_link_vs_dash0": "Maple vs Dash0", "bill_link_vs_signoz": "Maple vs SigNoz", + "bill_link_vs_axiom": "Maple vs Axiom", "start_endpoint_label": "Endpoint", @@ -332,6 +335,7 @@ "footer_vs_new_relic": "vs New Relic", "footer_vs_dash0": "vs Dash0", "footer_vs_signoz": "vs SigNoz", + "footer_vs_axiom": "vs Axiom", "footer_integrations": "\ud1b5\ud569", "footer_community": "\ucee4\ubba4\ub2c8\ud2f0", "footer_github": "GitHub", @@ -965,8 +969,8 @@ "platform_map_name": "\uc11c\ube44\uc2a4 \ub9f5", "platform_alerts_name": "\uc54c\ub9bc", "cmp_eyebrow": "\ube44\uad50", - "cmp_hub_seo_title": "Maple vs Datadog, Grafana, New Relic, Dash0, SigNoz \u2014 \uc635\uc800\ubc84\ube4c\ub9ac\ud2f0 \ube44\uad50", - "cmp_hub_seo_desc": "Maple\uacfc Datadog, Grafana Cloud, New Relic, Dash0, SigNoz\uc758 \uc77c\ub300\uc77c \ube44\uad50. \ubb34\uc5c7\uc774 \ub2e4\ub978\uc9c0, \uc0c1\ub300\uac00 \uc55e\uc120 \ubd80\ubd84\uc740 \uc5b4\ub514\uc778\uc9c0, \uc815\uac00 \uae30\uc900 \ud55c \ub2ec \ube44\uc6a9\uc740 \uc5bc\ub9c8\uc778\uc9c0.", + "cmp_hub_seo_title": "Maple vs Datadog, Grafana, New Relic, Dash0, SigNoz, Axiom \u2014 \uc635\uc800\ubc84\ube4c\ub9ac\ud2f0 \ube44\uad50", + "cmp_hub_seo_desc": "Maple\uacfc Datadog, Grafana Cloud, New Relic, Dash0, SigNoz, Axiom\uc758 \uc77c\ub300\uc77c \ube44\uad50. \ubb34\uc5c7\uc774 \ub2e4\ub978\uc9c0, \uc0c1\ub300\uac00 \uc55e\uc120 \ubd80\ubd84\uc740 \uc5b4\ub514\uc778\uc9c0, \uc815\uac00 \uae30\uc900 \ud55c \ub2ec \ube44\uc6a9\uc740 \uc5bc\ub9c8\uc778\uc9c0.", "cmp_hub_title": "Maple, \ube44\uad50\ud558\ub2e4.", "cmp_hub_lede": "\ubca4\ub354\ubcc4\ub85c \ud55c \ud398\uc774\uc9c0\uc529. \uac01 \ud398\uc774\uc9c0\ub294 \ub450 \uc81c\ud488\uc774 \uc5b4\ub514\uc5d0\uc11c \ub2e4\ub974\uace0 \uc0c1\ub300 \uc81c\ud488\uc774 \uc5b4\ub514\uc5d0\uc11c \uc55e\uc11c\ub294\uc9c0 \uc815\ub9ac\ud558\uace0, \uac19\uc740 \ud55c \ub2ec\uc744 \ub450 \uc81c\ud488\uc758 \uc815\uac00\ub85c \uacc4\uc0b0\ud569\ub2c8\ub2e4. \ubca4\ub354\uc5d0 \uad00\ud55c \ubaa8\ub4e0 \uc8fc\uc7a5\uc740 \ucd9c\ucc98\ub85c \uc5f0\uacb0\ub418\uba70 \ud655\uc778\ud55c \ub0a0\uc9dc\ub97c \ud568\uaed8 \ud45c\uc2dc\ud569\ub2c8\ub2e4.", "cmp_hub_matrix_eyebrow": "\ud55c\ub208\uc5d0 \ubcf4\uae30", @@ -979,6 +983,7 @@ "cmp_nav_price": "\uac00\uaca9", "cmp_nav_migration": "\ub9c8\uc774\uadf8\ub808\uc774\uc158", "cmp_nav_faq": "FAQ", + "cmp_nav_surfaces": "\ud654\uba74", "cmp_diff_eyebrow": "\ucc28\uc774\uc810", "cmp_diff_title": "Maple\uacfc {name}\uc774 \ub2e4\ub978 \uc9c0\uc810", "cmp_diff_lede": "\ubaa8\ub4e0 \uce78\uc740 \uccb4\ud06c \ud45c\uc2dc\uac00 \uc544\ub2c8\ub77c \ubb38\uc7a5\uc785\ub2c8\ub2e4. \uc5ec\ubc31\uc5d0\ub294 \ud574\ub2f9 \ud56d\ubaa9\uc5d0\uc11c \uc5b4\ub290 \ucabd\uc774 \uc55e\uc11c\ub294\uc9c0 \ud45c\uc2dc\ud588\uc2b5\ub2c8\ub2e4. \ub450 \uc81c\ud488\uc774 \uac19\uc740 \uc77c\uc744 \ud558\ub294 \ud56d\ubaa9\uc740 \ub9e8 \uc544\ub798 \ud55c \uc904\ub85c \ubb36\uc5c8\uc2b5\ub2c8\ub2e4.", @@ -1005,6 +1010,19 @@ "cmp_migration_lede": "\ud154\ub808\uba54\ud2b8\ub9ac\ub294 \uc775\uc2a4\ud3ec\ud130 \ud558\ub098\ub9cc \ubc14\uafb8\uba74 \uc62e\uaca8\uc9d1\ub2c8\ub2e4. \ub300\uc2dc\ubcf4\ub4dc\uc640 \uc54c\ub9bc \uaddc\uce59\uc740 \ubca4\ub354\ub97c \ub118\uc5b4\uac00\uc9c0 \ubabb\ud558\ubbc0\ub85c, \uadf8 \ubd80\ubd84\uc744 \uc2e4\uc81c \uc791\uc5c5\uc73c\ub85c \uc7a1\uace0 \uacc4\ud68d\ud558\uc138\uc694.", "cmp_migration_diff_label": "\ubc14\ub00c\ub294 \ubd80\ubd84", "cmp_migration_diff_caption": "Maple\uc744 \ub450 \ubc88\uc9f8 \uc775\uc2a4\ud3ec\ud130\ub85c \ucd94\uac00\ud574 \uc591\ucabd\uc73c\ub85c \ubcf4\ub0b8 \ub4a4, \uae30\uc874 \uc775\uc2a4\ud3ec\ud130\ub97c \uc81c\uac70\ud569\ub2c8\ub2e4.", + "cmp_surfaces_eyebrow": "\ud654\uba74", + "cmp_surfaces_title": "{name}\uc5d0\uc11c\ub294 \uc9c1\uc811 \ub9cc\ub4e4\uc5b4\uc57c \ud558\ub294 \uac83", + "cmp_surfaces_instead_label": "{name}\uc5d0\uc11c\ub294:", + "cmp_surfaces_link": "\ud574\ub2f9 \uae30\ub2a5 \ubcf4\uae30", + "cmp_surface_map_name": "\uc11c\ube44\uc2a4 \ub9f5", + "cmp_surface_map_body": "\ubaa8\ub4e0 \uc11c\ube44\uc2a4\uc640 \ud050, \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc2a4\ud32c \uc790\uccb4\uc5d0\uc11c \uadf8\ub9bd\ub2c8\ub2e4. \uad00\ub9ac\ud574\uc57c \ud560 \ud1a0\ud3f4\ub85c\uc9c0 \ud30c\uc77c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \uc5e3\uc9c0\ub294 \ucc98\ub9ac\ub7c9\uacfc \uc624\ub958\uc728, \uc9c0\uc5f0\uc744 \ub2f4\uace0 \uc788\uace0 \ud074\ub9ad\ud558\uba74 \uadf8 \ub4a4\uc758 \ud2b8\ub808\uc774\uc2a4\uac00 \uc5f4\ub9bd\ub2c8\ub2e4.", + "cmp_surface_sessions_name": "\ube0c\ub77c\uc6b0\uc800 \uc138\uc158\uacfc \ub9ac\ud50c\ub808\uc774", + "cmp_surface_sessions_body": "DOM, \ucf58\uc194, \ub124\ud2b8\uc6cc\ud06c, \uc624\ub958\uc640 \ud568\uaed8 \uc138\uc158\uc744 \ub2e4\uc2dc \ubcfc \uc218 \uc788\uace0, \uc5b4\ub5a4 \ud074\ub9ad\uc5d0\uc11c\ub4e0 \uadf8 \ub4a4\uc758 \ubc31\uc5d4\ub4dc \ud2b8\ub808\uc774\uc2a4\ub97c \uc5f4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub9c8\uc2a4\ud0b9\uc740 \ud398\uc774\uc9c0\uc5d0\uc11c \ubb34\uc5c7\ub3c4 \ub098\uac00\uae30 \uc804\uc5d0 \ube0c\ub77c\uc6b0\uc800 \uc548\uc5d0\uc11c \uc774\ub904\uc9d1\ub2c8\ub2e4.", + "cmp_surface_analytics_name": "\uc6f9 \uc560\ub110\ub9ac\ud2f1\uc2a4", + "cmp_surface_analytics_body": "\ubc29\ubb38\uc790, \ud398\uc774\uc9c0\ubdf0, \ub9ac\ud37c\ub7ec, \uad6d\uac00, Web Vitals\ub97c \uc138\uc158\uc744 \uae30\ub85d\ud558\ub294 \uadf8 \ube0c\ub77c\uc6b0\uc800 SDK\uc5d0\uc11c \uadf8\ub300\ub85c \ubc1b\uc2b5\ub2c8\ub2e4. \uc2a4\ud06c\ub9bd\ud2b8\ub294 \ud558\ub098\uc774\uace0, \uc5b4\ub5a4 \uc22b\uc790\uc5d0\uc11c\ub4e0 \uadf8 \ub4a4\uc758 \uc138\uc158\uc73c\ub85c \ub4e4\uc5b4\uac08 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", + "cmp_surface_analytics_shot": "\uc6f9 \uc560\ub110\ub9ac\ud2f1\uc2a4 \ud654\uba74: \ucd5c\uadfc 7\uc77c\uac04\uc758 \uc21c \ubc29\ubb38\uc790, \uc138\uc158, \ud398\uc774\uc9c0\ubdf0, \uc774\ud0c8\ub960\uacfc \uc2e4\uc2dc\uac04 \ubc29\ubb38\uc790 \ubc30\uc9c0, \ubc29\ubb38\uc790 \ubc0f \ud398\uc774\uc9c0\ubdf0 \ucc28\ud2b8", + "cmp_surface_k8s_name": "\ucfe0\ubc84\ub124\ud2f0\uc2a4 \ucf58\uc194", + "cmp_surface_k8s_body": "\uc6cc\ud06c\ub85c\ub4dc\uc640 \uc7ac\uc2dc\uc791, \ub864\uc544\uc6c3\uc744 \ud30c\ub4dc\ubcc4 CPU\u00b7\uba54\ubaa8\ub9ac\uc640 \ud568\uaed8 \ubcf4\uc5ec\uc8fc\uace0, \uadf8 \uc548\uc5d0\uc11c \ub3c4\ub294 \uc11c\ube44\uc2a4\uc758 \ud2b8\ub808\uc774\uc2a4\u00b7\ub85c\uadf8\uc640 \uc774\uc5b4\uc9d1\ub2c8\ub2e4.", "cmp_sources_eyebrow": "\ucd9c\ucc98", "cmp_sources_title": "{name} \uad00\ub828 \ub0b4\uc6a9\uc758 \ucd9c\ucc98", "cmp_sources_lede": "\uc774 \ud398\uc774\uc9c0\uc758 \ubca4\ub354 \uad00\ub828 \uc0ac\uc2e4\uc740 \uac01 \ubca4\ub354\uc758 \uacf5\uc2dd \ud398\uc774\uc9c0\ub85c \uc5f0\uacb0\ub418\uba70, \ub9c8\uc9c0\ub9c9\uc73c\ub85c \ud655\uc778\ud55c \ub2ec\uc744 \ud568\uaed8 \ud45c\uc2dc\ud569\ub2c8\ub2e4. \uc624\ub798\ub41c \ub0b4\uc6a9\uc774 \uc788\ub2e4\uba74 \uc54c\ub824\uc8fc\uc138\uc694.", @@ -1049,6 +1067,7 @@ "cmp_topic_errors": "\uc5d0\ub7ec \uc6cc\ud06c\ud50c\ub85c", "cmp_topic_local": "\ub85c\uceec \uac1c\ubc1c", "cmp_topic_cost_controls": "\ube44\uc6a9 \ud1b5\uc81c", + "cmp_topic_volume_pricing": "\ub300\uc6a9\ub7c9 \ub2e8\uac00", "cmp_topic_channels": "\uc54c\ub9bc \ucc44\ub110", "cmp_dd_seo_title": "Maple vs Datadog \u2014 \uc624\ud508\uc18c\uc2a4 Datadog \ub300\uc548, \uc194\uc9c1\ud55c \ube44\uad50", "cmp_dd_seo_desc": "\uc635\uc800\ubc84\ube4c\ub9ac\ud2f0\uc5d0\uc11c Maple\uacfc Datadog \ube44\uad50. \ubb34\uc5c7\uc774 \ub2e4\ub978\uc9c0, Datadog\uc774 \uc55e\uc120 \ubd80\ubd84\uc740 \uc5b4\ub514\uc778\uc9c0, \uc815\uac00 \uae30\uc900 \ud55c \ub2ec \ube44\uc6a9\uc740 \uc5bc\ub9c8\uc778\uc9c0. \uc624\ud508\uc18c\uc2a4, OpenTelemetry \ub124\uc774\ud2f0\ube0c, \ud638\uc2a4\ud2b8\ub2f9 \uc694\uae08 \uc5c6\uc74c.", @@ -1240,7 +1259,7 @@ "cmp_sn_selfhost_them": "Docker, Swarm, Helm, Foundry \uc124\uce58\uc640 \ud50c\ub7ab\ud3fc\ubcc4 \uac00\uc774\ub4dc. Community \uc5d0\ub514\uc158\uc5d0\uc11c\ub3c4 \uc5ed\ud560 \uae30\ubc18 \ub2e4\uc911 \uc0ac\uc6a9\uc790\uc640 Google OAuth\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4.", "cmp_sn_promql_maple": "PromQL\uc740 \uc5c6\uc2b5\ub2c8\ub2e4. \ube44\uc8fc\uc5bc \ube4c\ub354\uc640 SQL\ub85c, \uc2dc\uadf8\ub110\uc744 \uac00\ub85c\uc9c8\ub7ec \ubb38\ubc95\uc740 \ud558\ub098\uc785\ub2c8\ub2e4.", "cmp_sn_promql_them": "\ub300\uc2dc\ubcf4\ub4dc\uc5d0\uc11c Query Builder v5, ClickHouse SQL, PromQL\uc744 \uc4f8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. Prometheus \uaddc\uce59\uc774 \uadf8\ub300\ub85c \ub118\uc5b4\uc635\ub2c8\ub2e4.", - "cmp_sn_cost_controls_maple": "\uc0d8\ud50c\ub9c1 \uac00\uc774\ub4dc\uc640 \ubcfc\ub968 \uc54c\ub9bc. \uc218\uc9d1 \uc0c1\ud55c\uc740 \uc5c6\uc2b5\ub2c8\ub2e4.", + "cmp_sn_cost_controls_maple": "\uccad\uad6c \uc124\uc815\uc5d0\uc11c \uc6d4 \uc9c0\ucd9c \uc0c1\ud55c\uacfc \uc2dc\uadf8\ub110\ubcc4 \uc0c1\ud55c\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. pause \ubaa8\ub4dc\uc5d0\uc11c\ub294 \ud55c\ub3c4\ub97c \ub118\uc740 \ub370\uc774\ud130\ub97c \uc218\uc9d1 \uac8c\uc774\ud2b8\uc6e8\uc774\uac00 \uac70\ubd80\ud558\uace0, notify \ubaa8\ub4dc\uc5d0\uc11c\ub294 \uc54c\ub9ac\uae30\ub9cc \ud558\uace0 \uacc4\uc18d \uc218\uc9d1\ud569\ub2c8\ub2e4.", "cmp_sn_cost_controls_them": "Ingest Guard: Cloud\uc5d0\uc11c \uc2dc\uadf8\ub110\ubcc4\u00b7\ud300\ubcc4 \uc77c\uc77c \uc0c1\ud55c\uc744 \ub450\uace0, \ucd08\uacfc \ub370\uc774\ud130\ub294 \ubc84\ub9bd\ub2c8\ub2e4.", "cmp_sn_channels_maple": "Slack, PagerDuty, Discord, Telegram, \uc774\uba54\uc77c, \uc6f9\ud6c5.", "cmp_sn_channels_them": "Opsgenie, Microsoft Teams, Incident.io, Rootly, Zenduty\ub97c \ud3ec\ud568\ud55c \uc544\ud649 \uac00\uc9c0 \ucc44\ub110 \uc720\ud615.", @@ -1257,5 +1276,54 @@ "cmp_sn_faq_4_q": "\ub458 \ub2e4 \uc140\ud504 \ud638\uc2a4\ud305\ud560 \uc218 \uc788\ub098\uc694?", "cmp_sn_faq_4_a": "\ub124. \ud604\uc7ac\ub85c\uc11c\ub294 SigNoz \ucabd\uc774 \ub354 \ub2e4\ub4ec\uc5b4\uc838 \uc788\uc2b5\ub2c8\ub2e4. Docker Compose, Helm, Foundry, \ud50c\ub7ab\ud3fc\ubcc4 \uac00\uc774\ub4dc\uac00 \uc788\uace0 Community \uc5d0\ub514\uc158\uc5d0\uc11c\ub3c4 \uc5ed\ud560 \uae30\ubc18 \ub2e4\uc911 \uc0ac\uc6a9\uc790\uc785\ub2c8\ub2e4. Maple\uc740 \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\uc5d0\uc11c compose \ud30c\uc77c, \uc9c1\uc811 \uc6b4\uc601\ud558\ub294 ClickHouse, \ub8e8\ud2b8 \ube44\ubc00\ubc88\ud638\ub85c \uc140\ud504 \ud638\uc2a4\ud305\ud558\uba70(\ub2e8\uc77c \uc870\uc9c1), \ub85c\uceec \uac1c\ubc1c\uc5d0\uc11c\ub294 ClickHouse\uac00 \ub0b4\uc7a5\ub41c \ubc14\uc774\ub108\ub9ac \ud558\ub098\ub85c \uc2e4\ud589\ub429\ub2c8\ub2e4.", "cmp_sn_faq_5_q": "SigNoz\uc5d0 \uc138\uc158 \ub9ac\ud50c\ub808\uc774\uac00 \uc788\ub098\uc694?", - "cmp_sn_faq_5_a": "\uc5c6\uc2b5\ub2c8\ub2e4. \ucee4\ubba4\ub2c8\ud2f0\uc5d0\uc11c\ub3c4 \uacc4\ud68d\uc774 \uc5c6\ub2e4\uace0 \ubc1d\ud614\uc2b5\ub2c8\ub2e4. SigNoz\ub294 OpenTelemetry\ub85c \ube0c\ub77c\uc6b0\uc800 \ud2b8\ub808\uc774\uc2a4, \ub85c\uadf8, Web Vitals\ub97c \uc218\uc9d1\ud569\ub2c8\ub2e4. Maple\uc740 \ube0c\ub77c\uc6b0\uc800 \uc138\uc158\uc744 \uae30\ub85d\ud558\uace0 \ub9ac\ud50c\ub808\uc774\ud558\uba70 \uac01 \uc774\ubca4\ud2b8 \ub4a4\uc758 \ud2b8\ub808\uc774\uc2a4\ub97c \uc5f4 \uc218 \uc788\uace0, \ub9c8\uc2a4\ud0b9\uc740 \ud398\uc774\uc9c0\uc5d0\uc11c \ubb34\uc5b8\uac00\uac00 \ub098\uac00\uae30 \uc804\uc5d0 \ube0c\ub77c\uc6b0\uc800 \uc548\uc5d0\uc11c \uc774\ub904\uc9d1\ub2c8\ub2e4." + "cmp_sn_faq_5_a": "\uc5c6\uc2b5\ub2c8\ub2e4. \ucee4\ubba4\ub2c8\ud2f0\uc5d0\uc11c\ub3c4 \uacc4\ud68d\uc774 \uc5c6\ub2e4\uace0 \ubc1d\ud614\uc2b5\ub2c8\ub2e4. SigNoz\ub294 OpenTelemetry\ub85c \ube0c\ub77c\uc6b0\uc800 \ud2b8\ub808\uc774\uc2a4, \ub85c\uadf8, Web Vitals\ub97c \uc218\uc9d1\ud569\ub2c8\ub2e4. Maple\uc740 \ube0c\ub77c\uc6b0\uc800 \uc138\uc158\uc744 \uae30\ub85d\ud558\uace0 \ub9ac\ud50c\ub808\uc774\ud558\uba70 \uac01 \uc774\ubca4\ud2b8 \ub4a4\uc758 \ud2b8\ub808\uc774\uc2a4\ub97c \uc5f4 \uc218 \uc788\uace0, \ub9c8\uc2a4\ud0b9\uc740 \ud398\uc774\uc9c0\uc5d0\uc11c \ubb34\uc5b8\uac00\uac00 \ub098\uac00\uae30 \uc804\uc5d0 \ube0c\ub77c\uc6b0\uc800 \uc548\uc5d0\uc11c \uc774\ub904\uc9d1\ub2c8\ub2e4.", + "cmp_ax_seo_title": "Maple vs Axiom: APL\uc744 \uac16\ucd98 \uc774\ubca4\ud2b8 \uc2a4\ud1a0\uc5b4\uc778\uac00, \uc9c1\uc811 \ud638\uc2a4\ud305\ud558\ub294 \ud50c\ub7ab\ud3fc\uc778\uac00", + "cmp_ax_seo_desc": "Maple vs Axiom: \ub458 \ub2e4 OpenTelemetry\ub97c \uc218\uc9d1\ud558\uace0 \uc88c\uc11d \uacfc\uae08 \uc5c6\uc774 \uc0ac\uc6a9\ub7c9\uc73c\ub85c \uccad\uad6c\ud569\ub2c8\ub2e4. \ucc28\uc774\uc810(\ubbf8\ud130 \ud558\ub098\uc640 \uc14b, \uc624\ub958 \uc6cc\ud06c\ud50c\ub85c, \uc138\uc158 \ub9ac\ud50c\ub808\uc774, \uc140\ud504 \ud638\uc2a4\ud305, APL), Axiom\uc774 \uc55e\uc120 \uc9c0\uc810, \uadf8\ub9ac\uace0 \uac19\uc740 \ud55c \ub2ec\uc758 \ube44\uc6a9\uc744 \ube44\uad50\ud569\ub2c8\ub2e4.", + "cmp_ax_hero_title": "Maple vs Axiom", + "cmp_ax_hero_lede": "Axiom\uacfc Maple\uc740 \ubaa8\ub450 OpenTelemetry\ub97c \uc218\uc9d1\ud558\uace0 \uc0ac\uc6a9\ub7c9\uc73c\ub85c \uccad\uad6c\ud558\uba70 \uc88c\uc11d \uc694\uae08\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \ucc28\uc774\ub294 \uc2a4\ud1a0\uc5b4 \uc704\uc5d0 \ubb34\uc5c7\uc774 \uc62c\ub77c\uac00\ub294\uc9c0\uc785\ub2c8\ub2e4. Axiom\uc740 APL\uacfc \ub300\uc2dc\ubcf4\ub4dc \ube4c\ub354\ub97c \uc90d\ub2c8\ub2e4. Maple\uc740 \uc11c\ube44\uc2a4 \ub9f5, \uc138\uc158 \ub9ac\ud50c\ub808\uc774, \uc6f9 \uc560\ub110\ub9ac\ud2f1\uc2a4 \uac19\uc740 \ud654\uba74\uc744 \ub9cc\ub4e4\uc5b4\uc9c4 \uc0c1\ud0dc\ub85c \uc8fc\uace0, \uadf8 \uc804\ubd80\ub97c \uc9c1\uc811 \ud638\uc2a4\ud305\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798\uc5d0 \ub450 \uc81c\ud488\uc774 \uac08\ub9ac\ub294 \uc9c0\uc810, Axiom\uc5d0\uc11c\ub294 \uc9c1\uc811 \ub9cc\ub4e4\uc5b4\uc57c \ud558\ub294 \uac83, Axiom\uc774 \uc55e\uc120 \uc9c0\uc810, \uadf8\ub9ac\uace0 \uac19\uc740 \ud55c \ub2ec\uc758 \ube44\uc6a9\uc744 \uc815\ub9ac\ud588\uc2b5\ub2c8\ub2e4.", + "cmp_ax_pricing_maple": "\uc6d4 39\ub2ec\ub7ec\uc5d0 \uc2dc\uadf8\ub110\ubcc4 100 GB \ud3ec\ud568, \uc774\ud6c4 GB\ub2f9 0.30\ub2ec\ub7ec. \ubbf8\ud130\ub294 \ud558\ub098\uc774\uace0 \ucffc\ub9ac, \uc2a4\ud1a0\ub9ac\uc9c0, \uc2f1\uae00 \uc0ac\uc778\uc628\uc774 \ubcc4\ub3c4 \ud56d\ubaa9\uc73c\ub85c \ubd99\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.", + "cmp_ax_pricing_them": "\uc6d4 25\ub2ec\ub7ec\uc5d0 \ubbf8\ud130\uac00 \uc14b \ubd99\uc2b5\ub2c8\ub2e4. \ub370\uc774\ud130 \ub85c\ub529\uc740 GB\ub2f9 0.12\ub2ec\ub7ec\ubd80\ud130, \ucffc\ub9ac \ucef4\ud4e8\ud2b8\ub294 GB-\uc2dc\uac04\ub2f9 0.20\ub2ec\ub7ec\ubd80\ud130, \uc2a4\ud1a0\ub9ac\uc9c0\ub294 GB\ub2f9 0.03\ub2ec\ub7ec\uc785\ub2c8\ub2e4. \ubb34\ub8cc \ud55c\ub3c4\ub294 1 TB, 100 GB-\uc2dc\uac04, 100 GB\uc785\ub2c8\ub2e4. \uc2f1\uae00 \uc0ac\uc778\uc628\uc740 \uc6d4 100\ub2ec\ub7ec, RBAC\uc640 \uac10\uc0ac \ub85c\uadf8\ub294 \uac01 50\ub2ec\ub7ec\uc785\ub2c8\ub2e4.", + "cmp_ax_volume_pricing_maple": "\uc5b4\ub290 \uaddc\ubaa8\uc5d0\uc11c\ub3c4 GB\ub2f9 0.30\ub2ec\ub7ec. \ub354 \ub0ae\uc740 \ub2e8\uac00\ub294 \uacf5\uac1c\ub41c \uad6c\uac04\uc774 \uc544\ub2c8\ub77c Enterprise \ud611\uc758 \uc0ac\ud56d\uc785\ub2c8\ub2e4.", + "cmp_ax_volume_pricing_them": "\uc218\uc9d1 \ub2e8\uac00\uac00 \ubcfc\ub968\uc5d0 \ub530\ub77c \uc790\ub3d9\uc73c\ub85c \ub0b4\ub824\uac11\ub2c8\ub2e4. GB\ub2f9 0.12\ub2ec\ub7ec, 500 TB \ucd08\uacfc \uc2dc 0.085\ub2ec\ub7ec, 5 PB \ucd08\uacfc \uc2dc 0.06\ub2ec\ub7ec\uc774\uace0, \ud06c\ub808\ub527\uc744 \ubbf8\ub9ac \uad6c\ub9e4\ud558\uba74 \ucd5c\ub300 40%\uac00 \ub354 \ud560\uc778\ub429\ub2c8\ub2e4.", + "cmp_ax_errors_maple": "\uc608\uc678\ub294 \ub2f4\ub2f9\uc790, \uc0c1\ud0dc, \uc2ec\uac01\ub3c4, \ub313\uae00\uc744 \uac00\uc9c4 \uc774\uc288\uac00 \ub429\ub2c8\ub2e4. \ud574\uacb0\ub41c \uc774\uc288\uac00 \ub2e4\uc2dc \ubc1c\uc0dd\ud558\uba74 \uc790\ub3d9\uc73c\ub85c \ub2e4\uc2dc \uc5f4\ub9bd\ub2c8\ub2e4.", + "cmp_ax_errors_them": "\uc774\uc288\ub77c\ub294 \uac1d\uccb4\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \uc608\uc678\ub294 \uc774\ubca4\ud2b8 \uadf8\ub300\ub85c\uc5ec\uc11c APL\ub85c \uc870\ud68c\ud574 \uba54\uc2dc\uc9c0\ubcc4\ub85c \ubb36\uace0, \ubaa8\ub2c8\ud130\uac00 \uadf8\ub8f9 \ub2e8\uc704\ub85c \uc54c\ub9bd\ub2c8\ub2e4.", + "cmp_ax_rum_maple": "\ud074\ub9ad \ub4a4\uc758 \ud2b8\ub808\uc774\uc2a4\uae4c\uc9c0 \uc774\uc5b4\uc9c0\ub294 \ube0c\ub77c\uc6b0\uc800 \uc138\uc158 \ub9ac\ud50c\ub808\uc774, \ube0c\ub77c\uc6b0\uc800 SDK\uc758 Web Vitals, iOS\uc6a9 Swift SDK.", + "cmp_ax_rum_them": "\ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c \ubcf4\ub0b4\ub294 Web Vitals\uc640 \uc124\uc815\uc774 \ud544\uc694 \uc5c6\ub294 Vercel \uc571. \uc138\uc158 \ub9ac\ud50c\ub808\uc774\uc640 \ubaa8\ubc14\uc77c SDK\ub294 \uc5c6\uc2b5\ub2c8\ub2e4.", + "cmp_ax_local_maple": "ClickHouse\ub97c \ub0b4\uc7a5\ud55c \ub2e8\uc77c \ubc14\uc774\ub108\ub9ac. \ub178\ud2b8\ubd81\uc5d0\uc11c `maple start`, \ucee8\ud14c\uc774\ub108\ub3c4 \uacc4\uc815\ub3c4 \ud544\uc694 \uc5c6\uc2b5\ub2c8\ub2e4.", + "cmp_ax_local_them": "\ud074\ub77c\uc6b0\ub4dc \uc804\uc6a9\uc785\ub2c8\ub2e4. \ub85c\uceec \uc791\uc5c5\ub3c4 \uc2e4\uc81c \uc870\uc9c1\uc758 \ub370\uc774\ud130\uc14b\uacfc \ud658\uacbd \ubcc0\uc218\uc758 \ud1a0\ud070\uc744 \uc804\uc81c\ub85c \ud569\ub2c8\ub2e4.", + "cmp_ax_source_maple": "GitHub\uc5d0 FSL-1.1\ub85c \uacf5\uac1c\ub418\uba70, \uac01 \ub9b4\ub9ac\uc2a4 2\ub144 \ud6c4 Apache 2.0\uc73c\ub85c \uc804\ud658\ub429\ub2c8\ub2e4.", + "cmp_ax_source_them": "\ube44\uacf5\uac1c\uc785\ub2c8\ub2e4. SDK\uc640 Collector \uc124\uc815, Vercel \uc571\uc740 \uacf5\uac1c\ub418\uc5b4 \uc788\uc9c0\ub9cc \ud50c\ub7ab\ud3fc \uc790\uccb4\ub294 \uc544\ub2d9\ub2c8\ub2e4.", + "cmp_ax_selfhost_maple": "\uac00\ub2a5\ud569\ub2c8\ub2e4. \ud50c\ub7ab\ud3fc \uc804\uccb4\ub97c \uc790\uccb4 \uc778\ud504\ub77c\uc5d0\uc11c, \uc790\uccb4 ClickHouse\ub85c, \ubcf4\uc874 \uae30\uac04\ub3c4 \uc9c1\uc811 \uc815\ud574 \uc6b4\uc601\ud569\ub2c8\ub2e4.", + "cmp_ax_selfhost_them": "\ubd88\uac00\ub2a5\ud569\ub2c8\ub2e4. Axiom\uc774 \uc6b4\uc601\ud558\ub294 \uc5e3\uc9c0 \ubc30\ud3ec(US East, EU Central)\ub9cc \uc788\uace0, Enterprise\ub294 \uc2a4\ud1a0\ub9ac\uc9c0\ub97c \uc790\uc0ac S3 \ubc84\ud0b7\uc73c\ub85c \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", + "cmp_ax_retention_maple": "\ud074\ub77c\uc6b0\ub4dc \ud50c\ub79c\uc5d0\uc11c\ub294 \uac19\uc740 \uc815\uc561\uc73c\ub85c 30\uc77c. Enterprise\ub294 \ub354 \uae38\uace0, \uc9c1\uc811 \ud638\uc2a4\ud305\ud558\uba74 \uc7ac\ub7c9\uc785\ub2c8\ub2e4.", + "cmp_ax_retention_them": "\ub370\uc774\ud130\uc14b\ubcc4\ub85c \uc124\uc815\ud558\uace0 \uc2a4\ud1a0\ub9ac\uc9c0\ub85c \uccad\uad6c\ud569\ub2c8\ub2e4. \uc555\ucd95 \uae30\uc900 GB\ub2f9 \uc6d4 0.03\ub2ec\ub7ec, 100 GB\uae4c\uc9c0 \ubb34\ub8cc. \ub85c\uadf8\ub97c 1\ub144 \ubcf4\uad00\ud574\ub3c4 GB\ub2f9 \uba87 \uc13c\ud2b8\uc785\ub2c8\ub2e4.", + "cmp_ax_query_maple": "\ubaa8\ub4e0 \uc2dc\uadf8\ub110\uc744 \ud558\ub098\uc758 \ube44\uc8fc\uc5bc \ube4c\ub354\ub85c. \ucffc\ub9ac \uc790\uccb4\uac00 \ud544\uc694\ud558\uba74 API\uc640 MCP \uc11c\ubc84\ub97c \ud1b5\ud55c ClickHouse SQL.", + "cmp_ax_query_them": "\uc774\ubca4\ud2b8\uc5d0\ub294 APL, \uba54\ud2b8\ub9ad\uc5d0\ub294 MPL\uc744 \uc501\ub2c8\ub2e4. \ud568\uc218\uac00 100\uac1c\ub97c \ub118\uace0, Splunk\uc758 SPL\uc744 APL\ub85c \ubc88\uc5ed\ud558\ub294 \uc2a4\ud0ac\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.", + "cmp_ax_ai_maple": "\uc81c\ud488 \uc790\uc2e0\uc758 \ucffc\ub9ac\ub97c \ub178\ucd9c\ud558\ub294 \ud638\uc2a4\ud305 MCP \uc11c\ubc84(SQL \uc548\uc5d0\uc11c \uc870\uc9c1\uc73c\ub85c \ubc94\uc704\uac00 \ud55c\uc815\ub429\ub2c8\ub2e4)\uc640, \uc9c4\ub2e8\uc744 \uc218\ud589\ud574 \ubb34\uc5c7\uc774 \uae68\uc84c\ub294\uc9c0 \uc815\ub9ac\ud558\ub294 \uc870\uc0ac \uae30\ub2a5.", + "cmp_ax_ai_them": "MCP \uc11c\ubc84, \uc5ec\uc12f \uac1c\uc758 \uc5d0\uc774\uc804\ud2b8 \uc2a4\ud0ac(SRE, \uba54\ud2b8\ub9ad, \ub300\uc2dc\ubcf4\ub4dc, \uc54c\ub9bc, \ube44\uc6a9 \uad00\ub9ac, SPL \ubc88\uc5ed), \ub450 \uc774\ubca4\ud2b8 \uc9d1\ud569\uc744 \ube44\uad50\ud558\ub294 Spotlight\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ud1a0\ud070 \ub2e8\uc704 \ucffc\ub9ac \ube44\uc6a9 \uc0c1\ud55c\uc774 \uc788\uc5b4 \uc5d0\uc774\uc804\ud2b8\uac00 \uccad\uad6c\uc11c\ub97c \ud0a4\uc6b8 \uc77c\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4.", + "cmp_ax_integrations_maple": "OpenTelemetry \ub9ac\uc2dc\ubc84\uc5d0 \ub354\ud574 Cloudflare, PlanetScale, GitHub, Kubernetes, Docker, Prometheus\uc758 \ub124\uc774\ud2f0\ube0c \uce74\ud0c8\ub85c\uadf8.", + "cmp_ax_integrations_them": "Vector, CloudWatch, Lambda, Heroku, CI/CD \ub4f1 40\uac1c\uac00 \ub118\ub294 \uc571\uc774 \uc788\uc2b5\ub2c8\ub2e4. Splunk \uc571\uc740 \ub450 \ub3c4\uad6c\ub97c \ud568\uaed8 \uac80\uc0c9\ud569\ub2c8\ub2e4.", + "cmp_ax_cost_controls_maple": "\uccad\uad6c \uc124\uc815\uc5d0\uc11c \uc6d4 \uc9c0\ucd9c \uc0c1\ud55c\uacfc \uc2dc\uadf8\ub110\ubcc4 \uc0c1\ud55c\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. pause \ubaa8\ub4dc\uc5d0\uc11c\ub294 \ud55c\ub3c4\ub97c \ub118\uc740 \ub370\uc774\ud130\ub97c \uc218\uc9d1 \uac8c\uc774\ud2b8\uc6e8\uc774\uac00 \uac70\ubd80\ud558\uace0, notify \ubaa8\ub4dc\uc5d0\uc11c\ub294 \uc54c\ub9ac\uae30\ub9cc \ud558\uace0 \uacc4\uc18d \uc218\uc9d1\ud569\ub2c8\ub2e4.", + "cmp_ax_cost_controls_them": "\ucf58\uc194\uc5d0\uc11c \uc124\uc815\ud558\ub294 \uc9c0\ucd9c \uc54c\ub9bc\uacfc \ud558\ub4dc \uc0c1\ud55c\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ud55c\ub3c4\ub97c \ub118\uc73c\uba74 \ucd08\uacfc \uccad\uad6c\uac00 \uc544\ub2c8\ub77c \uc218\uc9d1\uc774 \uba48\ucda5\ub2c8\ub2e4.", + "cmp_ax_compliance_maple": "\uc544\uc9c1 SOC 2 \ubcf4\uace0\uc11c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \uc9c1\uc811 \ud638\uc2a4\ud305\ud558\uba74 \ub370\uc774\ud130\uac00 \uc790\uccb4 \uac10\uc0ac \ud658\uacbd\uc5d0 \ub0a8\uc2b5\ub2c8\ub2e4.", + "cmp_ax_compliance_them": "SOC 2 Type II, ISO 27001, GDPR, \uc140\ud504\uc11c\ube44\uc2a4 HIPAA BAA, \uadf8\ub9ac\uace0 \ubbf8\uad6d\uacfc EU \uc911 \ub9ac\uc804 \uc120\ud0dd.", + "cmp_ax_mig_1_title": "Collector\ub294 \uadf8\ub300\ub85c \ub450\uace0 \uc775\uc2a4\ud3ec\ud130\ub9cc \ucd94\uac00", + "cmp_ax_mig_1_body": "\ub450 \ud50c\ub7ab\ud3fc \ubaa8\ub450 \ud45c\uc900 OTLP\ub97c \uc218\uc9d1\ud558\ubbc0\ub85c SDK\uc640 \uc790\ub3d9 \uacc4\uce21, \uc2dc\ub9e8\ud2f1 \uaddc\uc57d\uc774 \uadf8\ub300\ub85c \ub118\uc5b4\uc635\ub2c8\ub2e4. Axiom \uc775\uc2a4\ud3ec\ud130 \uc606\uc5d0 Maple\uc744 \ucd94\uac00\ud558\uace0, \uc911\uc694\ud55c \uc54c\ub9bc\uc774 Maple\uc5d0\uc11c \uc6b8\ub9b4 \ub54c\uae4c\uc9c0 \uc591\ucabd\uc73c\ub85c \ubcf4\ub0b4\uc138\uc694.", + "cmp_ax_mig_2_title": "\ub300\uc2dc\ubcf4\ub4dc\uc640 \ubaa8\ub2c8\ud130\ub294 \ud504\ub86c\ud504\ud2b8 \ud55c \ubc88\uc73c\ub85c", + "cmp_ax_mig_2_body": "\ub300\uc2dc\ubcf4\ub4dc\uc640 \ubaa8\ub2c8\ud130\ub294 OTLP\ub85c \ub118\uc5b4\uc624\uc9c0 \uc54a\uace0 APL\ub3c4 \ub9c8\ucc2c\uac00\uc9c0\uc785\ub2c8\ub2e4. \ub450 \ud50c\ub7ab\ud3fc \ubaa8\ub450 MCP \uc11c\ubc84\uac00 \uc788\uc5b4 Axiom \ucabd\uc740 \uae30\uc874 \uc124\uc815\uc744 \uc77d\uace0 Maple \ucabd\uc740 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc5d0\uc774\uc804\ud2b8\ub97c \uc591\ucabd\uc5d0 \uc5f0\uacb0\ud558\uace0 \ucffc\ub9ac\ub97c \ubc88\uc5ed\ud558\uba74\uc11c \uc62e\uae30\uac8c \ud558\uc138\uc694.", + "cmp_ax_faq_1_q": "Axiom\uc740 \uc624\ud508\uc18c\uc2a4\uc778\uac00\uc694? \uc9c1\uc811 \ud638\uc2a4\ud305\ud560 \uc218 \uc788\ub098\uc694?", + "cmp_ax_faq_1_a": "\ub458 \ub2e4 \uc544\ub2d9\ub2c8\ub2e4. Axiom\uc740 SDK\uc640 Collector \uc124\uc815, Vercel \uc571\uc744 \uacf5\uac1c\ud558\uc9c0\ub9cc \ud50c\ub7ab\ud3fc \uc790\uccb4\ub294 \ube44\uacf5\uac1c\uc774\uace0 Axiom\uc774 \uc6b4\uc601\ud558\ub294 \uc5e3\uc9c0 \ubc30\ud3ec(\ud604\uc7ac US East\uc640 EU Central)\uc5d0\uc11c\ub9cc \ub3d9\uc791\ud569\ub2c8\ub2e4. Enterprise \uace0\uac1d\uc740 \uc624\ube0c\uc81d\ud2b8 \uc2a4\ud1a0\ub9ac\uc9c0\ub97c \uc790\uc0ac S3 \ubc84\ud0b7\uc5d0 \ub458 \uc218 \uc788\uc9c0\ub9cc \uc774\ub294 \uc140\ud504 \ud638\uc2a4\ud305\uc774 \uc544\ub2c8\ub77c \ub370\uc774\ud130 \ub808\uc9c0\ub358\uc2dc\uc785\ub2c8\ub2e4. Maple\uc758 \uc18c\uc2a4\ub294 GitHub\uc5d0 FSL-1.1\ub85c \uacf5\uac1c\ub418\uc5b4 \uac01 \ub9b4\ub9ac\uc2a4 2\ub144 \ud6c4 Apache 2.0\uc73c\ub85c \uc804\ud658\ub418\uba70, \uc790\uccb4 \uc778\ud504\ub77c\uc758 \uc790\uccb4 ClickHouse\uc5d0\uc11c \ub3cc\uc544\uac11\ub2c8\ub2e4.", + "cmp_ax_faq_2_q": "Maple\uc740 Axiom\uacfc \uc5b4\ub5bb\uac8c \ub2e4\ub978\uac00\uc694?", + "cmp_ax_faq_2_a": "Axiom\uc740 \uba3c\uc800 \uc774\ubca4\ud2b8 \uc2a4\ud1a0\uc5b4\uc785\ub2c8\ub2e4. \ubaa8\ub4e0 \ub370\uc774\ud130\uac00 \ub370\uc774\ud130\uc14b\uc5d0 \ub4e4\uc5b4\uac00\uace0 APL\ub85c \uc870\ud68c\ud558\uba70 \ubaa8\ub2c8\ud130\uac00 \uadf8 \ucffc\ub9ac\ub97c \uc8fc\uae30\uc801\uc73c\ub85c \uc2e4\ud589\ud569\ub2c8\ub2e4. Maple\uc740 \uadf8 \uc2a4\ud1a0\ub9ac\uc9c0 \uc704\uc758 \uc81c\ud488\uc774\uc5b4\uc11c \uc608\uc678\uac00 \ub2f4\ub2f9\uc790\uc640 \uc0c1\ud0dc\ub97c \uac00\uc9c4 \uc774\uc288\uac00 \ub418\uace0, \ube0c\ub77c\uc6b0\uc800 \uc138\uc158\uc740 \ud074\ub9ad \ub4a4\uc758 \ud2b8\ub808\uc774\uc2a4\uc640 \ud568\uaed8 \uc7ac\uc0dd\ub418\uba70, \uc5d0\uc774\uc804\ud2b8 \uc138\uc158\ub3c4 \uc77c\uae09 \uc2dc\uadf8\ub110\uc774\uace0, \ub2e8\uc77c \ubc14\uc774\ub108\ub9ac\ub85c \ub178\ud2b8\ubd81\uc5d0\uc11c\ub3c4 \uc804\uccb4\uac00 \ub3d5\ub2c8\ub2e4. Axiom\uc740 \ub300\uc6a9\ub7c9 \ub2e8\uac00, \ubcf4\uc874 \ube44\uc6a9, \uc778\ud14c\uadf8\ub808\uc774\uc158 \ud3ed, \ucef4\ud50c\ub77c\uc774\uc5b8\uc2a4\uc5d0\uc11c \uc55e\uc11c \uc788\uc2b5\ub2c8\ub2e4.", + "cmp_ax_faq_3_q": "Axiom\uacfc Maple \uc911 \uc5b4\ub290 \ucabd\uc774 \uc800\ub834\ud55c\uac00\uc694?", + "cmp_ax_faq_3_a": "\uae30\uc900 \uc6cc\ud06c\ub85c\ub4dc\uc5d0\uc11c\ub294 Maple\uc785\ub2c8\ub2e4. Axiom\uc740 \ud50c\ub7ab\ud3fc \uc694\uae08\uacfc \ucffc\ub9ac \ucef4\ud4e8\ud2b8 \ubbf8\ud130\uac00 Maple\uc758 \ucd08\uacfc \uc694\uae08\ubcf4\ub2e4 \uba3c\uc800 \uacfc\uae08\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. \uc6d4 1 TB\ub97c \ub118\uc73c\uba74 Axiom\uc758 \uc218\uc9d1 \ub2e8\uac00\uac00 \ub354 \ub0ae\uace0 \ubcfc\ub968\uc5d0 \ub530\ub77c \uacc4\uc18d \ub0b4\ub824\uac00\uba70, \uc2a4\ud1a0\ub9ac\uc9c0 \uc694\uae08 \ub355\ubd84\uc5d0 \uc7a5\uae30 \ubcf4\uc874\uc774 \uc800\ub834\ud569\ub2c8\ub2e4. \uc704 \uba85\uc138\ub294 \uacf5\uac1c\ub41c \ub450 \uc694\uae08\ud45c\ub97c \uac19\uc740 \ud55c \ub2ec\uc5d0 \uc801\uc6a9\ud55c \uac83\uc774\uace0, \uacc4\uc0b0\uae30\uc5d0\uc11c \uc218\uce58\ub97c \ubc14\uafc0 \uc218 \uc788\uc2b5\ub2c8\ub2e4.", + "cmp_ax_faq_4_q": "Axiom\uc5d0 \uc624\ub958 \ucd94\uc801\uc774\ub098 \uc138\uc158 \ub9ac\ud50c\ub808\uc774\uac00 \uc788\ub098\uc694?", + "cmp_ax_faq_4_a": "\uc81c\ud488\uc73c\ub85c\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. \uc608\uc678\ub294 APL\ub85c \uc870\ud68c\ud558\uace0 \ubaa8\ub2c8\ud130 \uc548\uc5d0\uc11c \ubb36\ub294 \uc774\ubca4\ud2b8\uc77c \ubfd0\uc774\ub77c \ub2f4\ub2f9\uc790\ub3c4 \uc0c1\ud0dc\ub3c4 \uc7ac\uc624\ud508\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4. \uc138\uc158 \ub9ac\ud50c\ub808\uc774\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4. Maple\uc740 \ub458 \ub2e4 \uc788\uc2b5\ub2c8\ub2e4. \ub77c\uc774\ud504\uc0ac\uc774\ud074\uc744 \uac00\uc9c4 \uc774\uc288, \uadf8\ub9ac\uace0 \ud398\uc774\uc9c0\uc5d0\uc11c \ubb34\uc5c7\ub3c4 \ub098\uac00\uae30 \uc804\uc5d0 \ube0c\ub77c\uc6b0\uc800 \uc548\uc5d0\uc11c \ub9c8\uc2a4\ud0b9\ub418\ub294 \uc138\uc158 \ub9ac\ud50c\ub808\uc774\uc785\ub2c8\ub2e4.", + "cmp_ax_faq_5_q": "APL\uc744 \ubc30\uc6cc\uc57c \ud558\ub098\uc694?", + "cmp_ax_faq_5_a": "Axiom\uc5d0\uc11c\ub294 \ub300\uccb4\ub85c \uadf8\ub807\uc2b5\ub2c8\ub2e4. \uc774\ubca4\ud2b8\uc5d0\ub294 APL, \uba54\ud2b8\ub9ad\uc5d0\ub294 MPL, Splunk\uc5d0\uc11c \uc62e\uaca8\uc628\ub2e4\uba74 SPL\uc744 \ubc88\uc5ed\ud558\ub294 \uc2a4\ud0ac\uc774 \uc788\uc2b5\ub2c8\ub2e4. Maple\uc740 \ube44\uc8fc\uc5bc \ube4c\ub354\uac00 \ubaa8\ub4e0 \uc2dc\uadf8\ub110\uc744 \ub36e\uace0, \ucffc\ub9ac \uc790\uccb4\uac00 \ud544\uc694\ud558\uba74 API\ub098 MCP \uc11c\ubc84\ub97c \ud1b5\ud55c ClickHouse SQL\uc785\ub2c8\ub2e4.", + "cmp_ax_surfaces_lede": "Axiom\uc740 \uc774\ubca4\ud2b8\ub97c \uc800\uc7a5\ud558\uace0 \ub300\uc2dc\ubcf4\ub4dc \ube4c\ub354\ub97c \uc90d\ub2c8\ub2e4. \ubaa8\ub4e0 \ud654\uba74\uc740 APL\ub85c \uc4f0\ub294 \ud328\ub110\uc785\ub2c8\ub2e4. Maple\uc740 \uc544\ub798 \ub124 \uac00\uc9c0\ub97c \ub9cc\ub4e4\uc5b4\uc9c4 \uc0c1\ud0dc\ub85c \uc90d\ub2c8\ub2e4. \uc5b4\ub290 \uac83\ub3c4 \ud328\ub110\uc744 \ubaa8\uc544 \uc870\ub9bd\ud560 \uc218 \uc788\ub294 \ucc28\ud2b8\uac00 \uc544\ub2d9\ub2c8\ub2e4.", + "cmp_ax_surface_map_instead": "\uc758\uc874 \uad00\uacc4 \uadf8\ub798\ud504\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \ud638\ucd9c\uc790\uc640 \ud53c\ud638\ucd9c\uc790 \uc30d\uc744 APL\ub85c \uc9d1\uacc4\ud574 \ud1a0\ud3f4\ub85c\uc9c0\ub97c \ud45c\ub85c \uc77d\uc5b4\uc57c \ud569\ub2c8\ub2e4.", + "cmp_ax_surface_sessions_instead": "\ucd9c\ubc1c\uc810\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. \ubcf4\ub0b4\uba74 \ube0c\ub77c\uc6b0\uc800 \uc774\ubca4\ud2b8\ub97c \uc800\uc7a5\ud560 \uc218\ub294 \uc788\uc9c0\ub9cc \uae30\ub85d\ub3c4 \ub9ac\ud50c\ub808\uc774\ub3c4 \uc5c6\uc2b5\ub2c8\ub2e4.", + "cmp_ax_surface_analytics_instead": "\uc790\uae30 \uc774\ubca4\ud2b8 \uc704\uc5d0 APL\ub85c \uc870\ub9bd\ud558\ub294 \ub300\uc2dc\ubcf4\ub4dc\uc774\uace0, \uc22b\uc790\uc5d0\uc11c \uadf8 \uc22b\uc790\ub97c \ub9cc\ub4e0 \uc138\uc158\uc73c\ub85c \uac00\ub294 \uae38\uc740 \uc5c6\uc2b5\ub2c8\ub2e4.", + "cmp_ax_surface_k8s_instead": "\ub370\uc774\ud130\ub97c \ubcf4\ub0b4\ub294 \ucfe0\ubc84\ub124\ud2f0\uc2a4 \uc571\uacfc, \uadf8 \uc704\uc5d0 \uc9c1\uc811 \ub9cc\ub4dc\ub294 \ub300\uc2dc\ubcf4\ub4dc\uc785\ub2c8\ub2e4." } diff --git a/apps/landing/src/components/BillComparison.astro b/apps/landing/src/components/BillComparison.astro index c82f38d5d..91d000b27 100644 --- a/apps/landing/src/components/BillComparison.astro +++ b/apps/landing/src/components/BillComparison.astro @@ -48,6 +48,7 @@ const { Grafana Cloud Dash0 SigNoz + Axiom @@ -59,6 +60,7 @@ const { {m.bill_v_bundled()} {m.bill_v_none()} {m.bill_v_none()} + {m.bill_v_none()} {m.bill_row_per_seat()} @@ -68,6 +70,7 @@ const { $8+ / active-user / mo {m.bill_v_none()} {m.bill_v_none()} + {m.bill_v_none()} {m.bill_row_ingest()} @@ -77,6 +80,7 @@ const { $0.45 / GB $0.60 / M spans or logs $0.30 / GB · $0.10 / M samples + $0.12 / GB + $0.20 / GB-hr {m.bill_row_retention()} @@ -86,6 +90,7 @@ const { 30d logs/traces · 13mo metrics Per plan tier 15d logs/traces · 1mo metrics + Configurable · $0.03 / GB stored {m.bill_row_otel()} @@ -95,6 +100,7 @@ const { {m.bill_v_yes()} {m.bill_v_native()} {m.bill_v_native()} + {m.bill_v_native()} {m.bill_row_oss()} @@ -104,6 +110,7 @@ const { AGPL components {m.bill_v_proprietary()} MIT + commercial ee/ + {m.bill_v_proprietary()} {m.bill_row_selfhost()} @@ -113,6 +120,7 @@ const { {m.bill_v_oss_only()} {m.bill_v_no()} {m.bill_v_supported()} + {m.bill_v_no()} {m.bill_row_mcp()} @@ -122,6 +130,7 @@ const { {m.bill_v_yes()} {m.bill_v_yes()} {m.bill_v_yes()} + {m.bill_v_yes()} @@ -151,6 +160,9 @@ const { {m.bill_link_vs_signoz()} + + {m.bill_link_vs_axiom()} + } diff --git a/apps/landing/src/components/Footer.astro b/apps/landing/src/components/Footer.astro index 780d6cedf..a3e5fc1ba 100644 --- a/apps/landing/src/components/Footer.astro +++ b/apps/landing/src/components/Footer.astro @@ -91,6 +91,7 @@ const stars = await getGitHubStars();
  • {m.footer_vs_new_relic()}
  • {m.footer_vs_dash0()}
  • {m.footer_vs_signoz()}
  • +
  • {m.footer_vs_axiom()}
  • {m.footer_integrations()}

    diff --git a/apps/landing/src/components/NavBar.tsx b/apps/landing/src/components/NavBar.tsx index e6df0d347..80bd793c8 100644 --- a/apps/landing/src/components/NavBar.tsx +++ b/apps/landing/src/components/NavBar.tsx @@ -143,6 +143,7 @@ export function NavBarInner({ locale = "en", stars, signedIn }: NavBarProps & { }, { href: l("/compare/dash0"), label: () => m.nav_vs_dash0(), desc: () => m.nav_desc_vs_dash0() }, { href: l("/compare/signoz"), label: () => m.nav_vs_signoz(), desc: () => m.nav_desc_vs_signoz() }, + { href: l("/compare/axiom"), label: () => m.nav_vs_axiom(), desc: () => m.nav_desc_vs_axiom() }, ] const mobileGroups: { title: string; links: MenuLink[] }[] = [ diff --git a/apps/landing/src/components/compare/CompareNav.astro b/apps/landing/src/components/compare/CompareNav.astro index c4282c269..568143b66 100644 --- a/apps/landing/src/components/compare/CompareNav.astro +++ b/apps/landing/src/components/compare/CompareNav.astro @@ -3,7 +3,8 @@ * CompareNav — the in-page rail under the site nav. * * A comparison page is nine screens long and a visitor arrives with one - * question: price, or migration, or "what am I giving up". Four anchors, + * question: price, or migration, or "what am I giving up". Four anchors (five + * where the page carries the Surfaces section), * sticky under the 4rem site nav, on a solid ground (no blur — the live * frames' rule applies to chrome too). The active anchor is set by an * IntersectionObserver so the rail doubles as a progress indicator; without @@ -13,12 +14,15 @@ import * as m from "../../paraglide/messages.js"; interface Props { competitorName: string; + /** Whether the page carries the optional Surfaces section. */ + surfaces?: boolean; } -const { competitorName } = Astro.props; +const { competitorName, surfaces = false } = Astro.props; const items = [ { href: "#differences", label: m.cmp_nav_differences() }, + ...(surfaces ? [{ href: "#surfaces", label: m.cmp_nav_surfaces() }] : []), { href: "#price", label: m.cmp_nav_price() }, { href: "#migration", label: m.cmp_nav_migration() }, { href: "#faq", label: m.cmp_nav_faq() }, diff --git a/apps/landing/src/components/compare/ComparePage.astro b/apps/landing/src/components/compare/ComparePage.astro index e19a04017..5d0c1d4ce 100644 --- a/apps/landing/src/components/compare/ComparePage.astro +++ b/apps/landing/src/components/compare/ComparePage.astro @@ -8,6 +8,8 @@ * 00 PageHero bg-bg the question: "Maple vs X" * 01 CompareNav sticky five anchors, the page's wayfinding * 02 DifferenceTable bg-bg-deep the evidence, difference-first + * 02a Surfaces bg-bg optional: what the vendor leaves you + * to build, drawn by the live artifacts * 03 Receipts bg-bg the same month billed twice, then the * calculator for the visitor's numbers * 04 Migration bg-bg-deep three steps + the exporter change @@ -39,6 +41,7 @@ import DifferenceTable from "./DifferenceTable.astro"; import Migration from "./Migration.astro"; import Receipts from "./Receipts.astro"; import Sources from "./Sources.astro"; +import Surfaces from "./Surfaces.astro"; interface Props { slug: string; @@ -103,7 +106,7 @@ const dateModified = competitor.sources.map((source) => source.checked).sort().a - + source.checked).sort().a sources={competitor.sources} /> + {competitor.surfaces && } + ` rules still leaves + * with the argument. + * + * Rows alternate media side. Four identical copy-left/media-right rows read as + * a template, which is the same reason the homepage alternates Kubernetes and + * web analytics. + * + * Artifacts are resolved here from the registry's string ids, because + * `lib/competitors.ts` is read by a client island and cannot import `.astro`. + * The analytics cell is a capture rather than a plate for the reason the + * homepage gives: that page is a KPI strip and breakdown tables, and a still + * of the real thing reads as more honest than a wireframe of it. + */ +import * as m from "../../paraglide/messages.js"; +import { MAPLE_SURFACES, type SurfaceId, type Surfaces } from "../../lib/competitors"; +import MediaFrame from "../home/MediaFrame.astro"; +import LiveBrowserSessions from "../live/LiveBrowserSessions.astro"; +import LiveK8sWorkloads from "../live/LiveK8sWorkloads.astro"; +import LiveServiceMap from "../live/LiveServiceMap.astro"; + +interface Props { + competitorName: string; + surfaces: Surfaces; +} + +const { competitorName, surfaces } = Astro.props; + +// `analytics` is null on purpose: it renders the capture below, not a plate. +const ARTIFACTS = { + "service-map": LiveServiceMap, + sessions: LiveBrowserSessions, + kubernetes: LiveK8sWorkloads, + analytics: null, +} satisfies Record; + +const rows = surfaces.rows.map((row) => ({ + surface: MAPLE_SURFACES[row.surface], + instead: row.instead(), +})); +--- + +
    +
    +

    {m.cmp_surfaces_eyebrow()}

    +

    + {m.cmp_surfaces_title({ name: competitorName })} +

    +

    {surfaces.lede}

    + +
    + { + rows.map(({ surface, instead }, i) => { + const Artifact = ARTIFACTS[surface.id]; + return ( +
    + {/* Copy first in the DOM so it reads first on mobile; the + odd rows move it right of the artifact at lg. */} +
    + + {String(i + 1).padStart(2, "0")} + +

    + {surface.name()} +

    +

    + {surface.body()} +

    + +

    + {m.cmp_surfaces_instead_label({ name: competitorName })}{" "} + {instead} +

    + + + {m.cmp_surfaces_link()} + + +
    + +
    + {Artifact ? ( + + ) : ( + + )} +
    +
    + ); + }) + } +
    +
    +
    diff --git a/apps/landing/src/components/live/LiveBrowserSessions.astro b/apps/landing/src/components/live/LiveBrowserSessions.astro index d8c80ba0e..c408e5cad 100644 --- a/apps/landing/src/components/live/LiveBrowserSessions.astro +++ b/apps/landing/src/components/live/LiveBrowserSessions.astro @@ -27,7 +27,7 @@ interface SessionEvent { } const events: SessionEvent[] = [ - { t: "0:00", type: "nav", label: "/ — landing", tid: "1a2f" }, + { t: "0:00", type: "nav", label: "/ · landing", tid: "1a2f" }, { t: "0:07", type: "click", label: "Pricing → /pricing", tid: "1a2f" }, { t: "0:21", type: "nav", label: "/checkout", tid: "9f3c" }, { t: "0:34", type: "input", label: "card number · masked", tid: "9f3c" }, diff --git a/apps/landing/src/components/page/CrossLinks.astro b/apps/landing/src/components/page/CrossLinks.astro index 17b597b22..5e3559347 100644 --- a/apps/landing/src/components/page/CrossLinks.astro +++ b/apps/landing/src/components/page/CrossLinks.astro @@ -22,9 +22,19 @@ interface Props { const { eyebrow, title, links, class: className = "" } = Astro.props; -// Three per row for the feature and use-case pages, four for the compare -// pages (every other vendor), so a 1px-gap grid never shows an empty cell. -const columns = links.length % 4 === 0 ? "lg:grid-cols-4" : "lg:grid-cols-3"; +// Three per row for the feature and use-case pages, four when the count +// divides by four, so a 1px-gap grid never shows an empty cell. Counts that +// divide by neither (five, with six vendors in the compare registry) lay out +// on six columns instead: full rows of three take two columns each and the +// remainder stretches to fill the last row, the way CompareHub does it. +const ragged = links.length % 4 !== 0 && links.length % 3 !== 0; +const columns = ragged ? "lg:grid-cols-6" : links.length % 4 === 0 ? "lg:grid-cols-4" : "lg:grid-cols-3"; +const lastRowCount = links.length % 3 || 3; +const spanOf = (i: number) => { + if (!ragged) return undefined; + if (i < links.length - lastRowCount) return "lg:col-span-2"; + return lastRowCount === 1 ? "lg:col-span-6" : lastRowCount === 2 ? "lg:col-span-3" : "lg:col-span-2"; +}; ---
    @@ -41,7 +51,10 @@ const columns = links.length % 4 === 0 ? "lg:grid-cols-4" : "lg:grid-cols-3"; > { links.map((link, i) => ( - + {String(i + 1).padStart(2, "0")} diff --git a/apps/landing/src/lib/brand-marks.ts b/apps/landing/src/lib/brand-marks.ts index 6f3e819cc..93113a5b6 100644 --- a/apps/landing/src/lib/brand-marks.ts +++ b/apps/landing/src/lib/brand-marks.ts @@ -1,6 +1,6 @@ /** * Brand marks, mostly simple-icons paths (CC0); WarpStream is the chevron from - * warpstream.com's own header lockup. The four observability vendors at the + * warpstream.com's own header lockup. The observability vendors at the * end are for /compare: their marks sit beside Maple's in the hero and on the * hub cards, in their own brand colours (a vs-pairing is the one place two * brand colours belong side by side). Rendered via @@ -182,6 +182,13 @@ export const BRAND_MARKS = { fillRule: "evenodd", }, }, + axiom: { + name: "Axiom", + hex: "#000000", + // axiom.co's own mark-only lockup: one path on an 13×11 grid. + path: "m12.12 7.27-2.48-4.3a.8.8 0 0 0-.62-.37H7.48c-.36 0-.5-.25-.33-.56L8 .57A.38.38 0 0 0 7.67 0H5.52a.8.8 0 0 0-.62.36L.7 7.6a.8.8 0 0 0 0 .72l1.08 1.86c.18.31.47.32.65 0l.84-1.44c.18-.31.48-.31.66 0l.76 1.32c.11.2.4.36.62.36h4.98a.8.8 0 0 0 .62-.36l1.2-2.07a.8.8 0 0 0 0-.72m-3.34-.2c.18.3.03.56-.33.56H4.58c-.36 0-.5-.26-.33-.57L6.2 3.71c.18-.31.47-.31.65 0z", + viewBox: "0 0 13 11", + }, } as const satisfies Record export type BrandMarkId = keyof typeof BRAND_MARKS diff --git a/apps/landing/src/lib/competitors.ts b/apps/landing/src/lib/competitors.ts index 2f34693bb..28a87ebd1 100644 --- a/apps/landing/src/lib/competitors.ts +++ b/apps/landing/src/lib/competitors.ts @@ -62,6 +62,65 @@ export interface Faq { answer: Msg } +/** + * The built surfaces the `Surfaces` section shows off, keyed by the artifact + * that draws them. Names and bodies are Maple's own and identical on every + * page; only the "what you'd do instead" line is per vendor, which is why + * that is the only half stored on the competitor. + * + * `artifact` is a string id, not a component: NavBar is a client island that + * reads this registry, so nothing here may import an `.astro` file. + * `components/compare/Surfaces.astro` resolves the id, the way + * `components/page/slots.ts` does for the feature pages. + */ +export type SurfaceId = "service-map" | "sessions" | "analytics" | "kubernetes" + +export interface Surface { + id: SurfaceId + name: Msg + body: Msg + /** Link to the feature page that owns this surface. */ + href: string +} + +export const MAPLE_SURFACES = { + "service-map": { + id: "service-map", + name: m.cmp_surface_map_name, + body: m.cmp_surface_map_body, + href: "/features/service-catalog", + }, + sessions: { + id: "sessions", + name: m.cmp_surface_sessions_name, + body: m.cmp_surface_sessions_body, + href: "/features/browser-sessions", + }, + analytics: { + id: "analytics", + name: m.cmp_surface_analytics_name, + body: m.cmp_surface_analytics_body, + href: "/features/browser-sessions", + }, + kubernetes: { + id: "kubernetes", + name: m.cmp_surface_k8s_name, + body: m.cmp_surface_k8s_body, + href: "/features/kubernetes-monitoring", + }, +} satisfies Record + +/** + * The section only earns its place against a vendor that is a store plus a + * dashboard builder, where every row below is a thing the visitor would + * assemble out of panels, so it is optional, and each row must say what + * assembling it actually means on that vendor. + */ +export interface Surfaces { + lede: Msg + rows: { surface: SurfaceId; instead: Msg }[] +} + export interface Competitor { slug: string /** Literal vendor name; product names are never translated. */ @@ -80,6 +139,8 @@ export interface Competitor { heroLede: Msg differences: DifferenceRow[] parity: Msg[] + /** Vendors that are a warehouse with a dashboard builder get this. */ + surfaces?: Surfaces migration: MigrationStep[] /** * The one code block on the page: the Collector exporter change, as the @@ -92,8 +153,9 @@ export interface Competitor { } const CHECKED = "2026-08" -/** SigNoz was added a month after the others and checked separately. */ +/** SigNoz and Axiom were added after the others and checked separately. */ const CHECKED_SIGNOZ = "2026-09" +const CHECKED_AXIOM = "2026-09" const MAPLE_EXPORTER = ` otlphttp/maple: endpoint: https://ingest.maple.dev @@ -740,6 +802,14 @@ export const competitors: Competitor[] = [ edge: "even", source: 6, }, + { + id: "cost-controls", + topic: m.cmp_topic_cost_controls, + maple: m.cmp_sn_cost_controls_maple, + competitor: m.cmp_sn_cost_controls_them, + edge: "even", + source: 8, + }, { id: "selfhost", topic: m.cmp_topic_selfhost, @@ -756,14 +826,6 @@ export const competitors: Competitor[] = [ edge: "competitor", source: 7, }, - { - id: "cost-controls", - topic: m.cmp_topic_cost_controls, - maple: m.cmp_sn_cost_controls_maple, - competitor: m.cmp_sn_cost_controls_them, - edge: "competitor", - source: 8, - }, { id: "channels", topic: m.cmp_topic_channels, @@ -842,6 +904,197 @@ export const competitors: Competitor[] = [ ], locales: ["en", "ja", "ko"], }, + { + slug: "axiom", + name: "Axiom", + vendor: "axiom", + mark: "axiom", + site: "axiom.co", + navLabel: m.nav_vs_axiom, + navDesc: m.nav_desc_vs_axiom, + seoTitle: m.cmp_ax_seo_title, + seoDescription: m.cmp_ax_seo_desc, + heroTitle: m.cmp_ax_hero_title, + heroLede: m.cmp_ax_hero_lede, + differences: [ + { + id: "pricing", + topic: m.cmp_topic_pricing, + maple: m.cmp_ax_pricing_maple, + competitor: m.cmp_ax_pricing_them, + edge: "maple", + source: 0, + }, + { + id: "errors", + topic: m.cmp_topic_errors, + maple: m.cmp_ax_errors_maple, + competitor: m.cmp_ax_errors_them, + edge: "maple", + source: 3, + }, + { + id: "rum", + topic: m.cmp_topic_rum, + maple: m.cmp_ax_rum_maple, + competitor: m.cmp_ax_rum_them, + edge: "maple", + source: 8, + }, + { + id: "source", + topic: m.cmp_topic_source, + maple: m.cmp_ax_source_maple, + competitor: m.cmp_ax_source_them, + edge: "maple", + }, + { + id: "selfhost", + topic: m.cmp_topic_selfhost, + maple: m.cmp_ax_selfhost_maple, + competitor: m.cmp_ax_selfhost_them, + edge: "maple", + source: 2, + }, + { + id: "local", + topic: m.cmp_topic_local, + maple: m.cmp_ax_local_maple, + competitor: m.cmp_ax_local_them, + edge: "maple", + }, + { + id: "query", + topic: m.cmp_topic_query, + maple: m.cmp_ax_query_maple, + competitor: m.cmp_ax_query_them, + edge: "even", + source: 4, + }, + { + id: "ai", + topic: m.cmp_topic_ai, + maple: m.cmp_ax_ai_maple, + competitor: m.cmp_ax_ai_them, + edge: "even", + source: 5, + }, + { + id: "cost-controls", + topic: m.cmp_topic_cost_controls, + maple: m.cmp_ax_cost_controls_maple, + competitor: m.cmp_ax_cost_controls_them, + edge: "even", + source: 0, + }, + { + id: "volume-pricing", + topic: m.cmp_topic_volume_pricing, + maple: m.cmp_ax_volume_pricing_maple, + competitor: m.cmp_ax_volume_pricing_them, + edge: "competitor", + source: 1, + }, + { + id: "retention", + topic: m.cmp_topic_retention, + maple: m.cmp_ax_retention_maple, + competitor: m.cmp_ax_retention_them, + edge: "competitor", + source: 1, + }, + { + id: "integrations", + topic: m.cmp_topic_integrations, + maple: m.cmp_ax_integrations_maple, + competitor: m.cmp_ax_integrations_them, + edge: "competitor", + source: 6, + }, + { + id: "compliance", + topic: m.cmp_topic_compliance, + maple: m.cmp_ax_compliance_maple, + competitor: m.cmp_ax_compliance_them, + edge: "competitor", + source: 7, + }, + ], + // Axiom has no error-tracking product and no session replay, so the + // shared parity line drops its errors chip. The difference rows above + // carry both. + parity: [ + m.cmp_parity_tracing, + m.cmp_parity_logs, + m.cmp_parity_metrics, + m.cmp_parity_alerting, + m.cmp_parity_k8s, + m.cmp_parity_api, + m.cmp_parity_mcp, + m.cmp_parity_otel, + ], + surfaces: { + lede: m.cmp_ax_surfaces_lede, + rows: [ + { surface: "service-map", instead: m.cmp_ax_surface_map_instead }, + { surface: "sessions", instead: m.cmp_ax_surface_sessions_instead }, + { surface: "analytics", instead: m.cmp_ax_surface_analytics_instead }, + { surface: "kubernetes", instead: m.cmp_ax_surface_k8s_instead }, + ], + }, + migration: [ + { title: m.cmp_ax_mig_1_title, body: m.cmp_ax_mig_1_body }, + { title: m.cmp_ax_mig_2_title, body: m.cmp_ax_mig_2_body }, + ], + migrationDiff: collectorDiff( + "otlphttp/axiom", + ` otlphttp/axiom: + compression: zstd + endpoint: https://api.axiom.co + headers: + authorization: Bearer \${env:AXIOM_API_TOKEN} + x-axiom-dataset: \${env:AXIOM_DATASET}`, + ), + faqs: [ + { question: m.cmp_ax_faq_1_q, answer: m.cmp_ax_faq_1_a }, + { question: m.cmp_ax_faq_2_q, answer: m.cmp_ax_faq_2_a }, + { question: m.cmp_ax_faq_3_q, answer: m.cmp_ax_faq_3_a }, + { question: m.cmp_ax_faq_4_q, answer: m.cmp_ax_faq_4_a }, + { question: m.cmp_ax_faq_5_q, answer: m.cmp_ax_faq_5_a }, + ], + sources: [ + { label: "Axiom pricing", url: "https://axiom.co/pricing", checked: CHECKED_AXIOM }, + { + label: "Axiom rate card (the machine-readable one)", + url: "https://axiom.co/pricing/llms.txt", + checked: CHECKED_AXIOM, + }, + { + label: "Axiom: edge deployments", + url: "https://axiom.co/docs/reference/edge-deployments", + checked: CHECKED_AXIOM, + }, + { + label: "Axiom: monitors", + url: "https://axiom.co/docs/monitor-data/monitors", + checked: CHECKED_AXIOM, + }, + { label: "Axiom: APL", url: "https://axiom.co/docs/apl/introduction", checked: CHECKED_AXIOM }, + { + label: "Axiom: AI agents, MCP server and skills", + url: "https://axiom.co/docs/console/intelligence/ai-agents-overview", + checked: CHECKED_AXIOM, + }, + { + label: "Axiom: apps and integrations", + url: "https://axiom.co/docs/apps/introduction", + checked: CHECKED_AXIOM, + }, + { label: "Axiom Trust Center", url: "https://trust.axiom.co/", checked: CHECKED_AXIOM }, + { label: "Axiom for Vercel", url: "https://axiom.co/vercel", checked: CHECKED_AXIOM }, + ], + locales: ["en", "ja", "ko"], + }, ] export const competitorSlugs = competitors.map((competitor) => competitor.slug) diff --git a/apps/landing/src/lib/vendor-pricing.ts b/apps/landing/src/lib/vendor-pricing.ts index 91c50258e..2d72b154d 100644 --- a/apps/landing/src/lib/vendor-pricing.ts +++ b/apps/landing/src/lib/vendor-pricing.ts @@ -12,7 +12,7 @@ * Maple branch converts with a per-item estimate documented at that branch. */ -export type Vendor = "datadog" | "grafana" | "new-relic" | "dash0" | "openobserve" | "signoz" +export type Vendor = "datadog" | "grafana" | "new-relic" | "dash0" | "openobserve" | "signoz" | "axiom" /** Month the list prices were last checked against the vendors' pages. */ export const PRICES_VERIFIED = "2026-08" @@ -200,6 +200,47 @@ export const vendorConfigs = { }, ], }, + axiom: { + name: "Axiom", + sliders: [ + { + key: "logVolume", + label: "Log volume", + min: 10, + max: 10000, + step: 50, + default: 100, + unit: "GB/mo", + }, + { + key: "traceVolume", + label: "Trace volume", + min: 10, + max: 10000, + step: 50, + default: 100, + unit: "GB/mo", + }, + { + key: "metricVolume", + label: "Metric volume", + min: 10, + max: 10000, + step: 50, + default: 100, + unit: "GB/mo", + }, + { + key: "queryHours", + label: "Query compute", + min: 10, + max: 5000, + step: 10, + default: 250, + unit: "GB-hrs/mo", + }, + ], + }, } satisfies Record /** The slider defaults — the reference workload the receipts are priced on. */ @@ -380,6 +421,81 @@ const signoz = (values: Record): Estimate => { } } +/** + * Marginal tiers, AWS-style: each band prices only the amount that falls in + * it, which is what "sub-linear" means on Axiom's rate card. `[upTo, rate]`, + * the last band open-ended. + */ +const tiered = (amount: number, tiers: readonly [number, number][]): number => { + let priced = 0 + let cost = 0 + for (const [upTo, rate] of tiers) { + const inBand = Math.min(amount, upTo) - priced + if (inBand <= 0) break + cost += inBand * rate + priced += inBand + } + return cost +} + +const axiom = (values: Record): Estimate => { + // Axiom Cloud's published rate card: $25/mo platform fee, then three + // meters, each with an Always Free allowance and marginal volume tiers. + // Data loading: 1,000 GB free, then $0.12/GB falling to $0.06 above 5 PB. + // Query compute: 100 GB-hours free, then $0.20 falling to $0.08. + // Storage: 100 GB of compressed data free, then $0.03/GB/mo. + // Credits convert at $1 and pre-purchase discounts (to $0.60) are not + // modeled, which biases the estimate in Axiom's favour. + const PLATFORM_FEE = 25 + const LOADING_TIERS = [ + [1_000, 0], + [100_000, 0.12], + [500_000, 0.1], + [1_000_000, 0.085], + [5_000_000, 0.07], + [Number.POSITIVE_INFINITY, 0.06], + ] as const satisfies readonly [number, number][] + const QUERY_TIERS = [ + [100, 0], + [500, 0.2], + [5_000, 0.16], + [50_000, 0.12], + [2_500_000, 0.1], + [Number.POSITIVE_INFINITY, 0.08], + ] as const satisfies readonly [number, number][] + + const ingestGB = values.logVolume + values.traceVolume + values.metricVolume + const loading = tiered(ingestGB, LOADING_TIERS) + const query = tiered(values.queryHours, QUERY_TIERS) + // Storage bills compressed bytes at Axiom's documented 95% default ratio, + // over a month of ingest held for a month, the shortest retention this + // month's data can have, so the cheapest this line gets. + const storedGB = ingestGB * 0.05 + const storage = Math.max(0, storedGB - 100) * 0.03 + + return { + total: PLATFORM_FEE + loading + query + storage, + breakdown: [ + { label: "Platform fee", value: PLATFORM_FEE, detail: "$25/mo Axiom Cloud" }, + { + label: "Data loading", + value: loading, + detail: `${Math.round(ingestGB).toLocaleString()} GB (1 TB free)`, + }, + { + label: "Query compute", + value: query, + detail: `${values.queryHours.toLocaleString()} GB-hrs (100 free)`, + }, + { + label: "Storage", + value: storage, + detail: `${Math.round(storedGB).toLocaleString()} GB compressed (100 GB free)`, + }, + ], + } +} + /** What the vendor charges for `values` — the slider state of `vendorConfigs[vendor]`. */ export const estimateVendor = (vendor: Vendor, values: Record): Estimate => { if (vendor === "datadog") return datadog(values) @@ -387,6 +503,7 @@ export const estimateVendor = (vendor: Vendor, values: Record): if (vendor === "dash0") return dash0(values) if (vendor === "openobserve") return openObserve(values) if (vendor === "signoz") return signoz(values) + if (vendor === "axiom") return axiom(values) return newRelic(values) } @@ -414,8 +531,9 @@ export const estimateMaple = (vendor: Vendor, values: Record): E logsGB = values.logVolume tracesGB = values.traceVolume metricsGB = values.metricSeries * 4.32 - } else if (vendor === "openobserve") { - // Both bill per GB ingested, so volumes map across directly. + } else if (vendor === "openobserve" || vendor === "axiom") { + // Both bill per GB ingested, so volumes map across directly. Axiom's + // query-compute meter has no Maple counterpart: queries are included. logsGB = values.logVolume tracesGB = values.traceVolume metricsGB = values.metricVolume @@ -472,8 +590,9 @@ export const vendorCaveat = { dash0: "Dash0 bills per data point (spans & logs $0.60/M, metrics $0.20/M); Maple bills per GB, so the Maple estimate converts at roughly 1 KB per span and log record and 0.1 KB per metric data point. Your real ratio depends on attribute and payload sizes.", openobserve: "OpenObserve modeled at its headline $0.50/GB ingestion rate, which already includes the 30% annual-commitment discount; query fees ($0.01/GB scanned) and extended retention beyond the included 30 days for logs and traces ($0.02/GB per additional 30 days) are not included, which favors OpenObserve.", + axiom: "Axiom modeled on Axiom Cloud's published rate card: $25/mo platform fee, data loading at $0.12/GB beyond the 1 TB Always Free allowance (falling to $0.06/GB at petabyte volumes), query compute at $0.20/GB-hour beyond 100 GB-hours free, and storage at $0.03/GB/mo beyond 100 GB, on Axiom's documented 95% compression ratio and a month of retention. Pre-purchase credit discounts (down to $0.60 per credit) and the governance add-ons (SSO $100, Directory Sync $100, RBAC $50, audit log $50 a month) are not modeled. Maple has no query-compute or storage meter, so the Maple estimate prices ingest only.", signoz: "SigNoz modeled on the Teams plan at its default retention (logs and traces $0.30/GB at 15 days, metrics $0.10 per million samples at 1 month) with the $49/mo base fee, from which $49 of usage is subtracted as included; longer retention costs more (up to $1.40/GB at 1 year) and is not included, which favors SigNoz. Maple bills per GB, so the Maple estimate converts metric samples at roughly 0.1 KB per data point (0.1 GB per million samples).", } satisfies Record export const MAPLE_PRICING_NOTE = - "Maple pricing based on the Startup plan ($39/mo with 100 GB included per signal — logs, traces, metrics — then $0.30/GB, billed per signal), metered on uncompressed (decoded OTLP) bytes." + "Maple pricing based on the Startup plan ($39/mo with 100 GB included per signal (logs, traces, metrics), then $0.30/GB, billed per signal), metered on uncompressed (decoded OTLP) bytes." diff --git a/apps/landing/src/pages/compare.md.ts b/apps/landing/src/pages/compare.md.ts index 6a5321e58..434e81edb 100644 --- a/apps/landing/src/pages/compare.md.ts +++ b/apps/landing/src/pages/compare.md.ts @@ -23,7 +23,16 @@ export const GET: APIRoute = ({ site }) => { `## ${m.cmp_hub_matrix_title()}`, m.bill_lede(), table( - [m.bill_col_metric(), "Maple", "Datadog", "New Relic", "Grafana Cloud", "Dash0", "SigNoz"], + [ + m.bill_col_metric(), + "Maple", + "Datadog", + "New Relic", + "Grafana Cloud", + "Dash0", + "SigNoz", + "Axiom", + ], [ [ m.bill_row_per_host(), @@ -33,6 +42,7 @@ export const GET: APIRoute = ({ site }) => { m.bill_v_bundled(), m.bill_v_none(), m.bill_v_none(), + m.bill_v_none(), ], [ m.bill_row_per_seat(), @@ -42,6 +52,7 @@ export const GET: APIRoute = ({ site }) => { "$8+ / active-user / mo", m.bill_v_none(), m.bill_v_none(), + m.bill_v_none(), ], [ m.bill_row_ingest(), @@ -51,6 +62,7 @@ export const GET: APIRoute = ({ site }) => { "$0.45 / GB", "$0.60 / M spans or logs", "$0.30 / GB · $0.10 / M samples", + "$0.12 / GB + $0.20 / GB-hr", ], [ m.bill_row_retention(), @@ -60,6 +72,7 @@ export const GET: APIRoute = ({ site }) => { "30d logs/traces · 13mo metrics", "Per plan tier", "15d logs/traces · 1mo metrics", + "Configurable · $0.03 / GB stored", ], [ m.bill_row_otel(), @@ -69,6 +82,7 @@ export const GET: APIRoute = ({ site }) => { m.bill_v_yes(), m.bill_v_native(), m.bill_v_native(), + m.bill_v_native(), ], [ m.bill_row_oss(), @@ -78,6 +92,7 @@ export const GET: APIRoute = ({ site }) => { "AGPL components", m.bill_v_proprietary(), "MIT + commercial ee/", + m.bill_v_proprietary(), ], [ m.bill_row_selfhost(), @@ -87,6 +102,7 @@ export const GET: APIRoute = ({ site }) => { m.bill_v_oss_only(), m.bill_v_no(), m.bill_v_supported(), + m.bill_v_no(), ], [ m.bill_row_mcp(), @@ -96,6 +112,7 @@ export const GET: APIRoute = ({ site }) => { m.bill_v_yes(), m.bill_v_yes(), m.bill_v_yes(), + m.bill_v_yes(), ], ], ), diff --git a/apps/landing/src/pages/compare/[slug].md.ts b/apps/landing/src/pages/compare/[slug].md.ts index b4c705d05..5d7cfec4d 100644 --- a/apps/landing/src/pages/compare/[slug].md.ts +++ b/apps/landing/src/pages/compare/[slug].md.ts @@ -10,7 +10,7 @@ * the page and the calculator use, so the three can't disagree. */ import type { APIRoute, GetStaticPaths } from "astro" -import { competitorBySlug, competitors, type Competitor } from "../../lib/competitors" +import { competitors, type Competitor, MAPLE_SURFACES } from "../../lib/competitors" import { absolute, blocks, docHeader, markdown, table } from "../../lib/page-markdown" import * as m from "../../paraglide/messages.js" import { @@ -69,6 +69,21 @@ export const GET: APIRoute = ({ props, site }) => { `**${m.cmp_parity_label()}:** ${competitor.parity.map((item) => item()).join(" · ")}`, ) + // The Surfaces section, where the page has one: the same four rows, with + // the artifact's argument carried by its copy rather than the drawing. + const surfaces = competitor.surfaces + ? blocks( + `## ${m.cmp_surfaces_title({ name })}`, + competitor.surfaces.lede(), + competitor.surfaces.rows + .map((row) => { + const surface = MAPLE_SURFACES[row.surface] + return `- **${surface.name()}**: ${surface.body()} ${m.cmp_surfaces_instead_label({ name })} ${row.instead()}` + }) + .join("\n"), + ) + : undefined + const values = defaultValues(competitor.vendor) const config = vendorConfigs[competitor.vendor] const maple = estimateMaple(competitor.vendor, values) @@ -79,7 +94,7 @@ export const GET: APIRoute = ({ props, site }) => { [label, "Amount"], [ ...estimate.breakdown.map((item) => [ - `${item.label} — ${item.detail}`, + `${item.label}: ${item.detail}`, item.value === 0 ? m.cmp_price_free() : dollars(item.value), ]), ["**Total**", `**${dollars(estimate.total)}**`], @@ -103,7 +118,7 @@ export const GET: APIRoute = ({ props, site }) => { `## ${m.cmp_migration_title({ name })}`, m.cmp_migration_lede(), competitor.migration.map((step, i) => `${i + 1}. **${step.title()}** ${step.body()}`).join("\n"), - `\`\`\`yaml\n# otel-collector.yaml — ${m.cmp_migration_diff_caption()}\n${competitor.migrationDiff}\n\`\`\``, + `\`\`\`yaml\n# otel-collector.yaml. ${m.cmp_migration_diff_caption()}\n${competitor.migrationDiff}\n\`\`\``, ) const faq = blocks( @@ -117,7 +132,7 @@ export const GET: APIRoute = ({ props, site }) => { competitor.sources .map( (s, i) => - `${i + 1}. [${s.label}](${s.url}) — ${m.cmp_sources_checked({ date: monthLabel(s.checked) })}`, + `${i + 1}. [${s.label}](${s.url}), ${m.cmp_sources_checked({ date: monthLabel(s.checked) })}`, ) .join("\n"), ) @@ -134,6 +149,7 @@ export const GET: APIRoute = ({ props, site }) => { blocks( docHeader(competitor.heroTitle(), competitor.heroLede()), differences, + surfaces, price, migration, faq, diff --git a/apps/landing/src/pages/llms.txt.ts b/apps/landing/src/pages/llms.txt.ts index da761f522..0e390d9bb 100644 --- a/apps/landing/src/pages/llms.txt.ts +++ b/apps/landing/src/pages/llms.txt.ts @@ -81,7 +81,8 @@ export const GET: APIRoute = ({ site }) => { "## Comparisons", "", - `Maple against Datadog, Grafana Cloud, New Relic and Dash0. Each page tabulates the differences with who has the edge on each row, prices one reference month on both at list price, and cites the vendor pages it was checked against, with dates. ${CONVENTION("comparison")}`, + // Named from the registry, so a new comparison page never leaves this line stale. + `Maple against ${competitors.map((competitor) => competitor.name).join(", ")}. Each page tabulates the differences with who has the edge on each row, prices one reference month on both at list price, and cites the vendor pages it was checked against, with dates. ${CONVENTION("comparison")}`, "", ...both("Comparisons index", "/compare"), ...competitors.map(