A minimal web app showcasing BusyBee: a background job queue with OpenTelemetry, Swagger, Prometheus metrics, and Seq for centralized logging and tracing.
Requirements: Docker + Docker Compose.
cd examples/DemoApp
docker compose up -d --buildStop and clean up:
docker compose down -v- Demo API: http://localhost:8100
- Swagger UI: http://localhost:8100/swagger
- Prometheus metrics: http://localhost:8100/metrics
- Seq (logs & tracing): http://localhost:8200
- The app exports OTLP logs and traces to Seq.
- Prometheus (metrics): http://localhost:8300
- Scrapes the app’s /metrics endpoint (see prometheus.yml).
- Enqueue a job (POST /queue):
curl -X POST http://localhost:8100/queueResponse contains the JobId; the job runs asynchronously. Logs and traces are sent to Seq. Jobs may fail or timeout randomly to demonstrate error handling.
- Get aggregated execution log (GET /queue):
curl http://localhost:8100/queueReturns a grouped log of job events ordered by enqueue and event timestamps.
- Cancel a job (POST /job/{jobId}/cancel):
curl -X POST http://localhost:8100/job/{jobId}/cancel- Not familiar with Seq? Here is a quick intro to traces view.