diff --git a/docs/public/images/agent-health/architecture.png b/docs/public/images/agent-health/architecture.png new file mode 100644 index 00000000..609e2ce3 Binary files /dev/null and b/docs/public/images/agent-health/architecture.png differ diff --git a/docs/public/images/agent-health/create-test-case.png b/docs/public/images/agent-health/create-test-case.png new file mode 100644 index 00000000..f822862b Binary files /dev/null and b/docs/public/images/agent-health/create-test-case.png differ diff --git a/docs/public/images/agent-health/dashboard.png b/docs/public/images/agent-health/dashboard.png new file mode 100644 index 00000000..54babaff Binary files /dev/null and b/docs/public/images/agent-health/dashboard.png differ diff --git a/docs/public/images/agent-health/experiment-detail-full.png b/docs/public/images/agent-health/experiment-detail-full.png new file mode 100644 index 00000000..a4eb13e2 Binary files /dev/null and b/docs/public/images/agent-health/experiment-detail-full.png differ diff --git a/docs/public/images/agent-health/experiment-detail.png b/docs/public/images/agent-health/experiment-detail.png new file mode 100644 index 00000000..ef4a4cdd Binary files /dev/null and b/docs/public/images/agent-health/experiment-detail.png differ diff --git a/docs/public/images/agent-health/test-cases.png b/docs/public/images/agent-health/test-cases.png new file mode 100644 index 00000000..e76ca578 Binary files /dev/null and b/docs/public/images/agent-health/test-cases.png differ diff --git a/docs/public/images/agent-traces/agent-graph.png b/docs/public/images/agent-traces/agent-graph.png new file mode 100644 index 00000000..b4c1f08c Binary files /dev/null and b/docs/public/images/agent-traces/agent-graph.png differ diff --git a/docs/public/images/agent-traces/spans-table.png b/docs/public/images/agent-traces/spans-table.png new file mode 100644 index 00000000..ac869874 Binary files /dev/null and b/docs/public/images/agent-traces/spans-table.png differ diff --git a/docs/public/images/agent-traces/timeline.png b/docs/public/images/agent-traces/timeline.png new file mode 100644 index 00000000..4339153b Binary files /dev/null and b/docs/public/images/agent-traces/timeline.png differ diff --git a/docs/public/images/agent-traces/trace-tree.png b/docs/public/images/agent-traces/trace-tree.png new file mode 100644 index 00000000..a233211b Binary files /dev/null and b/docs/public/images/agent-traces/trace-tree.png differ diff --git a/docs/public/images/agent-traces/traces-table.png b/docs/public/images/agent-traces/traces-table.png new file mode 100644 index 00000000..b4b32d55 Binary files /dev/null and b/docs/public/images/agent-traces/traces-table.png differ diff --git a/docs/public/images/apm/application-map.png b/docs/public/images/apm/application-map.png new file mode 100644 index 00000000..06ac0867 Binary files /dev/null and b/docs/public/images/apm/application-map.png differ diff --git a/docs/public/images/apm/architecture.png b/docs/public/images/apm/architecture.png new file mode 100644 index 00000000..0259da80 Binary files /dev/null and b/docs/public/images/apm/architecture.png differ diff --git a/docs/public/images/apm/filter-by-error-rate.png b/docs/public/images/apm/filter-by-error-rate.png new file mode 100644 index 00000000..d4ec7fb3 Binary files /dev/null and b/docs/public/images/apm/filter-by-error-rate.png differ diff --git a/docs/public/images/apm/groupby-attributes.png b/docs/public/images/apm/groupby-attributes.png new file mode 100644 index 00000000..561e005d Binary files /dev/null and b/docs/public/images/apm/groupby-attributes.png differ diff --git a/docs/public/images/apm/service-dependencies.png b/docs/public/images/apm/service-dependencies.png new file mode 100644 index 00000000..b1b68705 Binary files /dev/null and b/docs/public/images/apm/service-dependencies.png differ diff --git a/docs/public/images/apm/service-metrics.png b/docs/public/images/apm/service-metrics.png new file mode 100644 index 00000000..186fe406 Binary files /dev/null and b/docs/public/images/apm/service-metrics.png differ diff --git a/docs/public/images/apm/service-operations.png b/docs/public/images/apm/service-operations.png new file mode 100644 index 00000000..15072612 Binary files /dev/null and b/docs/public/images/apm/service-operations.png differ diff --git a/docs/public/images/apm/service-span-correlations.png b/docs/public/images/apm/service-span-correlations.png new file mode 100644 index 00000000..7345dfa3 Binary files /dev/null and b/docs/public/images/apm/service-span-correlations.png differ diff --git a/docs/public/images/apm/services-home.png b/docs/public/images/apm/services-home.png new file mode 100644 index 00000000..278cb6ae Binary files /dev/null and b/docs/public/images/apm/services-home.png differ diff --git a/docs/public/images/apm/services-overview.png b/docs/public/images/apm/services-overview.png new file mode 100644 index 00000000..688a1204 Binary files /dev/null and b/docs/public/images/apm/services-overview.png differ diff --git a/docs/public/images/dashboards/prometheus.png b/docs/public/images/dashboards/prometheus.png new file mode 100644 index 00000000..7cd56ef6 Binary files /dev/null and b/docs/public/images/dashboards/prometheus.png differ diff --git a/docs/public/images/datasets/correlations-configure-dialog.png b/docs/public/images/datasets/correlations-configure-dialog.png new file mode 100644 index 00000000..7b1b1b13 Binary files /dev/null and b/docs/public/images/datasets/correlations-configure-dialog.png differ diff --git a/docs/public/images/datasets/correlations-created-table.png b/docs/public/images/datasets/correlations-created-table.png new file mode 100644 index 00000000..5fc51fab Binary files /dev/null and b/docs/public/images/datasets/correlations-created-table.png differ diff --git a/docs/public/images/datasets/correlations-logs-dataset-tab.png b/docs/public/images/datasets/correlations-logs-dataset-tab.png new file mode 100644 index 00000000..32c5376f Binary files /dev/null and b/docs/public/images/datasets/correlations-logs-dataset-tab.png differ diff --git a/docs/public/images/datasets/correlations-span-details-logs.png b/docs/public/images/datasets/correlations-span-details-logs.png new file mode 100644 index 00000000..ca100424 Binary files /dev/null and b/docs/public/images/datasets/correlations-span-details-logs.png differ diff --git a/docs/public/images/datasets/correlations-trace-dataset-tab.png b/docs/public/images/datasets/correlations-trace-dataset-tab.png new file mode 100644 index 00000000..73477333 Binary files /dev/null and b/docs/public/images/datasets/correlations-trace-dataset-tab.png differ diff --git a/docs/public/images/datasets/datasets-configure-logs.png b/docs/public/images/datasets/datasets-configure-logs.png new file mode 100644 index 00000000..d67474f2 Binary files /dev/null and b/docs/public/images/datasets/datasets-configure-logs.png differ diff --git a/docs/public/images/datasets/datasets-configure-traces.png b/docs/public/images/datasets/datasets-configure-traces.png new file mode 100644 index 00000000..f61fa04c Binary files /dev/null and b/docs/public/images/datasets/datasets-configure-traces.png differ diff --git a/docs/public/images/datasets/datasets-list.png b/docs/public/images/datasets/datasets-list.png new file mode 100644 index 00000000..8c8b8082 Binary files /dev/null and b/docs/public/images/datasets/datasets-list.png differ diff --git a/docs/public/images/datasets/datasets-select-data-source.png b/docs/public/images/datasets/datasets-select-data-source.png new file mode 100644 index 00000000..43c38eae Binary files /dev/null and b/docs/public/images/datasets/datasets-select-data-source.png differ diff --git a/docs/public/images/discover-logs/discover-logs-interface.png b/docs/public/images/discover-logs/discover-logs-interface.png new file mode 100644 index 00000000..94633b7c Binary files /dev/null and b/docs/public/images/discover-logs/discover-logs-interface.png differ diff --git a/docs/public/images/discover-logs/discover-logs-switch-axes.png b/docs/public/images/discover-logs/discover-logs-switch-axes.png new file mode 100644 index 00000000..5c93f197 Binary files /dev/null and b/docs/public/images/discover-logs/discover-logs-switch-axes.png differ diff --git a/docs/public/images/discover-logs/discover-logs-visualization.png b/docs/public/images/discover-logs/discover-logs-visualization.png new file mode 100644 index 00000000..0b97493e Binary files /dev/null and b/docs/public/images/discover-logs/discover-logs-visualization.png differ diff --git a/docs/public/images/discover-logs/discover-logs-viz-types.png b/docs/public/images/discover-logs/discover-logs-viz-types.png new file mode 100644 index 00000000..f83a3b47 Binary files /dev/null and b/docs/public/images/discover-logs/discover-logs-viz-types.png differ diff --git a/docs/public/images/discover-traces/logs-redirection.png b/docs/public/images/discover-traces/logs-redirection.png new file mode 100644 index 00000000..0333cd85 Binary files /dev/null and b/docs/public/images/discover-traces/logs-redirection.png differ diff --git a/docs/public/images/discover-traces/related-logs.png b/docs/public/images/discover-traces/related-logs.png new file mode 100644 index 00000000..2f56d65e Binary files /dev/null and b/docs/public/images/discover-traces/related-logs.png differ diff --git a/docs/public/images/discover-traces/trace-auto-create.png b/docs/public/images/discover-traces/trace-auto-create.png new file mode 100644 index 00000000..733fee66 Binary files /dev/null and b/docs/public/images/discover-traces/trace-auto-create.png differ diff --git a/docs/public/images/discover-traces/trace-detail-page.png b/docs/public/images/discover-traces/trace-detail-page.png new file mode 100644 index 00000000..1194f5fb Binary files /dev/null and b/docs/public/images/discover-traces/trace-detail-page.png differ diff --git a/docs/public/images/discover-traces/trace-details-flyout.png b/docs/public/images/discover-traces/trace-details-flyout.png new file mode 100644 index 00000000..b367d722 Binary files /dev/null and b/docs/public/images/discover-traces/trace-details-flyout.png differ diff --git a/docs/public/images/discover-traces/trace-page.png b/docs/public/images/discover-traces/trace-page.png new file mode 100644 index 00000000..5fa6e5e7 Binary files /dev/null and b/docs/public/images/discover-traces/trace-page.png differ diff --git a/docs/src/components/CompetitorComparison.astro b/docs/src/components/CompetitorComparison.astro new file mode 100644 index 00000000..f698174c --- /dev/null +++ b/docs/src/components/CompetitorComparison.astro @@ -0,0 +1,106 @@ +--- +// FeatureShowcase.astro - Visual showcase of platform capabilities +// Uses real screenshots from the documentation + +interface ShowcaseItem { + title: string; + description: string; + image: string; + alt: string; + link: string; +} + +const showcaseItems: ShowcaseItem[] = [ + { + title: 'APM Service Maps', + description: 'Auto-generated topology maps showing service dependencies, latency, and error rates across your distributed system.', + image: '/images/apm/application-map.png', + alt: 'APM Application Map showing service dependencies', + link: '/docs/apm/', + }, + { + title: 'Distributed Trace Detail', + description: 'Full span tree with RED metrics, faceted fields, and cross-signal correlation to related logs.', + image: '/images/discover-traces/trace-detail-page.png', + alt: 'Trace detail page with span tree and RED metrics', + link: '/docs/investigate/', + }, + { + title: 'Log Investigation', + description: 'Search and analyze billions of log events with full-text search and PPL structured queries.', + image: '/images/discover-logs/discover-logs-interface.png', + alt: 'Log investigation interface with PPL queries', + link: '/docs/investigate/', + }, + { + title: 'AI Agent Execution Graph', + description: 'Visualize agent workflows as DAGs — trace LLM calls, tool execution, and reasoning steps.', + image: '/images/agent-traces/agent-graph.png', + alt: 'Agent execution graph showing DAG of agent workflow', + link: '/docs/ai-observability/', + }, + { + title: 'Prometheus Metrics', + description: 'PromQL-powered metrics dashboards with custom panels, alerting, and auto-computed RED metrics.', + image: '/images/dashboards/prometheus.png', + alt: 'Prometheus metrics dashboard', + link: '/docs/dashboards/', + }, + { + title: 'Cross-Signal Correlation', + description: 'Click from a trace span to correlated logs, or from logs to related traces. All signals connected.', + image: '/images/datasets/correlations-span-details-logs.png', + alt: 'Cross-signal correlation between traces and logs', + link: '/docs/investigate/', + }, +]; +--- + +
+
+
+

