Collect fork() timing info only if fork succeeded.

This commit is contained in:
antirez 2017-05-19 11:10:36 +02:00
parent d067e3342f
commit 61c78a5215

View File

@ -1690,9 +1690,6 @@ int rdbSaveToSlavesSockets(void) {
exitFromChild((retval == C_OK) ? 0 : 1); exitFromChild((retval == C_OK) ? 0 : 1);
} else { } else {
/* Parent */ /* Parent */
server.stat_fork_time = ustime()-start;
server.stat_fork_rate = (double) zmalloc_used_memory() * 1000000 / server.stat_fork_time / (1024*1024*1024); /* GB per second. */
latencyAddSampleIfNeeded("fork",server.stat_fork_time/1000);
if (childpid == -1) { if (childpid == -1) {
serverLog(LL_WARNING,"Can't save in background: fork: %s", serverLog(LL_WARNING,"Can't save in background: fork: %s",
strerror(errno)); strerror(errno));
@ -1715,6 +1712,10 @@ int rdbSaveToSlavesSockets(void) {
close(pipefds[0]); close(pipefds[0]);
close(pipefds[1]); close(pipefds[1]);
} else { } else {
server.stat_fork_time = ustime()-start;
server.stat_fork_rate = (double) zmalloc_used_memory() * 1000000 / server.stat_fork_time / (1024*1024*1024); /* GB per second. */
latencyAddSampleIfNeeded("fork",server.stat_fork_time/1000);
serverLog(LL_NOTICE,"Background RDB transfer started by pid %d", serverLog(LL_NOTICE,"Background RDB transfer started by pid %d",
childpid); childpid);
server.rdb_save_time_start = time(NULL); server.rdb_save_time_start = time(NULL);