Ana içeriğe geç

Trace

Tracing (İzleme), API Proxy'lerinizin mesaj işleme akışını gerçek zamanlı olarak izlemenizi ve analiz etmenizi sağlar. Trace işlemi API Proxy bazında yapılır ve her API Proxy için ayrı ayrı aktifleştirilir.

Bu modül özellikle:

  • Politikaların nasıl çalıştığını anlamak
  • Performans sorunlarını tespit etmek
  • Hata ayıklama (debugging) yapmak
  • İstek/yanıt akışını incelemek
  • Dönüşümleri (transformations) doğrulamak

için kullanılır.

API Proxy Bazında Trace

Her API Proxy için ayrı ayrı trace oturumu başlatabilirsiniz

Detaylı İzleme

Her politikanın çalışmasını adım adım izleyebilir ve log kayıtlarını görüntüleyebilirsiniz

Performans Analizi

Zamanlama metriklerini analiz edebilir ve darboğazları tespit edebilirsiniz

Hata Ayıklama

Hataları kolayca tespit edebilir ve kök neden analizini yapabilirsiniz

bilgi

Trace işlemi API Proxy bazında yapılır. Log satırına tıkladığınızda sağdan trace detay çekmesi açılır; zaman dağılımı, Client–Gateway–API haritası ve politika öncesi/sonrası paneller burada yer alır. Tüm adımlar için Adım Adım İzleme sayfasına bakabilirsiniz.

Trace Modunu Başlatma

Trace modu, her API Proxy için ayrı ayrı başlatılır. API Proxy'nin kendi sayfasından trace modunu aktifleştirebilirsiniz.

Ön Koşullar

Trace modunu başlatmadan önce:

API Proxy Yüklenmiş Olmalı

İzlemek istediğiniz API Proxy'nin en az bir Ortam'a yüklenmiş olması gerekir

API Proxy Sayfasına Gidin

Trace yapmak istediğiniz API Proxy'nin detay sayfasına gidin

Ortam Seçimi Yapın

API Proxy'nin yüklenmiş olduğu Ortam'lardan hangisi için izleme modu açılacaksa o Ortam seçilir

Başlat Butonuna Tıklayın

Başlat (Start) tuşuna tıklayarak trace modunu aktifleştirin

Trace Modunu Aktifleştirme
ipucu

Ortam seçiminin yanındaki filtre alanından Custom Query ile sadece istenen veriler üzerinden özel olarak trace edilebilir.

uyarı

Trace modu aktifleştirildiğinde:

  • Log kayıtlarının içeriği detaylı incelemeye izin verecek şekilde genişletilir
  • Log kayıtları MongoDB konfigürasyon veri tabanına yazılır
  • İşletilen tüm politikalar için ayrıntılı log kayıtları oluşturulur
  • Mod durdurulana ya da 5 dakika sonunda platform tarafından otomatik olarak kapatılana kadar bu şekilde saklanmaya devam eder

Trace Kayıtları

Trace modu aktifleştirildikten sonra, API Proxy'ye gelen istekler otomatik olarak izlenir ve detaylı kayıtlar oluşturulur.

Trace Log Kayıtları
bilgi

Yenile Sil

Görüntülenmekte olan log kayıtları otomatik olarak güncellenmez. Yeni kayıtları görmek için Logları Yenile (Refresh Logs) tuşunu kullanın.

Tabloda görünen log kayıtlarının her birisi, istemciden bu API Proxy'e gelen istek ve o isteğe verilen yanıt mesajına aittir.

bilgi

API Çağrı Politikasının log kaydı ayrı olarak tutulduğu için aynı isteğe ait çift log gözükür. Bunların ilk akıştaki mesajın önceki ve sonraki halidir, ikinci ise API Çağrısından çıkan istek ve yanıt mesajıdır.

Trace Listesi

Trace listesinde her bir kayıt için aşağıdaki bilgiler görüntülenir:

BilgiAçıklama
Timestampİsteğin geldiği tarih ve saat
MethodHTTP metodu (GET, POST, PUT, DELETE, vb.)
Path / Endpointİstek path'i ve endpoint adı
Status CodeYanıt durum kodu (200, 404, 500, vb.)
DurationToplam işlem süresi (ms)
PoliciesÇalıştırılan politika sayısı
Correlation IDİsteğe özgü korelasyon kimliği
not

