Skip to content

Commit 1a77392

Browse files
committed
(feat/malloc_size_of): measure more
1 parent 5f9244b commit 1a77392

File tree

4 files changed

+19
-9
lines changed

4 files changed

+19
-9
lines changed

mina-p2p-messages/src/rpc_kernel.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use std::io::Read;
33

44
use binprot::{BinProtRead, BinProtWrite};
55
use binprot_derive::{BinProtRead, BinProtWrite};
6+
use malloc_size_of_derive::MallocSizeOf;
67
use serde::{Deserialize, Serialize};
78

89
use crate::versioned::Ver;
@@ -251,14 +252,18 @@ impl<T> From<DebuggerMessage<T>> for Message<T> {
251252
}
252253
}
253254

254-
#[derive(Clone, Debug, Serialize, Deserialize, BinProtRead, BinProtWrite, PartialEq, Eq)]
255+
#[derive(
256+
Clone, Debug, Serialize, Deserialize, BinProtRead, BinProtWrite, PartialEq, Eq, MallocSizeOf,
257+
)]
255258
pub struct QueryHeader {
256259
pub tag: BinprotTag,
257260
pub version: Ver,
258261
pub id: QueryID,
259262
}
260263

261-
#[derive(Clone, Debug, Serialize, Deserialize, BinProtRead, BinProtWrite, PartialEq, Eq)]
264+
#[derive(
265+
Clone, Debug, Serialize, Deserialize, BinProtRead, BinProtWrite, PartialEq, Eq, MallocSizeOf,
266+
)]
262267
pub struct ResponseHeader {
263268
pub id: QueryID,
264269
}

p2p/src/network/rpc/p2p_network_rpc_state.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,16 @@ use super::super::*;
2020
const HEARTBEAT_INTERVAL: Duration = Duration::from_secs(10);
2121

2222
#[serde_with::serde_as]
23-
#[derive(Serialize, Deserialize, Debug, Clone)]
23+
#[derive(Serialize, Deserialize, Debug, Clone, MallocSizeOf)]
2424
pub struct P2pNetworkRpcState {
2525
pub addr: ConnectionAddr,
2626
pub stream_id: StreamId,
2727
pub last_id: P2pRpcId,
28+
#[ignore_malloc_size_of = "primitive"]
2829
pub last_heartbeat_sent: Option<redux::Timestamp>,
2930
pub pending: Option<QueryHeader>,
3031
#[serde_as(as = "Vec<(_, _)>")]
32+
#[ignore_malloc_size_of = "TODO(vlad)"]
3133
pub total_stats: BTreeMap<(CharString, Ver), usize>,
3234
pub is_incoming: bool,
3335
pub buffer: Vec<u8>,
@@ -59,7 +61,7 @@ impl P2pNetworkRpcState {
5961
}
6062
}
6163

62-
#[derive(Serialize, Deserialize, Debug, Clone)]
64+
#[derive(Serialize, Deserialize, Debug, Clone, MallocSizeOf)]
6365
pub enum RpcMessage {
6466
Handshake,
6567
Heartbeat,
@@ -104,10 +106,14 @@ impl RpcMessage {
104106
}
105107
}
106108

107-
#[derive(Debug, Clone, Serialize, Deserialize, thiserror::Error)]
109+
#[derive(Debug, Clone, Serialize, Deserialize, thiserror::Error, MallocSizeOf)]
108110
pub enum P2pNetworkRpcError {
109111
#[error("error reading binprot message: {0}")]
110112
Binprot(String),
111113
#[error("message {0} with size {1} exceeds limit of {2}")]
112-
Limit(String, usize, Limit<usize>),
114+
Limit(
115+
String,
116+
usize,
117+
#[ignore_malloc_size_of = "primitive"] Limit<usize>,
118+
),
113119
}

p2p/src/network/scheduler/p2p_network_scheduler_state.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,8 +338,8 @@ mod measurement {
338338
+ self.broadcast_state.size_of(ops)
339339
+ self.identify_state.size_of(ops)
340340
+ self.discovery_state.size_of(ops)
341-
342-
// TODO(vlad): `rpc_incoming_streams`, `rpc_outgoing_streams`
341+
+ self.rpc_incoming_streams.size_of(ops)
342+
+ self.rpc_outgoing_streams.size_of(ops)
343343
}
344344
}
345345
}

p2p/testing/src/libp2p_node.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ pub struct Libp2pBehaviour {
7878
#[behaviour(ignore)]
7979
port: u16,
8080

81-
// TODO(vlad9486): move maps inside `RpcBehaviour`
8281
// map msg_id into (tag, version)
8382
#[behaviour(ignore)]
8483
pub ongoing: BTreeMap<(PeerId, u64), (RpcTag, u32)>,

0 commit comments

Comments
 (0)