2kai2kai2 / node-ps-data

A native C++ NodeJS addon for getting data on process resource consumption without without the need for additional processes.

Home Page:https://www.npmjs.com/package/node-ps-data

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

node-ps-data

Build Release NPM version NPM downloads License GPL-3.0

Get data about process resources without executing terminal commands

  • That's right. Unlike existing tools, this module directly retrieves data about processes without needing to open a new shell and wait for a terminal command's response.
  • Supports Windows, Linux, and MacOS
  • NodeJS module written in C++
  • Prebuilt binaries for linux-x64, win32-x64, darwin-x64, and darwin-arm64 (Darwin is the MacOS kernel)

Features

  • cpuUserTime(pid): Get user-mode CPU usage for a process in milliseconds.
  • cpuKernelTime(pid): Get kernel/system-mode CPU usage for a process in milliseconds.
  • cpuTime(pid): Get total CPU usage for a process in milliseconds (equivalent to cpuUserTime(pid) + cpuKernelTime(pid)).
  • memInfo(pid): Get current memory usage for a process in bytes.
  • memRSS(pid): Get current memory resident/working set size for a process in bytes.
  • fileRead(pid): Get total file read size for a process in bytes.
  • fileWrite(pid): Get total file write size for a process in bytes.

Installation

npm install node-ps-data

Known Issues and Future Plans

  • Build more binaries for other platforms and architectures.
  • More library functions:
    • CPU/Memory subcategories (e.g. child process time, pages info, etc.)
    • Network usage
    • GPU memory and usage
    • More!

License & Copyright

Copyright (c) 2023 Kai Orita

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

About

A native C++ NodeJS addon for getting data on process resource consumption without without the need for additional processes.

https://www.npmjs.com/package/node-ps-data

License:GNU General Public License v3.0


Languages

Language:C++ 59.8%Language:TypeScript 31.0%Language:Python 5.7%Language:C 3.4%