Skip to main content

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

EventNe zaman üretilir?ConsumerAmaç
calibration.ready.v1Kalibrasyon başarıyla tamamlandığındaRaw Writer ServisiHam yazım adımını tetiklemek
calibration.failed.v1Kalibrasyon teknik hatayla sonlandığındaObserverHata görünürlüğü ve replay

calibration.ready.v1

Özet

BaşlıkDeğer
Topicqapu.calibration
Producercalibration-service
ConsumerRaw Writer Servisi
Tetikleyicistream.created.v1 tüketimi sonrası kalibrasyon başarılı
KritiklikYü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ı

AlanTipZorunluAçıklama
context.raw_idintegerEvetraw_packets tablosuna yazılan paket kimliği
context.stream_idintegerEvetStream kaydı kimliği
context.device_timedatetimeEvetCihazın paket üretim zamanı
context.stream_timedatetimeEvetStream servisi işlem zamanı
context.iccidstringHayırSIM ICCID'si (varsa)
context.imeistringHayırModem IMEI'si (varsa)
context.firmwarestringHayırCihaz firmware versiyonu (varsa)
data.calibration_versionintegerEvetUygulanan kalibrasyon kuralı sürümü (Redis cache version)
data.calibratedbooleanEvetEn az bir kural uygulandı mı
data.warnings[]stringHayırNon-blocking uyarılar (CT_CONFIG_MISS gibi; fallback ile devam)

calibration.failed.v1

Özet

BaşlıkDeğer
Topicqapu.calibration
Producercalibration-service
ConsumerObserver Servisi
TetikleyiciKalibrasyon kuralı yüklemesi veya hesaplama hataları
KritiklikOrta — 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ı

AlanTipZorunluAçıklama
context.raw_idintegerEvetraw_packets tablosuna yazılan paket kimliği
context.stream_idintegerEvetStream kaydı kimliği
error.failed_stagestringEvetSabit: calibration
error.error_codestringEvetCAL_RULE_STORE_UNAVAILABLE | CAL_SNAPSHOT_INVALID | CALCULATION_ERROR
error.error_messagestringEvetİnsan okunur hata açıklaması
error.failed_atdatetimeEvetHata oluşum zamanı