You are viewing documentation generated from a user contribution or an upcoming release. The contents of this document may not have been reviewed by the Deno team. Click here to view the documentation for the latest release.
Edit
Internal Details
Deno and Linux analogy
Linux | Deno |
---|---|
Processes | Web Workers |
Syscalls | Ops |
File descriptors (fd) | Resource ids (rid) |
Scheduler | Tokio |
Userland: libc++ / glib / boost | https://deno.land/std/ |
/proc/$$/stat | Deno.metrics() |
man pages | deno types |
Resources
Resources (AKA rid
) are Deno's version of file descriptors. They are integer
values used to refer to open files, sockets, and other concepts. For testing it
would be good to be able to query the system for how many open resources there
are.
console.log(Deno.resources());
// { 0: "stdin", 1: "stdout", 2: "stderr" }
Deno.close(0);
console.log(Deno.resources());
// { 1: "stdout", 2: "stderr" }
Metrics
Metrics is Deno's internal counter for various statistics.
> console.table(Deno.metrics())
┌─────────────────────────┬───────────┐
│ (idx) │ Values │
├─────────────────────────┼───────────┤
│ opsDispatched │ 9 │
│ opsDispatchedSync │ 0 │
│ opsDispatchedAsync │ 0 │
│ opsDispatchedAsyncUnref │ 0 │
│ opsCompleted │ 9 │
│ opsCompletedSync │ 0 │
│ opsCompletedAsync │ 0 │
│ opsCompletedAsyncUnref │ 0 │
│ bytesSentControl │ 504 │
│ bytesSentData │ 0 │
│ bytesReceived │ 856 │
└─────────────────────────┴───────────┘
Schematic diagram
Conference
- Ryan Dahl. (May 27, 2020). An interesting case with Deno. Deno Israel.
- Bartek Iwańczuk. (Oct 6, 2020). Deno internals - how modern JS/TS runtime is built. Paris Deno.