Orbtrace

Trace'ler

Listede doğru trace'i nasıl bulursunuz (histogram + sütunlar + otomatik tamamlama), açtıktan sonra şelaleyi ve span özniteliklerini nasıl okursunuz?

Loglar "tek bir servis ne dedi?" sorusuna cevap verirse, trace'ler "tüm isteğin zamanı nereye gitti?" sorusuna cevap verir. Bu sayfa iki yarıyı da anlatır: trace listesi ve trace detayı.

Trace listesi

Sayfa bir arama çubuğu, histogram, sütun zengini sonuç tablosu ve tıklamayla açılan detay paneliyle açılır. Loglar ekranıyla neredeyse aynı şekilde okunur — yalnız çizilen şey farklı.

Arama çubuğu

Her yerdeki söz dizimi (Arama söz dizimi). Otomatik tamamlama trace özel alanlarını önerir:

  • service:checkout-api — yalnız kök span'ı bu servise ait olan trace'ler.
  • service.in:checkout-api — bu servise dokunan tüm trace'ler.
  • duration:>1000 — trace süresi ms cinsinden.
  • status:error — en az bir ERROR span'i olan trace'ler.
  • operation:POST /checkout — kök operasyon.
  • http.status_code:>=500 — herhangi bir span özniteliğinde.

Histogram

28 kovalı çubuk grafik. İki üst üste katman:

On screen
  • Toplam trace (camgöbeği)Kova başına eşleşen trace sayısı.
  • Hata trace'leri (gül, üstte)Bunlardan kaçı en az bir hata span'i içeriyor.

Büyüyen gül katman bir kesintinin imzasıdır. Sürükle-seçle yakınlaştırın.

Listedeki sütunlar

On screen
  • Zaman damgasıKök span'ın. Yerel TZ.
  • ServisKök servis.
  • OperasyonKök operasyon adı (örn. POST /checkout).
  • SüreKök başlangıçtan kök sonuna duvar saati süresi. Servis SLO eşiğini aşıyorsa gül.
  • Span'lerBu trace'teki span sayısı.
  • DurumOK (zümrüt), ERROR (gül), UNSET (gri).
  • Trace ID32 karakterli hex. Tıkla → trace açılır; kopyala → panoya alır.

Sütunlar sıralanabilir ve özelleştirilebilir; her span özniteliğini sütun olarak sabitleyebilirsiniz.

Şelale — nedir, nasıl okunur?

Bir satıra tıklayın → detay sayfası açılır; sol kısmı uzun bir şelale grafiği kaplar.

Şelale nasıl çizilir?

Her span bir yatay çubuktur:

  • Dikey konum — çağrı ağacındaki derinlik. Çocuklar ebeveynin altında.
  • Yatay konum — span başlangıç zamanı, paylaşılan zaman ekseninde.
  • Çubuk uzunluğu — span süresi.

3 saniyelik trace 3 saniye genişlikte grafik kaplar. Ebeveynine 100 ms sonra başlayıp 50 ms süren çocuk 100 ms içeride başlar ve 50 ms genişliktedir. Şelalenin şekli, isteğin zamanını nerede harcadığının hikâyesidir.

Çubuk renkleri

On screen
  • ZümrütSpan başarılı, süre servis p95 temelinde.
  • SarıSpan başarılı ama servis p95 temelinden yavaş — "kuyruk gecikmesi".
  • GülSpan p99 temelinden yavaş VEYA status=ERROR.
  • GriHenüz kayıtlı temeli yok — genelde yeni kod yolu.

Temel, servis + operasyon için son 7 gün üzerinden hesaplanır — Yönetim → SLO'lar altındaki servis ayarlarıyla geçersiz kılabilirsiniz.

Çubuk işaretleri

  • Çubuğun başındaki bayrak ikonu = span'in "olayları" var (örn. istisna). Üzerine gelin, satır içi okuyun.
  • Çocuktan ebeveyne kesikli çizgi = bağlantı Async Stitching tarafından yeniden oluşturuldu (ebeveyn doğrudan çağrıdan değil, kuyruk mesajından çıkarıldı). Üzerine gelin, dikme güven yüzdesini görün.
  • Çubuk sonundaki 🔗 = başka bir trace'e "follows-from" linki.

