diff options
Diffstat (limited to 'cli/js')
-rw-r--r-- | cli/js/lib.deno.ns.d.ts | 30 | ||||
-rw-r--r-- | cli/js/metrics.ts | 30 | ||||
-rw-r--r-- | cli/js/metrics_test.ts | 9 |
3 files changed, 51 insertions, 18 deletions
diff --git a/cli/js/lib.deno.ns.d.ts b/cli/js/lib.deno.ns.d.ts index 50aab6a35..55cca78cf 100644 --- a/cli/js/lib.deno.ns.d.ts +++ b/cli/js/lib.deno.ns.d.ts @@ -1669,7 +1669,13 @@ declare namespace Deno { /** **UNSTABLE**: not sure if broken or not */ export interface Metrics { opsDispatched: number; + opsDispatchedSync: number; + opsDispatchedAsync: number; + opsDispatchedAsyncUnref: number; opsCompleted: number; + opsCompletedSync: number; + opsCompletedAsync: number; + opsCompletedAsyncUnref: number; bytesSentControl: number; bytesSentData: number; bytesReceived: number; @@ -1680,15 +1686,21 @@ declare namespace Deno { * Receive metrics from the privileged side of Deno. * * > console.table(Deno.metrics()) - * ┌──────────────────┬────────┐ - * │ (index) │ Values │ - * ├──────────────────┼────────┤ - * │ opsDispatched │ 9 │ - * │ opsCompleted │ 9 │ - * │ bytesSentControl │ 504 │ - * │ bytesSentData │ 0 │ - * │ bytesReceived │ 856 │ - * └──────────────────┴────────┘ + * ┌─────────────────────────┬────────┐ + * │ (index) │ Values │ + * ├─────────────────────────┼────────┤ + * │ opsDispatched │ 3 │ + * │ opsDispatchedSync │ 2 │ + * │ opsDispatchedAsync │ 1 │ + * │ opsDispatchedAsyncUnref │ 0 │ + * │ opsCompleted │ 3 │ + * │ opsCompletedSync │ 2 │ + * │ opsCompletedAsync │ 1 │ + * │ opsCompletedAsyncUnref │ 0 │ + * │ bytesSentControl │ 73 │ + * │ bytesSentData │ 0 │ + * │ bytesReceived │ 375 │ + * └─────────────────────────┴────────┘ */ export function metrics(): Metrics; diff --git a/cli/js/metrics.ts b/cli/js/metrics.ts index b735dc6b3..90f22854c 100644 --- a/cli/js/metrics.ts +++ b/cli/js/metrics.ts @@ -3,7 +3,13 @@ import { sendSync } from "./dispatch_json.ts"; export interface Metrics { opsDispatched: number; + opsDispatchedSync: number; + opsDispatchedAsync: number; + opsDispatchedAsyncUnref: number; opsCompleted: number; + opsCompletedSync: number; + opsCompletedAsync: number; + opsCompletedAsyncUnref: number; bytesSentControl: number; bytesSentData: number; bytesReceived: number; @@ -12,15 +18,21 @@ export interface Metrics { /** Receive metrics from the privileged side of Deno. * * > console.table(Deno.metrics()) - * ┌──────────────────┬────────┐ - * │ (index) │ Values │ - * ├──────────────────┼────────┤ - * │ opsDispatched │ 9 │ - * │ opsCompleted │ 9 │ - * │ bytesSentControl │ 504 │ - * │ bytesSentData │ 0 │ - * │ bytesReceived │ 856 │ - * └──────────────────┴────────┘ + * ┌─────────────────────────┬────────┐ + * │ (index) │ Values │ + * ├─────────────────────────┼────────┤ + * │ opsDispatched │ 3 │ + * │ opsDispatchedSync │ 2 │ + * │ opsDispatchedAsync │ 1 │ + * │ opsDispatchedAsyncUnref │ 0 │ + * │ opsCompleted │ 3 │ + * │ opsCompletedSync │ 2 │ + * │ opsCompletedAsync │ 1 │ + * │ opsCompletedAsyncUnref │ 0 │ + * │ bytesSentControl │ 73 │ + * │ bytesSentData │ 0 │ + * │ bytesReceived │ 375 │ + * └─────────────────────────┴────────┘ */ export function metrics(): Metrics { return sendSync("op_metrics"); diff --git a/cli/js/metrics_test.ts b/cli/js/metrics_test.ts index 3fc51b78e..3bb5218ef 100644 --- a/cli/js/metrics_test.ts +++ b/cli/js/metrics_test.ts @@ -4,7 +4,9 @@ import { test, testPerm, assert } from "./test_util.ts"; test(async function metrics(): Promise<void> { const m1 = Deno.metrics(); assert(m1.opsDispatched > 0); + assert(m1.opsDispatchedSync > 0); assert(m1.opsCompleted > 0); + assert(m1.opsCompletedSync > 0); assert(m1.bytesSentControl > 0); assert(m1.bytesSentData >= 0); assert(m1.bytesReceived > 0); @@ -16,7 +18,11 @@ test(async function metrics(): Promise<void> { const m2 = Deno.metrics(); assert(m2.opsDispatched > m1.opsDispatched); + assert(m2.opsDispatchedSync > m1.opsDispatchedSync); + assert(m2.opsDispatchedAsync > m1.opsDispatchedAsync); assert(m2.opsCompleted > m1.opsCompleted); + assert(m2.opsCompletedSync > m1.opsCompletedSync); + assert(m2.opsCompletedAsync > m1.opsCompletedAsync); assert(m2.bytesSentControl > m1.bytesSentControl); assert(m2.bytesSentData >= m1.bytesSentData + dataMsg.byteLength); assert(m2.bytesReceived > m1.bytesReceived); @@ -30,6 +36,7 @@ testPerm({ write: true }, function metricsUpdatedIfNoResponseSync(): void { const metrics = Deno.metrics(); assert(metrics.opsDispatched === metrics.opsCompleted); + assert(metrics.opsDispatchedSync === metrics.opsCompletedSync); }); testPerm( @@ -42,5 +49,7 @@ testPerm( const metrics = Deno.metrics(); assert(metrics.opsDispatched === metrics.opsCompleted); + assert(metrics.opsDispatchedSync === metrics.opsCompletedSync); + assert(metrics.opsDispatchedAsync === metrics.opsCompletedAsync); } ); |