Skip to content

Commit c05fc54

Browse files
authored
Merge pull request #2923 from input-output-hk/jpraynaud/2833-add-debug-dmq-msg-id
feat: add debug DMQ message ids
2 parents 004ccbd + 38eed10 commit c05fc54

File tree

6 files changed

+42
-11
lines changed

6 files changed

+42
-11
lines changed

Cargo.lock

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/mithril-dmq/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "mithril-dmq"
33
description = "Mechanisms to publish and consume messages of a 'Decentralized Message Queue network' through a DMQ node"
4-
version = "0.1.18"
4+
version = "0.1.19"
55
authors.workspace = true
66
documentation.workspace = true
77
edition.workspace = true
@@ -19,6 +19,7 @@ anyhow = { workspace = true }
1919
async-trait = { workspace = true }
2020
bincode = { version = "=2.0.1" }
2121
blake2 = "0.10.6"
22+
hex = { workspace = true }
2223
mithril-cardano-node-chain = { path = "../cardano-node/mithril-cardano-node-chain" }
2324
mithril-common = { path = "../../mithril-common" }
2425
pallas-codec = { version = "0.34.0" }

internal/mithril-dmq/src/consumer/client/pallas.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,13 @@ impl<M: TryFromBytes + Debug> DmqConsumerClientPallas<M> {
116116
.0
117117
.into_iter()
118118
.map(|dmq_message| {
119+
debug!(
120+
self.logger,
121+
"Received DMQ message";
122+
"msg_id" => hex::encode(&dmq_message.msg_payload.msg_id),
123+
"kes_period" => dmq_message.msg_payload.kes_period,
124+
"expires_at" => dmq_message.msg_payload.expires_at,
125+
);
119126
let opcert_without_verification_key = OpCertWithoutColdVerificationKey::try_new(
120127
&dmq_message.operational_certificate.kes_vk,
121128
dmq_message.operational_certificate.issue_number,

internal/mithril-dmq/src/model/message.rs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
use std::fmt::Debug;
12
use std::ops::{Deref, DerefMut};
23

34
use pallas_codec::minicbor::{Decode, Decoder, Encode, Encoder};
45
use pallas_network::miniprotocols::localmsgsubmission::DmqMsg;
56
use serde::{Deserialize, Deserializer, Serialize, Serializer};
67

78
/// Wrapper for a DMQ message which can be serialized and deserialized.
8-
#[derive(Debug, Clone, PartialEq, Eq)]
9+
#[derive(Clone, PartialEq, Eq)]
910
pub struct DmqMessage(DmqMsg);
1011

1112
#[derive(Serialize, Deserialize)]
@@ -70,6 +71,24 @@ impl<'de> Deserialize<'de> for DmqMessage {
7071
}
7172
}
7273

74+
impl Debug for DmqMessage {
75+
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
76+
let is_pretty_printing = f.alternate();
77+
let mut debug = f.debug_struct("DmqMessage");
78+
debug
79+
.field("id", &hex::encode(&self.msg_payload.msg_id))
80+
.field("kes_period", &self.msg_payload.kes_period)
81+
.field("expires_at", &self.msg_payload.expires_at);
82+
83+
match is_pretty_printing {
84+
true => debug
85+
.field("body", &format_args!("{:?}", self.msg_payload.msg_body))
86+
.finish(),
87+
false => debug.finish_non_exhaustive(),
88+
}
89+
}
90+
}
91+
7392
#[cfg(test)]
7493
mod tests {
7594
use pallas_network::miniprotocols::localmsgsubmission::{
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
0.4.19
1+
0.4.20
22

mithril-test-lab/mithril-devnet/mkfiles/mkfiles-dmq.sh

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,24 @@ for NODE in ${ALL_NODES}; do
44
"NetworkMagic": ${DMQ_NETWORK_MAGIC},
55
"CardanoNodeSocket": "${NODE}/ipc/node.sock",
66
"CardanoNetworkMagic": ${NETWORK_MAGIC},
7+
"PeerSharing": true,
78
"LocalMsgSubmissionTracer": true,
89
"LocalMsgNotificationTracer": true,
910
"ConnectionManagerTracer": true,
10-
"DiffusionTracer": false,
11-
"InboundGovernorTracer": false,
12-
"LocalInboundGovernorTracer": false,
11+
"DiffusionTracer": true,
12+
"InboundGovernorTracer": true,
13+
"LocalInboundGovernorTracer": true,
1314
"PeerSelectionTracer": true,
14-
"PeerSelectionCounters": false,
15-
"PeerSharing": false,
15+
"PeerSelectionCounters": true,
1616
"SigSubmissionLogicTracer": true,
1717
"SigSubmissionClientTracer": true,
1818
"SigSubmissionServerTracer": true,
19+
"SigSubmissionClientProtocolTracer": true,
20+
"SigSubmissionServerProtocolTracer": true,
1921
"MuxTracer": true,
20-
"ChannelTracer": true,
21-
"DebugPeerSelectionTracer": true
22+
"ChannelTracer": false,
23+
"DebugPeerSelectionTracer": true,
24+
"ValidationTracer": true
2225
}
2326
2427
EOF

0 commit comments

Comments
 (0)