64 lines
1.8 KiB
C#
64 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace IOB_UT_NEXT.Objects
|
|
{
|
|
/// <summary>
|
|
/// Gestione dati di timing
|
|
/// </summary>
|
|
public static class TimingData
|
|
{
|
|
#region Public Fields
|
|
|
|
public static List<TimeRec> results = new List<TimeRec>();
|
|
|
|
#endregion Public Fields
|
|
|
|
#region Public Methods
|
|
|
|
/// <summary>
|
|
/// aggiorno vettore aggiungendo risultato
|
|
/// </summary>
|
|
/// <param name="caller">Codice chiamante</param>
|
|
/// <param name="codice">Codice da registrare (univoco con chiamante)</param>
|
|
/// <param name="ticks">Tempo esecuzione in ticks</param>
|
|
public static void addResult(string caller, string codice, long ticks)
|
|
{
|
|
if (results.Count == 0)
|
|
{
|
|
results.Add(new TimeRec(caller, codice, ticks));
|
|
}
|
|
int indice = -1;
|
|
for (int i = 0; i < results.Count; i++)
|
|
{
|
|
// se il codice è quello cercato...
|
|
if (results[i].codCall == codice && results[i].classCall == caller)
|
|
{
|
|
indice = i;
|
|
}
|
|
}
|
|
// se c'è aggiorno...
|
|
if (indice >= 0)
|
|
{
|
|
results[indice].numCall++;
|
|
results[indice].totMsec = results[indice].totMsec.Add(new TimeSpan(ticks));
|
|
}
|
|
// altrimenti aggiungo...
|
|
else
|
|
{
|
|
results.Add(new TimeRec(caller, codice, ticks));
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Resetta i dati registrati (ad avvio adapter...)
|
|
/// </summary>
|
|
public static void resetData()
|
|
{
|
|
results = new List<TimeRec>();
|
|
}
|
|
|
|
#endregion Public Methods
|
|
}
|
|
}
|