diff options
-rw-r--r-- | src/isolate.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/isolate.rs b/src/isolate.rs index 0adfdb884..4d6f7cdfc 100644 --- a/src/isolate.rs +++ b/src/isolate.rs @@ -171,7 +171,6 @@ impl Isolate { } pub fn respond(&mut self, req_id: i32, buf: Buf) { - self.state.metrics_op_completed(buf.len() as u64); // TODO(zero-copy) Use Buf::leak(buf) to leak the heap allocated buf. And // don't do the memcpy in ImportBuf() (in libdeno/binding.cc) unsafe { @@ -189,7 +188,9 @@ impl Isolate { // completing. self.ntasks_decrement(); // Call into JS with the buf. + let buf_size = buf.len() as u64; self.respond(req_id, buf); + self.state.metrics_op_completed(buf_size) } fn timeout(&mut self) { @@ -307,6 +308,7 @@ extern "C" fn pre_dispatch( if buf_size != 0 { // Set the synchronous response, the value returned from isolate.send(). isolate.respond(req_id, buf); + isolate.state.metrics_op_completed(buf_size as u64); } } else { // Execute op asynchronously. |