Ana içeriğe geç

Envelope: Window Servisi

Topic: qapu.window
DLQ: qapu.dlq.window
Producer: window-service

Window servisi, sentezlenmiş ölçümleri 15 dakikalık saat başı pencerelerine gruplar ve istatistiksel agregasyonları hesaplar. Hesap tamamlandığında Rule servisini tetikler, hata durumunda Observer'ı bilgilendirir.

Event Envanteri

EventNe zaman üretilir?ConsumerAmaç
window.ready.v1Tüm pencere hesapları başarıyla tamamlandığındaRule ServisiKural değerlendirmesini tetiklemek
window.failed.v1Herhangi bir pencere hesabı hatayla sonlandığındaObserverHata görünürlüğü ve replay

window.ready.v1

Özet

BaşlıkDeğer
Topicqapu.window
Producerwindow-service
ConsumerRule Servisi
Tetikleyicisynth.ready.v1 tüketimi — tüm pencere yazımları tamamlandığında
KritiklikYüksek — kural değerlendirmesini tetikler

Payload

{
"event": "window.ready.v1",
"meta": {
"trace_id": "01a2b3c4d5e6f7g8h9i0",
"producer_service": "window-service",
"produced_at": "2026-03-11T15:22:12.300Z",
"process_ms": 220
},
"context": {
"device_id": "400000011D081B70",
"raw_id": 12345,
"stream_id": 9823412,
"device_time": "2026-03-11T15:22:06Z",
"stream_time": "2026-03-11T15:22:12.400Z",
"iccid": null,
"imei": null,
"firmware": "2.3.0"
},
"data": {
"current_stage": "windowed",
"state_version": 6,
"window_slot": "2026-03-11T15:15:00Z",
"window_size_min": 15,
"windows_updated": 2
},
"error": null
}

Alan Açıklamaları

AlanTipZorunluAçıklama
data.current_stagestringEvetSabit: windowed
data.window_slotstring (ISO 8601)EvetPencerenin başlangıç zaman damgası (her zaman 15 dakika başı)
data.window_size_minintegerEvetPencere büyüklüğü (dakika). Sabit: 15
data.windows_updatedintegerHayırBu stream için güncellenen pencere satırı sayısı

window.failed.v1

Özet

BaşlıkDeğer
Topicqapu.window
Producerwindow-service
ConsumerObserver Servisi
KritiklikYüksek — kural değerlendirmesi tetiklenmez; Observer replay kararı verir

Payload

{
"event": "window.failed.v1",
"meta": {
"trace_id": "01a2b3c4d5e6f7g8h9i1",
"producer_service": "window-service",
"produced_at": "2026-03-11T15:22:12.400Z",
"process_ms": 18
},
"context": {
"device_id": "400000011D081B70",
"raw_id": 12345,
"stream_id": 9823412,
"device_time": "2026-03-11T15:22:06Z",
"stream_time": "2026-03-11T15:22:12Z",
"iccid": null,
"imei": null,
"firmware": null
},
"data": {
"window_slot": "2026-03-11T15:15:00Z",
"failed_step": "aggregation_write"
},
"error": {
"failed_stage": "window",
"error_code": "WINDOW_DB_TIMEOUT",
"error_message": "Database write timed out after 5000ms",
"failed_at": "2026-03-11T15:22:12Z"
}
}