Replay
Geçmişten bir an seçin. Tek bir gerçeği değiştirin ("ya deploy yapılmasaydı?"). Orbtrace, yapay zekânızla geçmiş veri ve benzer olaylar kullanarak varsayım sonucu simüle eder. Bu sayfa, bir replay'in nasıl çalıştırılacağını ve sonucun nasıl okunacağını anlatır.
Bu, başka hiçbir gözlemlenebilirlik aracında olmayan özelliktir. Bu sayfayı yavaş okuyun — kavram tecrübeli SRE'lere bile yeni.
Ne işe yarar?
Bir varsayım (counterfactual) simülatörü. Geçmişten gerçek bir olay seçer — genelde bir incident — ve Orbtrace'e şuna benzer bir soru sorarsınız:
- "Ya
a8f21bdeploy'unu yapmasaydık checkout-api p99 ne olurdu?" - "Ya inventory-service pod sayısını ikiye katlasaydık toplam throughput ne olurdu?"
- "Email-service bir saat daha fazla başarısız olsa kullanıcı etkisi ne olurdu?"
Orbtrace gerçek bir simülatör koşturmaz. Üç kaynağı kullanır:
- Seçilen pencerenin etrafında kendi telemetri geçmişiniz.
- pgvector embedding araması ile benzer geçmiş olaylar.
- Olası bir sonucu güven aralığıyla sentezleyen yapılandırdığınız LLM.
Çıktı, gerçek ve hipotez zaman çizelgelerinin yan yana çizimi ve nedenleri anlatan bir paragraftır.
Ne zaman kullanılır?
- Post-mortem'ler"Deploy'u yapsaydık ne olurdu bilemeyiz" tartışması biter. Replay, olasılıksal cevap verir.
- Deploy öncesi canary kararı"Canary'yi tam yayınlasaydık ne olurdu?" Canary gerçek olur; tam yayım varsayım olur.
- Kapasite planlama"Dünkü trafik 2× olsaydı SLO'yu tutar mıydık?"
- Etki yarıçapı tahmini"X feature flag kapalı olsaydı kötü sorgu çalışır mıydı?"
Bir replay nasıl koşturulur
- 1
Replay ekranını açın
Kenar menü → Replay. Açılış ekranı kayıtlı replay'lerinizi ve "+ Yeni replay" butonunu gösterir.
- 2
Çıpa seçin
Üç yol:
- Bir olaydan — en yaygını. Olay detayında "Replay'de aç". Çıpa olayın başlangıç zamanı olur.
- Bir grafikten — metrik grafiğindeki bir sıçramaya sağ tıklayıp "Bu noktanın etrafında replay".
- Manuel — tarih/saat ve servis seçin.
- 3
Gerçek sonucu doğrulayın
"Gerçek sonuç" alanı
p99(http.server.duration{service=checkout-api})ile önceden dolu olur. Olaydan geldiyseniz bu metrik kırılan şeydir. Bırakın. - 4
Varsayımı yazın
Varsayım alanına
Ya a8f21b deploy'u merge edilmeseydi?yazıp Enter. Sayfa deploy ID'sini tanır (CI webhook yakalamıştı) ve tıklanabilir bir çip ekler. - 5
Bağlamı seçin
Orbtrace alakalı bağlam öğeleri toplar:
a8f21bdeploy'u (sorduğumuz — işaretli kalsın).- 2 saat önceki
e3c440deploy'u (işareti kaldırın — ilgisiz). - checkout-api'da üç benzer geçmiş olay (işaretli — modele "normal nasıl görünür" öğretir).
discount-engineüzerinde 6 dakika önce feature flag (işareti kaldırın — ilgisiz).- Olayın gerçek RCA paragrafı (işaretli — orijinal analiz).
Bağlamınız ne kadar odaklıysa Replay'in güveni o kadar yüksek olur. Acımasız olun.
- 6
Çalıştır
Replay'i çalıştır. ~15 sn boyunca yapay zekâ çağrılırken spinner.
- 7
Yan yana grafiği okuyun
İki grafik üst üste. Üst: o günkü gerçek p99 — 220 ms'de düz, 14:02'de 2,1 s sıçraması, 14:16'da deploy geri alındığında geri dönüş.
Alt: hipotez p99 — pencere boyunca 220 ms'de düz, etrafında ince güven bandı.
Görsel olarak sıçrama kayboluyor. Cevap budur.
- 8
Olasılıksal özeti okuyun
Üstte: "Muhtemelen (%87 güven)
a8f21bdeploy'u yapılmasaydı checkout-api p99 14:02-14:16 penceresinde 280 ms altında kalırdı."%87 yüksek. Sebep: AI üç benzer geçmiş olayda deploy'u geri almanın metriği başlangıç değerine döndürdüğünü buldu — geçmiş davranış öngörüye bilgi verir.
- 9
Mantık paragrafını okuyun
AI'nın mantığını anlatan iki paragraf:
"Deploy a8f21b,
OrderRepository.findByUser'i önceden kapsayan indeks taramasını zorlayan indeks ipucunu kaldıracak şekilde değiştirdi (kaynak span'ler b3f2…, c81a…). checkout-api'da yapısal olarak benzer üç geçmiş olay (id-203, id-188, id-141) indeksle ilgili deploy değişiklikleri içeriyordu; üçünde de deploy'u geri almak p99'u temelin ±%10'una iki dakikada döndürdü. Kalan %13 güven, yakalanan deploy logunuzda olmayan bir upstream değişikliğinin tesadüfen gecikmeyi yaratmış olma olasılığı için ayrılmıştır." - 10
Hassasiyet kontrolü
Alttaki hassasiyet tablosu: "'benzer geçmiş olaylar' bağlamı kaldırıldığında güven %64'e düşer. 'RCA paragrafı' bağlamı kaldırıldığında %78."
İlk satır geçmiş olayların kritik bağlam olduğunu söyler. Bilmeye değer.
- 11
Kaydet ve post-mortem'e ekle
Replay'i kaydet. Ad ve URL alır. URL'yi post-mortem belgesine yapıştırın.
Tamam — toplam süre: ~4 dakika.
Grafik ve özet çelişiyorsa
Alt grafik hâlâ sıçramayı gösterirken özet "olay olmazdı" diyorsa grafiğe güvenin — modelin neyde ihtiyatlı olduğunu mantık paragrafından okuyun. Genelde model büyüklük konusunda ihtiyatlıdır ama yön konusunda hemfikirdir.
Sonuç "varsayım yardımcı olmazdı" ise (alt grafikte görünür fark yok) gerçek bir bulgudur — deploy kök sebep değildi. Post-mortem kapsamınız değişti.
Farklı bir varsayım sormak
Denemeye değer yaygın yeniden ifadeler:
- "Ya checkout-api 3 yerine 6 replika olsaydı?" — kapasite varsayımı.
- "Ya
new_discount_logicfeature flag kapalı olsaydı?" — flag tabanlı. - "Ya bu pencerede trafik 2× yüksek olsaydı?" — yük varsayımı (yoğunluk öncesi için).
Her biri ayrı replay'dir. Her biri $0,10-$0,40 maliyetlidir. Ciddi bir post-mortem'se üçünü de çalıştırın.
Replay kullanmayın durumlar
- Gerçek olayı bile bitirmediniz — Replay'in değeri gerçek ve varsayımı karşılaştırmaktan gelir. Önce gerçeği bitirin.
- Olay bir aydan eski — saklama süresi geçti olabilir; AI'nın daha az bağlamı olur. Güven düşer.
- Sadece merak, post-mortem yok — Replay para. Cevap karar değiştirecekse kullanın.
Sırada: Yönetim sayfaları.