Skip to content

traceparent Çözücü — W3C Trace Context

Hex basamağı saymayı bırakın. Ücretsiz çevrimiçi traceparent çözücü — tarayıcınızda çalışır, yükleme yok. Trace ID, span ID, 8 trace-flags biti, tracestate, Datadog/X-Ray/B3.

Takip Yok Tarayıcıda Çalışır Ücretsiz
Her şey tarayıcınızda yerel olarak çözülür — yapıştırdığınız başlıklar bu cihazdan asla ayrılmaz. Ağ panelini açıp sessiz kalışını izleyin ya da tümüyle çevrimdışına geçin.
Bir örnek deneyin
Alan dökümü
Sürüm
00
Trace ID
4bf92f3577b34da6a3ce929d0e0e4736
Parent ID (span ID)
00f067aa0ba902b7
Trace flags
01
trace-flags, bit bit
Bit Maske Ad Durum
0 0x01 sampled 1
1 0x02 random-trace-id 0
2 0x04 reserved 0
3 0x08 reserved 0
4 0x10 reserved 0
5 0x20 reserved 0
6 0x40 reserved 0
7 0x80 reserved 0

Bunları bitwise AND ile okuyun. Baytın tamamını 01 ile karşılaştırmak, ayrılmış bir bit de taşıyan her izlemeyi yanlış raporlar.

Diğer yayılım biçimleri
x-datadog-trace-id
11803532876627986230
x-datadog-tags: _dd.p.tid
4bf92f3577b34da6
x-datadog-parent-id
67667974448284343
AWS X-Ray trace ID
1-4bf92f35-77b34da6a3ce929d0e0e4736
b3 (single header)
4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-1
X-B3-TraceId
4bf92f3577b34da6a3ce929d0e0e4736
X-B3-SpanId
00f067aa0ba902b7
X-B3-Sampled
1

Datadog, trace ID'nin alt 64 bitini ondalık dize olarak, üst 64 bitini ise bir etikette onaltılık olarak taşır. 128 bitin tamamını ondalık geçmek, günlüklerinizden aldığınız bir trace ID'nin arayüzde hiçbir şey bulamamasının klasik sebebidir.

Bir X-Ray kimliği 32 bitlik bir zaman damgası gömer; W3C trace ID ise hiçbir zaman damgası taşımaz. Aşağıdaki tarih yalnızca kimlik gerçekten X-Ray'de üretildiyse anlamlıdır.

tracestate üyeleri 2/32
# Anahtar Değer Durum
1 rojo 00f067aa0ba902b7 OK
2 congo t61rcWkgMzE OK

traceparent Biçimi: Alan Anatomisi

traceparent Biçimi: Alan Anatomisi
Alan Hex basamağı Bayt Anlamı Geçersiz değer
version 2 1 Biçim sürümü. Bugün her zaman 00; ff yasaktır. ff
trace-id 32 16 İzlemenin tamamını baştan sona tanımlar. Tamamı sıfır
parent-id 16 8 İsteği değil, çağıran span'i tanımlar. Tamamı sıfır
trace-flags 2 1 8 bitlik bir alan — bit bit okuyun, asla mantıksal değer olarak değil.

trace-flags Değerleri: 00, 01, 02 ve 03 Açıklaması

trace-flags Değerleri: 00, 01, 02 ve 03 Açıklaması
Onaltılık İkilik sampled random-trace-id Anlamı
00 00000000 0 0 Akış yukarısı örneklememeyi seçti — servisinize değil çağırana bakın.
01 00000001 1 0 Normal şekilde kaydedildi. Çoğu zaman gördüğünüz budur.
02 00000010 0 1 Rastgele trace ID bildirildi ama örneklenmedi.
03 00000011 1 1 Kaydedildi ve trace ID düzgün dağılımlı rastgele olarak bildirildi.

bit 0 — Çağıran bu izlemeyi kaydetti. Temiz olması, bilerek kaydetmemeyi seçtiği anlamına gelir.

