/// <summary> /// Stops perf counters polling /// </summary> public void Stop() { PerfMonitorBase.Stop(); if (cfg != null) { cfg.Properties[EnumKeyNames.PerfMonitorLib.ToString()] = null; } }
/// <summary> /// Start polling and saving perf counters. Period is in sec /// </summary> /// <param name="pollPeriod_sec">Poll period, ms</param> public void Start(HttpConfiguration httpConfiguration, int pollPeriod_sec) { PerfMonitorBase.Start(pollPeriod_sec); cfg = httpConfiguration; httpConfiguration.Filters.Add(new ExceptionCounterFilter(this.PerfMonitorBase)); httpConfiguration.MessageHandlers.Add(new RequestPerfMonitorMessageHandler(this.PerfMonitorBase)); //httpConfiguration.Services.Add(typeof(PerfMonitorForWebApi), this); httpConfiguration.Properties[EnumKeyNames.PerfMonitorLib.ToString()] = this; //httpConfiguration.MapHttpAttributeRoutes(); }
/// <summary> /// Start polling and saving perf counters. Period is in ms /// </summary> /// <param name="pollPeriod_sec">Poll period, ms</param> public void Start(HttpApplication app, RouteCollection routes, int pollPeriod_sec) { PerfMonitorBase.Start(pollPeriod_sec); app.Application[EnumKeyNames.PerfMonitorLib.ToString()] = this; if (Configuration.EnablePerfApi) { var r = routes.MapRoute( name: "PerfMonitor", url: "api/perfcounters/", defaults: new { controller = "PerfCounters", action = "Get" } ); routes.Remove(r); routes.Insert(0, r); } GlobalFilters.Filters.Add(new PerfMonitoringFilter(PerfMonitorBase)); GlobalFilters.Filters.Add(new ExceptionCounterFilter(PerfMonitorBase)); }
public void RegisterInMemoryCacheStorage(long expirationInSeconds = 60 *60) { Storage = PerfMonitorBase.RegisterInMemoryCacheStorage(expirationInSeconds); }
public void RegisterLiteDbStorage(string dbPath) { Storage = PerfMonitorBase.RegisterLiteDbStorage(dbPath); }
/// <summary> /// Easy register some default perf counter storages implemented in the lib, if needed /// </summary> /// <param name="dbPath"></param> public void RegisterCSVFileStorage(string dbPath) { Storage = PerfMonitorBase.RegisterCSVFileStorage(dbPath); }
/// <summary> /// Register perf counter storages /// </summary> /// <param name="storage"></param> public void RegisterStorages(params IPerfomanceCountersStorage[] storage) { Storage = PerfMonitorBase.RegisterStorages(storage); }
/// <summary> /// Stops perf counters polling /// </summary> public void Stop() { PerfMonitorBase.Stop(); }