#About nwiretap NWiretap is a set of simple tools to monitor points of interest inside your .NET Applications
Create a class with a set of instruments:
publicclassHomeController:Controller{privatestaticreadonlyIMeterMeter=Instrument.Meter(typeof(HomeController),"General performance","Index hits",3000);privatestaticreadonlyIInvocationTimerTimer=Instrument.Timer(typeof(HomeController),"General performance","Database fetch",3000);privatestaticreadonlyILoggerLogger=Instrument.Logger(typeof(HomeController),"General logging","Log output",20);publicActionResultIndex(){Meter.Tick();vars=Timer.Time(()=>Database.GetSomeStuff());Logger.Log("Index was hit");returnView();}}The measurements can then be obtained as JSON by acessing /nwiretap (this url is configurable) on your application:
[{"GroupName":"General performance","Instruments":[{"InstrumentID":1,"InstrumentIdent":"Database fetch","InstrumentType":"InvocationTimer","ImplementorType":"HomeController","InstrumentGroup":"General performance","Measurement":{"Samples":[{"AverageInvokationTimeMs":0,"MaxInvocationTimeMs":0,"MinInvocationTimeMs":0},{"AverageInvokationTimeMs":0,"MaxInvocationTimeMs":0,"MinInvocationTimeMs":0},{"AverageInvokationTimeMs":0,"MaxInvocationTimeMs":0,"MinInvocationTimeMs":0},{"AverageInvokationTimeMs":0,"MaxInvocationTimeMs":0,"MinInvocationTimeMs":0},{"AverageInvokationTimeMs":0,"MaxInvocationTimeMs":0,"MinInvocationTimeMs":0},{"AverageInvokationTimeMs":0,"MaxInvocationTimeMs":0,"MinInvocationTimeMs":0},{"AverageInvokationTimeMs":0,"MaxInvocationTimeMs":0,"MinInvocationTimeMs":0}],"CurrentFrequency":0,"Ticks":1}},{"InstrumentID":0,"InstrumentIdent":"Index hits","InstrumentType":"Meter","ImplementorType":"HomeController","InstrumentGroup":"General performance","Measurement":{"CurrentFrequency":0,"Ticks":1}}]},{"GroupName":"General logging","Instruments":[{"InstrumentID":2,"InstrumentIdent":"Log output","InstrumentType":"Logger","ImplementorType":"HomeController","InstrumentGroup":"General logging","Measurement":{"Entries":[{"Line":"Index was hit","Created":"00:06:03"}]}}]}]