+ See It in Action +

+

+ Real screenshots from the OpenSearch Observability Stack. Every feature shown here is available in the live playground. +

+
+ + +
+ {showcaseItems.map((item) => ( + +
+ {item.alt} +
+
+

+ {item.title} +

+

+ {item.description} +

+
+
+ ))} +
+ + + +
+
diff --git a/docs/src/components/CyclingTagline.test.tsx b/docs/src/components/CyclingTagline.test.tsx index bce1dfc5..f5be942d 100644 --- a/docs/src/components/CyclingTagline.test.tsx +++ b/docs/src/components/CyclingTagline.test.tsx @@ -13,8 +13,8 @@ describe('CyclingTagline', () => { it('should render the first tagline initially', () => { render(); - expect(screen.getByText('Services')).toBeInTheDocument(); - expect(screen.getByText(/APM traces, service maps/)).toBeInTheDocument(); + expect(screen.getByText('Traces')).toBeInTheDocument(); + expect(screen.getByText(/Distributed tracing with auto-generated service maps/)).toBeInTheDocument(); }); it('should have cycling functionality with timers', () => { diff --git a/docs/src/components/CyclingTagline.tsx b/docs/src/components/CyclingTagline.tsx index 8c678d17..4960fcb2 100644 --- a/docs/src/components/CyclingTagline.tsx +++ b/docs/src/components/CyclingTagline.tsx @@ -1,22 +1,24 @@ import { useState, useEffect } from 'react'; const taglines = [ - // Services (cyan) - { label: 'Services', text: 'APM traces, service maps, and distributed tracing across your stack', color: 'text-cyan-400' }, - { label: 'Services', text: 'See every request, every dependency, every bottleneck', color: 'text-cyan-400' }, - { label: 'Services', text: 'From microservices to monoliths—full visibility', color: 'text-cyan-400' }, - // Metrics (emerald) - { label: 'Metrics', text: 'Prometheus metrics, PromQL queries, and custom dashboards', color: 'text-emerald-400' }, - { label: 'Metrics', text: 'RED metrics computed automatically from trace data', color: 'text-emerald-400' }, - { label: 'Metrics', text: 'Real-time dashboards for the signals that matter', color: 'text-emerald-400' }, + // Traces (cyan) + { label: 'Traces', text: 'Distributed tracing with auto-generated service maps and RED metrics', color: 'text-cyan-400' }, + { label: 'Traces', text: 'OpenTelemetry-native. No proprietary agent required', color: 'text-cyan-400' }, // Logs (amber) - { label: 'Logs', text: 'Correlate logs with traces—debug in minutes, not days', color: 'text-amber-400' }, - { label: 'Logs', text: 'Full-text search with PPL structured queries', color: 'text-amber-400' }, - { label: 'Logs', text: 'From ingestion to insight, all in one place', color: 'text-amber-400' }, - // AI (orange) - { label: 'AI Agents', text: 'Agent tracing with GenAI semantic conventions and MCP support', color: 'text-orange-400' }, - { label: 'AI Agents', text: 'Your agents aren\'t black boxes anymore', color: 'text-orange-400' }, - { label: 'AI Agents', text: 'Trace graphs, token usage, and tool calls for every agent run', color: 'text-orange-400' }, + { label: 'Logs', text: 'Full-text search + PPL structured queries across billions of log events', color: 'text-amber-400' }, + { label: 'Logs', text: 'Correlate logs with traces in one click. No context switching', color: 'text-amber-400' }, + // AI Agents (orange) + { label: 'AI Agents', text: 'Trace LLM calls, tool use, and agent workflows end-to-end', color: 'text-orange-400' }, + { label: 'AI Agents', text: 'GenAI semantic conventions, MCP support, token cost tracking', color: 'text-orange-400' }, + // PPL (violet) + { label: 'PPL', text: 'ML-powered log clustering in one command. No regex, no ML expertise', color: 'text-violet-400' }, + { label: 'PPL', text: 'Anomaly detection built into queries — no external ML service needed', color: 'text-violet-400' }, + // Metrics (emerald) + { label: 'Metrics', text: 'Prometheus-compatible with PromQL. RED metrics computed automatically', color: 'text-emerald-400' }, + { label: 'Metrics', text: 'Custom dashboards with real-time panels and alerting', color: 'text-emerald-400' }, + // Open Source (green) + { label: 'Open', text: 'Apache 2.0. No feature gates. No lock-in', color: 'text-green-400' }, + { label: 'Open', text: 'Self-host anywhere. Your data stays yours', color: 'text-green-400' }, ]; export function CyclingTagline() { @@ -39,13 +41,13 @@ export function CyclingTagline() { return (
- + {current.label} -
+
{current.text} diff --git a/docs/src/components/Features.astro b/docs/src/components/Features.astro index c7ad3469..ae68fd39 100644 --- a/docs/src/components/Features.astro +++ b/docs/src/components/Features.astro @@ -8,7 +8,7 @@ interface Feature { title: string; description: string; bullets: string[]; - visualType: 'code' | 'mockup' | 'grid'; + visualType: 'code' | 'mockup' | 'grid' | 'image'; visualContent: any; imagePosition: 'left' | 'right'; } @@ -19,6 +19,8 @@ const iconPaths = { 'file-text': 'M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z', 'check-circle': 'M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z', 'zap': 'M13 10V3L4 14h7v7l9-11h-7z', + search: 'M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z', + brain: 'M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z', }; const features: Feature[] = [ @@ -26,90 +28,107 @@ const features: Feature[] = [ id: 'apm-tracing', icon: 'activity', title: 'APM & Distributed Tracing', - description: 'End-to-end visibility across services with service maps, latency breakdowns, and error tracking. OpenTelemetry-native.', + description: 'End-to-end visibility across services with auto-generated service maps, latency breakdowns, and error tracking. OpenTelemetry-native with zero proprietary agents.', bullets: [ 'Service maps and dependency visualization', - 'Distributed trace correlation across services', - 'Latency percentiles, error rates, and throughput', + 'P50/P95/P99 latency, error rates, and throughput', + 'OTel-native — works with any language or framework', ], - visualType: 'code', - visualContent: { - language: 'yaml', - code: `# otel-collector-config.yaml -receivers: - otlp: - protocols: - grpc: - endpoint: 0.0.0.0:4317 - -exporters: - opensearch: - http: - endpoint: https://opensearch:9200 - dataset: traces - -service: - pipelines: - traces: - receivers: [otlp] - exporters: [opensearch]`, - }, + visualType: 'image', + visualContent: { src: '/images/apm/application-map.png', alt: 'APM Service Map' }, imagePosition: 'right', }, { id: 'metrics-dashboards', icon: 'zap', title: 'Metrics & Dashboards', - description: 'Prometheus-compatible metrics with PromQL support. Custom dashboards and RED metrics computed automatically from trace data.', + description: 'Prometheus-compatible metrics with PromQL support. Custom dashboards and RED metrics computed automatically from trace data. All signals in one platform.', bullets: [ 'Prometheus remote-write and native PromQL support', - 'RED metrics (Rate, Errors, Duration) from Data Prepper', - 'Custom dashboards with real-time panels and charts', + 'RED metrics (Rate, Errors, Duration) auto-computed from traces', + 'Custom dashboards with real-time panels and alerting', ], - visualType: 'grid', - visualContent: { - items: [ - { title: 'Request Rate', progress: 99 }, - { title: 'P99 Latency', progress: 95 }, - { title: 'Error Rate', progress: 82 }, - { title: 'Throughput', progress: 97 }, - { title: 'Saturation', progress: 88 }, - { title: 'Availability', progress: 94 }, - { title: 'P50 Latency', progress: 91 }, - { title: 'Success Rate', progress: 96 }, - ], - }, + visualType: 'image', + visualContent: { src: '/images/dashboards/prometheus.png', alt: 'Prometheus Metrics Dashboard' }, imagePosition: 'left', }, { id: 'logs', icon: 'file-text', - title: 'Log Analytics & Correlation', - description: 'Ingest, search, and correlate logs with traces. Full-text search with PPL and OpenTelemetry-native log collection.', + title: 'Log Analytics with PPL', + description: 'Full-text search meets a pipe-based query language. PPL lets you filter, transform, aggregate, and correlate logs with traces — all in one query. 50+ commands and 200+ built-in functions.', bullets: [ - 'Log-to-trace correlation in one click', - 'Full-text search with PPL structured field queries', - 'OTel-native log ingestion via OTLP', + 'Complete query language — joins, subqueries, stats, and more', + 'ML-powered log pattern clustering with zero regex', + 'Log-to-trace correlation via traceId in one click', ], - visualType: 'mockup', - visualContent: { - type: 'prompt-card', - }, + visualType: 'image', + visualContent: { src: '/images/discover-logs/discover-logs-interface.png', alt: 'Log Analytics Interface' }, imagePosition: 'right', }, { id: 'ai-observability', icon: 'check-circle', title: 'AI Agent & LLM Observability', - description: 'Trace AI agent workflows with OpenTelemetry GenAI semantic conventions. Visualize execution graphs, monitor token usage, and debug agent behavior.', + description: 'Trace AI agent workflows end-to-end. Visualize execution graphs, monitor token usage, track tool calls, and debug agent behavior with OpenTelemetry GenAI semantic conventions.', bullets: [ 'Agent tracing with tool-call and reasoning step visualization', - 'GenAI semantic conventions for standard, interoperable traces', - 'MCP support and Python/JavaScript SDKs', + 'Token usage, cost tracking, and failure rate analysis', + 'Python/JS SDKs + MCP support — works with any AI framework', ], - visualType: 'mockup', + visualType: 'image', + visualContent: { src: '/images/agent-traces/agent-graph.png', alt: 'Agent Execution Graph' }, + imagePosition: 'left', + }, + { + id: 'ppl-query', + icon: 'search', + title: 'PPL Query Language', + description: 'A pipe-based query language built for observability. Filter, transform, aggregate, join across indices, and run ML algorithms — all in a single query pipeline.', + bullets: [ + 'Cross-signal correlation: join logs with traces on traceId', + 'Automatic error pattern clustering — no regex required', + 'Anomaly detection and k-means clustering built into queries', + ], + visualType: 'code', visualContent: { - type: 'alert-card', + language: 'ppl', + code: `source = logs-otel-v1* +| where severityText = 'ERROR' +| patterns body method=brain mode=aggregation + by \`resource.attributes.service.name\` +| sort - pattern_count +| head 20 + +# Zero regex. ML-powered clustering. +# Try it in the Live Playground →`, + }, + imagePosition: 'right', + }, + { + id: 'built-in-ml', + icon: 'brain', + title: 'Built-in Machine Learning', + description: 'Anomaly detection and clustering run directly in your query pipeline — no separate ML service, no model management, no data science team required.', + bullets: [ + 'Random Cut Forest anomaly detection per service', + 'K-means clustering for automatic service health tiers', + 'Trendline and rolling window analytics built in', + ], + visualType: 'code', + visualContent: { + language: 'ppl', + code: `source = otel-v1-apm-span-* +| stats avg(durationInNanos) as avg_latency + by span(startTime, 5m) as window, + serviceName +| ml action='train' algorithm='rcf' + time_field='window' + category_field='serviceName' +| where anomaly_grade > 0 +| sort - anomaly_grade + +# Built-in ML. No external service.`, }, imagePosition: 'left', }, @@ -125,7 +144,7 @@ service: Full-Stack Observability, One Platform

- From service health to AI agent performance — traces, logs, metrics, dashboards, and more + From service health to AI agent performance — traces, logs, metrics, dashboards, built-in ML, and a powerful query language

@@ -211,6 +230,17 @@ service:
)} + {feature.visualType === 'image' && ( +
+ {feature.visualContent.alt} +
+ )} + {feature.visualType === 'mockup' && feature.visualContent.type === 'prompt-card' && (
diff --git a/docs/src/components/Hero.astro b/docs/src/components/Hero.astro index c1a10590..3dc91ded 100644 --- a/docs/src/components/Hero.astro +++ b/docs/src/components/Hero.astro @@ -23,10 +23,10 @@ import { CyclingTagline } from './CyclingTagline';

- APM traces. Logs. Prometheus metrics. Service maps. Dashboards. Plus agent tracing, MCP support, and AI observability SDKs. + Traces. Logs. Metrics. Dashboards. Service maps. AI agent tracing. Built-in ML. PPL query language. One open-source platform for full-stack observability. No license fees. No lock-in.

- One open-source platform. Full-stack observability. Zero lock-in. + OpenTelemetry-native. Apache 2.0. Self-host anywhere. Zero lock-in.

@@ -196,7 +196,7 @@ import { CyclingTagline } from './CyclingTagline'; $ curl -fsSL https://raw.githubusercontent.com/opensearch-project/observability-stack/main/install.sh | bash -

Works everywhere. Installs everything. You're welcome. 🔥

+

Docker, Kubernetes, or bare metal. Full stack in 5 minutes.

diff --git a/docs/src/pages/index.astro b/docs/src/pages/index.astro index 213f5f38..d99ed60b 100644 --- a/docs/src/pages/index.astro +++ b/docs/src/pages/index.astro @@ -5,6 +5,7 @@ import Hero from '../components/Hero.astro'; import QuickWin from '../components/QuickWin.astro'; import IntegrationPaths from '../components/IntegrationPaths.astro'; import WhyOTEL from '../components/WhyOTEL.astro'; +import CompetitorComparison from '../components/CompetitorComparison.astro'; import Features from '../components/Features.astro'; import Footer from '../components/Footer.astro'; --- @@ -13,6 +14,12 @@ import Footer from '../components/Footer.astro';
+
+ +
+
+ +
@@ -22,9 +29,6 @@ import Footer from '../components/Footer.astro';
-
- -