2011-09-11 26 views
19

Bir C# konsol uygulamasında mvc-mini-profiler'i nasıl kullanabilirim?Bir konsol uygulamasında mvc mini profiler kullanabilir miyim?

Ayrıca meraklı, mvc mini profiler her bir web sayfasının sol tarafındaki gerçek profilli istatistikleri koydu mu yoksa elle yapılan özel javascript kodu mu?

Mvc örneğini indirdim ve çalıştırdım ve sonuçları bu javascript açılır penceresine koyan kodu bulamıyorum.

cevap

11

Temel zamanlama nesnesi (MiniProfiler), profil bağlantı kancaları vb. Ancak gerekecek;

  • (kolaydır web için - sadece http-istek)
  • kendi kapsamı/ömrünü tanımlamak sonuçlarını göstermek için kendi UI eklemek
  • Kendi depolama kancaları sağlamak (bir uzantısı API vardır bunun için, ben bazı insanlar için bazı bölümlerini kullanmış biliyorum şimdiki profilci instance'a

bakmak için

  • ya etrafında elle Profilcinin geçmesi veya mantıklı bir şekilde tanımlamak varsayılan IIRC tarafından http-bağlamı) kullanan WPF vb. bu yüzden kullanılabilir - ancak IMO, sadece anlamlı olan bitleri seçmek için mantıklı olabilir ve bunları harikalar ekleyen özel bir kütüphane yazmak için kullanabilir.

  • +1

    @ Mark ... üretimde çalışan bunların hiçbirini ekran var mı ? MiniProfiler'ın son yapıları ile devam ediyor musunuz? –

    +0

    @RichardB Ana odağım web’de. Konsolda özel örnek senaryolarım yok. –

    20

    evet yapabilirsin! Ve onu çalıştırmayı daha da kolaylaştırmak için bir NuGet paketi oluşturdum.

    Kontrol dışarı MiniProfiler.Windows: profilleme için iyi bir konsol uygulaması nasıl tasarlanacağı hakkında ayrıntılı bir makale için de http://nootn.github.com/MiniProfiler.Windows/

    : (şu anda yayın öncesi) http://healthedev.blogspot.com.au/2012/07/performance-profiling-console-or-winwpf.html

    +2

    Hey, nuget paketiniz harika çalışıyor. Küçük bir şey: MiniProfiler'in daha önceki bir sürümüne bağlı olduğu anlaşılan bir montaj yönlendirmesi kullanmak zorunda kaldım. En son sürüme bağlı olarak nuspec'inizi güncellemeyi düşünün. Zaten çaba için teşekkürler :) –

    +2

    Sürüm 3.1.1.140 ile uyumlu olmayacak gibi görünüyor. Düzeltmek için herhangi bir plan var mı? – Darek

    +2

    @PaulSuart 'MiniProfiler.Windows.Cindows, Sürüm = 1.0.0.0, Culture = neutral, PublicKeyToken = null' uygulamasının 'MiniProfiler.Windows.ConsoleProfilingProvider' türünde 'Yöntem' Başlat 'followint hatasıyla karşılaşıyorum. "(System.TypeLoadException) \t Özel Durum İletisi =" MiniProfiler.Windows.ConsoleProfilingProvider "türündeki" MiniProfiler.Windows.ConsoleProfilingProvider "türündeki 'Start' komutu 'MiniProfiler.Windows, Sürüm = 1.0.0.0, Culture = neutral, PublicKeyToken = null' bir uygulamaya sahip değil . Nuspec nasıl güncellenir? Çözüm klasörümde .nuspec dosyası yok. MiniProfiler sürümü 3.1.1.140 –

    0

    MiniProfiler V4 yöntemini RenderPlainText() sahiptir. Sen herhangi bir ek kurulum olmadan konsolu veya parçacıklı asenkron sunucu uygulamasında doğrudan kullanabilirsiniz:

    public void Foo() 
    { 
        MiniProfiler.Start("Interesting subroutine"); 
        using (MiniProfiler.Current.Step("Step1")) 
        { 
         using (MiniProfiler.Current.Step(nameof(AccessDb))) 
         { 
          AccessDb(); 
         } 
         Thread.Sleep(100); 
        } 
        using (MiniProfiler.Current.Step("Step2")) 
        { 
         Thread.Sleep(100); 
        } 
        MiniProfiler.Stop(); 
        Console.WriteLine(MiniProfiler.Current.RenderPlainText()); 
    } 
    

    Bu kod parçacığı çıkışı aşağıdaki üretir:

    PCName 8/2/2017 08:44:36 de
        ilginç bir alt yordam = 309.2ms
    > Adım 1 = 204.8ms
    > > AccessDB = 103.8ms (sQL = 2 CMDS içinde 56.2ms) Eğer çıkışı (bu durumda sql) kısa özel zamanlarının özetini içermektedir görebileceğiniz gibi
    > Adım2 =

    100.9ms. Bu davranışı (örneğin, komut metni eklemek için) kendi versiyonunuzu RenderPlainText() sağlayarak kolayca değiştirebilirsiniz.Daha fazla bilgi kontrol için

    :

    İlgili konular