diff --git a/crates/ces-mq/src/send_queue.rs b/crates/ces-mq/src/send_queue.rs index b941beef..7d83ac09 100644 --- a/crates/ces-mq/src/send_queue.rs +++ b/crates/ces-mq/src/send_queue.rs @@ -99,7 +99,13 @@ impl MessageSendQueue { let inner = self.inner.lock(); inner .iter() - .map(|(k, v)| (k.clone(), v.messages.clone())) + .filter_map(|(k, v)| { + if !v.messages.is_empty() { + Some((k.clone(), v.messages.clone())) + } else { + None + } + }) .collect() } @@ -124,7 +130,14 @@ impl MessageSendQueue { let mut inner = self.inner.lock(); for (k, v) in inner.iter_mut() { let seq = next_sequence_for(k); + let before_size = v.messages.len(); v.messages.retain(|msg| msg.sequence >= seq); + if log::log_enabled!(target: "ces_mq", log::Level::Trace) { + let n = before_size - v.messages.len(); + if n > 0 { + log::trace!("purge {k} messages: {n}, by next sequence: {seq}"); + } + } } } diff --git a/crates/cestory/src/ceseal_service.rs b/crates/cestory/src/ceseal_service.rs index 25f5515e..73ef5d1a 100644 --- a/crates/cestory/src/ceseal_service.rs +++ b/crates/cestory/src/ceseal_service.rs @@ -671,7 +671,7 @@ impl Ceseal { if safe_mode_level > 0 { continue } - trace!("State synced"); + trace!(block = block.block_header.number, "chain storage synced"); state.purge_mq(); let block_number = block.block_header.number; @@ -885,8 +885,8 @@ impl Ceseal { AttestationReport::SgxIas { ra_report, .. } => { match IasFields::from_ias_report(&ra_report[..]) { Ok((ias_fields, _)) => { - info!("measurement :{}", hex::encode(ias_fields.measurement())); - info!("measurement hash :{}", ias_fields.measurement_hash()); + info!("RA report measurement :{}", hex::encode(ias_fields.measurement())); + info!("RA report measurement hash :{:?}", ias_fields.measurement_hash()); }, Err(e) => { error!("deserial ias report to IasFields failed: {:?}", e); @@ -909,13 +909,13 @@ impl Ceseal { .as_ref() .map(|state| state.send_mq.all_messages_grouped().into_iter().collect()) .unwrap_or_default(); - if log::log_enabled!(log::Level::Debug) { + if log::log_enabled!(log::Level::Trace) && !messages.is_empty() { for (_, msgs) in &messages { for (index, SignedMessage { message, sequence, .. }) in msgs.iter().enumerate() { - debug!( + trace!( target: "ces_mq", - "mq egress message {index} [seq: {}, sender: {}, destination: {:?}]", - sequence, message.sender, message.destination + "got egress message {index} [sender: {}, destination: {:?}, seq: {sequence}]", + message.sender, message.destination ); } }