Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Ortak dil çalışma zamanının (CLR) iki sağlayıcısı vardır: çalışma zamanı sağlayıcısı ve rundown sağlayıcısı.
Çalışma zamanı sağlayıcısı, hangi anahtar sözcüklerin (olay kategorileri) etkinleştirildiğine bağlı olarak olayları oluşturur. Örneğin, anahtar sözcüğünü etkinleştirerek yükleyici olaylarını LoaderKeyword toplayabilirsiniz.
Windows için Olay İzleme (ETW) olayları, daha sonra virgülle ayrılmış değer (.csv) dosyalarında gerektiği gibi işlenebilen .etl uzantısına sahip bir dosyada günlüğe kaydedilir. .etl dosyasını .csv dosyasına dönüştürme hakkında bilgi için bkz. .NET Framework Günlüğünü Denetleme.
Çalışma Zamanı Sağlayıcısı
Çalışma zamanı sağlayıcısı ana CLR ETW sağlayıcısıdır.
CLR çalışma zamanı sağlayıcısı GUID değeri e13c0d23-ccbc-4e12-931b-d9cc2eee27e4'dür.
Yaygın olarak kullanılan araçları kullanarak CLR ETW olaylarını günlüğe kaydetme ve görüntüleme örnekleri için bkz. .NET Framework Günlüğünü Denetleme.
gibi LoaderKeywordanahtar sözcükleri kullanmanın yanı sıra, çok sık tetiklenebilen olayları günlüğe kaydetmek için anahtar sözcükleri etkinleştirmeniz gerekebilir.
StartEnumerationKeyword ve EndEnumerationKeyword anahtar sözcükleri bu olayları etkinleştirir ve CLR ETW Anahtar Sözcükleri ve Düzeyleri bölümünde özetlenir.
Rundown Sağlayıcısı
Belirli özel amaçlı kullanımlar için rundown sağlayıcısının açık olması gerekir. Ancak kullanıcıların çoğu için çalışma zamanı sağlayıcısı yeterli olmalıdır.
CLR rundown sağlayıcısı GUID değeri A669021C-C450-4609-A035-5AF59AF4DF18'dir.
Normalde ETW günlüğü bir işlem başlatılmadan önce etkinleştirilir ve işlem çıktıktan sonra günlük kapatılır. Ancak, işlem yürütülürken ETW günlüğü açıksa, işlem hakkında ek bilgi gerekir. Örneğin, sembol çözümlemesi için, günlüğe kaydetme açılmadan önce zaten yüklenmiş yöntemler için yöntem olaylarını günlüğe kaydetmeniz gerekir.
DCStart ve DCEnd olayları, veri toplamanın başlatıldığı ve durdurulduğu işlemin durumunu yakalar. (Durum, zaten tam zamanında (JIT) derlenmiş yöntemler ve yüklenen derlemeler de dahil olmak üzere yüksek düzeydeki bilgileri ifade eder.) Bu iki olay, işlemde önceden gerçekleşenler hakkında bilgi sağlayabilir; örneğin, hangi yöntemlerin JIT ile derlendiği vb.
Yalnızca , DCStart, veya DCInitDCEndadlarındaki olaylarDC, rundown sağlayıcısı altında oluşturulur. Ayrıca, bu olaylar yalnızca rundown sağlayıcısı altında oluşturulur.
Olay anahtar sözcük filtrelerine ek olarak, rundown sağlayıcısı hedeflenen filtreleme sağlamak için ve EndRundownKeyword anahtar sözcüklerini de desteklerStartRundownKeyword.
Çalıştırmayı Başlat
Rundown sağlayıcısı altında günlüğe kaydetme anahtar sözcüğüyle etkinleştirildiğinde bir başlatma çalıştırması StartRundownKeyword tetikleniyor. Bu, olayın yükseltilmesine neden olur DCStart ve sistemin durumunu yakalar. Numaralandırma DCStartInit başlamadan önce olay oluşturulur. Numaralandırmanın sonunda olay, DCStartComplete denetleyiciye veri toplama işleminin normal şekilde sonlandırıldığını bildirmek için oluşturulur.
Çalıştırmayı Sonlandır
Rundown sağlayıcısı altında günlüğe kaydetme anahtar sözcüğüyle etkinleştirildiğinde bir bitiş çalıştırması EndRundownKeyword tetikleniyor. Çalıştırmayı sonlandır, yürütülmeye devam eden bir işlemde profil oluşturmayı durdurur. Profil DCEnd oluşturma durdurulduğunda olaylar sistemin durumunu yakalar.
Numaralandırma DCEndInit başlamadan önce olay oluşturulur. Numaralandırmanın sonunda, tüketiciye veri toplamanın DCEndComplete normal şekilde sonlandırıldığını bildirmek için olay oluşturulur. Çalıştırmayı başlatma ve çalıştırmayı sonlandırma öncelikli olarak yönetilen simge çözümlemesi için kullanılır. Başlatma çalıştırması, profil oluşturma oturumu başlatılmadan önce zaten JIT ile derlenmiş yöntemler için adres aralığı bilgileri sağlayabilir. Son çalıştırma, profil oluşturma kapatılacakken JIT ile derlenmiş tüm yöntemler için adres aralığı bilgileri sağlayabilir.
Profil oluşturma oturumu durdurulduğunda bitiş çalıştırması otomatik olarak gerçekleşmez. Bunun yerine, yönetilen sembol çözümlemesi gerçekleştirmek isteyen bir aracın, profil oluşturma durdurulmadan hemen önce anahtar sözcüğü etkinleştirilmiş bir CLR rundown sağlayıcısı oturumunu EndRundownKeyword açıkça çağırması gerekir.
Çalıştırmayı başlatma veya çalıştırmayı sonlandırma yönetilen simge çözümlemesi için yöntem adres aralığı bilgileri sağlayabilse de, anahtar sözcüğü (olayları sağlayanDCEnd) yerine StartRundownKeyword anahtar sözcüğünü (DCStartolayları sağlayan) kullanmanızı EndRundownKeyword öneririz. kullanmak StartRundownKeyword , profil oluşturma oturumu sırasında çalıştırmanın gerçekleşmesine neden olur ve bu da profili oluşturulan senaryoyu rahatsız edebilir.
Çalışma Zamanı ve Rundown Sağlayıcılarını Kullanarak ETW Veri Toplama
Aşağıdaki örnek, CLR rundown sağlayıcısının, yönetilen işlemlerin profil oluşturulan pencerenin içinde veya dışında mı başlayıp bitmediğine bakılmaksızın, en az etkiyle sembol çözümlemesine izin veren bir şekilde nasıl kullanılacağını gösterir.
CLR çalışma zamanı sağlayıcısını kullanarak ETW günlüğünü açın:
xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4:0x1CCBD:0x5 -f clr1.etlGünlük clr1.etl dosyasına kaydedilir.
İşlem yürütülmeye devam ederken profil oluşturmayı durdurmak için, olayları yakalamak için rundown sağlayıcısını
DCEndbaşlatın:xperf -start clrRundown -on A669021C-C450-4609-A035-5AF59AF4DF18:0xB8:0x5 -f clr2.etlBu, olay koleksiyonunun
DCEndbir rundown oturumu başlatmasını sağlar. Tüm olayların toplanması için 30-60 saniye beklemeniz gerekebilir. Günlük clr1.et2 dosyasına kaydedilir.Tüm ETW profil oluşturma özelliğini kapatın:
xperf -stop clrRundown xperf -stop clrBir günlük dosyası oluşturmak için profilleri birleştirin:
xperf -merge clr1.etl clr2.etl merged.etlmerged.etl dosyası, çalışma zamanındaki olayları ve rundown sağlayıcısı oturumlarını içerir.
Bir araç, bir kullanıcı profil oluşturmanın durdurulmasını istediğinde profil oluşturmayı hemen kapatmak yerine 2. ve 3. adımları (bir rundown oturumu başlatma ve sonra profil oluşturmayı sonlandırma) yürütebilir. Bir araç 4. adımı da yürütebilir.