Orbtrace

Arama söz dizimi

Loglar, Trace'ler arama çubuklarında, Metrik filtrelerinde ve alarm kuralı editöründe kullanılan tam sorgu dili. Her yerde aynı söz dizimi.

Orbtrace log, trace ve metrik filtrelerinde tek bir arama dili kullanır. Kibana / Datadog / Loki / HyperDX şeklinden esinlenmiştir — sezgisel, varsayılan tam-kelime, açık boolean'lı.

Temel

On screen
  • Tam kelimeerror mesajında error kelimesini içeren her kaydı eşler. Büyük-küçük duyarsızdır.
  • Jokererror*errors, error-handler vs. *timeoutread-timeout. * tek kelime içinde sıfır veya daha fazla karakteri eşler.
  • Tırnak içi"connection refused" boşluklar dahil tam ifadeyi eşler.
  • Negatif-errorerror kelimesini içermeyen kayıtlar. Alternatif: NOT error.
  • Booleanerror AND payment, error OR warning, error AND NOT timeout. Operatörler büyük harfle yazılır; öncelik soldan sağa, parantezle gruplama.
  • Gruplama(error OR warning) AND service:checkout-api

Alan sorguları

Şekil: alan:değer. Alan adları verinizden gelir — uygulamalarınızın OTel özniteliği olarak ayarladığı her şey.

On screen
  • String eşitlikservice:checkout-api. Tam kelime, büyük-küçük duyarsız.
  • String jokerservice:checkout* — checkout ile başlayan her şey.
  • Varlıkuser_id:* — kayıt non-null user_id'ye sahip.
  • Sayısal eşitlikhttp.status_code:500
  • Sayısal aralıkduration:>500, duration:>=500, duration:<1000, duration:>=500 AND duration:<1000.
  • Çoklu değerlevel:(ERROR OR WARN) — değer listedeki bir tanesi.
  • Alan başına negatif-level:DEBUG ya da NOT level:DEBUG — DEBUG'ı dışla.

Zaman

Sorgunun herhangi bir yerine zaman ifadesi koyabilirsiniz, ama çoğu zaman sayfanın zaman seçicisini kullanırsınız. Sorgu içi zaman doğal dil kullanır:

in "son 24 saat"
in "dün"
in "geçen hafta"
in "2026-05-12 14:00 ile 2026-05-12 15:00 arası"

Sayfanın zaman seçicisi ayarlıysa ve sorgu da zaman içeriyorsa o sorgu için sorgu kazanır.

Pillar başına özel alanlar

Bazı alanlar özeldir — Orbtrace bunları sinyaller arasında tanır.

Loglar

On screen
  • levelÖnem. level:ERROR, level:(ERROR OR FATAL), level:>=WARN (sıralı önem ölçeğinde karşılaştırma).
  • serviceservice.name. service:checkout-api.
  • trace_idBu log'un bağlı olduğu trace. trace_id:7a8b9c…
  • bodySerbest metin mesajı. body:"yetersiz bellek" = "yetersiz bellek".

Trace'ler

On screen
  • serviceKök span servisi. service:checkout-api.
  • service.inTrace içinde herhangi bir span bu servise aitse. service.in:inventory-service inventory'e dokunan trace'leri bulur.
  • operationKök operasyon. operation:"POST /checkout".
  • durationTrace süresi ms. duration:>1000.
  • statusTrace düzeyinde durum. status:error en az bir ERROR span olan trace; status:ok hariç tutar.
  • span.XHerhangi bir span'in herhangi bir alanı. span.http.status_code:500 bir span'in 500 döndüğü trace'leri eşler.

Metrik filtreleri

Metrik kâşifi filtre çubuğunda aynı söz dizimi. Filtre kutusuna serbest sorgu da girebilirsiniz:

service.name=checkout-api AND http.route =~ "^/api/.*" AND env=prod

=~ regex eşitlik.

Operatör referansı

OperatörÖrnekAnlam
= (: ile örtük)service:apieşittir
=~route =~ ^/api/.*regex eşler
!=level != DEBUGeşit değil
> >= < <=duration:>500sayısal karşılaştırma
AND OR NOT -error AND -timeoutboolean
(...)(a OR b) AND cgruplama
"...""tam ifade"tırnak
*service:checkout*kelime içi joker

Örnekler

# checkout-api'den son 24 saatteki tüm ERROR loglar
level:ERROR AND service:checkout-api in "son 24 saat"
 
# Bir yerde 5xx olan yavaş checkout trace'leri
service:checkout-api AND duration:>1000 AND span.http.status_code:>=500
 
# DEBUG hariç "OutOfMemoryError" geçen her şey
"OutOfMemoryError" AND -level:DEBUG
 
# trace_id'si olan kayıtlar
trace_id:*
 
# Yalnız 42 ya da 99 kullanıcılar, yakında
user_id:(42 OR 99) in "son 1 saat"
 
# 100 ms altı + hatasız + demo emitter dışı
duration:<100 AND -status:error AND -service:demo-*

Sorgu kaydetme

Arama çubuğunun sağı: Sorguyu kaydet. Kayıtlı sorgular:

  • ⌘K paletinde görünür.
  • Paylaşılabilir URL'leri vardır.
  • "Bu sorgudan alarm oluştur" ile alarma sarılabilirler.
  • Ekran başına hızlı erişim açılır listesinde olurlar.

Söz diziminin desteklemediği

  • Serbest metin ilişkisel join. "Bu log'un trace_id'si, içinde service:db-X olan trace'lerde de geçenler" — bunun yerine trace detayı çapraz pilon pivotlarını kullanın.
  • Toplama. count by service arama değildir; metrik sorgusudur. Metrik kâşifine gidin.
  • Yalın *. * kelime içinde çalışır; tek başına "her şeyi eşle" anlamına gelmez. "Herhangi bir servis" için service:* kullanın — yalnız service: geçersiz.

Sırada: Sorun giderme.