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.
Bu konuda, Windows Communication Foundation (WCF) izleme modelindeki etkinlik izlemeleri açıklanmaktadır. Etkinlikler, kullanıcının hata kapsamını daraltmasına yardımcı olan işleme birimleridir. Aynı etkinlikte oluşan hatalar doğrudan ilişkilidir. Örneğin, ileti şifre çözme başarısız olduğundan bir işlem başarısız olur. Hem işlem hem de ileti şifre çözme hatasının izlemeleri aynı etkinlikte görünür ve şifre çözme hatası ile istek hatası arasındaki doğrudan bağıntıyı gösterir.
Etkinlik İzlemeyi Yapılandırma
WCF, uygulamaları işlemek için önceden tanımlanmış etkinlikler sağlar (bkz . Etkinlik Listesi). Kullanıcı izlemelerini gruplandırmak için program aracılığıyla etkinlikler de tanımlayabilirsiniz. Daha fazla bilgi için User-Code İzlemeleri Yayma'ya bakın.
Etkinlik izlemelerini çalışma zamanında yaymak için, aşağıdaki yapılandırma kodunda gösterildiği gibi ActivityTracing ayarını veya diğer WCF ya da özel izleme kaynaklarını kullanın.
<source name="System.ServiceModel" switchValue="Verbose,ActivityTracing">
Kullanılan yapılandırma öğesi ve öznitelikleri hakkında daha fazla bilgi edinmek için İzlemeyi Yapılandırma konusuna bakın.
Etkinlikleri Görüntüleme
Etkinlikleri ve bunların yardımcı programını Hizmet İzleme Görüntüleyici aracında (SvcTraceViewer.exe) görüntüleyebilirsiniz. ActivityTracing etkinleştirildiğinde, bu araç izlemeleri alır ve bunları etkinliğe göre sıralar. İzleme aktarımlarını da görebilirsiniz. İzleme aktarımı, farklı etkinliklerin birbiriyle nasıl ilişkili olduğunu gösterir. Belirli bir etkinliğin başka bir etkinliğin başlamasına neden olduğunu görebilirsiniz. Örneğin, bir ileti isteği Güvenli Konuşma Belirteci almak için bir güvenlik el sıkışması başlattı.
Hizmet İzleme Görüntüleyicisi'ndeki Etkinlikleri Bağıntılı Hale Getirme
Hizmet İzleme Görüntüleyicisi aracı etkinliklerin iki görünümünü sağlar:
İşlemler arasında izlemeleri doğrudan ilişkilendirmek için etkinlik kimliğinin kullanıldığı liste görünümü. Örneğin, istemci ve hizmet gibi farklı süreçlerden gelen, ancak aynı etkinlik kimliğine sahip izler aynı etkinlikte gruplandırılır. Bu nedenle, hizmette oluşan ve ardından istemcide bir hataya neden olan bir hata, araçtaki aynı etkinlik görünümünde görünür.
Etkinliklerin işlemlere göre gruplandırıldığı Graf görünümü. Bu görünümde, aynı etkinlik kimliğine sahip bir istemci ve hizmetin izleri farklı etkinliklerde yer alır. Farklı işlemlerde etkinlikleri aynı etkinlik kimliğiyle ilişkilendirmek için araç, ilgili etkinliklerdeki ileti akışlarını gösterir.
Daha fazla bilgi edinmek ve Hizmet İzleme Görüntüleyicisi aracının grafik görünümünü görmek için bkz. Hizmet İzleme Görüntüleyici aracı (SvcTraceViewer.exe) ve İlişkili İzlemeleri Görüntülemek ve Sorun Giderme için Hizmet İzleme Görüntüleyicisi'ni Kullanma.
Etkinliğin Kapsamını Tanımlama
Etkinlik tasarım zamanında tanımlanır ve mantıksal bir çalışma birimini belirtir. Aynı etkinlik tanımlayıcısı ile yayılan izlemeler doğrudan ilişkilidir, aynı etkinliğin bir parçasıdır. Bir etkinlik uç nokta sınırlarını (istek) aşabildiğinden, bir etkinlik için iki kapsam tanımlanır.
Globaluygulama başına kapsam. Bu kapsamda, etkinlik 128 bit genel olarak benzersiz etkinlik tanımlayıcısı olan gAId ile tanımlanır. gAid, uç noktalar arasında yayılan değerdir.Localkapsam, uç nokta başına. Bu kapsamda etkinlik, etkinlik izlemelerini ve işlem kimliğini yayan izleme kaynağı adıyla birlikte gAId değeriyle tanımlanır. Bu üçlü yerel etkinlik kimliği olan lAId'yi oluşturur. lAId, bir etkinliğin (yerel) sınırlarını tanımlamak için kullanılır.
Şemayı İzle
İzlemeler herhangi bir şema kullanılarak Microsoft platformlarından yayınlanabilir. "e2e" ("Uçtan Uca") yaygın olarak kullanılan bir şemadır. Bu şemada 128 bit tanımlayıcı (gAId), izleme kaynağı adı ve işlem kimliği bulunur. Yönetilen kodda, XmlWriterTraceListener E2E şemasında izler yayar.
Geliştiriciler, ActivityId özelliğini İş Parçacığı Yerel Depolama'da (TLS) bir Guid belirleyerek hangi izleme işlemiyle birlikte bir AID yayıldığını ayarlayabilir. Aşağıdaki örnekte bunu gösterilmiştir.
// set the current Activity ID to a new GUID.
CorrelationManager.ActivityId = Guid.NewGuid();
TLS'de gAId değerinin ayarlanması, izlemeler bir izleme kaynağı kullanılarak yayıldığında belirgin hale gelir, aşağıdaki örnekte gösterildiği gibi.
TraceSource traceSource = new TraceSource("myTraceSource");
traceSource.TraceEvent(TraceEventType.Warning, eventId, "Information");
Yayılan iz şu anda TLS'de bulunan gAId'yi, iz kaynağının oluşturucusuna parametre olarak iletilen iz kaynağının adını ve geçerli işlemin kimliğini içerir.
Etkinlik Ömrü
En katı ifadeyle, etkinliğin kanıtı, etkinlik kimliği yayılan bir izlemede ilk kez kullanıldığında başlar ve son kez yayılan izlemede kullanıldığında biter. System.Diagnostics tarafından etkinlik ömrü sınırlarını açıkça işaretlemek için Başlat ve Durdur dahil olmak üzere önceden tanımlanmış bir izleme türü kümesi sağlanır.
Başlangıç: Etkinliğin başlangıcını gösterir. "Başlat" kaydı, yeni bir işlem aşamasının başlangıcının kaydını sağlar. Belirli bir işlemdeki belirli bir izleme kaynağı için, etkinlik kimliğinin uç noktalar arasında yayılması dışında yeni bir etkinlik kimliği içerir ve bu durumda uç nokta başına bir "Başlangıç" görürüz. Yeni bir etkinlik başlatmaya örnek olarak işlenmek üzere yeni bir iş parçacığı oluşturma veya yeni bir genel yöntem girme verilebilir.
Durdurma: Etkinliğin sonunu gösterir. "Durdur" izi, mevcut bir işleme aşamasını sonlandırmaya yönelik bir kayıt sağlar. Etkinlik kimliğinin uç noktalar arasında yayılması dışında, belirli bir işlemdeki belirli bir izleme kaynağı için mevcut bir etkinlik kimliği içerir ve bu durumda uç nokta başına bir "Durdur" görürüz. Bir etkinliğin durdurulmasına örnek olarak bir işleme iş parçacığını sonlandırma veya başlangıcı "Başlangıç" izlemesiyle belirtilen bir yöntemden çıkma verilebilir.
Askıya Alma: Etkinliğin işlenmesinin askıya alındiğini gösterir. "Askıya Al" izlemesi, işlemenin daha sonra devam etmesi beklenen mevcut bir etkinlik kimliğini içerir. Geçerli iz kaynağından Askıya Alma ve Sürdürme olayları arasında bu kimlikle hiçbir iz yayımlanmaz. Örnekler arasında, dış bir kitaplık işlevine çağrıda bulunulduğunda veya G/Ç tamamlama bağlantı noktası gibi bir kaynağı beklerken bir etkinliği duraklatmak bulunur.
Özgeçmiş: Bir etkinliğin işlenmesinin devamını gösterir. "Devam Et" izleme, geçerli iz kaynağından son yayılan izlemenin "Askıya Alma" izleme olduğu mevcut bir etkinlik kimliği içerir. Örnekler arasında dış kütüphane işlevine yapılan bir çağrıdan geri dönülmesi veya bir G/Ç tamamlanma portu gibi bir kaynak tarafından işlemeye devam edilmesi için sinyal verilmesi yer alır.
Aktarım: Bazı etkinlikler diğerlerinden kaynaklandığından veya başkalarıyla ilişkilendirildiğinden, etkinlikler "Aktar" izlemeleri aracılığıyla diğer etkinliklerle ilişkilendirilebilir. Aktarım, bir etkinliğin başka bir etkinlikle yönlendirilmiş ilişkisini kaydeder
Başlatma ve Durdurma izlemeleri bağıntı için kritik değildir. Ancak, performans, profil oluşturma ve etkinlik kapsamı doğrulamasını artırmaya yardımcı olabilirler.
Bu türleri kullanarak, araç, izleme günlüklerinde gezinmeyi optimize edebilir ve aynı etkinliğin hemen ilgili olaylarını veya araç, aktarım izlerini izliyorsa ilgili etkinliklerdeki olayları bulabilir. Örneğin, araçlar bir Başlangıç/Durdurma izlemesi gördüklerinde belirli bir etkinlik için günlükleri ayrıştırmayı durdurur.
Bu izleme türleri profil oluşturma için de kullanılabilir. Başlangıç ve durdurma işaretçileri arasında tüketilen kaynaklar, kapsanan mantıksal etkinlikler de dahil olmak üzere etkinliğin kapsayıcı zamanını temsil eder. Askıya Alma ve Sürdürme izlemeleri arasındaki zaman aralıklarının çıkarılması gerçek etkinlik süresini sağlar.
Durdurma izlemesi, uygulanan etkinliklerin kapsamını doğrulamak için özellikle yararlıdır. Verilen bir etkinliğin içinde yerine Stop izlemesinin ardından işlem izleri görünüyorsa, bu kodda hata olabilir.
Etkinlik İzlemeyi Kullanma Yönergeleri
Aşağıda ActivityTracing izlemelerini (Başlat, Durdur, Askıya Al, Sürdür ve Aktar) kullanma yönergeleri yer alır.
İzleme, ağaç değil, yönlendirilmiş bir döngüsel graftır. Bir aktiviteyi başlatan bir aktiviteye kontrolü geri verebilirsiniz.
Etkinlik, sistemin yöneticisi veya desteklenebilirlik için anlamlı olabilecek bir işlem sınırını belirtir.
hem istemci hem de sunucudaki her WCF yöntemi, yeni bir etkinlik başlayıp (iş bittikten sonra) yeni etkinliği sonlandırarak ve ortam etkinliğine geri dönerek sınırlanır.
Bağlantıları dinleme veya iletileri bekleme gibi uzun süre çalışan (devam eden) etkinlikler ilgili başlatma/durdurma işaretçileriyle temsil edilir.
İletinin alınması veya işlenmesiyle tetiklenen etkinlikler izleme sınırlarıyla temsil edilir.
Etkinlikler, nesneleri değil etkinlikleri temsil eder. Bir olay "bu olduğunda meydana geliyordu" olarak yorumlanmalıdır. . . (anlamlı iz emisyonu oluştu).