bit 1 — Level 2: trace ID'nin en sağdaki 7 baytı düzgün dağılımlı rastgeledir.

bit 2-7 — Ayrılmış. Yok sayılmalı ve giden isteklerde temizlenmelidir.

Bu sayfadaki alan genişlikleri, geçersiz değerler, bayrak biti anlamları ve tracestate sınırları ikincil yazılara değil yayımlanmış şartname metnine karşı denetlendi. — Go Tools Mühendislik Ekibi · Jul 22, 2026

Doğrudan W3C Trace Context tavsiyesi ve Level 2 aday tavsiyesi temel alınarak geliştirildi; ayrıştırıcı, şartnamenin adını verdiği her geçerli ve geçersiz biçim için birim testleriyle kapsandı.

traceparent Başlığı Nedir?

traceparent, dağıtık bir izlemeyi bir servisten diğerine taşıyan HTTP başlığıdır. Standartlaşmadan önce her izleme sağlayıcısı bağlamı kendi başlığında yayıyordu; bu yüzden sistemler arasında geçen bir istek sınırda kimliğini yitiriyordu. W3C Trace Context şartnamesi bunu tek ve bilinçli olarak küçük tutulmuş bir biçimle çözdü: version-trace-id-parent-id-trace-flags, tirelerle birleştirilmiş dört onaltılık alan, güncel sürümde toplam 55 karakter.

Her alanın tek bir işi vardır. version bugün her zaman 00'dır ve ff doğrudan yasaklanmıştır. trace-id, isteğin tamamını baştan sona tanımlayan 16 bayttır — her adımda sabit kalır. parent-id, bir önceki çağıranın span'ini tanımlayan 8 bayttır; bu yüzden trace-id'nin aksine her adımda değişir. trace-flags baytı ise kafa karışıklığının yoğunlaştığı yerdir: 01 açık ara en yaygın değer olduğu için mantıksal bir değer gibi görünür, oysa sekiz bittir. 0. bit sampled'dır. Trace Context Level 2 ile eklenen 1. bit random-trace-id'dir ve trace ID'nin en sağdaki yedi baytının düzgün dağılımlı rastgele olduğunu bildirir; böylece akış aşağısındaki sistemler bu baytlar üzerinden örnekleme veya parçalama yapabilir. Kalan altı bit ayrılmıştır ve alanın eşitlikle karşılaştırılmak yerine bitwise AND ile okunmasının sebebi tam olarak budur.

Yanındaki tracestate başlığı ise sağlayıcıya özgü anahtar-değer çiftlerini taşır ve 32 üyeyle sınırlıdır. Bu üst sınır kafa karıştırıcı bir belirtiyi açıklar: kenarda var olan sağlayıcı verisinin birkaç adım sonra kaybolması, aracıların liste sınırı aşınca girdileri düşürmeye başlamasındandır. Başlık, OpenTelemetry onu benimsedikten sonra gerçekten evrensel hale geldi ve bu sayfa hepsini çözer — alanları, bitleri, tracestate üyelerini ve diğer yayılım biçimlerindeki karşılık kimlikleri — hiçbir yere hiçbir şey göndermeden.

# The header as it travels on the wire
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
tracestate:  rojo=00f067aa0ba902b7,congo=t61rcWkgMzE

# Read the four fields apart
#   version     00
#   trace-id    4bf92f3577b34da6a3ce929d0e0e4736   (16 bytes, whole request)
#   parent-id   00f067aa0ba902b7                   (8 bytes, calling span)
#   trace-flags 01                                 (bit 0 set = sampled)

# Send one yourself
$ curl -H 'traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01' \
       https://example.com/api

Temel Özellikler

Her Alan Ayrılmış ve Kopyalanabilir

version, trace-id, parent-id ve trace-flags kendi satırını ve kendi kopyalama düğmesini alır; böylece 32 karakterlik bir trace ID'yi bir sorguya taşımak dikkatli bir sürükleme yerine tek tıklamaya iner.

