feat: add end-to-end observability (metrics, health, mobile RUM, dashboards, alerts) #32

Manually merged
Ichitux merged 8 commits from feat/observability-metrics-monitoring into main 2026-07-14 11:44:36 +00:00
Owner
  • Backend: OTel metrics via OTLP -> Alloy -> Prometheus (OTEL_METRICS_EXPORTER=otlp)
  • New business metrics (src/metrics.js): searches, CIMA latency/errors, cache
    hits/misses, logins, rate-limits, pharmacy writes/links, push sent/failed,
    DB + Redis timings/errors, HTTP req count/duration, heartbeat
  • Backend health endpoints /healthz and /readyz
  • Mobile (Expo): Grafana Faro RUM via @grafana/faro-react-native
  • redis/postgres exporters in docker-compose + Prometheus scrape jobs
  • Grafana dashboards (backend, datastores, mobile RUM, overview)
  • Prometheus alert rules (farmafinder_*) -> existing Alertmanager (Telegram)
  • Design/spec saved to docs/superpowers/specs/
- Backend: OTel metrics via OTLP -> Alloy -> Prometheus (OTEL_METRICS_EXPORTER=otlp) - New business metrics (src/metrics.js): searches, CIMA latency/errors, cache hits/misses, logins, rate-limits, pharmacy writes/links, push sent/failed, DB + Redis timings/errors, HTTP req count/duration, heartbeat - Backend health endpoints /healthz and /readyz - Mobile (Expo): Grafana Faro RUM via @grafana/faro-react-native - redis/postgres exporters in docker-compose + Prometheus scrape jobs - Grafana dashboards (backend, datastores, mobile RUM, overview) - Prometheus alert rules (farmafinder_*) -> existing Alertmanager (Telegram) - Design/spec saved to docs/superpowers/specs/
Ichitux added 1 commit 2026-07-13 13:58:12 +00:00
feat: add end-to-end observability (metrics, health, mobile RUM, dashboards, alerts)
Run Tests on Branches / Detect Changes (push) Successful in 10s
Run Tests on Branches / Backend Tests (push) Failing after 20s
Run Tests on Branches / Frontend Tests (push) Has been skipped
Run Tests on Branches / Frontend Mobile Tests (push) Failing after 20s
839c64c12a
- Backend: OTel metrics via OTLP -> Alloy -> Prometheus (OTEL_METRICS_EXPORTER=otlp)
- New business metrics (src/metrics.js): searches, CIMA latency/errors, cache
  hits/misses, logins, rate-limits, pharmacy writes/links, push sent/failed,
  DB + Redis timings/errors, HTTP req count/duration, heartbeat
- Backend health endpoints /healthz and /readyz
- Mobile (Expo): Grafana Faro RUM via @grafana/faro-react-native
- redis/postgres exporters in docker-compose + Prometheus scrape jobs
- Grafana dashboards (backend, datastores, mobile RUM, overview)
- Prometheus alert rules (farmafinder_*) -> existing Alertmanager (Telegram)
- Design/spec saved to docs/superpowers/specs/
Ichitux added 1 commit 2026-07-13 14:23:25 +00:00
Package json outdated
Run Tests on Branches / Detect Changes (push) Successful in 9s
Run Tests on Branches / Backend Tests (push) Failing after 2m18s
Run Tests on Branches / Frontend Tests (push) Has been skipped
Run Tests on Branches / Frontend Mobile Tests (push) Successful in 2m17s
b8b8655634
Ichitux added 1 commit 2026-07-13 14:35:48 +00:00
fix(backend): use string resource attribute keys instead of semantic-conventions named exports
Run Tests on Branches / Detect Changes (push) Successful in 13s
Run Tests on Branches / Frontend Tests (push) Has been cancelled
Run Tests on Branches / Frontend Mobile Tests (push) Has been cancelled
Run Tests on Branches / Backend Tests (push) Has been cancelled
1318243841
The resolved @opentelemetry/semantic-conventions version in CI does not
export ATTR_SERVICE_NAMESPACE/ATTR_SERVICE_NAME as named exports, breaking
the backend test import. Use plain 'service.name'/'service.namespace'
string keys so the code is independent of the semantic-conventions version.
Ichitux added 1 commit 2026-07-13 18:53:00 +00:00
Merge branch 'main' into feat/observability-metrics-monitoring
Run Tests on Branches / Detect Changes (push) Successful in 14s
Run Tests on Branches / Frontend Tests (push) Has been skipped
Run Tests on Branches / Frontend Mobile Tests (push) Successful in 2m5s
Run Tests on Branches / Backend Tests (push) Failing after 3h10m31s
ee42562e13
Ichitux added 1 commit 2026-07-13 23:08:22 +00:00
Merge branch 'main' into feat/observability-metrics-monitoring
Run Tests on Branches / Run Tests (push) Failing after 3h11m0s
84bf5f3f79
Ichitux added 2 commits 2026-07-14 11:26:46 +00:00
- Lazy-load tesseract.js only in OCR route (skips 30MB WASM download)
- Conditional tracing.js import (skip OTel gRPC in test mode)
- Remove unused barcode-detector import
- Add testTimeout/openHandlesTimeout to jest.config.js
- Add --forceExitTimeout=30000 to test script
- Split CI test jobs into parallel workflows (backend/frontend/mobile)
- Add timeout-minutes: 15 to all test jobs
- Use npm ci --ignore-scripts + selective native rebuild
fix: skip Redis connection in test mode — prevents CI hang
Run Tests on Branches / Frontend Mobile Tests (push) Successful in 1m58s
Run Tests on Branches / Detect Changes (push) Successful in 12s
Run Tests on Branches / Backend Tests (push) Failing after 1m58s
Run Tests on Branches / Frontend Tests (push) Has been skipped
e281bd4fa8
The top-level await redisClient.connect() in redis-client.js was
blocking module import when no Redis server is available (CI env).
Add NODE_ENV guard + reconnect strategy with max retries.
Ichitux added 1 commit 2026-07-14 11:38:21 +00:00
Fixed backend test
Run Tests on Branches / Detect Changes (push) Successful in 12s
Run Tests on Branches / Frontend Tests (push) Has been skipped
Run Tests on Branches / Frontend Mobile Tests (push) Successful in 1m34s
Run Tests on Branches / Backend Tests (push) Successful in 1m36s
809d4b8a7f
Ichitux manually merged commit 59f81c9203 into main 2026-07-14 11:44:36 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Ichitux/FarmaFinder#32