Observability
:::info Source
Sourced from services/catalog-service/OBSERVABILITY.md in the documentation repo.
:::
1. Logs
Events: catalog.course.created, catalog.course_version.published, .deprecated, .withdrawn, catalog.taxonomy.updated, catalog.visibility.changed.
2. Metrics
RED
catalog_api_requests_total{endpoint,status}countercatalog_api_duration_seconds{endpoint}histogram
Domain
catalog_course_versions_total{status}countercatalog_courses_activegaugecatalog_publish_rategauge (new versions / week)catalog_taxonomy_depthhistogram
3. Traces
Spans: catalog.course.register, catalog.course_version.publish, catalog.taxonomy.reassign.
4. Dashboards
- Catalog growth (courses + versions over time).
- Visibility distribution.
- Deprecation/withdrawal rates.
- Taxonomy usage.
5. Alerts
| Alert | Threshold | Severity |
|---|---|---|
| catalog-publish-failure | > 1% | P2 |
| catalog-event-lag | > 30s p99 | P2 |
| taxonomy-depth-exceeded | any > 10 | P3 |
6. SLOs
| SLI | Target |
|---|---|
| Catalog browse p95 | < 300ms |
| Course registration p95 | < 2s |
| API availability | 99.95% |
7. RUM
- Catalog page LCP < 1.5s online; < 600ms offline.