/// <summary> /// Instanciates a new metrics data collector for the specified module and component. /// </summary> /// <param name="module"></param> /// <param name="component"></param> public MetricsCollector(MetricModule module, String component) { _module = module; _component = component; Consumer.CategoryName = module.GetCategoryName(); }
/// <summary> /// Gets the performance counter category for the specified module. /// </summary> /// <param name="metricModule"></param> /// <returns></returns> public static String GetCategoryName(this MetricModule metricModule) { if (HttpContext.Current != null) { return("Logictracker.Web"); } var args = Environment.GetCommandLineArgs(); if (args == null || args.Length.Equals(0)) { return("Logictracker"); } var application = args[1]; return(Path.GetFileNameWithoutExtension(application)); }
/// <summary> /// Gets the description associated to the givenn metric module. /// </summary> /// <param name="metricModule"></param> /// <returns></returns> public static String GetDescription(this MetricModule metricModule) { switch (metricModule) { case MetricModule.LogictrackerWeb: return("Logictracker.Web"); case MetricModule.LogictrackerDispatcher: return("Logictracker.Dispatcher"); case MetricModule.LogictrackerScheduler: return("Logictracker.Scheduler"); case MetricModule.LogictrackerDal: return("Logictracker.DAL"); case MetricModule.LogictrackerGatewaySampeV1: return("Logictracker.Gateway.SampeV1"); case MetricModule.LogictrackerGatewaySampeV2: return("Logictracker.Gateway.SampeV2"); case MetricModule.LogictrackerGatewayTrax: return("Logictracker.Gateway.Trax"); case MetricModule.LogictrackerGatewayTorino: return("Logictracker.Gateway.Torino"); case MetricModule.LogictrackerGatewayEnfora: return("Logictracker.Gateway.Enfora"); case MetricModule.LogictrackerMailSender: return("Logictracker.Mailing"); case MetricModule.LogictrackerMessageSaver: return("Logictracker.MessageSaver"); case MetricModule.LogictrackerFileManager: return("Logictracker.FileManager"); case MetricModule.LogictrackerCache: return("Logictracker.Cache"); case MetricModule.LogictrackerNotifier: return("Logictracker.Notifier"); case MetricModule.LogictrackerPositionsGenerator: return("Logictracker.PositionsGenerator"); default: return(String.Empty); } }