Envelope: Calibration Servisi
Topic: qapu.calibration
DLQ: qapu.dlq.calibration
Producer: calibration-service
Calibration servisi, ham ölçümü kalibrasyon profiline göre normalize eder. Başarılı tamamlanmada calibration.ready.v1, teknik hata durumunda calibration.failed.v1 üretilir.
Event Envanteri
| Event | Ne zaman üretilir? | Consumer | Amaç |
|---|---|---|---|
calibration.ready.v1 | Kalibrasyon başarıyla tamamlandığında | Raw Writer Servisi | Ham yazım adımını tetiklemek |
calibration.failed.v1 | Kalibrasyon teknik hatayla sonlandığında | Observer | Hata görünürlüğü ve replay |
calibration.ready.v1
Özet
| Başlık | Değer |
|---|---|
| Topic | qapu.calibration |
| Producer | calibration-service |
| Consumer | Raw Writer Servisi |
| Tetikleyici | stream.created.v1 tüketimi sonrası kalibrasyon başarılı |
| Kritiklik | Yüksek — ham yazım adımını tetikler |
Payload
{
"event": "calibration.ready.v1",
"meta": {
"trace_id": "01a2b3c4d5e6f7g8h9i0",
"producer_service": "calibration-service",
"produced_at": "2026-03-11T15:22:09.102Z",
"process_ms": 14
},
"context": {
"device_id": "400000011D081B70",
"raw_id": 12345,
"stream_id": 9823412,
"device_time": "2026-03-11T15:22:06Z",
"stream_time": "2026-03-11T15:22:09Z",
"iccid": null,
"imei": null,
"firmware": "2.3.0"
},
"data": {
"calibration_version": 12,
"calibrated": true,
"warnings": ["CT_CONFIG_MISS"]
},
"error": null
}
Alan Açıklamaları
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
context.raw_id | integer | Evet | raw_packets tablosuna yazılan paket kimliği |
context.stream_id | integer | Evet | Stream kaydı kimliği |
context.device_time | datetime | Evet | Cihazın paket üretim zamanı |
context.stream_time | datetime | Evet | Stream servisi işlem zamanı |
context.iccid | string | Hayır | SIM ICCID'si (varsa) |
context.imei | string | Hayır | Modem IMEI'si (varsa) |
context.firmware | string | Hayır | Cihaz firmware versiyonu (varsa) |
data.calibration_version | integer | Evet | Uygulanan kalibrasyon kuralı sürümü (Redis cache version) |
data.calibrated | boolean | Evet | En az bir kural uygulandı mı |
data.warnings[] | string | Hayır | Non-blocking uyarılar (CT_CONFIG_MISS gibi; fallback ile devam) |
calibration.failed.v1
Özet
| Başlık | Değer |
|---|---|
| Topic | qapu.calibration |
| Producer | calibration-service |
| Consumer | Observer Servisi |
| Tetikleyici | Kalibrasyon kuralı yüklemesi veya hesaplama hataları |
| Kritiklik | Orta — Observer retry/replay kararı verir |
Payload
{
"event": "calibration.failed.v1",
"meta": {
"trace_id": "01a2b3c4d5e6f7g8h9i1",
"producer_service": "calibration-service",
"produced_at": "2026-03-11T15:22:09.300Z",
"process_ms": 8
},
"context": {
"device_id": "400000011D081B70",
"raw_id": 12345,
"stream_id": 9823412,
"device_time": "2026-03-11T15:22:06Z",
"stream_time": "2026-03-11T15:22:09Z",
"iccid": null,
"imei": null,
"firmware": null
},
"data": {},
"error": {
"failed_stage": "calibration",
"error_code": "CAL_RULE_STORE_UNAVAILABLE",
"error_message": "calibration rules could not be loaded from Redis or DB",
"failed_at": "2026-03-11T15:22:09Z"
}
}
Alan Açıklamaları
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
context.raw_id | integer | Evet | raw_packets tablosuna yazılan paket kimliği |
context.stream_id | integer | Evet | Stream kaydı kimliği |
error.failed_stage | string | Evet | Sabit: calibration |
error.error_code | string | Evet | CAL_RULE_STORE_UNAVAILABLE | CAL_SNAPSHOT_INVALID | CALCULATION_ERROR |
error.error_message | string | Evet | İnsan okunur hata açıklaması |
error.failed_at | datetime | Evet | Hata oluşum zamanı |