Exemple #1
0
        /// <summary>
        /// Pára e retorna o relatório do timer
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            Stop();
            string   report   = "";
            TimeSpan total    = TimeSpan.Zero;
            var      maxWidth = timers.Max(p => p.ProcessName.Length);

            maxWidth = Math.Max(maxWidth, "Total".Length);

            var ts = timers.Where(p => p.isValid).ToList();

            for (int i = 0; i < ts.Count; i++)
            {
                total += timers[i].TimeElapsed;
            }

            for (int i = 0; i < ts.Count; i++)
            {
                report += timers[i].FormatTotal(maxWidth) + (ts.Count > 1 ? " --> " + string.Format("{0:p2}", timers[i].TimeElapsed.TotalMilliseconds / total.TotalMilliseconds).PadLeft(8) : "") + Environment.NewLine;
            }

            if (ts.Count > 1 && total != TimeSpan.Zero)
            {
                report += TimerCountInfo.FormatTotal("Total", total, ts.First().start, ts.Last().end, maxWidth);
            }
            return(report);
        }
Exemple #2
0
 private void Stop()
 {
     if (info != null)
     {
         info.Stop();
         if (info != info0)
         {
             timers.Add(info);
         }
         info = null;
     }
 }
Exemple #3
0
 /// <summary>
 /// Inicializa uma nova instância de TimerCount
 /// </summary>
 /// <param name="title">Título do timer</param>
 /// <param name="start">Se start=true, começa a medir o tempo. Se start=false, não começa a mediro tempo</param>
 public TimerCount(string title, bool start)
 {
     timers = new List <TimerCountInfo>();
     info0  = info = new TimerCountInfo(title, start);
     timers.Add(info);
 }
Exemple #4
0
 /// <summary>
 /// Cria um novo time
 /// </summary>
 /// <param name="title">Título do timer</param>
 /// <param name="start">Se start=true, começa a medir o tempo. Se start=false, não começa a mediro tempo</param>
 public void Next(string title, bool start)
 {
     Stop();
     info = new TimerCountInfo(title, start);
 }