/// <summary> /// A quick way to show the currently defined counter values. /// </summary> /// <param name="Selection">Selects running or stopped counters, or all.</param> /// <param name="Granularity">Specifies the granularity of the counter values to be displayed /// (milliseconds, seconds, minutes, etc.)</param> public void ShowMessageBox ( MeasurementCounterSelection Selection = MeasurementCounterSelection. All, MeasurementCounterGranularity Granularity = MeasurementCounterGranularity. Milliseconds ) { List<MeasurementCounter> Items = GetCounters ( Selection ) ; String Message ; if ( Items. Count == 0 ) Message = "No counter defined." ; else { Message = "Counter status :" ; foreach ( MeasurementCounter Item in Items ) { Message += "\n" + String. Format ( "{0,-32} : ", Item. Name ) ; switch ( Granularity ) { case MeasurementCounterGranularity. Days : Message += Item. Elapsed. TotalDays + "d" ; break ; case MeasurementCounterGranularity. Hours : Message += Item. Elapsed. TotalHours + "h" ; break ; case MeasurementCounterGranularity. Minutes : Message += Item. Elapsed. TotalMinutes + "mn" ; break ; case MeasurementCounterGranularity. Seconds : Message += Item. Elapsed. TotalSeconds + "s" ; break ; case MeasurementCounterGranularity. Milliseconds : Message += Item. Elapsed. TotalMilliseconds + "ms" ; break ; case MeasurementCounterGranularity. Ticks : Message += Item. Elapsed. Ticks ; break ; } if ( Item. Running ) Message += " (R)" ; else Message += " (S)" ; } } MessageBox. Show ( Message, "Counters", MessageBoxButtons. OK ) ; }
/// <summary> /// Gets the list of currently defined counters. /// </summary> /// <param name="Selection">Counter selection : All, Started or Stopped.</param> /// <returns>A list of MeasurementCounter objects corresponding to the selection.</returns> public List<MeasurementCounter> GetCounters ( MeasurementCounterSelection Selection = MeasurementCounterSelection. Started ) { if ( Selection == MeasurementCounterSelection. All ) return ( p_Counters ) ; List<MeasurementCounter> Selected = new List<MeasurementCounter> ( ) ; foreach ( MeasurementCounter Item in p_Counters ) { if ( ( Item. Running && Selection == MeasurementCounterSelection. Started ) || ( ! Item. Running && Selection == MeasurementCounterSelection. Stopped ) ) Selected. Add ( Item ) ; } return ( Selected ) ; }