Skip to content

Instantly share code, notes, and snippets.

@wilsonianb
Created August 31, 2018 20:25
Show Gist options
  • Save wilsonianb/22a4e91ca3e7021b302ef08720e53d66 to your computer and use it in GitHub Desktop.
Save wilsonianb/22a4e91ca3e7021b302ef08720e53d66 to your computer and use it in GitHub Desktop.
var bluebird = require('bluebird');
var Promise = bluebird.Promise;
var Remote = require('ripple-lib').Remote;
function measureThroughput() {
return new Promise(function(resolve, reject) {
var remote = new Remote({
servers: [ 'wss://s.altnet.rippletest.net:51233' ]
})
var remoteConnect = Promise.promisify(remote.connect, remote);
remoteConnect().then(function() {
console.log('connected!')
var remoteRequest = Promise.promisify(remote.request, remote);
return remoteRequest('server_info').then(function(res) {
console.log(res)
remote.on('ledger_closed', function(ledger) {
// Ignore empty ledgers
if (last_ledger && ledger.ledger_time-last_ledger.ledger_time<20) {
console.log('ledger:', ledger.ledger_index);
console.log('txs:', ledger.txn_count);
console.log('time:', ledger.ledger_time-last_ledger.ledger_time);
console.log('ledger_time:', ledger.ledger_time);
console.log('Last ledger: %d txs/second', ledger.txn_count/(ledger.ledger_time-last_ledger.ledger_time));
total_txs += ledger.txn_count;
total_seconds += ledger.ledger_time-last_ledger.ledger_time;
console.log('Total: %d txs/second', total_txs/total_seconds);
}
last_ledger = ledger;
});
resolve();
});
}).catch(function(err) {
console.log(err);
})
});
}
last_ledger = null;
total_txs = 0;
total_seconds = 0;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment