mirror of
https://github.com/amark/gun.git
synced 2025-06-24 15:02:33 +00:00
@rogowski approved of these trace changes :)
This commit is contained in:
parent
4221c24e84
commit
5f19570191
106
test/trace.html
106
test/trace.html
@ -8,6 +8,7 @@ html, body {
|
|||||||
margin: 0 0;
|
margin: 0 0;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
padding: 10px 15px;
|
padding: 10px 15px;
|
||||||
|
color: white;
|
||||||
}
|
}
|
||||||
body {
|
body {
|
||||||
background: rgba(0,0,0,0.7);
|
background: rgba(0,0,0,0.7);
|
||||||
@ -35,6 +36,8 @@ body {
|
|||||||
}*/
|
}*/
|
||||||
#diagram svg text {
|
#diagram svg text {
|
||||||
fill: #79ce7f;
|
fill: #79ce7f;
|
||||||
|
f-ill: black;
|
||||||
|
f-ill: red;
|
||||||
}
|
}
|
||||||
#diagram svg text:hover {
|
#diagram svg text:hover {
|
||||||
fill: #20ff3b;
|
fill: #20ff3b;
|
||||||
@ -48,6 +51,11 @@ body {
|
|||||||
#diagram svg .actor rect,
|
#diagram svg .actor rect,
|
||||||
#diagram svg .actor path {
|
#diagram svg .actor path {
|
||||||
fill: #ffffff;
|
fill: #ffffff;
|
||||||
|
position: fixed;
|
||||||
|
top: 1em;
|
||||||
|
}
|
||||||
|
#diagram svg .actor {
|
||||||
|
opacity: 0;
|
||||||
}
|
}
|
||||||
#diagram svg .actor text {
|
#diagram svg .actor text {
|
||||||
fill: #000000;
|
fill: #000000;
|
||||||
@ -60,6 +68,14 @@ body {
|
|||||||
stroke: rgba(0,0,0,0.5);
|
stroke: rgba(0,0,0,0.5);
|
||||||
/* stroke-width: 5px; */
|
/* stroke-width: 5px; */
|
||||||
}
|
}
|
||||||
|
.method {
|
||||||
|
font-size: 140%;
|
||||||
|
display: block;
|
||||||
|
background: black;
|
||||||
|
color: white;
|
||||||
|
padding: 0.3em;
|
||||||
|
top: 5em;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@ -82,52 +98,78 @@ body {
|
|||||||
<script>
|
<script>
|
||||||
;(function(){
|
;(function(){
|
||||||
// OVERLOAD GUN FUNCTIONS THAT WE WANT TO TRACE:
|
// OVERLOAD GUN FUNCTIONS THAT WE WANT TO TRACE:
|
||||||
var _get = Gun.on._get;
|
var _get = Gun.on._get; Gun.on._get = function(a,b,c,d,e){ Gun._trace('GET', a); _get.call(this, a,b,c,d,e) }
|
||||||
Gun.on._get = function(a,b,c,d,e){ Gun._trace('_GET', a); _get.call(this, a,b,c,d,e) }
|
var _put = Gun.on.put; Gun.on.put = function(a,b,c,d,e){ Gun._trace('PUT', a); _put.call(this, a,b,c,d,e) }
|
||||||
var get = Gun.chain.get;
|
|
||||||
Gun.chain.get = function(a,b,c,d,e){ Gun._trace('GET', a); return get.call(this, a,b,c,d,e) }
|
|
||||||
var put = Gun.chain.put;
|
|
||||||
Gun.chain.put = function(a,b,c,d,e){ Gun._trace('PUT', a); put.call(this, a,b,c,d,e) }
|
|
||||||
|
|
||||||
var on = Gun.chain.on;
|
/*var get = Gun.chain.get; Gun.chain.get = function(a,b,c,d,e){ Gun._trace('.get', a); return get.call(this, a,b,c,d,e) }
|
||||||
Gun.chain.on = function(a,b,c,d,e){ Gun._trace('ON', a); on.call(this, a,b,c,d,e) }
|
var put = Gun.chain.put; Gun.chain.put = function(a,b,c,d,e){ Gun._trace('.put', a); return put.call(this, a,b,c,d,e) }
|
||||||
|
var on = Gun.chain.on; Gun.chain.on = function(a,b,c,d,e){ Gun._trace('.on', a); return on.call(this, a,b,c,d,e) }
|
||||||
var map = Gun.chain.map;
|
var map = Gun.chain.map; Gun.chain.map = function(a,b,c,d,e){ Gun._trace('.map', a); return map.call(this, a,b,c,d,e) }*/
|
||||||
Gun.chain.map = function(a,b,c,d,e){ Gun._trace('MAP', a); map.call(this, a,b,c,d,e) }
|
var once = Gun.chain.once; Gun.chain.once = function(a,b,c,d,e){ Gun._trace('.once', a); return once.call(this, a,b,c,d,e) }
|
||||||
|
|
||||||
var input = Gun.on.in;
|
var input = Gun.on.in; Gun.on.in = function(a,b,c,d,e){ Gun._trace('in', a); input.call(this, a,b,c,d,e) }
|
||||||
Gun.on.in = function(a,b,c,d,e){ Gun._trace('input', a); input.call(this, a,b,c,d,e) }
|
|
||||||
|
|
||||||
var output = Gun.on.out;
|
var output = Gun.on.out; Gun.on.out = function(a,b,c,d,e){ Gun._trace('out', a); output.call(this, a,b,c,d,e) }
|
||||||
Gun.on.out = function(a,b,c,d,e){ Gun._trace('output', a); output.call(this, a,b,c,d,e) }
|
|
||||||
|
//var only = console.only; console.only = function(a,b,c,d,e,f,g){ Gun._trace('ONLY'); return only.apply(console,arguments) }
|
||||||
|
var start = +new Date;
|
||||||
|
setTimeout(function log(){
|
||||||
|
if((+new Date - start) > 100){ return }
|
||||||
|
setTimeout(log, 0);
|
||||||
|
Gun._trace("ASYNC");
|
||||||
|
},0);
|
||||||
}());
|
}());
|
||||||
|
|
||||||
;(function(){ // PASTE YOUR UNIT TEST INTO HERE TO TRACE IT!
|
;(function(){ // PASTE YOUR UNIT TEST INTO HERE TO TRACE IT!
|
||||||
var gun = window.gun = Gun();
|
localStorage.clear();
|
||||||
var data = {
|
var goff = Gun();
|
||||||
levelA2: { levelA3: { levelA4: { levelA5: "hello" } } },
|
Gun.statedisk = function(o,s,cb){
|
||||||
//levelB2: { levelB3: { levelB4: { levelB5: "world" } } }
|
goff.get(s).put(o, cb, {turn: function(fn){fn()}});
|
||||||
};
|
};
|
||||||
//gun.get('level1').put(data);
|
//Gun._trace('ONLY');
|
||||||
//gun.get('level1').map().map().on(function(v,k){ console.log('level3', k, v); check[k] = v });
|
Gun._trace('GET');
|
||||||
// gun.get('level2').put({D1: 'hello!!', C1: 'world!!'})
|
Gun._trace('PUT');
|
||||||
gun.get('level1').put({A1: 'hello', B1: 'world'}, function(ack){
|
Gun._trace('out');
|
||||||
Gun._trace('ACKED')
|
Gun._trace('in');
|
||||||
//console.log('ack!', ack);
|
//Gun._trace('.get');
|
||||||
gun.get('level1').on(function(data){
|
Gun._trace('.once');
|
||||||
Gun._trace('READ')
|
//Gun._trace('.put');
|
||||||
//console.log("read!", data);
|
|
||||||
});
|
var gun = Gun();
|
||||||
});
|
var bob = {age: 29, name: "Bob!"};
|
||||||
|
var cat = {name: "Fluffy", species: "kitty"};
|
||||||
|
var user = {bob: bob};
|
||||||
|
bob.pet = cat;
|
||||||
|
cat.slave = bob;
|
||||||
|
Gun.statedisk(user, 'nodecircle', function(){
|
||||||
|
console.only.i=1;console.log("=============", gun);
|
||||||
|
//gun.get('nodecircle').get('bob').once(function(data){
|
||||||
|
gun.get('nodecircle').get('bob').get('pet').get('slave').once(function(data){
|
||||||
|
console.log("*****************", data);//return;
|
||||||
|
expect(done.to).to.not.be.ok();
|
||||||
|
done.to = setTimeout(function(){
|
||||||
|
expect(data.age).to.be(29);
|
||||||
|
expect(data.name).to.be("Bob!");
|
||||||
|
expect('string' == typeof Gun.valid(data.pet)).to.ok();
|
||||||
|
done();
|
||||||
|
},300);
|
||||||
|
});
|
||||||
|
});
|
||||||
}());
|
}());
|
||||||
|
|
||||||
Gun.on('trace.end', function(msg){
|
Gun.on('trace.end', function(msg){
|
||||||
var code = msg.code, id;
|
var code = msg.code, id;
|
||||||
console.log('_____TOTAL LOGS: ',Gun.traces.length, new Date());
|
//console.log('_____TOTAL LOGS: ',Gun.traces.length, new Date());
|
||||||
$('h2:first').text(`Total of steps: ${Gun.traces.length}`);
|
$('h2:first').text(`Total of steps: ${Gun.traces.length}`);
|
||||||
$('title:first').text(`(${Gun.traces.length}) steps | Gun Msg Trace`);
|
$('title:first').text(`(${Gun.traces.length}) steps | Gun Msg Trace`);
|
||||||
var diagram = Diagram.parse(code);
|
var diagram = Diagram.parse(code);
|
||||||
diagram.drawSVG(id||'diagram', {theme: 'simple'});
|
diagram.drawSVG(id||'diagram', {theme: 'simple'});
|
||||||
|
setTimeout(function(){
|
||||||
|
$('.actor').each(function(){
|
||||||
|
var pos = $(this).offset();
|
||||||
|
$("<span class='method'>").text($(this).text()).css({position: 'fixed', left: pos.left}).appendTo('body');
|
||||||
|
});
|
||||||
|
})
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
@ -1,14 +1,15 @@
|
|||||||
// @rogowski CAME UP WITH THIS BRILLIANT GENIUS ABSOLUTELY AMAZING AWESOME IDEA!!!!
|
// @rogowski CAME UP WITH THIS BRILLIANT GENIUS ABSOLUTELY AMAZING AWESOME IDEA!!!!
|
||||||
///// TESTS rogowski
|
///// TESTS rogowski
|
||||||
Gun.traces=[`Participant GUN`];
|
//Gun.traces=[`Participant GUN`];
|
||||||
// Gun.logs=[];
|
Gun.traces=[];
|
||||||
Gun._trace = function(evname, msg) {
|
Gun._trace = function(evname, msg) {
|
||||||
|
//if(!(console.only.i)){ return }
|
||||||
clearTimeout(Gun._trace.to);
|
clearTimeout(Gun._trace.to);
|
||||||
Gun._trace.to = setTimeout(function(){
|
Gun._trace.to = setTimeout(function(){
|
||||||
Gun.on('trace.end', {code: Gun.traces.join('\n')});
|
Gun.on('trace.end', {code: Gun.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';
|
||||||
}
|
}
|
||||||
@ -17,15 +18,15 @@ Gun._trace = function(evname, msg) {
|
|||||||
};
|
};
|
||||||
// msg.lastev = Gun._tracelastev;
|
// msg.lastev = Gun._tracelastev;
|
||||||
Gun._trace.i = Gun._trace.i ? ++Gun._trace.i : 1;
|
Gun._trace.i = Gun._trace.i ? ++Gun._trace.i : 1;
|
||||||
console.log(`*(${Gun._trace.i}) ${Gun._tracelastev}->:%s, msg:`, evname, msg);
|
//console.log(`*(${Gun._trace.i}) ${Gun._tracelastev}->:%s, msg:`, evname, msg);
|
||||||
|
|
||||||
var __ = (!msg||!msg['#'] ? '' : ('#:'+msg['#']).slice(0,6)+'...');
|
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,9)+'');
|
||||||
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:'+Gun._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:'+Gun._clean(msg&&msg.put?msg.put:'')).slice(0,30)+'...';
|
||||||
|
|
||||||
// Gun._tracelastevdt Gun._tracelastev;
|
// Gun._tracelastevdt Gun._tracelastev;
|
||||||
@ -38,6 +39,7 @@ Gun._trace = function(evname, msg) {
|
|||||||
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';
|
||||||
|
|
||||||
if (dam) {
|
if (dam) {
|
||||||
if (msg['#']) {
|
if (msg['#']) {
|
||||||
evname='GUN';
|
evname='GUN';
|
||||||
@ -46,7 +48,8 @@ Gun._trace = function(evname, msg) {
|
|||||||
}
|
}
|
||||||
Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.i}) {${keys}} ${get} ${put} ${__} ${dam} ${ram} ${id} ${at} ${lS}`);
|
Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.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}`);
|
//Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.i}) {${keys.slice(0,15)}} ${get} ${put} ${__} ${dam} ${ram} ${id} ${at} ${lS}`);
|
||||||
|
Gun.traces.push(Gun._tracelastev+'->'+evname+': '+(console.only.i||'')+' '+__);
|
||||||
// Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.i}) {${!keys?'this':keys}}`);
|
// Gun.traces.push(`${Gun._tracelastev}->${evname}: (${Gun._trace.i}) {${!keys?'this':keys}}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user