diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2021-03-31 16:37:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-31 10:37:38 -0400 |
commit | fec1b2a5a4324a7eecdfbb2471931f3b6b0139c5 (patch) | |
tree | 8a650553c2d70e047d9d7365f9ac8702ec9861a5 /cli/tests/unit/metrics_test.ts | |
parent | 6dc3549a818ad49b3907d18c93fd422a9cc743a5 (diff) |
refactor: new optimized op-layer using serde_v8 (#9843)
- Improves op performance.
- Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs
per op-encoding (aka: out-of-payload).
- Remove shared queue & custom "asyncHandlers", all async values are
returned in batches via js_recv_cb.
- The op-layer should be thought of as simple function calls with little
indirection or translation besides the conceptually straightforward
serde_v8 bijections.
- Preserve concepts of json/bin/min as semantic groups of their
inputs/outputs instead of their op-encoding strategy, preserving these
groups will also facilitate partial transitions over to v8 Fast API for the
"min" and "bin" groups
Diffstat (limited to 'cli/tests/unit/metrics_test.ts')
-rw-r--r-- | cli/tests/unit/metrics_test.ts | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/cli/tests/unit/metrics_test.ts b/cli/tests/unit/metrics_test.ts index 525e5aae6..9fa37e99b 100644 --- a/cli/tests/unit/metrics_test.ts +++ b/cli/tests/unit/metrics_test.ts @@ -7,35 +7,38 @@ unitTest(async function metrics(): Promise<void> { const dataMsg = new Uint8Array([13, 13, 13]); // "\r\r\r", await Deno.stdout.write(dataMsg); + // WARNING: bytesReceived & bytesSentControl are now always zero + // following https://github.com/denoland/deno/pull/9843 + const m1 = Deno.metrics(); assert(m1.opsDispatched > 0); assert(m1.opsCompleted > 0); - assert(m1.bytesSentControl > 0); + assert(m1.bytesSentControl === 0); assert(m1.bytesSentData >= 0); - assert(m1.bytesReceived > 0); + assert(m1.bytesReceived === 0); const m1OpWrite = m1.ops["op_write_async"]; assert(m1OpWrite.opsDispatchedAsync > 0); assert(m1OpWrite.opsCompletedAsync > 0); - assert(m1OpWrite.bytesSentControl > 0); + assert(m1OpWrite.bytesSentControl === 0); assert(m1OpWrite.bytesSentData >= 0); - assert(m1OpWrite.bytesReceived > 0); + assert(m1OpWrite.bytesReceived === 0); await Deno.stdout.write(dataMsg); const m2 = Deno.metrics(); assert(m2.opsDispatchedAsync > m1.opsDispatchedAsync); assert(m2.opsCompletedAsync > m1.opsCompletedAsync); - assert(m2.bytesSentControl > m1.bytesSentControl); + assert(m2.bytesSentControl === m1.bytesSentControl); assert(m2.bytesSentData >= m1.bytesSentData + dataMsg.byteLength); - assert(m2.bytesReceived > m1.bytesReceived); + assert(m2.bytesReceived === m1.bytesReceived); const m2OpWrite = m2.ops["op_write_async"]; assert(m2OpWrite.opsDispatchedAsync > m1OpWrite.opsDispatchedAsync); assert(m2OpWrite.opsCompletedAsync > m1OpWrite.opsCompletedAsync); - assert(m2OpWrite.bytesSentControl > m1OpWrite.bytesSentControl); + assert(m2OpWrite.bytesSentControl === m1OpWrite.bytesSentControl); assert( m2OpWrite.bytesSentData >= m1OpWrite.bytesSentData + dataMsg.byteLength, ); - assert(m2OpWrite.bytesReceived > m1OpWrite.bytesReceived); + assert(m2OpWrite.bytesReceived === m1OpWrite.bytesReceived); }); unitTest( |