Tüm Ürünler
Search
Belge Merkezi

Application Real-Time Monitoring Service:Özel durum analizi

Son Güncelleme:Oct 05, 2026

Bir Java uygulaması için aracı yükledikten sonra ARMS uygulamayı izlemeye başlar. Exception Analysis sayfasında hatalara neden olan kodu optimize etmek amacıyla özel durumları isme, arayüze ve ana makineye göre filtreleyip analiz edebilirsiniz.

Özel durum analizini görüntüleme

  1. Üst gezinme çubuğunda seçin.

    • Hızlı filtreleme alanında özel durum sayısını ve listesini Exception, Operation ve Host ölçütlerine göre filtreleyebilirsiniz.

    • Trend grafiği alanında uygulamanın belirtilen bir zaman aralığında belirli bir özel durumu kaç kez tetiklediğini görebilirsiniz. Özel durumlar yığılmış grafikte gösterilir.

      Belirli bir dönemdeki ölçüm istatistiklerini görüntülemek veya farklı tarihlerdeki aynı dönemlerin istatistiklerini karşılaştırmak için image.png simgesine tıklayın. Sütun grafiği ile trend grafiği arasında geçiş yapmak için image.png simgesini kullanabilirsiniz.

    • Özel durum listesi alanında özel durum adlarını, sayılarını, yüzdeleri ve özetleri görüntüleyebilirsiniz.

      Özel durum listesinde aşağıdaki işlemleri yapabilirsiniz:

      • Sağ tarafta bir panel açmak için Actions sütunundaki Overview öğesine tıklayın. Bu panelde özel durumun sayı eğilimi, arayüz ve örnek bazında dağılımı ile özel durum yığını dahil olmak üzere genel bir özet sunulur.

        image.png

      • İzleme ayrıntılarını görüntülemek için Actions sütunundaki Traces öğesine tıklayın. Daha fazla bilgi için bkz. Trace Explorer.

İlgili belgeler

Uygulama izleme ölçümleri hakkında ayrıntılı bilgi için bkz. Application monitoring metrics.

SSS

Özel durum sayısı neden istek sayısını aşıyor?

Bu durum aşağıdaki nedenlerle ortaya çıkabilir:

  • ARMS, enstrümanlanmış bir yöntem tarafından her özel durum tetiklendiğinde bunu kaydeder. Tek bir arayüz çağrısı sırasında birden çok enstrümanlanmış yöntem özel durum tetiklerse ARMS her birini ayrı ayrı kaydeder; bu da tek bir çağrı için birden çok kayıt oluşmasına neden olur.

  • Aynı özel durum çağrı yığını boyunca birden çok enstrümanlanmış yöntemden yukarı doğru yayılıyorsa bu yöntemlerin her biri özel durumu kaydedebilir ve tek bir olay için birden çok sayım oluşabilir.

Yükseltme sonrası özel durum sayıları neden değişiyor?

Her aracı sürümü enstrümanlanan yöntem sayısını artırabilir veya azaltabilir. Bu nedenle bu yöntemlerden yakalanan özel durum sayısı da artabilir veya azalabilir.

İşlenmemiş özel durumlar neden görüntüleniyor?

Aracı tarafından enstrümanlanan birçok çerçeve düzeyindeki yöntemde özel durumlar içerde yakalanıp işlenebilir ve iş koduna yayılmaz. Aracı, uygulamanız bu özel durumlardan habersiz olsa bile onları yakalar.

Örneğin, MongoTemplate kullanılarak MongoDB'ye yapılan bir çağrı uygulamanızda hata vermeyebilir ancak ARMS konsolunda hatalar görebilirsiniz. Bunun nedeni MongoTemplate yeniden deneme mantığını kapsüllemesidir. Bir MongoTemplate yöntem çağrısı zaman aşımıyla karşılaştığında işlemi yeniden dener. Yalnızca birden çok yeniden deneme başarısız olduktan sonra çağırana bir özel durum iletilir. Bu nedenle MongoTemplate ile MongoDB'ye erişirken zaman aşımı nedeniyle altta yatan bir yeniden deneme gerçekleşirse uygulamanız bir özel durum görmeyebilir ancak ARMS konsolu görür.

Yığın izleri neden özel durumlarla uyuşmuyor?

Veri işleme ve raporlama verimliliğini artırmak için ARMS aracı her özel durum için sınıf adına, yığın izinin ilk üç satırına ve son üç satırına dayalı bir parmak izi oluşturur. Bu parmak izi daha sonra CRC64 kullanılarak 64 bitlik bir dizeye kodlanır. İlk oluşumda aracı hem kodlanmış değeri hem de özgün yığın izini bildirir. Sonraki aynı özel durumlar için yalnızca kodlanmış değer bildirilir. Bu süreç iki durumda uyumsuzluğa neden olabilir:

  • İki özel durumun tam yığın izleri farklıdır ancak özel durum sınıf adı ile yığın izlerinin ilk ve son üç satırı aynıdır. Parmak izi mantığı nedeniyle kodlanmış değerleri özdeş olur ve bu da uyumsuzluğa yol açar.

  • İki özel durumun sınıf adları veya yığın izlerinin ilk ve son üç satırı farklıdır ancak CRC64 benzersiz olmayan bir kodlama algoritması olduğu için karma çarpışması meydana gelir. Bu durum farklı özel durumlar için aynı kodlanmış değerin üretilmesine neden olabilir.

Bu durumlardan herhangi biriyle karşılaşırsanız Custom Configuration sayfasındaki Exception Advanced Filtering Configuration bölümündeki similar exception stack differentiation depth parametresinin değerini artırabilirsiniz. Gelişmiş özel durum filtreleme yapılandırma sayfasında aşağıdaki ayarlar bulunur: Collect Plugin Exceptions (eklentilerden gelen özel durumların toplanıp toplanmayacağını kontrol eder), Collect All Exceptions (etkinleştirildiğinde tüm özel durumları yakalamak için özel durum yapıcılarını enstrümanlar), Similar exception stack differentiation depth (varsayılan değer: 2; benzer özel durumları yığın derinliğine göre ayırt etmek için kullanılır), Exception Filtering Whitelist (izin listesindeki özel durumlar özel durum ile ilgili grafiklerden hariç tutulur), Exception Filtering Parent Class Inheritance (yalnızca aracı v4.1.6 ve sonraki sürümlerde desteklenir) ve Exception Message Filtering.

Eski özel durumlar neden yalnızca bir ID gösteriyor?

Veri raporlama hacmini optimize etmek amacıyla bir özel durum ilk kez oluştuğunda ARMS onu kodlar ve hem kodlanmış değeri hem de özgün değeri sunucuya gönderir. Sunucu bu eşlemeyi saklar ve eşleme 30 gün sonra sona erer. Bir uygulama 30 günden uzun süre çalışırsa bir özel durumun özgün değeri kodlanmış değerinden artık alınamayabilir.

Bazı özel durumlar neden görüntülenmiyor?

Varsayılan olarak ARMS aracı tüm özel durumları yakalamaz. Yalnızca ARMS aracı tarafından enstrümanlanan yöntemler tarafından tetiklenen özel durumlar toplanır.

4.1.12 veya sonraki bir aracı sürümü kullanıyorsanız Custom Configuration sayfasındaki Agent Switch Settings bölümünde özel durum eklentisini etkinleştirebilirsiniz. Bu eklentiyi etkinleştirdikten sonra ARMS, her özel durum örneği oluşturulduğunda özel durum verilerini toplar.