Quick Start
Get TinyOlly running in under 5 minutes!
What You'll Get
- TinyOlly UI at
http://localhost:5005 - OpenTelemetry Collector listening on ports 4317 (gRPC) and 4318 (HTTP)
- OpAMP Server for remote collector configuration management
- Demo microservices generating automatic telemetry
Prerequisites
- Docker Desktop installed and running
- Git (to clone the repository)
- 5 minutes of your time
Step 1: Clone the Repository
Step 2: Start TinyOlly Core
This pulls pre-built images from Docker Hub and starts:
- OpenTelemetry Collector (ports 4317/4318)
- OpAMP Server (ports 4320/4321)
- TinyOlly OTLP Receiver (internal)
- TinyOlly UI (port 5005)
- Redis storage (internal)
Deployment time: ~30 seconds (pulls from Docker Hub)
For local development: Use ./01-start-core-local.sh to build images locally.
Step 3: Deploy Demo Apps (Optional but Recommended)
In a new terminal:
This pulls demo images from Docker Hub and deploys two Flask microservices that automatically generate traffic.
Wait 30 seconds for telemetry to appear!
For local development: Use ./01-deploy-demo-local.sh to build images locally.
Step 4: Open the UI
Open your browser to: http://localhost:5005
You should see:
Trace waterfall with correlated logs and span timing
Step 5: Explore the Features
Traces Tab
View distributed traces across microservices with timing waterfall.
Span waterfall showing request timing breakdown with correlated logs
Click on a span to view detailed JSON data:
Span detail view with full OpenTelemetry attributes
Logs Tab
Browse logs with trace/span correlation. Filter by severity (Error, Warn, Info, Debug).
Real-time logs with trace and span correlation
Click on a log entry to view full details:
Log detail view with full attributes and resource info
Filter to show only errors:
Filtered error logs with trace correlation
Metrics Tab
Visualize metrics with automatic charting.
Time-series metrics visualization with rate charts
Service Catalog
View all services with RED metrics (Rate, Errors, Duration).
Service catalog with RED metrics for all services
Service Map
Visualize service dependencies with an interactive graph.
Interactive service dependency map with latency information
OpenTelemetry Collector + OpAMP Config
View and manage your OpenTelemetry Collector configuration remotely via the OpAMP protocol.
OpenTelemetry Collector configuration management via OpAMP
This page allows you to:
- View current configuration from connected collectors
- Apply configuration changes with validation and diff preview
- Use configuration templates for common scenarios (default, prometheus-remote-write, etc.)
- Check OpAMP server status and see connected collector agents
- Validate configurations before applying to catch errors early
To use this feature, your OpenTelemetry Collector must be configured with the OpAMP extension (see Docker Deployment or OpenTelemetry Collector documentation).
Step 6: Use Your Own Application
Point your application's OpenTelemetry exporter to:
For apps running on your host machine (outside Docker):
For apps running inside Docker:
TinyOlly will automatically capture and display your telemetry!
Cleanup
Stop demo apps (keeps TinyOlly running):
Stop everything:
Next Steps
- Configure your own OpenTelemetry Collector
- Explore the REST API at
http://localhost:5005/docs - Deploy on Kubernetes
- Learn about the architecture
Troubleshooting
UI shows "No traces/logs/metrics"
- Wait 30 seconds after starting demo apps
- Check containers are running:
docker ps - Check demo app logs:
docker compose -f docker-demo/docker-compose-demo.yml logs
Port conflicts
- TinyOlly uses ports 4317, 4318, 4320, 4321, 4343, 5005, 6579, 19291
- Stop conflicting services or modify ports in
docker-compose-tinyolly-core.yml
Demo apps not generating traffic
- Restart demo:
cd docker-demo && ./02-cleanup-demo.sh && ./01-deploy-demo.sh - Check logs:
docker compose -f docker-demo/docker-compose-demo.yml logs demo-frontend
For more help, open an issue on GitHub.