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

 

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ı  alt kısımda bulunan yorumlar alanını kullanarak 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

Bu İçeriğe Tepkin Ne Oldu?
  • 4
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 1
    sevdim_
    Sevdim!
  • 2
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 1
    k_zd_m_
    Kızdım!

2005 yılında Kocaeli Üniversitesi Bilgisayar Mühendisliğinden mezun oldum. Okulda ve ilk iş tecrübelerimde farklı yazılım dilleri kullandım. 2007 yılında Akşam gazetesinde işe başladım ve Microsoft Dynamics 365 (eski adıyla Axapta) ile orda tanıştım. Hiç duymadığım bir dil olan X++ kullanılıyordu. Kısa sürede adapta oldum ve kariyerimi bu alanda şekillendirdim. Bir kaç iş değişikliğinde sonra kendi firmamı kurdum. Şu anda DMR de yönetici ortak ve Çözüm mimarı olarak çalışmaktayım. 2010 yılında MCT oldum. Birçok faklı ortamda eğitimler verdim. Bloğum ve Youtube kanalımda tecrübelerimi paylaşmaktayım.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (1)

  1. 25/03/2022

    Emeğine sağlık hocam güzel bir yazı olmuş

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir