Added counters to track more metrics on dashboard (#1535)

- Total number of IP packets TX/RX from all nodes in the testnet
- Last consumed index on validator
- Last transmitted index on leader
This commit is contained in:
Pankaj Garg 2018-10-17 17:32:50 -07:00 committed by GitHub
parent 30c79fd40d
commit 31e779d3f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 1 deletions

View File

@ -18,6 +18,10 @@ receive_errors=0
receive_errors_diff=0 receive_errors_diff=0
rcvbuf_errors=0 rcvbuf_errors=0
rcvbuf_errors_diff=0 rcvbuf_errors_diff=0
in_octets=0
in_octets_diff=0
out_octets=0
out_octets_diff=0
update_netstat() { update_netstat() {
declare net_stat declare net_stat
@ -39,13 +43,21 @@ update_netstat() {
stats=$(echo "$net_stat" | awk 'BEGIN {tmp_var = 0} /RcvbufErrors/ {tmp_var = $2} END { print tmp_var }') stats=$(echo "$net_stat" | awk 'BEGIN {tmp_var = 0} /RcvbufErrors/ {tmp_var = $2} END { print tmp_var }')
rcvbuf_errors_diff=$((stats - rcvbuf_errors)) rcvbuf_errors_diff=$((stats - rcvbuf_errors))
rcvbuf_errors="$stats" rcvbuf_errors="$stats"
stats=$(echo "$net_stat" | awk 'BEGIN {tmp_var = 0} /InOctets/ {tmp_var = $2} END { print tmp_var }')
in_octets_diff=$((stats - in_octets))
in_octets="$stats"
stats=$(echo "$net_stat" | awk 'BEGIN {tmp_var = 0} /OutOctets/ {tmp_var = $2} END { print tmp_var }')
out_octets_diff=$((stats - out_octets))
out_octets="$stats"
} }
update_netstat update_netstat
while true; do while true; do
update_netstat update_netstat
report="packets_sent=$packets_sent_diff,packets_received=$packets_received_diff,receive_errors=$receive_errors_diff,rcvbuf_errors=$rcvbuf_errors_diff" report="packets_sent=$packets_sent_diff,packets_received=$packets_received_diff,receive_errors=$receive_errors_diff,rcvbuf_errors=$rcvbuf_errors_diff,in_octets=$in_octets_diff,out_octets=$out_octets_diff"
echo "$report" echo "$report"
./metrics-write-datapoint.sh "net-stats,hostname=$HOSTNAME $report" ./metrics-write-datapoint.sh "net-stats,hostname=$HOSTNAME $report"

View File

@ -5,9 +5,11 @@ use counter::Counter;
use entry::Entry; use entry::Entry;
#[cfg(feature = "erasure")] #[cfg(feature = "erasure")]
use erasure; use erasure;
use influx_db_client as influxdb;
use leader_scheduler::LeaderScheduler; use leader_scheduler::LeaderScheduler;
use ledger::Block; use ledger::Block;
use log::Level; use log::Level;
use metrics;
use packet::SharedBlobs; use packet::SharedBlobs;
use rayon::prelude::*; use rayon::prelude::*;
use result::{Error, Result}; use result::{Error, Result};
@ -151,6 +153,14 @@ fn broadcast(
num_entries, to_blobs_elapsed, chunking_elapsed, broadcast_elapsed num_entries, to_blobs_elapsed, chunking_elapsed, broadcast_elapsed
); );
metrics::submit(
influxdb::Point::new("broadcast-stage")
.add_field(
"transmit-index",
influxdb::Value::Integer(transmit_index.data as i64),
).to_owned(),
);
Ok(()) Ok(())
} }

View File

@ -307,6 +307,15 @@ pub fn window_service(
} }
} }
metrics::submit(
influxdb::Point::new("window-stage")
.add_field(
"host",
influxdb::Value::String(hostname().unwrap_or_else(|_| "?".to_string())),
).add_field("consumed", influxdb::Value::Integer(consumed as i64))
.to_owned(),
);
if received <= consumed { if received <= consumed {
trace!( trace!(
"{} we have everything received:{} consumed:{}", "{} we have everything received:{} consumed:{}",