trace-flags Sekiz Bit Olarak Okunur

Bayrak baytı onaltılık maskeleriyle birlikte sekiz konumun tamamına açılır. 0. bit sampled, 1. bit Level 2 random-trace-id bayrağıdır ve ayrılmış bitler sessizce atılmak yerine gösterilir.

Datadog, X-Ray ve B3 Dönüşümü

Ondalık Datadog trace ID olarak alt 64 bit, onunla yolculuk eden etiket olarak üst 64 bit, X-Ray'in 1-{8}-{24} biçimi ve hem tek hem çok başlıklı B3 düzenleri — hepsi BigInt ile hesaplanır, hiçbir şey taşmaz.

Yalnızca Hüküm Değil, Tanı

Tamamı sıfır bir trace ID, hiç ilklendirilmemiş bir izleme olarak açıklanır; temizlenmiş bir sampled biti ise akış yukarısında verilmiş bir karar olarak. Hangisiyle karşı karşıya olduğunuzu bilmek genellikle hata ayıklama oturumunun tamamıdır.

32 Üyelik Üst Sınırla tracestate

Üyeler anahtar ve değer doğrulamasıyla tek tek listelenir ve şartnamenin sınırına göre bir sayaç tutulur — sağlayıcı verisinin birkaç adım sonra neden kaybolduğunu açıklayan sınır tam da budur.

Hiçbir Şey Tarayıcınızdan Çıkmaz

Ayrıştırma, bağımlılığı ve ağ çağrısı olmayan düz dize işlemleri ile BigInt aritmetiğidir ve her derlemede otomatik bir sözleşme testiyle doğrulanır. Bağlantıyı kopyala, hiçbir zaman iletilmeyen URL parçasını kullanır.

traceparent Örnekleri, Çözümlenmiş

Şartnamenin kendi örneği, çözümlenmiş

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
version 00 · trace-id 4bf92f3577b34da6a3ce929d0e0e4736 · parent-id 00f067aa0ba902b7 · trace-flags 01 (sampled)

Tire ile ayrılmış dört alan; version 00 için toplam 55 karakter. trace-id, isteğin her servisi geçerken taşıdığı bütünsel kimliktir; parent-id — sıkça span ID denir — yalnızca kendisinden bir önceki çağıranı tanımlar, bu yüzden her adımda değişirken trace-id sabit kalır. Sondaki 01 mantıksal bir değer değil, tam bir bayttır: bit 0 ayarlanmıştır, yani çağıran bu izlemeyi kaydetmiştir.

trace-flags 00 — çağıran kaydetmemeye karar verdi

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-00
Geçerli başlık · sampled biti temiz

Bu başlık tümüyle geçerlidir ve asıl mesele de budur. Temizlenmiş bir sampled biti, servisinizdeki bir kusur değil akış yukarısından gelen bir talimattır: sizi çağıran taraf kendi örnekleyicisini çalıştırmış ve kaydetmemeyi seçmiştir. Eksik span'leri kendi yapılandırmanızda aramak burada saatler yakar. Sorulması gereken soru şudur: sizi hangi servis çağırıyor, üst span'i gönderiyor ve izlemeyi örneklememeye karar veriyor.

Tamamı sıfır bir trace ID izlemenin hiç başlamadığını gösterir

00-00000000000000000000000000000000-00f067aa0ba902b7-01
Geçersiz — tamamı sıfır trace-id

Şartname tamamı sıfır bir trace-id'yi geçersiz sayar ve traceparent başlığının tümüyle yok sayılmasını ister. Pratikte neye işaret ettiğini bilmek işe yarar: "henüz verisi olmayan bir izleme" değil, hiç ilklendirilmemiş bir SDK ya da yer tutucu bir başlık enjekte eden bir ara katmandır. Aynı kural tamamı sıfır parent-id için de geçerlidir.

Aynı trace ID'nin Datadog biçimi

