From 4d7fbe1ffeaf33444eec26ab6029bd0b268850e5 Mon Sep 17 00:00:00 2001 From: "Bill.W" <0xbillw@gmail.com> Date: Thu, 9 May 2024 09:40:14 +0000 Subject: [PATCH 1/3] optimize: [ces-mq] filter empty message when group --- crates/ces-mq/src/send_queue.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/crates/ces-mq/src/send_queue.rs b/crates/ces-mq/src/send_queue.rs index b941beef..23028e84 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() } From cc52102b8f67b4fd7955c29f26e1129037b53770 Mon Sep 17 00:00:00 2001 From: "Bill.W" <0xbillw@gmail.com> Date: Thu, 9 May 2024 09:42:12 +0000 Subject: [PATCH 2/3] optimize: [ces-mq] some logs --- crates/ces-mq/src/send_queue.rs | 7 +++++++ crates/cestory/src/ceseal_service.rs | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/crates/ces-mq/src/send_queue.rs b/crates/ces-mq/src/send_queue.rs index 23028e84..7d83ac09 100644 --- a/crates/ces-mq/src/send_queue.rs +++ b/crates/ces-mq/src/send_queue.rs @@ -130,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..a188c219 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; @@ -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 ); } } From 53dbf51a5f71eee18db4e26aef8630334ba97a60 Mon Sep 17 00:00:00 2001 From: "Bill.W" <0xbillw@gmail.com> Date: Thu, 9 May 2024 09:44:33 +0000 Subject: [PATCH 3/3] fix: display full hash of RA report measurement --- crates/cestory/src/ceseal_service.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/cestory/src/ceseal_service.rs b/crates/cestory/src/ceseal_service.rs index a188c219..73ef5d1a 100644 --- a/crates/cestory/src/ceseal_service.rs +++ b/crates/cestory/src/ceseal_service.rs @@ -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);