Errori, bug, domande - pagina 1987

 
fxsaber:

Un sacco di voci. Vedere il file di log.

"Molte voci" è una parola forte... La maggior parte delle voci semplicemente non ci sono. Ma la domanda è: cosa potrebbe esattamente impedire l'output nel file di log?

Per esempio, un EA che non è molto sofisticato:

void OnTick ()
{
  Print (TimeCurrent());
}

In modalità "Real ticks" mostra questi registri:

2017.09.05 09:38:56.994 Tester EURUSD: i dati della storia iniziano dal 2014.07.29 00:00
2017.09.05 09:38:56.996 Tester EURUSD: è iniziato il download preliminare dei tick della storia, potrebbe richiedere molto tempo
2017.09.05 09:38:58.001 Tester EURUSD: download preliminare dei tick della storia completato, 35,52 Kb in 0:01.030 (34,48 Kb/sec)
2017.09.05 09:38:58.001 Tester EURUSD: i dati dei tick iniziano il 2017.06.01 00:00
2017.09.05 09:38:58.002 Processo agente Core 1 avviato
2017.09.05 09:38:58.346 Core 1 in connessione con 127.0.0.1:3000
2017.09.05 09:38:58.347 Core 1 connesso
2017.09.05 09:38:58.350 Core 1 autorizzato (agent build 1653)
2017.09.05 09:38:58.352 Tester EURUSD,M15 (MetaQuotes-Demo): test di esperti\Test.ex5 da 2017.08.30 00:00 a 2017.08.31 00:00
2017.09.05 09:38:58.404 Core 1 sincronizzazione comune completata
2017.09.05 09:38:58.455 Core 1 EURUSD: ticks già sincronizzati [43 bytes]
2017.09.05 09:39:04.609 Core 1 2017.08.30 00:36:55 2017.08.30 00:36:55
2017.09.05 09:39:10.760 Core 1 2017.08.30 00:48:27 2017.08.30 00:48:27
2017.09.05 09:39:16.866 Core 1 2017.08.30 01:02:20 2017.08.30 01:02:20
2017.09.05 09:39:22.976 Core 1 2017.08.30 01:24:08 2017.08.30 01:24:08
2017.09.05 09:39:27.668 Core 1 disconnesso
2017.09.05 09:39:27.668 Core 1 connessione chiusa
2017.09.05 09:39:27.681 Tester fermato dall'utente

Detto questo, il tester è terribilmente lento, come si può vedere salti di decine di minuti...

Macchina su VPS.

 
Andrey Dik:

"Un sacco di dischi" è una parola molto forte... La maggior parte delle voci semplicemente non ci sono. Ma la domanda è: che cosa esattamente potrebbe impedire la registrazione?

Guarda il file di log.

Per esempio, un EA che non è molto sofisticato:

in modalità "Real ticks" emette tali registri:

2017.09.05 09:38:56.994 Tester EURUSD: i dati della storia iniziano dal 2014.07.29 00:00
2017.09.05 09:38:56.996 Tester EURUSD: è iniziato il download preliminare dei tick della storia, potrebbe richiedere molto tempo
2017.09.05 09:38:58.001 Tester EURUSD: download preliminare dei tick della storia completato, 35,52 Kb in 0:01.030 (34,48 Kb/sec)
2017.09.05 09:38:58.001 Tester EURUSD: i dati dei tick iniziano il 2017.06.01 00:00
2017.09.05 09:38:58.002 Processo agente Core 1 avviato
2017.09.05 09:38:58.346 Core 1 in connessione con 127.0.0.1:3000
2017.09.05 09:38:58.347 Core 1 connesso
2017.09.05 09:38:58.350 Core 1 autorizzato (agent build 1653)
2017.09.05 09:38:58.352 Tester EURUSD,M15 (MetaQuotes-Demo): test di esperti\Test.ex5 da 2017.08.30 00:00 a 2017.08.31 00:00
2017.09.05 09:38:58.404 Core 1 sincronizzazione comune completata
2017.09.05 09:38:58.455 Core 1 EURUSD: ticks già sincronizzati [43 bytes]
2017.09.05 09:39:04.609 Core 1 2017.08.30 00:36:55 2017.08.30 00:36:55
2017.09.05 09:39:10.760 Core 1 2017.08.30 00:48:27 2017.08.30 00:48:27
2017.09.05 09:39:16.866 Core 1 2017.08.30 01:02:20 2017.08.30 01:02:20
2017.09.05 09:39:22.976 Core 1 2017.08.30 01:24:08 2017.08.30 01:24:08
2017.09.05 09:39:27.668 Core 1 disconnesso
2017.09.05 09:39:27.668 Core 1 connessione chiusa
2017.09.05 09:39:27.681 Tester fermato dall'utente