API Çağrı Politikası kullanıldığında, aynı isteğe ait çift log kaydı görünür:

  1. Ana akıştaki mesajın önceki ve sonraki hali
  2. API Çağrısından çıkan istek ve yanıt mesajı

Trace İşlemleri

Her trace kaydı için aşağıdaki işlemler yapılabilir:

İncelenmek istenen istek mesajına ait satırın sonundaki tuşlardan ilki, o mesajın log kayıtlarını görüntüleyen bir pencere açar.

Detaylı Görüntüleme Butonu

Açılan pencerede loglar, mesaj akışına ilişkin bölümlere ayrılmıştır. İncelenmek istenen bölümün adına tıklandığında bu alana ilişkin log kayıtları görüntülenir. Varsayılan olarak Genel Bakış bölümü açıktır.

Detaylı Görüntüleme Dialog

Politika Akışını İzleme

Apinizer'ın adım adım izleme modundayken API Proxy için işletilen politikalara ilişkin tuttuğu ayrıntılı log kayıtlarını görüntülemek için Seç tuşuna tıklanır.

Seçme

Tabloda bir satıra tıkladığınızda veya Seç ile kaydı seçtiğinizde sağdan trace detay çekmecesi açılır. Üstte zaman dağılımı ve Client → Gateway → API işlem haritası yer alır; haritada istek hattı (üst sıra) ve yanıt hattı (alt sıra) üzerindeki politika düğümleri, varsa API Proxy Grup politikaları da dahil olmak üzere işletilme sırasına göre gösterilir.

Düğümlerde başarı için yeşil onay, hata veya blok için !, atlanan politika için soluk görünüm ve S rozeti kullanılır. ‹ Back / Next › veya doğrudan düğüme tıklayarak adımlar arasında gezersiniz. Ayrıntılı anlatım için Adım Adım İzleme sayfasına bakın.

Tüm adımların başarılı işlendiği örnek: çekmede zaman çubuğu, harita ve Client adımında istek/yanıt panelleri.

Trace çekmecesi: başarılı akışta zaman dağılımı, harita ve Client adımı

Politika Execution Detayları

Pre-flow Politikaları

İstek geldiğinde ilk olarak işletilen politikalar:

  • Politika Adı: Çalıştırılan politikanın adı
  • Execution Time: Politikanın çalışma süresi (ms)
  • Status: Başarılı / Başarısız durumu
  • Changes: Politikanın mesajda yaptığı değişiklikler (header, body, variable değişiklikleri)

Örnekler: Kimlik doğrulama, rate limiting, IP kontrolü

Route Step (Yönlendirme)

Backend API'ye yönlendirme adımı:

  • Selected Upstream: Seçilen upstream target
  • Load Balancing Decision: Load balancing algoritması kararı
  • Connection Time: Backend'e bağlanma süresi (ms)
  • Backend Response Time: Backend'in yanıt süresi (ms)
  • Retry/Failover: Retry veya failover durumu
Post-flow Politikaları

Backend'den yanıt geldikten sonra işletilen politikalar:

  • Politika Adı: Çalıştırılan politikanın adı
  • Execution Time: Politikanın çalışma süresi (ms)
  • Status: Başarılı / Başarısız durumu
  • Changes: Yanıt mesajında yapılan değişiklikler

Örnekler: Response transformation, cache writing, logging

Fault Handler

Hata durumunda çalıştırılan politikalar:

  • Error Type: Hata türü (authentication, routing, policy, vb.)
  • Error Message: Hata mesajı
  • Handler Policies: Çalıştırılan hata yakalayıcı politikalar
  • Final Response: İstemciye döndürülen son yanıt
bilgi

Fault Handler sadece hata oluştuğunda çalışır ve hata yanıtını özelleştirmenizi sağlar.

Politikaya Özel Yürütme Detayları (Execution Details)

