Update trace.js

More decoupled
This commit is contained in:
rogowski 2021-01-07 20:48:32 -03:00 committed by GitHub
parent 4b656ad7e8
commit f321b5e327
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,41 +1,44 @@
// @rogowski CAME UP WITH THIS BRILLIANT GENIUS ABSOLUTELY AMAZING AWESOME IDEA!!!! // @rogowski CAME UP WITH THIS BRILLIANT GENIUS ABSOLUTELY AMAZING AWESOME IDEA!!!!
///// TESTS rogowski
//Gun.traces=[`Participant GUN`]; /// This is a simple tool to generate logs in a Sequence Diagram compatible format.
Gun.traces=[];
Gun._trace = function(evname, msg) { var Trace = function() {}
Trace.traces=[];
Trace.log = function(evname, msg) {
//if(!(console.only.i)){ return } //if(!(console.only.i)){ return }
clearTimeout(Gun._trace.to); // clearTimeout(Trace.log.to);
Gun._trace.to = setTimeout(function(){ // Trace.log.to = setTimeout(function(){
Gun.on('trace.end', {code: Gun.traces.join('\n')}); // Trace.on('trace.end', {code: Trace.traces.join('\n')});
}, 1000); // }, 1000);
if (!msg) { if (!msg) {
//console.log('WARN, empty message: ',msg); //console.log('WARN, empty message: ',msg);
// msg=evname; // msg=evname;
// evname = 'GUN'; // evname = 'GUN';
} }
if (!Gun._tracelastev) { if (!Trace.loglastev) {
Gun._tracelastev=evname||'PEER'; Trace.loglastev=evname||'GET';
return;
}; };
// msg.lastev = Gun._tracelastev; // msg.lastev = Trace.loglastev;
Gun._trace.i = Gun._trace.i ? ++Gun._trace.i : 1; Trace.log.i = Trace.log.i ? ++Trace.log.i : 1;
//console.log(`*(${Gun._trace.i}) ${Gun._tracelastev}->:%s, msg:`, evname, msg); //console.log(`*(${Trace.log.i}) ${Trace.loglastev}->:%s, msg:`, evname, msg);
var __ = (!msg||!msg['#'] ? '' : ('#'+msg['#']).slice(0,4)+''); var __ = (!msg||!msg['#'] ? '' : ('#'+msg['#']).slice(0,4)+'');
var dam = (!msg||!msg.dam ? '' : ('dam:'+msg.dam)); var dam = (!msg||!msg.dam ? '' : ('dam:'+msg.dam));
var at = (!msg||!msg['@'] ? '' : ('@:'+msg['@']).slice(0,9)+''); var at = (!msg||!msg['@'] ? '' : ('@'+msg['@']).slice(0,4)+'');
var lS = (!msg||!msg.lS ? '' : ('lS:'+msg.lS)); var lS = (!msg||!msg.lS ? '' : ('lS:'+msg.lS));
var id = (!msg||!msg.id ? '' : ('id:'+msg.id)); var id = (!msg||!msg.id ? '' : ('id:'+msg.id));
var ram = (!msg||!msg.ram ? '' : ('ram:'+msg.ram)); var ram = (!msg||!msg.ram ? '' : ('ram:'+msg.ram));
var get = (!msg||!msg.get ? '' : ('get:'+Gun._clean(msg.get)).slice(0,15)+''); var get = (!msg||!msg.get ? '' : ('get:'+Trace.clean(msg.get)).slice(0,15)+'');
var put = !(typeof msg === 'object' && ('put' in msg)) ? '' : ('put:'+Gun._clean(msg&&msg.put?msg.put:'')).slice(0,30)+'...'; var put = !(typeof msg === 'object' && ('put' in msg)) ? '' : ('put:'+Trace.clean(msg&&msg.put?msg.put:'')).slice(0,30)+'...';
// Gun._tracelastevdt Gun._tracelastev; // Trace.loglastevdt Trace.loglastev;
// Gun._tracelastevdt = +new Date(); // Trace.loglastevdt = +new Date();
var tm = +new Date(); var tm = +new Date();
Gun._tracelastevdt = +new Date(); Trace.loglastevdt = +new Date();
// if (dam && Gun._tracelastev==='UNIVERSE') { evname='PEER'; } // if (dam && Trace.loglastev==='UNIVERSE') { evname='GET'; }
var keys = Array.isArray(msg) ? keys.sort().join(',') var keys = Array.isArray(msg) ? keys.sort().join(',')
: typeof msg==='object' ? Object.keys(msg).sort().join(',') : typeof msg==='object' ? Object.keys(msg).sort().join(',')
: 'this'; : 'this';
@ -44,16 +47,17 @@ Gun._trace = function(evname, msg) {
if (msg['#']) { if (msg['#']) {
evname='GUN'; evname='GUN';
} else { } else {
Gun._tracelastev='GUN'; Trace.loglastev='GUN';
} }
Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.i}) {${keys}} ${get} ${put} ${__} ${dam} ${ram} ${id} ${at} ${lS}`); Trace.traces.push(`${Trace.loglastev}->${evname}: (${Trace.log.i}) {${keys}} ${get} ${put} ${__} ${dam} ${ram} ${id} ${at} ${lS}`);
} else { } else {
//Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.i}) {${keys.slice(0,15)}} ${get} ${put} ${__} ${dam} ${ram} ${id} ${at} ${lS}`); //Trace.traces.push(`${Trace.loglastev}->${evname}: (${Trace.log.i}) {${keys.slice(0,15)}} ${get} ${put} ${__} ${dam} ${ram} ${id} ${at} ${lS}`);
Gun.traces.push(Gun._tracelastev+'->'+evname+': '+(console.only.i||'')+' '+__); // Trace.traces.push(Trace.loglastev+'->'+evname+': '+(Trace.log.i+') '+(console.only.i||''))+' '+__+' '+at);
// Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.i}) {${!keys?'this':keys}}`); Trace.traces.push(Trace.loglastev+'->'+evname+': '+ Trace.log.i+') '+__+' '+at);
// Trace.traces.push(`${Trace.loglastev}->${evname}: (${Trace.log.i}) {${!keys?'this':keys}}`);
} }
Gun._tracelastev = evname; Trace.loglastev = evname;
Gun._tracelastevdt = tm; Trace.loglastevdt = tm;
}; };
Gun._clean = function(txt) { return JSON.stringify(typeof txt==='undefined' ? 'undef' : txt||null).replace(/"|\{|\}+/g,'').slice(0,20).trim(); }; Trace.clean = function(txt) { return JSON.stringify(typeof txt==='undefined' ? 'undef' : txt||null).replace(/"|\{|\}+/g,'').slice(0,20).trim(); };