diff options
Diffstat (limited to 'cli/ops/metrics.rs')
-rw-r--r-- | cli/ops/metrics.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/cli/ops/metrics.rs b/cli/ops/metrics.rs new file mode 100644 index 000000000..e1a23f6c8 --- /dev/null +++ b/cli/ops/metrics.rs @@ -0,0 +1,21 @@ +// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. +use super::dispatch_json::{JsonOp, Value}; +use crate::state::ThreadSafeState; +use deno::*; +use std::sync::atomic::Ordering; + +pub fn op_metrics( + state: &ThreadSafeState, + _args: Value, + _zero_copy: Option<PinnedBuf>, +) -> Result<JsonOp, ErrBox> { + let m = &state.metrics; + + Ok(JsonOp::Sync(json!({ + "opsDispatched": m.ops_dispatched.load(Ordering::SeqCst) as u64, + "opsCompleted": m.ops_completed.load(Ordering::SeqCst) as u64, + "bytesSentControl": m.bytes_sent_control.load(Ordering::SeqCst) as u64, + "bytesSentData": m.bytes_sent_data.load(Ordering::SeqCst) as u64, + "bytesReceived": m.bytes_received.load(Ordering::SeqCst) as u64 + }))) +} |