Belirli politika tiplerinde, trace çekmecesinin politika düğüm bar'ında Execution Details butonu görünür. Bu buton, seçilen politikanın türüne göre özelleştirilmiş modal pencere açar; modal, politikanın çalışma süreci hakkında domain-spesifik ayrıntıları accordion'lar halinde gösterir.

Trace — Cache policy selected, Cache Execution Details button Cache LOOKUP Execution Details modal

Execution Details Modalı Desteği:

Politika TipiGösterilen Detaylar
Cache (Önbellekleme)Operation (LOOKUP/POPULATE/INVALIDATE), Cache Key, Hit/Miss sonucu, Source/Target Variable adları, TTL değeri, Cache Connection durumu
API Call (REST API Çağrısı)Cache hit/miss durumu (varsa), HTTP method ve URL, Request/Response body özeti, Response status code, execution time (ms)
Backend API AuthenticationAuthenticated flag (true/false), Extracted username / roles listesi, Full HTTP call detayları (method, URL, header'lar), Backend yanıt status
JOSE Key Fetch (Dinamik Anahtar Getirme)Mode (VALIDATION / IMPLEMENTATION), Key cache hit/miss, Key extraction path (JSONPath/XPath), HTTP endpoint call detayları
Client BanBanned flag, Ban kaynağı (IP/Credential/threshold), Remaining ban time (kalan saniye), Cache lookup sonucu
API Based ThrottlingCurrent count / limit, Time window, Allowed/Blocked karar, Cache key ve lookup sonucu
API Based QuotaCurrent count / quota, Period end timestamp, Allowed/Blocked karar, Cache key ve lookup sonucu
Business RulePer-action execution listesi: action type, operator, condition result, input values, output values, execution time (ms), hata varsa hata mesajı

Kullanım:

  • Trace çekmecesinde politika düğümünü seçin
  • Düğüm bar'ında (politika adı yanında) Execution Details butonu varsa tıklayın
  • Modal, politika-spesifik accordion'larla açılır
  • Kapatmak için modalın dışına tıklayın veya X düğmesine basın

Not: Request hattı (pre-flow) ve Yanıt hattı (post-flow) politikalarının her ikisinde de Execution Details butonu gösterir ise, aynı politika her iki tarafta da çalıştırılmış demektir.

Detaylı Log Kayıtları

Bir log satırı seçildiğinde açılan çekmece, mesaj akışının başarılı olup olmadığını harita ve üst bilgilerle özetler; seçilen düğüme göre alt panelde tablolar ve gövdeler gösterilir. Genel görünüm örneği — harita, özet satırı ve istek başlıkları:

Trace çekmecesi: harita ve gateway giriş özeti

Aşağıda aynı çekmece içinde sık kullanılan adımlar ve önerilen görseller özetlenmiştir (tam akış Adım Adım İzleme sayfasındadır).

İstemci (Client) adımı

Haritada Client düğümü seçildiğinde sol sütunda istemciden gelen istek (HTTP Info, başlıklar, parametreler, gövde), sağ sütunda istemciye giden yanıt görüntülenir.

Trace çekmecesi: Client adımı istek ve yanıt
Politika adımı (Before / After)

Haritada bir politika düğümüne tıkladığınızda yürütme bilgisi ve Before / After akordeonları ile mesajın politika öncesi ve sonrası karşılaştırılır.

Trace çekmecesi: politika Before ve After
Backend API ve yönlendirme

Hedef (API) özeti, Routing tablosu (genişletilmiş satır; yönlendirme için bkz. HTTP Yönlendirme) ve hedeften gelen yanıt sırayla aşağıdaki görsellerle örneklenir.

Trace çekmecesi: backend hedef özetiTrace çekmecesi: routing tablosuTrace çekmecesi: hedeften yanıt

İstek/Yanıt Karşılaştırma

Trace modu, mesajın akış boyunca nasıl değiştiğini gösterir:

Öncesi/Sonrası

Her politika için mesajın önceki ve sonraki halini karşılaştırabilirsiniz

Transformation Analizi

Dönüşüm (transformation) politikalarının etkisini görebilirsiniz

Header Değişiklikleri

Eklenen, değiştirilen veya silinen header'ları görebilirsiniz

Body Değişiklikleri

JSON/XML dönüşümlerini ve içerik değişikliklerini görebilirsiniz

Performans Analizi

Trace modu, performans sorunlarını tespit etmek için detaylı zamanlama metrikleri sağlar.

Zamanlama Metrikleri (Timing Metrics)

Her trace kaydı için aşağıdaki metrikler görüntülenir:

MetrikAçıklama
Total Durationİsteğin giriş-çıkış süresi toplamı (ms)
Pre-flow DurationPre-flow politikalarının toplam çalışma süresi
Route DurationBackend'e bağlanma ve yanıt alma süresi
Backend DurationBackend API'nin yanıt süresi (net)
Post-flow DurationPost-flow politikalarının toplam çalışma süresi
Gateway OverheadApinizer Gateway'in eklediği süre (Total - Backend)
ipucu

Gateway Overhead yüksekse, politika optimizasyonu yapılabilir. Backend Duration yüksekse, backend API optimize edilmelidir.

Politika Performans Analizi

Politikaların performansını analiz etmek için:

En Yavaş Politikalar

En uzun süre alan politikaları belirleyebilir ve optimize edebilirsiniz

Politika Sayısı

Çalıştırılan toplam politika sayısını görebilir, gereksiz politikaları kaldırabilirsiniz

Ortalama Politika Süresi

Her politikanın ortalama çalışma süresini izleyebilirsiniz

Politika Çalışma Sırası

Politikaların sırasını değiştirerek performansı artırabilirsiniz

Optimizasyon Önerileri:

  • Cache Politikası: Backend çağrılarını azaltmak için cache kullanın
  • Conditional Flow: Gereksiz politikaları koşullu olarak atlayın
  • Script Optimizasyonu: Script politikalarında yavaş işlemleri optimize edin
  • Transformation: Gereksiz transformation'ları kaldırın

Backend Performans Metrikleri

Backend API'nin performansını izlemek için:

MetrikAçıklama
Connection TimeBackend sunucusuna TCP bağlantı süresi
SSL Handshake TimeHTTPS bağlantısı için SSL handshake süresi
Response TimeBackend'in yanıt oluşturma süresi
Total Backend TimeConnection + Response toplam süresi
Backend StatusBackend çağrısının başarı durumu
Retry/Failover CountRetry veya failover yapılma sayısı
uyarı

Yüksek Connection Time backend sunucusunun yavaş veya ağ sorunlu olduğunu gösterir. Yüksek Response Time ise backend API'nin optimize edilmesi gerektiğini gösterir.

Kullanım Senaryoları

Senaryo 1: Performans Sorunu Tespiti

Durum: Bir API Proxy'nin yanıt süreleri beklenenden yüksek.

Trace Başlatın

API Proxy sayfasından trace modunu aktifleştirin

Yavaş İstekleri İnceleyin

Trace kayıtlarında yavaş istekleri (örn. >1000ms) bulun

Politika Akışını İnceleyin

Seç tuşu ile politika akışını görüntüleyin ve en yavaş politikaları tespit edin

Darboğazları Tespit Edin
  • Backend API yavaş mı? → Backend optimize edilmeli
  • Politikalar yavaş mı? → Script/transformation optimize edilmeli
  • Database sorgusu yavaş mı? → Cache kullanılabilir
Optimizasyon Yapın

Tespit edilen sorunları çözün ve trace ile tekrar test edin

Senaryo 2: Hata Ayıklama

Durum: Bazı istekler 500 hatası veriyor ve nedeni bilinmiyor.

Trace Başlatın

API Proxy sayfasından trace modunu aktifleştirin

Hatalı İstekleri Bulun

Trace kayıtlarında 5xx hatalarını bulun

Hata Oluşan Politikayı Bulun

Seç tuşu ile politika akışını görüntüleyin ve kırmızı işaretli politikayı bulun

Politika Detaylarını İnceleyin
  • Politikaya gelen mesajı inceleyin (Öncesi)
  • Hata mesajını okuyun
  • Detaylı log kayıtlarını inceleyin
Kök Neden Analizini Yapın
  • Veri formatı yanlış mı?
  • Header eksik mi?
  • Script hatası mı?
  • Backend ulaşılamıyor mu?
Düzeltme Yapın ve Test Edin

Sorunu düzeltin ve trace ile tekrar test edin

Senaryo 3: Transformation Doğrulama

Durum: JSON to XML transformation'ının doğru çalışıp çalışmadığını kontrol etmek.

Trace Başlatın

API Proxy sayfasından trace modunu aktifleştirin

Test İsteği Gönderin

Test Console'dan örnek bir JSON request gönderin

Transformation Politikasını Seçin

Seç tuşu ile politika akışını görüntüleyin ve transformation politikasına tıklayın

Öncesi/Sonrası Karşılaştırın
  • Before: Gelen JSON mesajı
  • After: Dönüştürülmüş XML mesajı
  • Dönüşümün doğru olup olmadığını kontrol edin
Backend'e Giden Mesajı Kontrol Edin

Backend API log kayıtlarında giden mesajın XML formatında ve doğru olduğunu doğrulayın

Senaryo 4: Conditional Flow Testi

Durum: Koşullu politikaların doğru çalışıp çalışmadığını test etmek.

Trace Başlatın

API Proxy sayfasından trace modunu aktifleştirin

Farklı Koşullar İçin İstekler Gönderin
  • Premium user için istek
  • Normal user için istek
  • Misafir için istek
Her İstek İçin Trace İnceleyin

Seç tuşu ile politika akışını görüntüleyin ve hangi politikaların çalıştığını görün

Koşul Değerlendirmesini Kontrol Edin
  • Condition expression neydi?
  • Değerlendirme sonucu ne oldu?
  • Doğru politikalar mı çalıştı?
Gerekirse Koşulları Düzeltin

Yanlış koşulları düzeltin ve tekrar trace ile test edin

En İyi Uygulamalar

Trace Kullanımı

Development Ortamında Sık Kullanın
  • Geliştirme sırasında sürekli trace edin
  • Yeni politikalar eklerken mutlaka trace ile test edin
  • API değişikliklerini trace ile doğrulayın
Production'da Dikkatli Olun
  • Production'da sadece gerektiğinde trace aktifleştirin
  • Trace otomatik olarak 5 dakika sonra kapanır
  • Performans etkisini göz önünde bulundurun
Custom Query Kullanın
  • Ortam seçiminin yanındaki filtre alanından Custom Query ile filtreleme yapın
  • Sadece ilgili endpoint'leri trace edin
  • Gereksiz trace kayıtlarını minimize edin
API Proxy Bazında Kullanın
  • Her API Proxy için ayrı ayrı trace başlatın
  • İlgili API Proxy'nin sayfasından trace modunu aktifleştirin
  • Trace kayıtları MongoDB'de saklanır

Performans İzleme

uyarı

Performans Baseline Oluşturun:

  • Normal koşullarda API'nin ortalama yanıt süresini ölçün
  • Her politikanın ortalama çalışma süresini kaydedin
  • Baseline'dan sapmaları izleyin ve alarm kurun

Düzenli İzleme:

  • Haftada bir performans trace çalıştırın
  • Trend analizleri yapın
  • Yavaşlamaları erken tespit edin

Optimizasyon Döngüsü:

  1. Trace ile darboğazları tespit edin
  2. Optimizasyon yapın
  3. Trace ile iyileşmeyi doğrulayın
  4. Sonuçları dokümante edin

Hata Ayıklama

ipucu

Tekrarlanabilir Test Senaryoları:

  • Trace başlatmadan önce test senaryolarını hazırlayın
  • Aynı test verisini kullanarak tutarlı sonuçlar alın
  • Edge case'leri test edin

Sistematik Yaklaşım:

  1. Sorunu izole edin (hangi endpoint, hangi koşulda?)
  2. Trace ile detaylı bilgi toplayın
  3. Kök neden analizini yapın
  4. Düzeltme yapın
  5. Trace ile doğrulayın
  6. Süreci dokümante edin

Öncesi/Sonrası Karşılaştırması:

  • Her politika için giriş/çıkış mesajlarını karşılaştırın
  • Beklenmeyen değişiklikleri tespit edin
  • Transformation doğruluğunu kontrol edin

İlgili Kaynaklar