-
Notifications
You must be signed in to change notification settings - Fork 39
docs: add OpenTelemetry Demo quickstart page #432
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
anirudha
merged 4 commits into
opensearch-project:main
from
kylehounslow:docs/otel-demo-quickstart
Aug 21, 2026
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
02041e3
docs: add OpenTelemetry Demo quickstart page
kylehounslow 45a74ee
Update docs/starlight-docs/src/content/docs/get-started/quickstart/ot…
kylehounslow 69a8765
Update docs/starlight-docs/src/content/docs/get-started/quickstart/ot…
kylehounslow 3295fd4
docs: unnumber the service telemetry heading
kylehounslow File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+430 KB
.../src/content/docs/get-started/quickstart/images/astronomy-shop-apm-services.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+684 KB
...ocs/src/content/docs/get-started/quickstart/images/astronomy-shop-dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
70 changes: 70 additions & 0 deletions
70
docs/starlight-docs/src/content/docs/get-started/quickstart/otel-demo.mdx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| --- | ||
| title: Sending Data from the OpenTelemetry Demo to the Observability Stack | ||
| description: Run the OpenTelemetry Demo (Astronomy Shop) against Observability Stack and explore its logs, traces, and metrics in OpenSearch Dashboards. | ||
| --- | ||
|
|
||
| The [OpenTelemetry Demo](https://opentelemetry.io/docs/demo/) is a microservices e-commerce app (the Astronomy Shop) that emits logs, traces, and metrics across services written in Go, Python, Java, .NET, Node.js, Ruby, PHP, and C++. Enable it in Observability Stack to explore the stack with realistic telemetry before you instrument your own services. | ||
|
|
||
| The demo ships as an opt-in Docker Compose include file. The stack runs the OTel Collector, Data Prepper, OpenSearch, Prometheus, and OpenSearch Dashboards; enabling the demo adds the Astronomy Shop services and points their telemetry at that pipeline. | ||
|
|
||
| ## Install and enable the demo | ||
|
|
||
| Enabling the demo depends on how you install Observability Stack: | ||
|
|
||
| - **Docker Compose:** follow the [installation guide](/docs/get-started/installation/#opentelemetry-demo) and uncomment `INCLUDE_COMPOSE_OTEL_DEMO` in `.env`. | ||
| - **Kubernetes (Helm):** set `opentelemetry-demo.enabled=true` (for example, `--set opentelemetry-demo.enabled=true`). See [Kubernetes (Helm)](/docs/deploy/kubernetes/). | ||
|
|
||
| For Docker Compose, the demo image version is pinned by `DEMO_VERSION` in `.env`. Change that value to run a different release. | ||
|
|
||
| ## Generate and view telemetry | ||
|
|
||
| The demo's load generator drives traffic automatically, so telemetry starts flowing without any manual steps. To browse the app yourself, open the web store at [http://localhost:8080/](http://localhost:8080/). Then open OpenSearch Dashboards to explore the data. | ||
|
|
||
| ### Service telemetry dashboard | ||
|
|
||
| The **Astronomy shop - service telemetry** dashboard is created for you automatically. Open it from **Dashboards**. It correlates logs and metrics across the demo services: request rate by service, instrumentation SDK breakdown, log volume by severity, log throughput over time, and per-service CPU, memory, and thread counts. Filter by service name or SDK language using the controls at the top. | ||
|
|
||
|  | ||
|
|
||
| ### Application performance (APM) | ||
|
|
||
| Open **Services** under Application performance to see the trace-derived service catalog: P50/P90/P99 latency, throughput, and failure rate per service, top services and dependency paths by fault rate, and SLO health. From any row, jump to that service's spans, logs, or service map. | ||
| See [Application Performance Monitoring](/docs/apm/) for service maps, SLOs, and the rest of the APM workflow. | ||
|
|
||
|  | ||
|
|
||
| ## Access points | ||
|
|
||
| | URL | What it is | | ||
| |-----|------------| | ||
| | [http://localhost:8080/](http://localhost:8080/) | Web store (frontend) | | ||
| | [http://localhost:8080/loadgen/](http://localhost:8080/loadgen/) | Load generator UI | | ||
| | [http://localhost:8080/feature](http://localhost:8080/feature) | Feature flag UI | | ||
| | [http://localhost:5601](http://localhost:5601) | OpenSearch Dashboards | | ||
|
|
||
| Use the feature flag UI to toggle the demo's built-in failure scenarios (for example, a payment or cart fault) and watch the error rate change in the dashboards and APM views. | ||
|
|
||
| ## How the data flows | ||
|
|
||
| ```mermaid | ||
| flowchart LR | ||
| Demo[Astronomy Shop services] --> Collector[OTel Collector] | ||
| Collector --> DataPrepper[Data Prepper] | ||
| Collector --> Prometheus[Prometheus] | ||
| DataPrepper --> OpenSearch[OpenSearch] | ||
| OpenSearch --> Dashboards[OpenSearch Dashboards] | ||
| Prometheus --> Dashboards | ||
| ``` | ||
|
|
||
| Services export OTLP to the Collector. The Collector sends logs and traces to Data Prepper, which indexes them into OpenSearch, and sends metrics to Prometheus. OpenSearch Dashboards reads from both. | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| - **Services restart or exit on startup.** Usually the container runtime is short on memory. Raise its limit to at least 8 GB. | ||
| - **Dashboards are empty.** Give the load generator a minute to produce data, then widen the dashboard time range. Confirm the demo services are up with `docker compose ps`. | ||
|
|
||
| ## Next steps | ||
|
|
||
| - [Ingest Your First Traces](/docs/get-started/quickstart/first-traces/) — instrument your own application | ||
| - [Create Your First Dashboard](/docs/get-started/quickstart/first-dashboard/) — build custom visualizations | ||
| - [Send Data](/docs/send-data/) — more instrumentation and ingestion options | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This restructures the single APM subsection into the ordered six-part showcase (Services → Application Map → Logs → Traces → Metrics), with a header + screenshot placeholder for each and accurate UI nav paths and links. Verified against the repo: nav is Observability > Application Monitoring; page links
/docs/apm/services/,/docs/apm/service-map/,/docs/investigate/discover-logs/,/docs/investigate/discover-traces/,/docs/investigate/discover-metrics/all resolve.Note: the two PromQL queries are inline code because GitHub one-click suggestions can't contain fenced ``` blocks. If you prefer fenced
promqlblocks in the final file, I left the fenced versions in the review summary.