00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01
x-datadog-trace-id 11803532876627986230 · _dd.p.tid 4bf92f3577b34da6

Datadog, 128 bitlik bir trace ID'nin alt 64 bitini ondalık bir dize olarak, üst 64 bitini ise ayrı bir etikette onaltılık olarak taşır. 128 bitin tamamını ondalık verirseniz hiçbir şeyle eşleşmeyen bir sayı elde edersiniz; bu dönüşümün tracer hata takip sistemlerinde tekrar tekrar karşımıza çıkmasının sebebi tam da budur. Buradaki alt yarı a3ce929d0e0e4736'dır ve 64 bit bir JavaScript sayısının tutabileceğinin ötesindedir, bu yüzden bu sayfa aritmetiği BigInt ile yapar.

traceparent Çözücü Nasıl Kullanılır

  1. 1

    traceparent başlığını yapıştırın

    Ham başlık değerini bırakın — örneğin 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01. Çözümleme siz yazdıkça olur; basılacak bir düğme yoktur.

  2. 2

    Dört alanı ayrı ayrı okuyun

    version, trace-id, parent-id ve trace-flags kendi satırlarına ayrılır ve her biri kendi kopyalama düğmesiyle gelir; böylece 32 karakteri elle seçmeden yalnızca trace ID'yi bir sorguya taşıyabilirsiniz.

  3. 3

    Bayrakları bit bit denetleyin

    trace-flags baytı maskeleriyle birlikte sekiz bitin tamamına açılır; böylece sampled ve Level 2 random-trace-id bayrağı iki karakterlik bir değerin içinde gizlenmek yerine tek tek görünür.

  4. 4

    Arka ucunuzun biçimine dönüştürün

    Datadog, AWS X-Ray ve her iki B3 biçimi hemen altta üretilir; buna Datadog'un beklediği alt 64 bitlik ondalık trace ID ve onunla birlikte yolculuk eden üst 64 bitlik etiket de dahildir.

  5. 5

    tracestate ekleyin ve sonucu paylaşın

    Bir tracestate başlığı yapıştırarak üyelerini tek tek doğrulamayla ve 32 üyelik sınıra göre sayaçla listeleyin, ardından Bağlantıyı kopyala ile tam durumu bir kayda düşebileceğiniz URL olarak alın.

Yaygın traceparent Hataları

Bayrak baytının tamamını 01 ile karşılaştırmak

Bu, sekiz bitlik bir alanı numaralandırma gibi ele alır. Hem örneklenmiş olan hem de Level 2 random-trace-id bayrağını taşıyan bir izlemenin bayrakları 03'tür ve eşitlik denetimi onu örneklenmemiş olarak raporlar.

✗ Yanlış
if (traceFlags === 0x01) { record(); }
✓ Doğru
if (traceFlags & 0x01) { record(); }

128 bitin tamamını tek bir ondalık sayıya çevirmek

Datadog alt 64 biti ondalık, üst 64 biti ise ayrı bir etikette onaltılık bekler. Tüm değeri tek bir ondalık sayı olarak geçirmek hiçbir şeyle eşleşmeyen bir kimlik üretir.

✗ Yanlış
x-datadog-trace-id: 100985939111033328018442752961257817910
✓ Doğru
x-datadog-trace-id: 11803532876627986230
x-datadog-tags: _dd.p.tid=4bf92f3577b34da6

00 dışındaki her sürümü reddetmek

Şartname, ayrıştırıcılardan daha yüksek bir sürümde tanıdıklarını okumasını ve sondaki fazladan alanlara tolerans göstermesini ister. Doğrudan reddetmek izlemeyi baştan başlatır ve sınırdaki bağı koparır.

✗ Yanlış
if (version !== '00') throw new Error('bad traceparent');
✓ Doğru
if (version !== '00' && header.length >= 55) { /* parse the known prefix */ }

Büyük harfli onaltılık üretmek

