Security News
The Risks of Misguided Research in Supply Chain Security
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
healthcenter
Advanced tools
Health Center monitoring and profiling agent
NOTE: This project is not currently released under an open source licence, however raising issues and enhancement requests is encouraged.
The Health Center agent instruments the Node.js runtime for performance monitoring using either the provided API, or by connecting using the "IBM Monitoring and Diagnostics Tools - Health Center" client in an Eclipse IDE.
See https://www.ibm.com/developerworks/java/jdk/tools/healthcenter/ for more details.
The Health Center Agent supports either the Node.js 0.10 or 0.12 runtime environments on the following platform architectures:
Health Center can be installed globally using npm to be able to use the node-hc command:
$ npm install -g healthcenter
or installed locally in order to be able to use the API:
$ npm install healthcenter
If installed globally, Health Center can be run using the node-hc
command:
$ node-hc app.js
If installed locally, the use of the Health Center agent needs to be added as the first line of your application:
var healthcenter = require('healthcenter');
and your application launched using the node
command as usual.
##The Health Center API In addition to being able to connect the Eclipse IDE client, you can also access the Health Center monitoring data using the provided event API.
###Getting started with the API To access the Health Center monitoring data, first load the Health Center module, then request access to the monitoring data:
var healthcenter = require('healthcenter');
var monitoring = healthcenter.monitor();
The monitoring instance can then be used to register callbacks and request information about the application:
monitoring.on('initialized', function (env) {
env = monitoring.getEnvironment());
for (var entry in env) {
console.log(entry + ':' + env[entry]);
};
});
monitoring.on('cpu', function (cpu) {
console.log('[' + new Date(data.time) + ] CPU: ' + cpu.process');
});
Creates a Health Center agent client instance. This can subsequently be used to control data collection, request data, and subscribe to data events.
type
, data
)Allows custom monitoring events to be added into the Health Center agent.
type
(String) the name you wish to use for the data. A subsequent event of that type will be raised, allowing callbacks to be registered for it.data
(Object) the data to be made available with the event. The object must not contain circular references, and by convention should contain a time
value representing the milliseconds when the event occurred.Requests an object containing all of the available environment information for the running application.
type
)Enable data generation of the specified data type.
type
(String) the type of event to start generating data for. Only 'profiling' is currently supported.type
)Disable data generation of the specified data type.
type
(String) the type of event to stop generating data for. Only 'profiling' is currently supported.Emitted when a CPU monitoring sample is taken.
data
(Object) the data from the CPU sample:
time
(Number) the milliseconds when the sample was taken. This can be converted to a Date using new Date(cpu.time)
.process
(Number) the percentage of CPU used by the Node.js application itself. This is a value between 0.0 and 1.0.system
(Number) the percentage of CPU used by the system as a whole. This is a value between 0.0 and 1.0.Emitted when a memory monitoring sample is taken.
data
(Object) the data from the memory sample:
time
(Number) the milliseconds when the sample was taken. This can be converted to a Date using new Date(cpu.time)
.physical_total
(Number) the total amount of RAM available on the system in bytes.physical_used
(Number) the total amount of RAM in use on the system in bytes.physical_free
(Number) the total amount of free RAM available on the system in bytes.private
(Number) the amount of RAM in use by the Node.js application in bytes.virtual
(Number) the memory address space used by Node.js application in bytes.Emitted when a garbage collection (GC) cycle occurs in the underlying V8 runtime.
data
(Object) the data from the GC sample:
time
(Number) the milliseconds when the sample was taken. This can be converted to a Date using new Date(cpu.time)
.type
(String) the type of GC cycle, either 'M' or 'S'.size
(Number) the size of the JavaScript heap in bytes.used
(Number) the amount of memory used on the JavaScript heap in bytes.duration
(Number) the duration of the GC cycle in milliseconds.Emitted when a profiling sample is available from the underlying V8 runtime.
data
(Object) the data from the profiling sample:
time
(Number) the milliseconds when the sample was taken. This can be converted to a Date using new Date(cpu.time)
.functions
(Array) an array of functions that ran during the sample. Each array entry consists of:
self
(Number) the ID for this function.parent
(Number) the ID for this function's caller.name
(String) the name of this function.file
(String) the file in which this function is defined.line
(Number) the line number in the file.count
(Number) the number of samples for this function.3.0.3
FAQs
IBM Monitoring and Diagnostic Tools - Health Center agent
The npm package healthcenter receives a total of 2 weekly downloads. As such, healthcenter popularity was classified as not popular.
We found that healthcenter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.