This repository is a Guance-oriented fork of the official OpenTelemetry Demo. It is used to demonstrate how to build, package, deploy, and verify the OpenTelemetry Astronomy Shop with Guance integration in real environments.
Compared with the upstream project, this fork focuses on:
- Integrating RUM + APM + Logs with Guance
- Preserving the complete multi-language demo topology
- Supporting source build -> image packaging -> Kubernetes deployment
- Providing reusable Guance deployment files and delivery documentation
- Source code entry:
src/ - Guance deployment assets:
guance/ - Kubernetes manifest reference:
kubernetes/ - Demo architecture and local compose assets: project root
Recommended reading order:
guance/source-build-rum-apm-log-deploy.mdguance/otel-demo-guance-best-practice.mdguance/values-shared-cluster.yamlguance/datakit-gateway.yaml
- Best practice:
guance/otel-demo-guance-best-practice.md - Source build and deployment guide:
guance/source-build-rum-apm-log-deploy.md - Shared-cluster Helm values:
guance/values-shared-cluster.yaml - DataKit gateway manifest:
guance/datakit-gateway.yaml
- Browser RUM is injected in the frontend with Guance Web SDK
- Frontend traces continue exporting through
/otlp-http/v1/traces - Backend traces, metrics, and logs continue exporting through OpenTelemetry Collector
- Collector forwards data to DataKit, then to Guance DataWay
This fork is intended for:
- Guance solution demos
- Customer POC environments
- Multi-language observability verification
- OpenTelemetry to Guance integration showcases
This repository contains the OpenTelemetry Astronomy Shop, a microservice-based distributed system intended to illustrate the implementation of OpenTelemetry in a near real-world environment.
Our goals are threefold:
- Provide a realistic example of a distributed system that can be used to demonstrate OpenTelemetry instrumentation and observability.
- Build a base for vendors, tooling authors, and others to extend and demonstrate their OpenTelemetry integrations.
- Create a living example for OpenTelemetry contributors to use for testing new versions of the API, SDK, and other components or enhancements.
We've already made huge progress, and development is ongoing. We hope to represent the full feature set of OpenTelemetry across its languages in the future.
If you'd like to help (which we would love), check out our contributing guidance.
If you'd like to extend this demo or maintain a fork of it, read our fork guidance.
You can be up and running with the demo in a few minutes. Check out the docs for your preferred deployment method:
For detailed documentation, see Demo Documentation. If you're curious about a specific feature, the docs landing page can point you in the right direction.
We welcome any vendor to fork the project to demonstrate their services and adding a link below. The community is committed to maintaining the project and keeping it up to date for you.
To get involved with the project see our CONTRIBUTING documentation. Our SIG Calls are every other Wednesday at 8:30 AM PST and anyone is welcome.
- Cyrille Le Clerc, Grafana Labs
- Juliano Costa, Datadog
- Pierre Tessier, Honeycomb
- Roger Coll, Elastic
For more information about the maintainer role, see the community repository.
- Cedric Ziel, Grafana Labs
- Mikko Viitanen, Dynatrace
- Shenoy Pratik, AWS OpenSearch
For more information about the approver role, see the community repository.
For more information about the emeritus role, see the community repository.