Dilbilgisi yalnızca küçük harfe izin verir. Büyük harfli bir trace ID doğru değeri taşır ama uyumlu bir alıcı tarafından yine de reddedilir; bu da onu gözle yakalaması özellikle sinir bozucu bir hata yapar.

✗ Yanlış
traceparent: 00-4BF92F3577B34DA6A3CE929D0E0E4736-00F067AA0BA902B7-01
✓ Doğru
traceparent: 00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01

traceparent Çözücü ile Neler Yapabilirsiniz

Bir izlemenin neden span'i olmadığını çözün
Gelen başlığı yapıştırın ve sampled bitini okuyun. Temizse izleme zaten kaydedilmeyecekti ve yanıt sizin araç yerleşiminizde değil çağıranda saklıdır — kendi örnekleyici yapılandırmanızı denetlemeye harcanacak epey zamanı kurtaran bir ayrım.
Arka ucunuzun bulamadığı izlemeyi bulun
Uygulama günlüklerinden kopyalanan bir trace ID Datadog'da hiçbir şey döndürmüyorsa suçlu genellikle biçimdir. Burada dönüştürerek API'nin beklediği alt 64 bitlik ondalık kimliği ve ona eşlik etmesi gereken üst 64 bitlik etiketi görün.
Gateway'inizin enjekte ettiği başlıkları doğrulayın
Proxy'ler ve service mesh'ler girişte izleme bağlamı üretir. Hatanın akış aşağısında olduğunu varsaymadan önce gerçekte ne geldiğini yapıştırıp uzunluğu, küçük harfli onaltılık yazımı ve sıfırdan farklı kimlikleri teyit edin.
Bir üretim izlemesini elle yeniden üretin
Gerçek bir istekten aldığınız başlığı bir hazırlık uç noktasına karşı yeniden oynatarak aynı izlemeyi baştan takip edin. İsteği curl komut oluşturucu ile kurun ve başlığı doğrudan içine yapıştırın.
Ekibinize trace context'i anlatın
Bu sayfadaki alan anatomisi ve trace-flags tabloları işaret edebileceğiniz durağan bir başvuru malzemesidir; hazır düğmeler de kimsenin bir servisi bozmasına gerek kalmadan her hata biçimini gösterir.

W3C Trace Context Doğrulayıcı Nasıl Çalışır

Dört Alanlı Dilbilgisi
version "-" trace-id "-" parent-id "-" trace-flags; tamamı küçük harfli onaltılık. version 2, trace-id 32, parent-id 16 ve trace-flags 2 basamaktır — 52 hex basamağı artı 3 tire, version 00 için tam olarak 55 karakter. Büyük harfli onaltılık yazım, değer doğru görünse bile başlığı geçersiz kılar; tamamı sıfır trace-id ile tamamı sıfır parent-id ise boş değil, açıkça geçersizdir.
trace-flags Bir Bit Alanıdır
0. bit (maske 0x01) sampled'dır: ayarlıysa çağıran izleme verisini kaydetmiş olabilir. Level 2 ile gelen 1. bit (maske 0x02) random-trace-id'dir: ayarlıysa trace-id'nin en sağdaki 7 baytı düzgün dağılımla rastgele seçilmiş olmalıdır ve bu, akış aşağısındaki sistemlerin o baytlar üzerinden örnekleme veya parçalama yapmasına imkân verir. 2 ile 7 arasındaki bitler ayrılmıştır; alındığında yok sayılmalı, giden isteklerde temizlenmelidir. Ayrılmış bitler bulunabildiği için alan bitwise AND ile sınanmalıdır — 0x01 ile eşitlik denetimi, ayrılmış bir bit de taşıyan örneklenmiş bir izlemeyi yanlış raporlar.
Gelecek Sürümlerle İleriye Dönük Uyum
version bugün 00'dır ve ff yasaktır, ama diğer her şeyi reddeden bir ayrıştırıcı yanlıştır. Şartname, sürüm daha yüksekken ve başlık bilinen biçim kadar uzunken alıcıların ayrıştırmayı denemesini, tanıdıkları alanları okuyup sondaki fazladan veriye tolerans göstermesini, izlemeyi baştan başlatmamasını ister. Bu çözücü kurala uyar: gelecek bir sürüm başarıyla ayrıştırılır ve hata olarak değil uyarı olarak işaretlenir.
Üretimde Başınızı Ağrıtan tracestate Sınırları
En fazla 32 liste üyesi — bu sert bir dil bilgisi sınırıdır; liste daha uzunsa başlık geçersiz olur ve alıcılar onu atar. Her anahtar en çok 256 karakterdir ve küçük harf ya da rakamla başlar; Level 2'den itibaren @ bir kiracı ayırıcısı değil, sıradan bir anahtar karakteridir. Her değer 1 ila 256 yazdırılabilir ASCII karakteridir; asla virgül ya da eşittir işareti içermez. Yinelenen anahtarlar geçersizdir, ama boş liste üyelerine açıkça izin verilir — bir aracı bir girdiyi sildiğinde geriye kalan sondaki virgül hâlâ geçerli bir başlık oluşturur. Bundan ayrı olarak: sağlayıcılar birleşik başlığın en az 512 karakterini yaymalıdır; bu bütçeye sığmak için budama gerektiğinde önce 128 karakterden uzun girdiler gitmelidir — konuşkan bir sağlayıcının verisinin, az yazan bir sağlayıcınınkinden önce kaybolmasının sebebi budur.

