Update x fix ping ed FTP su tracciamento dati scambiati
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user