1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-11 16:42:21 -05:00

feat: stabilize Deno.systemMemoryInfo() (#16445)

This commit is contained in:
Colin Ihrig 2022-11-09 08:14:25 -05:00 committed by GitHub
parent f946806868
commit 0500aa1f71
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 44 additions and 49 deletions

View file

@ -18,7 +18,6 @@ const UNSTABLE_DENO_PROPS: &[&str] = &[
"CreateHttpClientOptions",
"DatagramConn",
"HttpClient",
"SystemMemoryInfo",
"UnixConnectOptions",
"UnixListenOptions",
"bench",
@ -31,7 +30,6 @@ const UNSTABLE_DENO_PROPS: &[&str] = &[
"ppid",
"removeSignalListener",
"shutdown",
"systemMemoryInfo",
"umask",
"spawnChild",
"Child",

View file

@ -369,6 +369,49 @@ declare namespace Deno {
*/
export function networkInterfaces(): NetworkInterfaceInfo[];
/**
* Displays the total amount of free and used physical and swap memory in the
* system, as well as the buffers and caches used by the kernel.
*
* This is similar to the `free` command in Linux
*
* ```ts
* console.log(Deno.systemMemoryInfo());
* ```
*
* Requires `allow-sys` permission.
*
* @tags allow-sys
* @category Runtime Environment
*/
export function systemMemoryInfo(): SystemMemoryInfo;
/**
* Information returned from a call to {@linkcode Deno.systemMemoryInfo}.
*
* @category Runtime Environment
*/
export interface SystemMemoryInfo {
/** Total installed memory in bytes. */
total: number;
/** Unused memory in bytes. */
free: number;
/** Estimation of how much memory, in bytes, is available for starting new
* applications, without swapping. Unlike the data provided by the cache or
* free fields, this field takes into account page cache and also that not
* all reclaimable memory will be reclaimed due to items being in use.
*/
available: number;
/** Memory used by kernel buffers. */
buffers: number;
/** Memory used by the page cache and slabs. */
cached: number;
/** Total swap memory. */
swapTotal: number;
/** Unused swap memory. */
swapFree: number;
}
/** Reflects the `NO_COLOR` environment variable at program start.
*
* When the value is `true`, the Deno CLI will attempt to not send color codes

View file

@ -269,51 +269,6 @@ declare namespace Deno {
*/
export function umask(mask?: number): number;
/** **UNSTABLE**: New API, yet to be vetted.
*
* Displays the total amount of free and used physical and swap memory in the
* system, as well as the buffers and caches used by the kernel.
*
* This is similar to the `free` command in Linux
*
* ```ts
* console.log(Deno.systemMemoryInfo());
* ```
*
* Requires `allow-sys` permission.
*
* @tags allow-sys
* @category Runtime Environment
*/
export function systemMemoryInfo(): SystemMemoryInfo;
/** **UNSTABLE**: New API, yet to be vetted.
*
* Information returned from a call to {@linkcode Deno.systemMemoryInfo}.
*
* @category Runtime Environment
*/
export interface SystemMemoryInfo {
/** Total installed memory in bytes. */
total: number;
/** Unused memory in bytes. */
free: number;
/** Estimation of how much memory, in bytes, is available for starting new
* applications, without swapping. Unlike the data provided by the cache or
* free fields, this field takes into account page cache and also that not
* all reclaimable memory will be reclaimed due to items being in use.
*/
available: number;
/** Memory used by kernel buffers. */
buffers: number;
/** Memory used by the page cache and slabs. */
cached: number;
/** Total swap memory. */
swapTotal: number;
/** Unused swap memory. */
swapFree: number;
}
/** **UNSTABLE**: New API, yet to be vetted.
*
* Returns the user id of the Deno process on POSIX platforms. Returns `null`

View file

@ -121,13 +121,13 @@
unrefTimer: __bootstrap.timers.unrefTimer,
osRelease: __bootstrap.os.osRelease,
hostname: __bootstrap.os.hostname,
systemMemoryInfo: __bootstrap.os.systemMemoryInfo,
networkInterfaces: __bootstrap.os.networkInterfaces,
consoleSize: __bootstrap.tty.consoleSize,
};
__bootstrap.denoNsUnstable = {
DiagnosticCategory: __bootstrap.diagnostics.DiagnosticCategory,
systemMemoryInfo: __bootstrap.os.systemMemoryInfo,
gid: __bootstrap.os.gid,
uid: __bootstrap.os.uid,
listenDatagram: __bootstrap.net.listenDatagram,

View file

@ -245,7 +245,6 @@ impl From<netif::Interface> for NetworkInterface {
fn op_system_memory_info(
state: &mut OpState,
) -> Result<Option<sys_info::MemInfo>, AnyError> {
super::check_unstable(state, "Deno.systemMemoryInfo");
state
.borrow_mut::<Permissions>()
.sys