Trace Context için En İyi Uygulamalar

Bayrakları bitwise AND ile sınayın
flags == 0x01 yerine flags & 0x01 yazın. Sekiz bitin altısı gelecekteki kullanımlar için ayrılmıştır ve bunlardan herhangi biri sahada göründüğü anda eşitlik denetimi örneklenmiş izlemeleri yanlış raporlamaya başlar.
Tamamı sıfır kimliği bozuk bir hat olarak görün
Bu, hoş görülecek boş bir değer değildir. Başlığı reddedin ve tracer'ını ilklendiremeyen ya da yer tutucu enjekte eden bileşeni bulmaya gidin.
sampled biti temizken akış yukarısına bakın
Üst tabanlı örnekleyiciler çağıranın kararını yayar. İzlemeler eksikse kendi yapılandırmanızı denetlemeden önce size örneklemesi kapalı bir üst span'i hangi servisin gönderdiğini belirleyin.
tracestate'i kısa tutun
32 üyelik üst sınır sert bir dil bilgisi sınırıdır — aşıldığı anda başlık geçersizdir. Bundan ayrı olarak, birleşik başlığın yalnızca 512 karakterinin yayılması güvence altındadır ve budama önce 128 karakterden uzun girdileri düşürür. Uzun bir çağrı zincirinden sağ çıkması gereken hiçbir şey tracestate'e ait değildir.
Bir trace ID'yi asla JavaScript sayısı olarak günlüğe yazmayın
128 bitlik bir trace ID ve hatta 64 bitlik bir Datadog kimliği Number.MAX_SAFE_INTEGER sınırını aşar. Bunları dize olarak tutun ve aritmetik gerektiğinde BigInt ile dönüştürün; aksi halde son basamakları sessizce bozarsınız.

traceparent Çözücü SSS

