Sto scrivendo un'applicazione Web che utilizza websocket per la comunicazione bidirezionale tra il client e il server. La mia preoccupazione principale è la latenza percepita dall'utente, quindi, sto misurando e profilando tutto ciò che posso. In particolare, sto catturando l'ora corrente nell'evento onmessage(). Questo è utile, ma voglio anche sapere quando l'evento è stato inserito nel ciclo degli eventi del browser, cosa che avviene prima che venga attivato l'evento onmessage.Temporizzazione Websocket: come ottenere l'ora esatta in cui un messaggio Websocket arriva al browser?
In Chrome Developer Tools, vedo le volte nella scheda "Rete-> Cornici", che, penso, è l'ora in cui l'evento entra nel ciclo degli eventi. Ma ho bisogno di catturare questo a livello di codice in Javascript. Qualche idea su come fare questo?
Ho fatto un po 'di "console.log" e ho visto in alcuni casi una differenza di circa 10 millisecondi tra il tempo visualizzato in Strumenti di sviluppo e il tempo che ho acquisito nell'evento onmessage. Voglio che le mie misurazioni mostrino se la differenza è sempre piccola come 10 millisecondi, o se a volte la differenza è molto più alta, a causa del rendering o di qualche altra cosa che accade nella pagina.
In questo momento si sta verificando un problema con l'utilizzo della latenza percepita o semplicemente l'ottimizzazione prematura? Se stai riscontrando un problema, stai effettivamente inviando ping da 30k al secondo? Quel tipo di ping potrebbe portare a un sito come healthcare.gov ... Infine, la maggior parte degli umani non percepirà una differenza di 10 ms, quindi se sei in grado di catturare un tempo in codice che si distanzia di 10ms da quello che sei vedendo in dev. gli strumenti, questo è abbastanza buono, passare al prossimo problema. –
La latenza è la mia principale preoccupazione, in realtà si sta verificando e sono alla ricerca di modi per ridurlo, quindi sto studiando l'influenza di diversi parametri sulla latenza, come dimensioni del messaggio, ubicazioni fisiche, numero di utenti simultanei, ecc. .. Il motivo per cui ho postato questa domanda è perché non sono sicuro che le mie misurazioni siano solo 10 millisecondi. Il browser sembra sapere quando è arrivato un messaggio, quindi penso che potrebbe esserci un modo per acquisire queste informazioni. E per quanto riguarda il 30k, questo è solo uno dei miei molti esperimenti. Non è necessariamente una tipica dimensione del messaggio. –