Şelale üstündeki kontroller

On screen
  • Zoom kaydırıcısıZaman eksenini sıkıştır/genişlet. Çok geniş trace'lerde işe yarar.
  • Hepsini daralt / açHer alt ağacı aç/kapat.
  • Yalnız hataları gösterZümrüt ve sarıları sakla, yalnız gül.
  • Yalnız yavaşı gösterp95'ten hızlı her span'i sakla.
  • Kritik yolToplam süreye en çok katkıda bulunan yolu vurgular. Geri kalan kararır.

Çok büyük trace'ler (>1000 span) bir kerede yalnız ilk 1000'i çizer; alttaki "sonraki 1000'i yükle" butonuna basın. Şelale sanallaştırılmıştır — 50.000 span'lik trace'lerde bile akıcı kalır.

Bir span seçmek

Bir çubuğa tıklayın. Sayfanın sağı span detay paneli olur.

Span detay paneli

On screen
  • BaşlıkServis · operasyon · süre · durum kapsülü · span ID (kopyalanabilir).
  • ZamanlamaÜç sayılı minik grafik: kendi zaman (span eksi çocuklar), çocuk zaman, kuyruk bekleme.
  • ÖzniteliklerHer öznitelik için iki sütunlu tablo. Her satırda filtre kalemi.
  • OlaylarBu span'e kaydedilmiş olaylar (istisnalar, özel kontroller). Her olay başlangıçtan göreli ofsetiyle.
  • LinklerBu span'in referans verdiği diğer span'ler. Tıklayarak atlayın.
  • Çapraz pilon linkleri"Bu span'den logları aç" (trace_id + span penceresi ile süzülü Loglar) ve "Bu servisin metriklerini aç" (Metrikler) butonları.

Şelaleyi hızlı okumak

Eğitimli göz şelaleyi saniyeler içinde tarar. Şekil sayılardan daha önemlidir.

On screen
  • Üstte tek geniş çubuk, altta kısa olanlarKök operasyon kendi başına yavaş — muhtemelen giriş servisinde CPU işi.
  • Sıkı ebeveynin içinde tek geniş çocukBelirli bir downstream darboğaz — geniş çocuğun özniteliklerini okuyun (muhtemelen db.statement ya da http.url).
  • Merdiven şeklinde dizilmiş çok dar çubuklarParalel olması gereken sıralı çağrılar — klasik N+1 desen.
  • Ebeveynin sonu ile son çocuğun sonu arasında uzun boşlukEbeveyn bir şeyi bekliyor — kilit, sleep, kuyruk. Çubuklara değil, boşluğa bakın.
  • Şelalenin altında bir gül patlamasıBir yaprak servis hatalanıyor; gül renk yukarı doğru yayılır.

Çapraz pilon dönüşleri

Çoğu araştırma "aynı anda log/metrikte ne oluyordu?" ile biter. Açık herhangi bir trace'ten:

  • Sayfa üstü → "Log penceresini aç"trace_id ve trace penceresi ile süzülü loglar.
  • Span paneli → "Servis detayını aç" — zaman seçici trace penceresine ayarlı servis detayı.
  • Sayfa üstü → "Benzer bul" — pgvector embedding araması, en benzer son 10 trace'i listeler. "Bu olay daha önce gördüğümüz bir nüksetme mi?" için kullanışlı.

Bu ekranın yapmadığı şey

  • Profilleyici değildir. Span'ler duvar saati zamanı gösterir, CPU örnekleri değil. "CPU'm nereye gitti?" için dile özel profilleme kullanın.
  • İstek logu değildir. Uygulamalarınızın yaymaya karar verdiği span'leri kaydeder; enstrümante edilmemiş kod görünmez. Eksik yerlere özel span ekleyin (Uygulamalarınızı enstrümante edin).

Sırada: Metrikler.