+from ..checkpoint import format_epoch_timestamp
+
+
def default_sync_stat_metrics():
return {
'state': 'idle',
if isinstance(sync_bytes, (int, float)):
snap['sync_bytes'] = _format_bytes(sync_bytes)
sync_time_stamp = snap.get('sync_time_stamp')
- if isinstance(sync_time_stamp, (int, float)):
- snap['sync_time_stamp'] = f'{sync_time_stamp:.6f}s'
+ if isinstance(sync_time_stamp, (int, float, str)):
+ snap['sync_time_stamp'] = format_epoch_timestamp(sync_time_stamp)
out['last_synced_snap'] = _order_dict(
snap, ('id', 'name', 'crawl_duration',
'datasync_queue_wait_duration', 'sync_duration',
out['current_syncing_snap'] = _order_current_syncing_snap(
current_syncing_snap)
+ metrics_updated_at = out.get('metrics_updated_at')
+ if isinstance(metrics_updated_at, (int, float, str)):
+ out['metrics_updated_at'] = format_epoch_timestamp(metrics_updated_at)
+
out.pop('_instance_id', None)
return _order_dict(
f->dump_string("sync_duration", format_time(*sync_stat.last_sync_duration));
}
if (!sync_stat.last_synced.is_zero()) {
- std::ostringstream os;
- os << std::fixed << std::setprecision(6)
- << static_cast<double>(sync_stat.last_synced);
- f->dump_string("sync_time_stamp", os.str() + "s");
+ // ISO-8601 local time with offset (matches utime_t::localtime / mgr format)
+ f->dump_string("sync_time_stamp", stringify(sync_stat.last_synced));
}
if (sync_stat.last_sync_bytes) {
f->dump_string("sync_bytes", format_bytes(*sync_stat.last_sync_bytes));