@harperfast/harper 5.0.7 → 5.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/status.js +2 -2
- package/bin/stop.js +5 -6
- package/components/OptionsWatcher.ts +9 -1
- package/dataLayer/harperBridge/TableSizeObject.ts +35 -0
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.ts +24 -0
- package/dist/bin/status.js +2 -2
- package/dist/bin/status.js.map +1 -1
- package/dist/bin/stop.js +5 -5
- package/dist/bin/stop.js.map +1 -1
- package/dist/components/OptionsWatcher.js +8 -1
- package/dist/components/OptionsWatcher.js.map +1 -1
- package/dist/dataLayer/harperBridge/TableSizeObject.d.ts +20 -0
- package/dist/dataLayer/harperBridge/TableSizeObject.js +32 -0
- package/dist/dataLayer/harperBridge/TableSizeObject.js.map +1 -0
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.d.ts +6 -6
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +18 -19
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js.map +1 -1
- package/dist/globals.d.ts +4 -3
- package/dist/globals.js +7 -4
- package/dist/globals.js.map +1 -1
- package/dist/index.d.ts +45 -7
- package/dist/index.js +32 -36
- package/dist/index.js.map +1 -1
- package/dist/resources/DatabaseTransaction.js +6 -1
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/RecordEncoder.d.ts +1 -0
- package/dist/resources/RecordEncoder.js +18 -9
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/Table.d.ts +1 -1
- package/dist/resources/Table.js +13 -2
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/blob.d.ts +6 -0
- package/dist/resources/blob.js +5 -2
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/databases.js +2 -1
- package/dist/resources/databases.js.map +1 -1
- package/dist/security/jsLoader.d.ts +3 -0
- package/dist/security/jsLoader.js +19 -2
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/keys.js +1 -1
- package/dist/security/keys.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.js +2 -0
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.js +2 -2
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/utility/environment/systemInformation.d.ts +178 -49
- package/dist/utility/environment/systemInformation.js +359 -219
- package/dist/utility/environment/systemInformation.js.map +1 -1
- package/dist/utility/operation_authorization.js +2 -2
- package/dist/utility/operation_authorization.js.map +1 -1
- package/index.ts +113 -0
- package/package.json +3 -3
- package/resources/DatabaseTransaction.ts +8 -3
- package/resources/RecordEncoder.ts +11 -3
- package/resources/Table.ts +13 -2
- package/resources/blob.ts +7 -2
- package/resources/databases.ts +2 -1
- package/security/jsLoader.ts +17 -5
- package/security/keys.js +1 -1
- package/server/DurableSubscriptionsSession.ts +1 -0
- package/server/serverHelpers/serverUtilities.ts +2 -5
- package/studio/web/assets/{index-C0And10y.js → index-DL0ibcSu.js} +2 -2
- package/studio/web/assets/{index-C0And10y.js.map → index-DL0ibcSu.js.map} +1 -1
- package/studio/web/index.html +1 -1
- package/utility/environment/systemInformation.ts +698 -0
- package/utility/operation_authorization.js +2 -5
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +0 -25
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +0 -34
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.d.ts +0 -21
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +0 -24
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js.map +0 -1
- package/index.d.ts +0 -56
- package/index.js +0 -41
- package/utility/environment/systemInformation.js +0 -355
|
@@ -1,68 +1,197 @@
|
|
|
1
|
+
import si from 'systeminformation';
|
|
2
|
+
import { TableSizeObject } from '../../dataLayer/harperBridge/TableSizeObject.ts';
|
|
3
|
+
import { StatsHistogramData } from '@harperfast/rocksdb-js';
|
|
4
|
+
export declare class SystemInformationRequest {
|
|
5
|
+
operator: string;
|
|
6
|
+
attributes: string[];
|
|
7
|
+
constructor(attributes: any);
|
|
8
|
+
}
|
|
9
|
+
export declare class SystemInformationResponse {
|
|
10
|
+
system?: SystemInfo;
|
|
11
|
+
time?: TimeData;
|
|
12
|
+
cpu?: CpuInfo;
|
|
13
|
+
memory?: MemoryInfo;
|
|
14
|
+
disk?: DiskInfo;
|
|
15
|
+
network?: NetworkInfo;
|
|
16
|
+
harperdb_processes?: HarperdbProcesses;
|
|
17
|
+
table_size?: TableSizeObject[];
|
|
18
|
+
metrics?: DatabaseMetrics;
|
|
19
|
+
threads?: Record<string, unknown>;
|
|
20
|
+
constructor(system?: SystemInfo, time?: TimeData, cpu?: CpuInfo, memory?: MemoryInfo, disk?: DiskInfo, network?: NetworkInfo, harperdbProcesses?: HarperdbProcesses, tableSize?: TableSizeObject[], metrics?: DatabaseMetrics, threads?: Record<string, unknown>);
|
|
21
|
+
}
|
|
22
|
+
type TimeData = si.Systeminformation.TimeData;
|
|
1
23
|
/**
|
|
2
|
-
*
|
|
3
|
-
* @returns {Promise<{core: []}>}
|
|
24
|
+
* Returns the current local time, uptime, timezone, and timezone name.
|
|
4
25
|
*/
|
|
5
|
-
export function
|
|
6
|
-
|
|
7
|
-
|
|
26
|
+
export declare function getTimeInfo(): TimeData;
|
|
27
|
+
type CpuInfo = Pick<si.Systeminformation.CpuData, 'manufacturer' | 'brand' | 'vendor' | 'speed' | 'cores' | 'physicalCores' | 'performanceCores' | 'efficiencyCores' | 'processors' | 'flags' | 'virtualization'> & {
|
|
28
|
+
cpu_speed: si.Systeminformation.CpuCurrentSpeedData;
|
|
29
|
+
current_load: Pick<si.Systeminformation.CurrentLoadData, 'avgLoad' | 'currentLoad' | 'currentLoadUser' | 'currentLoadSystem' | 'currentLoadNice' | 'currentLoadIdle' | 'currentLoadIrq'> & {
|
|
30
|
+
cpus: Pick<si.Systeminformation.CurrentLoadCpuData, 'load' | 'loadUser' | 'loadSystem' | 'loadNice' | 'loadIdle' | 'loadIrq'>[];
|
|
31
|
+
};
|
|
32
|
+
};
|
|
8
33
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
34
|
+
* Detects CPU information such as manufacturer, brand, vendor, speed, cores, physical cores, and
|
|
35
|
+
* processors.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getCPUInfo(): Promise<CpuInfo | null>;
|
|
38
|
+
type MemoryInfo = Pick<si.Systeminformation.MemData, 'total' | 'free' | 'used' | 'active' | 'available' | 'reclaimable' | 'swaptotal' | 'swapused' | 'swapfree' | 'writeback' | 'dirty'> & NodeJS.MemoryUsage;
|
|
39
|
+
/**
|
|
40
|
+
* Detect system and Node.js memory usage.
|
|
11
41
|
*/
|
|
12
|
-
export function
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
42
|
+
export declare function getMemoryInfo(): Promise<MemoryInfo | null>;
|
|
43
|
+
type CoreInfo = si.Systeminformation.ProcessesProcessData & {
|
|
44
|
+
parent?: string;
|
|
45
|
+
};
|
|
46
|
+
type HarperdbProcesses = {
|
|
47
|
+
core: CoreInfo[];
|
|
48
|
+
};
|
|
19
49
|
/**
|
|
20
|
-
*
|
|
21
|
-
* @returns {Promise<{}>}
|
|
50
|
+
* Detects the Harper process PID and returns the process info.
|
|
51
|
+
* @returns {Promise<{core: []}>}
|
|
52
|
+
*/
|
|
53
|
+
export declare function getHDBProcessInfo(): Promise<HarperdbProcesses>;
|
|
54
|
+
type DiskInfo = {
|
|
55
|
+
io?: Pick<si.Systeminformation.DisksIoData, 'rIO' | 'wIO' | 'tIO'>;
|
|
56
|
+
read_write?: Pick<si.Systeminformation.FsStatsData, 'rx' | 'tx' | 'wx'>;
|
|
57
|
+
size?: si.Systeminformation.FsSizeData[];
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Retrieves disk related info & stats
|
|
61
|
+
* @returns {Promise<DiskInfo>}
|
|
22
62
|
*/
|
|
23
|
-
export function getDiskInfo(): Promise<
|
|
63
|
+
export declare function getDiskInfo(): Promise<DiskInfo>;
|
|
64
|
+
type NetworkInfo = {
|
|
65
|
+
default_interface: string | null;
|
|
66
|
+
latency: si.Systeminformation.InetChecksiteData | Record<never, never>;
|
|
67
|
+
interfaces: Pick<si.Systeminformation.NetworkInterfacesData, 'iface' | 'ifaceName' | 'default' | 'ip4' | 'ip4subnet' | 'ip6' | 'ip6subnet' | 'mac' | 'operstate' | 'type' | 'duplex' | 'speed'>[];
|
|
68
|
+
stats: any[];
|
|
69
|
+
connections: any[];
|
|
70
|
+
};
|
|
24
71
|
/**
|
|
25
|
-
*
|
|
26
|
-
* @returns {Promise<{
|
|
72
|
+
* Detects networking connection information & stats
|
|
73
|
+
* @returns {Promise<{interfaces: [], default_interface: null, stats: [], latency: {}, connections: []}>}
|
|
27
74
|
*/
|
|
28
|
-
export function
|
|
75
|
+
export declare function getNetworkInfo(): Promise<NetworkInfo>;
|
|
76
|
+
type SystemInfo = Partial<Pick<si.Systeminformation.OsData, 'platform' | 'distro' | 'release' | 'codename' | 'kernel' | 'arch' | 'hostname' | 'fqdn'>> & {
|
|
77
|
+
node_version?: string;
|
|
78
|
+
npm_version?: string;
|
|
79
|
+
};
|
|
29
80
|
/**
|
|
30
|
-
*
|
|
31
|
-
* @returns {Promise<
|
|
81
|
+
* Detect operating system and Node.js runtime information.
|
|
82
|
+
* @returns {Promise<SystemInfo>}
|
|
32
83
|
*/
|
|
33
|
-
export function
|
|
84
|
+
export declare function getSystemInformation(): Promise<SystemInfo>;
|
|
34
85
|
/**
|
|
35
|
-
*
|
|
36
|
-
* @returns {
|
|
86
|
+
* Retrieves table size information.
|
|
87
|
+
* @returns {TableSizeObject[]}
|
|
37
88
|
*/
|
|
38
|
-
export function
|
|
89
|
+
export declare function getTableSize(): TableSizeObject[];
|
|
90
|
+
type LMDBEnvStats = {
|
|
91
|
+
entryCount: number;
|
|
92
|
+
overflowPages: number;
|
|
93
|
+
pageSize: number;
|
|
94
|
+
treeBranchPageCount: number;
|
|
95
|
+
treeDepth: number;
|
|
96
|
+
treeLeafPageCount: number;
|
|
97
|
+
};
|
|
98
|
+
type LMDBStats = LMDBEnvStats & {
|
|
99
|
+
free: LMDBEnvStats;
|
|
100
|
+
lastPageNumber: number;
|
|
101
|
+
lastTxnId: number;
|
|
102
|
+
mapSize: number;
|
|
103
|
+
maxReaders: number;
|
|
104
|
+
numReaders: number;
|
|
105
|
+
root: LMDBEnvStats;
|
|
106
|
+
};
|
|
107
|
+
type RocksDBStats = {
|
|
108
|
+
blockCacheCapacity: number;
|
|
109
|
+
blockCacheDataHit: number;
|
|
110
|
+
blockCacheDataMiss: number;
|
|
111
|
+
blockCacheFilterHit: number;
|
|
112
|
+
blockCacheFilterMiss: number;
|
|
113
|
+
blockCacheHit: number;
|
|
114
|
+
blockCacheIndexHit: number;
|
|
115
|
+
blockCacheIndexMiss: number;
|
|
116
|
+
blockCacheMiss: number;
|
|
117
|
+
blockCachePinnedUsage: number;
|
|
118
|
+
blockCacheUsage: number;
|
|
119
|
+
bytesRead: number;
|
|
120
|
+
bytesWritten: number;
|
|
121
|
+
dbFlushMicros: StatsHistogramData;
|
|
122
|
+
dbGetMicros: StatsHistogramData;
|
|
123
|
+
dbSeekMicros: StatsHistogramData;
|
|
124
|
+
dbWriteMicros: StatsHistogramData;
|
|
125
|
+
noFileErrors: number;
|
|
126
|
+
numberKeysRead: number;
|
|
127
|
+
numberKeysWritten: number;
|
|
128
|
+
numberReseeksIteration: number;
|
|
129
|
+
numRunningFlushes: number;
|
|
130
|
+
oldestSnapshotTime: number;
|
|
131
|
+
stallMicros: number;
|
|
132
|
+
txnOverheadMutexOldCommitMap: number;
|
|
133
|
+
txnOverheadMutexPrepare: number;
|
|
134
|
+
txnOverheadMutexSnapshot: number;
|
|
135
|
+
};
|
|
136
|
+
type RocksDBTableStats = {
|
|
137
|
+
blobdbValueSize: StatsHistogramData;
|
|
138
|
+
bloomFilterFullPositive: number;
|
|
139
|
+
bloomFilterFullTruePositive: number;
|
|
140
|
+
bloomFilterUseful: number;
|
|
141
|
+
compactReadBytes: number;
|
|
142
|
+
compactWriteBytes: number;
|
|
143
|
+
compactionCancelled: number;
|
|
144
|
+
compactionPending: number;
|
|
145
|
+
compactionTimesMicros: StatsHistogramData;
|
|
146
|
+
curSizeActiveMemTable: number;
|
|
147
|
+
curSizeAllMemTables: number;
|
|
148
|
+
currentSuperVersionNumber: number;
|
|
149
|
+
dbIterBytesRead: number;
|
|
150
|
+
dbWriteStall: StatsHistogramData;
|
|
151
|
+
estimateLiveDataSize: number;
|
|
152
|
+
estimateNumKeys: number;
|
|
153
|
+
estimatePendingCompactionBytes: number;
|
|
154
|
+
liveBlobFileSize: number;
|
|
155
|
+
liveSstFilesSize: number;
|
|
156
|
+
memTableFlushPending: number;
|
|
157
|
+
memtableHit: number;
|
|
158
|
+
memtableMiss: number;
|
|
159
|
+
numBlobFiles: number;
|
|
160
|
+
numDeletesActiveMemTable: number;
|
|
161
|
+
numEntriesActiveMemTable: number;
|
|
162
|
+
numImmutableMemTable: number;
|
|
163
|
+
numImmutableMemTableFlushed: number;
|
|
164
|
+
numLiveVersions: number;
|
|
165
|
+
numRunningCompactions: number;
|
|
166
|
+
readAmpEstimateUsefulBytes: number;
|
|
167
|
+
readAmpTotalReadBytes: number;
|
|
168
|
+
sizeAllMemTables: number;
|
|
169
|
+
sstReadMicros: StatsHistogramData;
|
|
170
|
+
totalBlobFileSize: number;
|
|
171
|
+
totalSstFilesSize: number;
|
|
172
|
+
};
|
|
173
|
+
type TableStats = RocksDBTableStats | Pick<LMDBStats, 'entryCount' | 'overflowPages' | 'treeBranchPageCount' | 'treeDepth' | 'treeLeafPageCount'>;
|
|
174
|
+
type DBStats = RocksDBStats & {
|
|
175
|
+
audit?: Pick<LMDBStats, 'treeDepth' | 'treeBranchPageCount' | 'treeLeafPageCount' | 'entryCount' | 'overflowPages'>;
|
|
176
|
+
readers?: {
|
|
177
|
+
pid: string;
|
|
178
|
+
thread: string;
|
|
179
|
+
txnid: string;
|
|
180
|
+
}[];
|
|
181
|
+
tables: Record<string, TableStats>;
|
|
182
|
+
};
|
|
183
|
+
type DatabaseMetrics = {
|
|
184
|
+
[dbName: string]: DBStats;
|
|
185
|
+
};
|
|
39
186
|
/**
|
|
40
|
-
*
|
|
41
|
-
* @returns {Promise<
|
|
187
|
+
* Get RocksDB or LMDB metrics for all databases and tables.
|
|
188
|
+
* @returns {Promise<DatabaseMetrics>}
|
|
42
189
|
*/
|
|
43
|
-
export function
|
|
190
|
+
export declare function getMetrics(): Promise<DatabaseMetrics>;
|
|
44
191
|
/**
|
|
45
|
-
*
|
|
192
|
+
* Retrieves system information for the requested attributes.
|
|
46
193
|
* @param {SystemInformationRequest} systemInfoReq
|
|
47
194
|
* @returns {Promise<SystemInformationResponse>}
|
|
48
195
|
*/
|
|
49
|
-
export function systemInformation(systemInfoReq: SystemInformationRequest): Promise<SystemInformationResponse>;
|
|
50
|
-
export function getTableSize(): Promise<import("../../dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js")[]>;
|
|
51
|
-
export function getMetrics(): Promise<{}>;
|
|
52
|
-
export class SystemInformationRequest {
|
|
53
|
-
constructor(attributes: any);
|
|
54
|
-
operator: "system_information";
|
|
55
|
-
attributes: any;
|
|
56
|
-
}
|
|
57
|
-
import si = require("systeminformation");
|
|
58
|
-
declare class SystemInformationResponse {
|
|
59
|
-
constructor(system: any, time: any, cpu: any, memory: any, disk: any, network: any, harperdbProcesses: any);
|
|
60
|
-
system: any;
|
|
61
|
-
time: any;
|
|
62
|
-
cpu: any;
|
|
63
|
-
memory: any;
|
|
64
|
-
disk: any;
|
|
65
|
-
network: any;
|
|
66
|
-
harperdb_processes: any;
|
|
67
|
-
}
|
|
196
|
+
export declare function systemInformation(systemInfoReq: SystemInformationRequest): Promise<SystemInformationResponse>;
|
|
68
197
|
export {};
|