Protocole d’observabilité AGP
Une identité, un contrat de santé et un transport OpenTelemetry communs à tous les services, quel que soit leur langage ou leur génération.
Identité de ressource
| Attribut obligatoire | Exemple |
|---|---|
service.name | agenceplus-advertisor |
service.namespace | agenceplus |
service.version | 1.4.2 |
service.instance.id | instance ou conteneur |
deployment.environment.name | development, demo, production |
agp.observability.protocol.version | 1.0 |
Contrat de santé
Chaque base de service expose trois GET anonymes : /health/live, /health/ready et /health. La liveness ne dépend pas d’un système distant ; la readiness vérifie seulement les dépendances indispensables au trafic.
{
"status": "healthy",
"service": "agenceplus-advertisor",
"version": "1.4.2",
"ready": true,
"utc": "2026-08-03T14:00:00Z",
"checks": [{ "name": "cassandra", "status": "healthy", "durationMs": 8.2 }]
}
Traces et propagation
- Propagation W3C
traceparentettracestatesur toutes les frontières HTTP. - Contexte persisté avec les messages et tâches asynchrones.
- Noms de spans métier sous la forme
domaine.ressource.action. - 100 % des traces en développement, échantillonnage parent-based à 10 % par défaut en production.
Métriques et logs
Les métriques déclarent une unité et n’utilisent que des dimensions bornées. Aucun identifiant d’agence, utilisateur, annonce, contact, requête ou fichier ne devient un label. Les logs sont structurés, corrélés par trace_id/span_id et expurgés des tokens, secrets et données personnelles.
Transport
OTEL_SERVICE_NAME=agenceplus-advertisor OTEL_RESOURCE_ATTRIBUTES=service.namespace=agenceplus,service.version=1.4.2,deployment.environment.name=demo,agp.observability.protocol.version=1.0 OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317 OTEL_EXPORTER_OTLP_PROTOCOL=grpc
Le document normatif complet et le plan d’adoption se trouvent dans le dossier docs/ du dépôt.