traceparent başlığı nedir?
Dağıtık bir izlemeyi servis sınırları boyunca taşıyan tek HTTP başlığıdır; farklı sağlayıcıların araçları aynı isteği takip edebilsin diye W3C tarafından standartlaştırılmıştır. Tire ile ayrılmış dört alan tutar — version, trace-id, parent-id ve trace-flags — ve güncel sürümde her zaman tam 55 karakterdir. Bugün büyük izleme sistemlerinin tamamı bu dili konuşur; bir isteğin kenar proxy'sinden yarım düzine servise kadar izlenebilir olmasını, hem de her adımda tek bir sağlayıcıda anlaşmaya gerek kalmadan, mümkün kılan da budur. Tam dilbilgisi W3C Trace Context tavsiyesinde tanımlanmıştır.
traceparent trace-flags 00 ne anlama gelir?
Çağıranın bu izlemenin kaydedilmemesi gerektiğine açıkça karar verdiği anlamına gelir. sampled biti, trace-flags baytının 0. bitidir; temiz olduğunda akış yukarısındaki bir örnekleyici isteği değerlendirmiş ve kaydetmemeyi seçmiştir. Başlıktaki en çok yanlış okunan değer budur, çünkü bir arıza gibi görünür ama aslında bir karardır. Span'ler eksikse yararlı soru servisinizde neyin bozuk olduğu değil, hangi akış yukarısı servisin size örneklemesi kapalı bir üst span gönderdiğidir — üst tabanlı bir örnekleyici bu seçimi akış aşağısındaki her şeye taşıyacaktır.
trace-flags 01, 02 ve 03 arasındaki fark nedir?
trace-flags sekiz bitlik bir alandır, dolayısıyla bu değerler bir numaralandırma değil birer bit birleşimidir. 01 yalnızca 0. biti ayarlar: izleme örneklenmiştir. 02 yalnızca 1. biti ayarlar, yani trace ID'nin en sağdaki yedi baytının düzgün dağılımlı rastgelelikle üretildiğini bildiren Level 2 random-trace-id bayrağını — akış aşağısındaki sistemler böylece bu baytlar üzerinden güvenle örnekleme veya parçalama yapabilir. 03 ikisini birden ayarlar. Bir bit alanı olduğu için bunu bitwise AND ile sınamalısınız; baytın tamamını 01 ile karşılaştırmak, ayrılmış bir bit de taşıyan her izlemeyi yanlış raporlar ve gelecekteki sürümlerin kullanmaya başlayacağı şey tam olarak o ayrılmış bitlerdir.
Trace ID'm neden tamamı sıfır?
Çünkü izleme hiç ilklendirilmemiştir; izleme var olup da verisi yok değildir. Şartname tamamı sıfır bir trace-id'yi geçersiz değerler arasında sayar ve alıcılara başlığın tümünü yok saymalarını söyler, dolayısıyla akış aşağısında hiçbir şey ona bağlanmaz. Pratikte bu, başlatılamamış bir SDK'dan, elle kurulmuş bir başlıktan ya da gerçek bağlam yokken yer tutucu koyan bir ara katmandan gelir. Tamamı sıfır parent-id, yani 0000000000000000, aynı nedenle geçersizdir.
W3C trace ID'yi Datadog trace ID'ye nasıl dönüştürürüm?
Alt 64 biti — sağdaki 16 hex basamağını — alın ve ondalık bir dize olarak yazın; x-datadog-trace-id alanına giden budur. Üst 64 bit onaltılık kalır ve _dd.p.tid etiketinde ayrı yolculuk eder. parent-id ise bütün olarak ondalığa çevrilir. Bunu ters yapmak veya 128 bitin tamamını tek bir ondalık sayıya çevirmek, arayüzde hiçbir şeyle eşleşmeyen bir kimlik üretir; tracer hata takip sistemlerinde sürekli yinelenmesinin sebebi de budur. Bu sayfa ayrıştırmayı sizin yerinize yapar; altta yatan onaltılık aritmetiği rastgele değerler üzerinde denemek isterseniz genel taban dönüşümünü sayı tabanı dönüştürücü üstlenir, bu sayfa ise izleme kimliklerine odaklı kalır.
traceparent zaman damgası içerir mi?
Hayır — ve bu insanları yanıltır, çünkü başka bazı izleme kimlikleri içerir. W3C trace-id, içine gömülü zaman bilgisi olmayan 16 opak bayttır. AWS X-Ray trace ID ise 1-{8 hex}-{24 hex} biçimindedir ve ilk sekiz hex basamağı epoch saniyesi cinsinden oluşturulma zamanıdır; dolayısıyla iki biçim arasında dönüşüm baytların yerini değiştirir ama hiç var olmamış bir zaman damgasını yoktan var edemez. Zamana göre sıralanan kimliklere ihtiyacınız varsa UUIDv7 ve ULID tam olarak bunun içindir.
Buraya yapıştırdığım başlık bir yere yükleniyor mu?
Hayır. Her alan tarayıcınızda düz dize işlemleri ve BigInt aritmetiğiyle yerel olarak ayrıştırılır — sunucu çağrısı yok, yazdıklarınızın kaydı yok, saklanan hiçbir şey yok. Bu, çoğu araca kıyasla burada daha fazla önem taşır, çünkü üretim isteğinden alınmış bir traceparent gözlemlenebilirlik arka ucunuzdaki gerçek trafiği tanımlar. Sözümüze güvenmek zorunda değilsiniz: tarayıcınızın geliştirici araçlarını açıp siz yazarken Ağ panelinin sessiz kalmasını izleyin ya da ağ bağlantısını tümüyle kesip çözmeye devam edin. Dış istek bulunmadığı, her derlemede çalışan otomatik bir sözleşme testiyle de güvence altına alınır; yani sessizce geriye gidemez.
Bu çözücü çevrimdışı çalışır mı?
Evet. Sayfa statiktir ve çözücü, bağımlılığı olmayan birkaç kilobaytlık JavaScript'tir; bu yüzden bir kez yüklendikten sonra çevrimdışına geçebilir — ya da herhangi bir şey yapıştırmadan önce uçak moduna alabilir — ve tıpatıp aynı şekilde çalışmaya devam edebilirsiniz. Hassas bir ortamdan gelen başlıklarla uğraşıyorsanız izlenmeye değer sıra şudur: sayfayı yükleyin, bağlantıyı kesin, sonra yapıştırın. Bağlantıyı kopyala düğmesi durumu # karakterinden sonraki URL parçasına kodlar ve parçalar da hiçbir zaman sunucuya iletilmez.

