Aracılığıyla paylaş


Döngüsel İzleme

CircularTracing örneği, döngüsel arabellek izleme dinleyicisinin uygulanmasını gösterir. Üretim hizmetleri için yaygın bir senaryo, hizmetlerin uzun süre kullanılabilir olması ve iz kaydı tutmanın düşük seviyede aktif hale getirilmesidir. Bu hizmetler çok fazla disk alanı tüketir. Bir hizmetle ilgili sorunları giderirken izleme günlüğündeki en son veriler bir sorunu çözmeye yöneliktir. Bu örnek, yalnızca en son izlemelerin yapılandırılabilir miktarda veriye kadar diskte tutulduğu bir döngüsel arabellek izleme dinleyicisinin uygulamasını sunmaktadır. Bu örnek Başlarken'e dayanır ve özel bir izleme dinleyicisi içerir.

Uyarı

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda yer alır.

Bu örnekte , İzleme ve İleti Günlüğü örneğini bildiğiniz ve İzleme ve İleti Günlüğü örneği için sağlanan belgeleri okuduğunuz varsayılır.

Döngüsel Arabellek İzleme Dinleyicisi

Döngüsel Arabellek İzleme Dinleyicisi'nin uygulanmasının ardındaki kavram, her biri istenen toplam izleme günlüğü verilerinin yarısına kadar depolayabilen iki dosyaya sahip olmaktır. Dinleyici bir dosya oluşturur ve veri boyutunun yarısı sınırına ulaşana kadar bu dosyaya yazar ve bu noktada ikinci bir dosyaya geçer. Dinleyici ikinci dosya için sınıra ulaştığında, ilk dosyanın üzerine yeni izler yazar.

Bu dinleyici XmlWriteTraceListener den türetilir ve günlüklerin Hizmet İzleme Görüntüleyici Aracı ile (SvcTraceViewer.exe) görüntülenmesine izin verir. Günlükleri görüntülemeye çalışırken, iki günlük dosyası da Hizmet İzleme Görüntüleyicisi aracında aynı anda açılarak kolayca yeniden birleştirilebilir. Hizmet İzleme Görüntüleyicisi aracı, izlemeleri doğru sırada görünecek şekilde sıralamayı otomatik olarak üstlenir.

Konfigürasyon

Bir hizmet, dinleyici ve kaynak öğeleri için aşağıdaki kodu ekleyerek Döngüsel Arabellek İzleme Dinleyicisi'ni kullanacak şekilde yapılandırılabilir. Maksimum dosya boyutu, döngüsel izleme dinleyicisinin yapılandırmasında maxFileSizeKB özelliği ayarlanarak belirtilir. Bu, aşağıdaki kodda gösterilmiştir.

<system.diagnostics>
  <sources>
    <source name="System.ServiceModel" switchValue="Information,ActivityTracing" propagateActivity="true">
      <listeners>
        <add name="CircularTraceListener" />
      </listeners>
    </source>
  </sources>
  <sharedListeners>
    <add name="CircularTraceListener" type="Microsoft. Samples.ServiceModel.CircularTraceListener,CircularTraceListener"
         initializeData="c:\logs\CircularTracing-service.svclog" maxFileSizeKB="100" />
  </sharedListeners>
  <trace autoflush="true" />
</system.diagnostics>

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Windows Communication Foundation Örnekleri içinOne-Time Kurulum Yordamı'nı gerçekleştirdiğinizden emin olun.

  2. Çözümün C# veya Visual Basic .NET sürümünü oluşturmak için Windows Communication Foundation Örneklerioluşturma başlığındaki yönergeleri izleyin.

  3. Örneği tek veya bilgisayarlar arası bir yapılandırmada çalıştırmak için Windows Communication Foundation Örneklerini Çalıştırma başlığındaki yönergeleri izleyin.

Ayrıca bakınız