Update x fix ping ed FTP su tracciamento dati scambiati

This commit is contained in:
Samuele Locatelli
2025-06-04 17:35:14 +02:00
parent 97ebf5cd3e
commit 023995198d
4 changed files with 60 additions and 47 deletions
+44 -45
View File
@@ -3534,6 +3534,45 @@ namespace IOB_WIN_FORM.Iob
redisMan.redSaveHash(rKey, kvp, oggi.AddDays(3));
}
/// <summary>
/// Traccia in redis l'attività di scambio dati (tipicamente non in polling)
/// </summary>
/// <param name="byteSize">Dim pacchetto (numero byte scambiati/ricevuti)</param>
/// <param name="val2rec">Dim minima x registrare info</param>
protected void trackExchData(long byteSize, long val2rec = 256)
{
// accumulo counter byte
currByteCount += byteSize;
// se superato limite scrivo (default 128byte)
if (currByteCount >= val2rec)
{
string rkeyTS = $"{redisMan.redIobTrackKey}:DataInTS";
string rkeyHS = $"{redisMan.redIobTrackKey}:DataInHS";
// chiamo direttamente metodo redis...
string newUid_ = redisMan.TrackExchData(rkeyTS, rkeyHS, currByteCount);
currByteCount = 0;
}
}
/// <summary>
/// Track dati ricevuti generici (serializzando)
/// </summary>
/// <param name="genObj"></param>
protected void trackExchDataRaw(object genObj, long val2rec = 256)
{
try
{
// salvo indicazione valore ricevuto
string rawVal = JsonConvert.SerializeObject(genObj);
// salvo dim caratteri ricevuti
trackExchData(rawVal.Length, val2rec);
}
catch (Exception exc)
{
lgError($"trackExchDataRaw | errore in fase di track obj ricevuto{Environment.NewLine}{exc}");
}
}
/// <summary>
/// Traccia in redis l'attività di lettura dati
/// </summary>
@@ -3573,7 +3612,6 @@ namespace IOB_WIN_FORM.Iob
if (actData.ContainsKey("ProcTime"))
{
double.TryParse(actData["ProcTime"], NumberStyles.Float, cultInv, out dPTime);
}
dPTime += timeSec;
}
@@ -3594,50 +3632,6 @@ namespace IOB_WIN_FORM.Iob
// salvo il mio hash aggiornato!
redisMan.redSaveHashDict(rKey, actData);
}
/// <summary>
/// Traccia in redis l'attività di scambio dati (tipicamente non in polling)
/// </summary>
/// <param name="byteSize">Dim pacchetto (numero byte scambiati/ricevuti)</param>
/// <param name="val2rec">Dim minima x registrare info</param>
protected void trackExchData(long byteSize, long val2rec = 256)
{
// accumulo counter byte
currByteCount += byteSize;
// se superato limite scrivo (default 128byte)
if (currByteCount >= val2rec)
{
string rkeyTS = $"{redisMan.redIobTrackKey}:DataInTS";
string rkeyHS = $"{redisMan.redIobTrackKey}:DataInHS";
// chiamo direttamente metodo redis...
string newUid_ = redisMan.TrackExchData(rkeyTS, rkeyHS, currByteCount);
currByteCount = 0;
}
}
/// <summary>
/// Track dati ricevuti generici (serializzando)
/// </summary>
/// <param name="genObj"></param>
protected void trackExchDataRaw(object genObj, long val2rec = 256)
{
try
{
// salvo indicazione valore ricevuto
string rawVal = JsonConvert.SerializeObject(genObj);
// salvo dim caratteri ricevuti
trackExchData(rawVal.Length, val2rec);
}
catch (Exception exc)
{
lgError($"trackExchDataRaw | errore in fase di track obj ricevuto{Environment.NewLine}{exc}");
}
}
/// <summary>
/// Accumulatore counter byte x inviare meno record in REDIS
/// </summary>
private long currByteCount = 0;
/// <summary>
/// Reset valori trackdata all'avvio dell'adapter IOB
@@ -4044,6 +4038,11 @@ namespace IOB_WIN_FORM.Iob
/// </summary>
private static Logger _logger = LogManager.GetCurrentClassLogger();
/// <summary>
/// Accumulatore counter byte x inviare meno record in REDIS
/// </summary>
private long currByteCount = 0;
/// <summary>
/// Ultimo invio valore a server
/// </summary>
+4
View File
@@ -154,8 +154,12 @@ namespace IOB_WIN_FORM.Iob
lgDebug("PING: Reset PingQueue");
Stopwatch sw = new Stopwatch();
sw.Start();
bool pingOK = testPingMachine == IPStatus.Success;
addTest(pingOK);
sw.Stop();
trackReadData(4, sw.Elapsed.TotalSeconds);
// se passa il ping faccio il resto...
if (pingStatusOk())
+10
View File
@@ -204,6 +204,9 @@ namespace IOB_WIN_FTP.Iob
}
// salvo in currProd..
upsertKey(item.Key, item.Value);
// salvo dati scambiati
trackExchData(fileContent.LongCount(), 1024);
break;
case taskType.startSetup:
@@ -238,6 +241,8 @@ namespace IOB_WIN_FTP.Iob
lgError($"Error in startSetup | fileUpload | locFile: {locFile} | remFile: {remFile}");
}
}
// salvo dati scambiati
trackExchData(fileContent.LongCount(), 1024);
break;
@@ -748,6 +753,7 @@ namespace IOB_WIN_FTP.Iob
// eseguo mirroring directory
actKey = "FtpSync";
actVal = "SRC --> DEST | Size";
long fullSize = 0;
if (step.ParamList != null && step.ParamList.Count > 1)
{
sw.Restart();
@@ -784,9 +790,13 @@ namespace IOB_WIN_FTP.Iob
{
lgTrace($"Skipped sync | {actVal}");
}
// traccio dimensione
fullSize += result.Size;
}
// risultato sintetico come successi...
fatto = mirResult != null && mirResult.Where(x => !x.IsSuccess).Count() == 0;
// salvo dati ricevuti
trackExchData(fullSize, 1024);
if (!fatto)
{
+2 -2
View File
@@ -17,8 +17,8 @@ CLI_INST=SteamWareSim
;STARTLIST=PING
;STARTLIST=3024-PING
;STARTLIST=SIMUL_01
;STARTLIST=FTP-PING
STARTLIST=SIMUL_08
STARTLIST=FTP-PING
;STARTLIST=SIMUL_08
MAXCNC=10