Skip to content

Commit 7e4a8a8

Browse files
committed
Add verbose flag for tracking accesses on client
1 parent 7db43c9 commit 7e4a8a8

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

backend/src/bin/client.rs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,11 @@ struct Cli {
2020
#[arg(short, long, value_delimiter = ',')]
2121
events: Option<Vec<String>>,
2222

23-
#[arg(short, long, default_value = "false")]
24-
dump_events: bool,
23+
#[arg(long, default_value = "false")]
24+
verbose_events: bool,
25+
26+
#[arg(long, default_value = "false")]
27+
verbose_accesses: bool,
2528
}
2629

2730
#[tokio::main]
@@ -87,13 +90,21 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
8790
match serde_json::from_str::<ServerMessage>(&text) {
8891
Ok(ServerMessage::Events(events)) => {
8992
info!("Received {} events", events.len());
90-
if cli.dump_events {
93+
if cli.verbose_events {
9194
info!("Events: {:?}", events);
9295
}
9396
events_witnessed += events.len();
9497
}
9598
Ok(ServerMessage::TopAccesses(top_accesses)) => {
96-
info!("Received top accesses: {:#?}", top_accesses);
99+
info!("Received top accesses");
100+
if cli.verbose_accesses {
101+
for entry in &top_accesses.storage {
102+
info!("Storage access: address={}, key={}, count={}", entry.key.0, entry.key.1, entry.count);
103+
}
104+
for entry in &top_accesses.account {
105+
info!("Account access: address={}, count={}", entry.key, entry.count);
106+
}
107+
}
97108
}
98109
Err(_) => {
99110
error!("Failed to parse events: {}", text);

backend/src/lib/server.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ use super::serializable_event::SerializableEventData;
1919

2020
#[derive(Debug, Clone, Serialize, Deserialize)]
2121
pub struct TopAccessesData {
22-
account: Vec<AccessEntry<Address>>,
23-
storage: Vec<AccessEntry<(Address, B256)>>,
22+
pub account: Vec<AccessEntry<Address>>,
23+
pub storage: Vec<AccessEntry<(Address, B256)>>,
2424
}
2525

2626
#[derive(Debug, Clone)]
@@ -132,8 +132,8 @@ async fn client_write_task(
132132
}
133133
}
134134
if !accesses_buf.is_empty() {
135-
for acesses in std::mem::take(&mut accesses_buf) {
136-
let server_msg = ServerMessage::TopAccesses(acesses);
135+
for accesses in std::mem::take(&mut accesses_buf) {
136+
let server_msg = ServerMessage::TopAccesses(accesses);
137137
let json_message = serde_json::to_string(&server_msg).unwrap();
138138
if let Err(e) = ws_sender.send(Message::Text(json_message)).await {
139139
error!("Failed to send batch to {}: {}", addr, e);

0 commit comments

Comments
 (0)