cURL Komut Oluşturucu ve Yapılandırıcı

Web & API

Tarayıcınızda curl komutları oluşturun — yöntem, başlık, kimlik doğrulama ve gövde ayarlayın, anında kopyalamaya hazır komut alın. Bearer, POST JSON, dosya yükleme için ön ayarlar. Ücretsiz, gizli, kayıt gerektirmez.

htpasswd Oluşturucu — bcrypt, Apache MD5 (apr1), Basic Auth

Web & API

bcrypt, Apache MD5 (apr1), SHA-1 ve daha fazlasıyla htpasswd girdisi oluşturun. Apache, nginx ve Docker için yapıştırmaya hazır yapılandırma alın. Tarayıcınızda %100 çalışır — yükleme yok.

Open Graph ve Meta Etiketi Oluşturucu

Web & API

Open Graph, Twitter Card ve SEO meta etiketlerini canlı Google, Facebook ve X önizlemesiyle çevrimiçi oluşturun. %100 ücretsiz, tarayıcıda çalışır, kayıt yok — kodu kopyalayıp yapıştırın.

nginx location test aracı — o blok neden kazanır

Web & API

Hangi nginx location bloğu kazanır — ve diğerleri neden kaybeder. =, ^~, ~ ve ~* için ücretsiz test aracı, tamamen tarayıcınızda.

AES Şifre Çözme Aracı — OpenSSL ve CryptoJS Uyumlu

Güvenlik Araçları

AES şifreli metnini online çözün — GCM/CBC/CTR, parola veya ham anahtar, OpenSSL ve CryptoJS "U2FsdGVkX1" biçimini otomatik algılar. %100 tarayıcıda, anahtarlar sayfadan asla çıkmaz.

AES Şifreleme Aracı — GCM, CBC ve CTR

Güvenlik Araçları

Ücretsiz online AES şifreleme — AES-128/192/256, GCM/CBC/CTR, parola (PBKDF2) veya ham anahtar. %100 tarayıcınızda çalışır; hiçbir şey yüklenmez.