Skip links

Dynamics 365 Finance and Operations Trace Parser Nedir ve Nasıl Kullanılır?    


Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 117

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 118

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 117

Notice: Trying to access array offset on value of type bool in /var/www/vhosts/dmrbt.com/httpdocs/wp-content/themes/boo/rella/extensions/aq_resizer/aq_resizer.php on line 118
Dynamics 365 Finance and Operations Trace Parser Nedir ve Nasıl Kullanılır?    

Bu yazıda Dynamics 365 Finance and Operations uygulamasında performans sorunlarının tespiti için çok kullanışlı bir araç olan Trace Parser’dan bahsedeceğim. Bir performans sorunun tespiti genelde zor bir işlemdir. Birçok sebep olabilir. Tecrübenize göre baktığınızda temel sorunları tespit edebilirsiniz ama karmaşık form ve sınıflarda tespit gerçekten çok zaman alabilir. Trace almak ve analizi yapmak işi çok kolaylaştırıyor. Dynamics 365 Finance and Operations uygulamasında gömülü olarak Trace alma özelliği mevcut. Alınan bu Trace dosyasını Trace Parser kullanarak analiz ediyoruz.  Bir örnekle açıklamaya çalışacağım.  Mesela satış siparişleri detay formunun açılması çok uzun sürüyor diye şikâyet aldım ve burayı incelemek ve sorunu tespit etmek istiyorum.

Trace alarak işe başlayalım. Soru işareti ikonundan Trace diyorum.

Resim-1

İsim verip Start Trace diyorum.

Resim-2

Hemen sonra detay formunu açmayı başlatıyorum. Form açıldığında hemen Stop trace diyorum. Çok kısa sürede çok büyük veri oluşuyor bu yüzden birkaç dakikalık çalıştırmakta fayda var.

Resim-3

Oluşan dosyayı indiriyorum.

Resim-4

Kısa sürede 0.98 B’lık dosya oluştu. Kaydediyorum.

Resim-5

Şimdi oluşturduğumuz bu Trace dosyasını analiz etmek için Trace Parser’ı açıyoruz. Geliştirme makinelerinde kurulu geliyor. Eski versiyonlarda bizim kurmamız gerekiyordu.

Resim-6

Kendi için bir DB oluşturacak. Lokale bağlanması gerekiyor.

Resim-7

DB oluşturmak için uyarı çıkıyor Yes diyorum. Bunlar ilk açılışta çıkacaklar her seferinde yeni oluşturmak zorunda değilsiniz.

Resim-8

Şimdi Import Trace ile oluşturduğumuz dosyayı yüklüyoruz.

Resim-9

Yükleme bitince böyle bir ekran açılacak. Çok fazla bilgi ve ekran var ama ben en çok kullandıklarımı anlatacağım.

Resim-10

Öncelikle bu Trace bütün kullanıcılar için çalışıyor. Bunu canlı ortamda yaptıysanız her kullanıcının o zaman dilimi içindeki kayıtları gelecektir. Biz belli bir kullanıcının belli bir formu açarken yaşadığı sorunu tespit etmek istediğimiz için sadece o kullanıcıyı buradan seçmeliyiz. Benim çalıştığım ortamda aslında bir kullanıcı var onu seçiyorum.

Resim-11

Şimdi X++ sekmesine gidiyorum. Burada hangi form açılışında hangi metotların çalıştığını ne kadar sürdüğünü kaç kez çağırıldığını ve kodlarını görebilirsiniz. En çok işinize yaracak yerlerden biri burası ben birçok sorunu burası sayesinde tespit ettim.

Resim-12

İkinci olarak SQL sekmesini açıyorum. Burada da form Trace süresince bu kullanıcının yaptığı DB işlemleri görülmekte. Uzun süren sorgular ve index sorunlarını buradan çok kolay tespit edebilirsiniz.

Resim-13

Şimdi Call Tree’ye bakalım. Beni en sevdiğim yer diyebilirim. Burasıda kodu çalışma sırasına göre kontrol etmek istediğinizde çok işe yarıyor. Aslında ilk buraya bakmakta fayda var bazen sorun direk kendini gösteriyor. Çalışma süresi önemli ama bazen çok hızlı çalışmasına rağmen binlerce kez çağırılan bir metot yavaşlığa sebep olabilir. Burayı o gözle de incelemek lazım.

Resim-14

Bu yazıda bir performans sorunun tespiti için nasıl Trace alacağınızı ve bu dosyayı Trace Parser ile nasıl analiz edebileceğiniz anlatmaya çalıştım. Trace Parser kullanmak biraz tecrübe gerektiriyor ancak her sevide kullanmakta fayda var. Yazılımcının kendine geliştirmesine çok katkısı oluyor. X++’in inceliklerine inebiliyorsunuz.  Performans çok önemli ve çok derin bir konu. İlerleyen yazılarımda performansa etki eden konulara değinmeye devam edeceğim.

Selamlar.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar:
www.mshowto.org

www.fatihdemirci.net

TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, Trace Parser, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 Insights Power BI, Power Automate, Power Apss, Power Virtual Agents, Dynamics 365 nedir, Dynamics 365 ERP, Dynamics 365 CRM

 

 

 

Join the Discussion