ma il tester sta rallentando terribilmente, come potete vedere salti di decine di minuti...

Beh, molte migliaia di voci di registro, ecco perché sta rallentando.

 
Andrey Dik:

"Un sacco di dischi" è una parola molto forte... La maggior parte delle voci semplicemente non ci sono. Ma la domanda è: cosa potrebbe essere esattamente ad ostacolare la registrazione?

Per esempio, un EA non molto complesso:

La modalità "Real ticks" visualizza questi registri:


ma il tester è terribilmente lento, come si può vedere salta nelle decine di minuti...

Macchina su VPS.

Lo skipping consiste in un numero enorme di record, il registro ne taglia la metà quando non sono necessari, il che rallenta il processo

 
fxsaber:

Vedere il file di log.

Tante migliaia di voci di registro, ecco perché è lento.

Vitaly Muzichenko:

I salti sono dovuti all'enorme numero di voci, il registro ne taglia la metà inutilmente, il che lo rende anche lento.

Avete provato entrambi quello di cui state parlando?

Sull'altra macchina la stampa dei log viene emessa su ogni tick come dovrebbe essere e non ci sono ritardi, ma su questa particolare macchina non tutti i log vengono emessi, con grandi salti e ritardi.

Il dilettantismo dei tester mi stupisce a volte, non si può fare un output di log personalizzato (errori, stampa, ecc.) secondo la scelta dell'utente? Se c'è un problema con l'emissione di tutti i log e il tester li taglia, allora perché non lo dice, come "Ascolta, non posso emettere tutti i log, solo in diverse volte, il motivo ......".

Quindi, quale può essere la ragione dell'output incompleto nel log con il salto (non con il taglio, cioè con il salto)?

 
Andrey Dik:

Avete provato entrambi quello di cui state parlando?

Sull'altra macchina la stampa del registro è stampata su ogni tick come dovrebbe essere e non ci sono freni, ma su questa in particolare non tutti.

Non ho solo provato, ho iniziato a cercare un bug nel programma che non c'era. Si è scoperto che era solo che i registri venivano stampati molto ed è per questo che c'erano dei salti.

 
Vitaly Muzichenko:

Non ho solo provato, ho iniziato a cercare un bug nel programma che non c'era. Si è scoperto che era solo che i registri venivano stampati molto, e quindi c'erano delle omissioni.

No, Vitaly, nel post precedente ho finito. Sull'altra macchina i registri sono stampati senza salti su ogni tick come dovrebbero essere.
 
Andrey Dik:
No, Vitaly, l'ho finito nel post precedente. Sull'altra macchina i log sono emessi senza spazi vuoti su ogni tick come dovrebbero essere.

Beh, forse il sistema operativo è diverso, io ho win7 x64

 
Vitaly Muzichenko:

Beh, forse il sistema operativo è diverso, io ho win7 x64

Sulla macchina problematica Server 2008, c'è memoria libera su disco e nella RAM.

Su Win 10 64 e Win7 64 i log vengono visualizzati completamente, senza salti. Prova a far girare EA solo per un giorno in modalità "ticks" o "real ticks", se ci sono dei salti significa che hai lo stesso problema della mia macchina problematica. Questo è un bug specifico del tester, se non è in grado di emettere log completi allora deve informare l'utente di questo e del motivo, i log non hanno significato se non sono completi. Chi ha bisogno di registri con lacune, come fare il debug del programma?

 
Andrey Dik:

Avete provato entrambi quello di cui state parlando?

Sull'altra macchina la stampa viene registrata su ogni tick come dovrebbe essere e non ci sono freni, ma su questa particolare macchina non tutti i log vengono registrati, con grandi salti e freni.

Il dilettantismo del tester stupisce a volte, beh, non si può fare un output di log personalizzato (errori, stampa, ecc.) secondo la scelta dell'utente? Se c'è un problema con l'output di tutti i log e il tester li taglia, perché non dice qualcosa come "Ascolta, non posso emettere tutti i log, solo in diverse volte, il motivo ......"?

Quindi, quale potrebbe essere la ragione per l'output di log incompleto (non il trimming, ma il salto)?

Oltre ai log del tester, ci sono anche i log dell'agente tester. È tutto lì di sicuro
 
Slava:
Oltre ai log del tester, ci sono anche i log dell'agente tester. Ci si può trovare di tutto.


Esatto, ci sono, eccoli qui:

2017.09.05
2017.09.05 11:42:04:04 Il registro dei logger è stato pulito
2017.09.05 2017.09.05 00:00:00.000 Server MetaTester 5 fermato

Non c'è altro là fuori.

Allora perché non ci sono informazioni complete sulla funzione Print() nei log del tester?