Skip to content

Commit

Permalink
Introduce membership set time and join time into ringpop bootstrap lo…
Browse files Browse the repository at this point in the history
…gging statement
  • Loading branch information
jwolski committed Jul 3, 2015
1 parent 890b3bb commit 7144895
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ RingPop.prototype.bootstrap = function bootstrap(opts, callback) {
return;
}

var start = new Date();
var bootstrapTime = Date.now();

this.seedBootstrapHosts(bootstrapFile);

Expand All @@ -226,13 +226,17 @@ RingPop.prototype.bootstrap = function bootstrap(opts, callback) {
// Add local member to membership.
this.membership.makeAlive(this.whoami(), Date.now());

var joinTime = Date.now();

sendJoin({
ringpop: self,
maxJoinDuration: self.maxJoinDuration,
joinSize: self.joinSize,
parallelismFactor: opts.joinParallelismFactor,
joinTimeout: self.joinTimeout
}, function onJoin(err, nodesJoined) {
joinTime = Date.now() - joinTime;

if (err) {
self.logger.error('ringpop bootstrap failed', {
error: err,
Expand All @@ -256,14 +260,21 @@ RingPop.prototype.bootstrap = function bootstrap(opts, callback) {
// beginning of the bootstrap process. It will then efficiently apply
// all changes as an 'atomic' update to membership. set() must be
// called before `isReady` is set to true.
var setTime = Date.now();
self.membership.set();
setTime = Date.now() - setTime;

self.gossip.start();
self.isReady = true;

bootstrapTime = Date.now() - bootstrapTime;

self.logger.debug('ringpop is ready', {
address: self.hostPort,
bootstrapTime: new Date() - start,
memberCount: self.membership.getMemberCount()
memberCount: self.membership.getMemberCount(),
bootstrapTime: bootstrapTime,
joinTime: joinTime,
membershipSetTime: setTime
});

self.emit('ready');
Expand Down

0 comments on commit 7144895

Please sign in to comment.