feat: Add creationTime function to process (#13542)
* Add process creation time * Making docs clear for process creation time * Address comments for process creation time * Add process info cc file * fixing comments around documentation * Update doc for return val * Capitalize number in docs * chore: bump electron-typescript-definitions
This commit is contained in:
parent
9902d42760
commit
19cb5bad94
6 changed files with 34 additions and 7 deletions
|
@ -14,6 +14,7 @@
|
|||
#include "atom/common/native_mate_converters/string16_converter.h"
|
||||
#include "atom/common/node_includes.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/process/process_info.h"
|
||||
#include "base/process/process_metrics_iocounters.h"
|
||||
#include "base/sys_info.h"
|
||||
#include "native_mate/dictionary.h"
|
||||
|
@ -55,6 +56,7 @@ void AtomBindings::BindTo(v8::Isolate* isolate, v8::Local<v8::Object> process) {
|
|||
dict.SetMethod("log", &Log);
|
||||
dict.SetMethod("getHeapStatistics", &GetHeapStatistics);
|
||||
dict.SetMethod("getProcessMemoryInfo", &GetProcessMemoryInfo);
|
||||
dict.SetMethod("getCreationTime", &GetCreationTime);
|
||||
dict.SetMethod("getSystemMemoryInfo", &GetSystemMemoryInfo);
|
||||
dict.SetMethod("getCPUUsage", base::Bind(&AtomBindings::GetCPUUsage,
|
||||
base::Unretained(this)));
|
||||
|
@ -177,6 +179,16 @@ v8::Local<v8::Value> AtomBindings::GetProcessMemoryInfo(v8::Isolate* isolate) {
|
|||
return dict.GetHandle();
|
||||
}
|
||||
|
||||
// static
|
||||
v8::Local<v8::Value> AtomBindings::GetCreationTime(v8::Isolate* isolate) {
|
||||
auto timeValue = base::CurrentProcessInfo::CreationTime();
|
||||
if (timeValue.is_null()) {
|
||||
return v8::Null(isolate);
|
||||
}
|
||||
double jsTime = timeValue.ToJsTime();
|
||||
return v8::Number::New(isolate, jsTime);
|
||||
}
|
||||
|
||||
// static
|
||||
v8::Local<v8::Value> AtomBindings::GetSystemMemoryInfo(v8::Isolate* isolate,
|
||||
mate::Arguments* args) {
|
||||
|
|
|
@ -37,6 +37,7 @@ class AtomBindings {
|
|||
static void Hang();
|
||||
static v8::Local<v8::Value> GetHeapStatistics(v8::Isolate* isolate);
|
||||
static v8::Local<v8::Value> GetProcessMemoryInfo(v8::Isolate* isolate);
|
||||
static v8::Local<v8::Value> GetCreationTime(v8::Isolate* isolate);
|
||||
static v8::Local<v8::Value> GetSystemMemoryInfo(v8::Isolate* isolate,
|
||||
mate::Arguments* args);
|
||||
v8::Local<v8::Value> GetCPUUsage(v8::Isolate* isolate);
|
||||
|
|
|
@ -111,6 +111,13 @@ The `process` object has the following methods:
|
|||
|
||||
Causes the main thread of the current process crash.
|
||||
|
||||
### `process.getCreationTime()`
|
||||
|
||||
Returns `Number | null` - The number of milliseconds since epoch, or `null` if the information is unavailable
|
||||
|
||||
Indicates the creation time of the application.
|
||||
The time is represented as number of milliseconds since epoch. It returns null if it is unable to get the process creation time.
|
||||
|
||||
### `process.getCPUUsage()`
|
||||
|
||||
Returns [`CPUUsage`](structures/cpu-usage.md)
|
||||
|
|
12
package-lock.json
generated
12
package-lock.json
generated
|
@ -5,9 +5,9 @@
|
|||
"requires": true,
|
||||
"dependencies": {
|
||||
"@types/node": {
|
||||
"version": "7.0.66",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.66.tgz",
|
||||
"integrity": "sha512-W11u5kUNSX2+N6bJ7rPyLW4N98/xzrZg8apRoTwC0zbFjIie//oxgKAvqkQNQ97KVchB49ost74kgzoeDiE+Uw==",
|
||||
"version": "7.0.69",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.69.tgz",
|
||||
"integrity": "sha512-S5NC8HV6HnRipg8nC0j30TPl7ktXjRTKqgyINLNe8K/64UJUI8Lq0sRopXC0hProsV2F5ibj8IqPkl1xpGggrw==",
|
||||
"dev": true
|
||||
},
|
||||
"JSONStream": {
|
||||
|
@ -2517,9 +2517,9 @@
|
|||
}
|
||||
},
|
||||
"electron-typescript-definitions": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/electron-typescript-definitions/-/electron-typescript-definitions-1.3.5.tgz",
|
||||
"integrity": "sha512-7Ryb7AN0Re63oeX3wHytjX0ScVlDcgj+GSBi6Q8aSNpo4B/sffAgZK6P/b4idqF26hp2jPJWcjBMizUb0VNfAQ==",
|
||||
"version": "1.3.6",
|
||||
"resolved": "https://registry.npmjs.org/electron-typescript-definitions/-/electron-typescript-definitions-1.3.6.tgz",
|
||||
"integrity": "sha512-Wz6tPaaZ22lbfWwF9bzVSki7LMW96xilCT1M8eeNYZG6LcpA9x34jlrAZg5HZWTHXR2tfbTQhSmrY+FEVulD/A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/node": "^7.0.18",
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
"dugite": "^1.45.0",
|
||||
"electabul": "~0.0.4",
|
||||
"electron-docs-linter": "^2.3.4",
|
||||
"electron-typescript-definitions": "^1.3.5",
|
||||
"electron-typescript-definitions": "^1.3.6",
|
||||
"github": "^9.2.0",
|
||||
"html-entities": "^1.2.1",
|
||||
"husky": "^0.14.3",
|
||||
|
|
|
@ -1,6 +1,13 @@
|
|||
const {expect} = require('chai')
|
||||
|
||||
describe('process module', () => {
|
||||
describe('process.getCreationTime()', () => {
|
||||
it('returns a creation time', () => {
|
||||
const creationTime = process.getCreationTime()
|
||||
expect(creationTime).to.be.a('number').and.be.at.least(0)
|
||||
})
|
||||
})
|
||||
|
||||
describe('process.getCPUUsage()', () => {
|
||||
it('returns a cpu usage object', () => {
|
||||
const cpuUsage = process.getCPUUsage()
|
||||
|
|
Loading…
Reference in a new issue