status: Add migration_speed ( bytes per second ) and migration_duration( seconds ) to the migration output

This commit is contained in:
nick
2013-07-26 11:50:01 +01:00
parent bc9ce93648
commit f590f8ed3c
5 changed files with 86 additions and 9 deletions

View File

@@ -19,8 +19,23 @@ struct status * status_create( struct server * serve )
status->migration_pass = serve->mirror->pass;
status->pass_dirty_bytes = serve->mirror->this_pass_dirty;
status->pass_clean_bytes = serve->mirror->this_pass_clean;
status->migration_duration = monotonic_time_ms();
if ( ( serve->mirror->migration_started ) < status->migration_duration ) {
status->migration_duration -= serve->mirror->migration_started;
} else {
status->migration_duration = 0;
}
status->migration_duration /= 1000;
status->migration_speed = serve->mirror->all_dirty / ( status->migration_duration + 1 );
}
server_unlock_start_mirror( serve );
return status;
@@ -46,6 +61,8 @@ int status_write( struct status * status, int fd )
PRINT_INT( migration_pass );
PRINT_UINT64( pass_dirty_bytes );
PRINT_UINT64( pass_clean_bytes );
PRINT_UINT64( migration_speed );
PRINT_UINT64( migration_duration );
}
dprintf(fd, "\n");