@harperfast/harper-pro 5.0.6 → 5.0.7

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.
Files changed (104) hide show
  1. package/core/bin/status.js +2 -2
  2. package/core/bin/stop.js +6 -5
  3. package/core/components/EntryHandler.ts +2 -4
  4. package/core/components/Scope.ts +1 -1
  5. package/core/components/componentLoader.ts +4 -11
  6. package/core/components/requestRestart.ts +2 -17
  7. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +25 -0
  8. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +34 -0
  9. package/core/package-lock.json +63 -971
  10. package/core/resources/DatabaseTransaction.ts +3 -8
  11. package/core/resources/Table.ts +17 -12
  12. package/core/resources/databases.ts +2 -2
  13. package/core/resources/graphql.ts +165 -163
  14. package/core/resources/indexes/HierarchicalNavigableSmallWorld.ts +3 -14
  15. package/core/resources/indexes/vector.ts +0 -17
  16. package/core/resources/loadEnv.ts +16 -20
  17. package/core/resources/login.ts +3 -4
  18. package/core/resources/roles.ts +65 -60
  19. package/core/security/auth.ts +14 -15
  20. package/core/security/jsLoader.ts +2 -14
  21. package/core/server/REST.ts +11 -10
  22. package/core/server/fastifyRoutes.ts +29 -30
  23. package/core/server/graphqlQuerying.ts +3 -4
  24. package/core/server/http.ts +1 -175
  25. package/core/server/mqtt.ts +2 -8
  26. package/core/server/serverHelpers/serverUtilities.ts +5 -2
  27. package/core/server/threads/threadServer.js +2 -30
  28. package/core/server/throttle.ts +0 -18
  29. package/core/utility/environment/environmentManager.js +4 -10
  30. package/core/utility/environment/systemInformation.js +355 -0
  31. package/core/utility/hdbTerms.ts +0 -1
  32. package/core/utility/operation_authorization.js +5 -2
  33. package/dist/core/bin/status.js +2 -2
  34. package/dist/core/bin/status.js.map +1 -1
  35. package/dist/core/bin/stop.js +5 -5
  36. package/dist/core/bin/stop.js.map +1 -1
  37. package/dist/core/components/EntryHandler.js +2 -4
  38. package/dist/core/components/EntryHandler.js.map +1 -1
  39. package/dist/core/components/Scope.js +1 -1
  40. package/dist/core/components/Scope.js.map +1 -1
  41. package/dist/core/components/componentLoader.js +3 -11
  42. package/dist/core/components/componentLoader.js.map +1 -1
  43. package/dist/core/components/requestRestart.js +1 -12
  44. package/dist/core/components/requestRestart.js.map +1 -1
  45. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +24 -0
  46. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js.map +1 -0
  47. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +19 -18
  48. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js.map +1 -1
  49. package/dist/core/resources/DatabaseTransaction.js +1 -6
  50. package/dist/core/resources/DatabaseTransaction.js.map +1 -1
  51. package/dist/core/resources/Table.js +18 -14
  52. package/dist/core/resources/Table.js.map +1 -1
  53. package/dist/core/resources/databases.js +1 -2
  54. package/dist/core/resources/databases.js.map +1 -1
  55. package/dist/core/resources/graphql.js +176 -176
  56. package/dist/core/resources/graphql.js.map +1 -1
  57. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js +2 -14
  58. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  59. package/dist/core/resources/indexes/vector.js +0 -14
  60. package/dist/core/resources/indexes/vector.js.map +1 -1
  61. package/dist/core/resources/loadEnv.js +17 -20
  62. package/dist/core/resources/loadEnv.js.map +1 -1
  63. package/dist/core/resources/login.js +4 -4
  64. package/dist/core/resources/login.js.map +1 -1
  65. package/dist/core/resources/roles.js +68 -64
  66. package/dist/core/resources/roles.js.map +1 -1
  67. package/dist/core/security/auth.js +15 -17
  68. package/dist/core/security/auth.js.map +1 -1
  69. package/dist/core/security/jsLoader.js +2 -16
  70. package/dist/core/security/jsLoader.js.map +1 -1
  71. package/dist/core/server/REST.js +11 -11
  72. package/dist/core/server/REST.js.map +1 -1
  73. package/dist/core/server/fastifyRoutes.js +29 -30
  74. package/dist/core/server/fastifyRoutes.js.map +1 -1
  75. package/dist/core/server/graphqlQuerying.js +4 -5
  76. package/dist/core/server/graphqlQuerying.js.map +1 -1
  77. package/dist/core/server/http.js +0 -179
  78. package/dist/core/server/http.js.map +1 -1
  79. package/dist/core/server/mqtt.js +3 -5
  80. package/dist/core/server/mqtt.js.map +1 -1
  81. package/dist/core/server/serverHelpers/serverUtilities.js +2 -2
  82. package/dist/core/server/serverHelpers/serverUtilities.js.map +1 -1
  83. package/dist/core/server/threads/threadServer.js +2 -26
  84. package/dist/core/server/threads/threadServer.js.map +1 -1
  85. package/dist/core/server/throttle.js +0 -17
  86. package/dist/core/server/throttle.js.map +1 -1
  87. package/dist/core/utility/environment/environmentManager.js +4 -9
  88. package/dist/core/utility/environment/environmentManager.js.map +1 -1
  89. package/dist/core/utility/environment/systemInformation.js +219 -359
  90. package/dist/core/utility/environment/systemInformation.js.map +1 -1
  91. package/dist/core/utility/hdbTerms.js +0 -1
  92. package/dist/core/utility/hdbTerms.js.map +1 -1
  93. package/dist/core/utility/operation_authorization.js +2 -2
  94. package/dist/core/utility/operation_authorization.js.map +1 -1
  95. package/npm-shrinkwrap.json +54 -974
  96. package/package.json +1 -2
  97. package/studio/web/assets/{index-qbLPhOzw.js → index-C0And10y.js} +2 -2
  98. package/studio/web/assets/{index-qbLPhOzw.js.map → index-C0And10y.js.map} +1 -1
  99. package/studio/web/index.html +1 -1
  100. package/core/dataLayer/harperBridge/TableSizeObject.ts +0 -35
  101. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.ts +0 -24
  102. package/core/utility/environment/systemInformation.ts +0 -698
  103. package/dist/core/dataLayer/harperBridge/TableSizeObject.js +0 -32
  104. package/dist/core/dataLayer/harperBridge/TableSizeObject.js.map +0 -1
@@ -2,8 +2,7 @@
2
2
 
3
3
  const { isMainThread, parentPort, threadId, workerData } = require('node:worker_threads');
4
4
  const { createServer: createSocketServer } = require('node:net');
5
- const { unlinkSync, existsSync, mkdirSync } = require('fs');
6
- const { join } = require('path');
5
+ const { unlinkSync, existsSync } = require('fs');
7
6
  let componentsLoadedResolve;
8
7
  exports.whenComponentsLoaded = new Promise((resolve) => {
9
8
  componentsLoadedResolve = resolve;
@@ -145,8 +144,6 @@ function startServers() {
145
144
  }, 5000).unref();
146
145
  });
147
146
  }
148
- // Clean up per-thread UDS socket and metadata files
149
- httpComponent.cleanupUdsFiles();
150
147
  if (debugThreads || process.env.DEV_MODE) {
151
148
  try {
152
149
  require('inspector').close();
@@ -175,8 +172,6 @@ function startServers() {
175
172
  });
176
173
  });
177
174
  componentsLoadedResolve(loaded);
178
- // Clean up UDS files on unexpected process exit
179
- process.on('exit', () => httpComponent.cleanupUdsFiles());
180
175
  return loaded;
181
176
  }
182
177
  function listenOnPorts() {
@@ -185,7 +180,7 @@ function listenOnPorts() {
185
180
  const server = SERVERS[port];
186
181
 
187
182
  // If server is unix domain socket
188
- if (port.includes?.('/')) {
183
+ if (port.includes?.('/') && getWorkerIndex() == 0) {
189
184
  if (existsSync(port)) unlinkSync(port);
190
185
  listening.push(
191
186
  new Promise((resolve, reject) => {
@@ -270,29 +265,6 @@ function onSocket(listener, options) {
270
265
  );
271
266
  SNICallback.initialize(socketServer);
272
267
  SERVERS[options.securePort] = socketServer;
273
-
274
- // Create a corresponding Unix Domain Socket mirror for the secure socket
275
- if (env.get(terms.CONFIG_PARAMS.TLS_UNIXDOMAINSOCKETS)) {
276
- const socketsDir = join(env.getHdbBasePath(), 'sockets');
277
- mkdirSync(socketsDir, { recursive: true });
278
- const socketName = `${getWorkerIndex()}-${options.securePort}`;
279
- const udsPath = join(socketsDir, `${socketName}.sock`);
280
- const yamlPath = join(socketsDir, `${socketName}.yaml`);
281
-
282
- const udsServer = createSocketServer(listener, {
283
- noDelay: true,
284
- keepAlive: true,
285
- keepAliveInitialDelay: 600,
286
- });
287
-
288
- udsServer.isPerThreadSocket = true;
289
- SERVERS[udsPath] = udsServer;
290
- httpComponent.registerUdsCleanupPaths(udsPath, yamlPath);
291
-
292
- const writeMetadata = () => httpComponent.writeUdsMetadata(yamlPath, options.securePort, socketServer);
293
- SNICallback.ready.then(writeMetadata);
294
- socketServer.secureContextsListeners.push(writeMetadata);
295
- }
296
268
  }
297
269
  if (options.port) {
298
270
  setPortServerMap(options.port, { protocol_name: 'TCP', name: getComponentName() });
@@ -1,5 +1,4 @@
1
1
  import { logger } from '../utility/logging/logger.ts';
2
- import { Session, url as inspectorURL } from 'node:inspector';
3
2
  const MAX_EVENT_DELAY_TIME = 3000;
4
3
  const DEFAULT_MAX_QUEUE_TIME = 20_000; // 20 seconds
5
4
  let lastWarning = 0;
@@ -72,20 +71,3 @@ setInterval(() => {
72
71
  }
73
72
  lastEventQueueCheck = now;
74
73
  }, EVENT_QUEUE_MONITORING_INTERVAL).unref();
75
-
76
- // Reset lastEventQueueCheck if we are resuming from the debugger
77
- // so the event loop lag check ignores breakpoint pauses
78
- setTimeout(() => {
79
- // wait for any debugger to register and then see if the inspector/debugger is actually enabled
80
- if (inspectorURL()) {
81
- const session = new Session();
82
- session.connect();
83
- session.post('Debugger.enable');
84
- session.on('inspectorNotification', ({ method }) => {
85
- if (method === 'Debugger.resumed') {
86
- // reset if we are resuming
87
- lastEventQueueCheck = performance.now();
88
- }
89
- });
90
- }
91
- }, 1);
@@ -152,22 +152,16 @@ function initTestEnvironment(testConfigObj = {}) {
152
152
  // __dirname is dist/utility/environment when running tests, so go up 3 levels to reach project root
153
153
  const propsPath = path.join(__dirname, '../../../', 'unitTests');
154
154
  installProps[BOOT_PROPS_FILE_PATH] = path.join(propsPath, 'hdb_boot_properties.file');
155
- const TEST_HDB_PATH = path.join(propsPath, 'envDir', process.pid.toString());
156
155
  try {
157
- mkdirSync(TEST_HDB_PATH, { recursive: true });
156
+ mkdirSync(path.join(propsPath, 'envDir'));
158
157
  } catch {}
159
158
  setProperty(hdbTerms.HDB_SETTINGS_NAMES.SETTINGS_PATH_KEY, path.join(propsPath, 'settings.test'));
160
159
  setProperty(hdbTerms.HDB_SETTINGS_NAMES.INSTALL_USER, os.userInfo() ? os.userInfo().username : undefined);
161
160
  setProperty(hdbTerms.HDB_SETTINGS_NAMES.LOG_LEVEL_KEY, `debug`);
162
- setProperty(hdbTerms.HDB_SETTINGS_NAMES.LOG_PATH_KEY, path.join(TEST_HDB_PATH, 'log'));
161
+ setProperty(hdbTerms.HDB_SETTINGS_NAMES.LOG_PATH_KEY, path.join(propsPath, 'envDir', 'log'));
163
162
  setProperty(hdbTerms.HDB_SETTINGS_NAMES.LOG_DAILY_ROTATE_KEY, false);
164
- setProperty(hdbTerms.HDB_SETTINGS_NAMES.HDB_ROOT_KEY, TEST_HDB_PATH);
165
- setProperty(hdbTerms.CONFIG_PARAMS.STORAGE_PATH, TEST_HDB_PATH);
166
- const systemPath = typeof databases !== 'undefined' && databases.system?.hdb_user?.primaryStore?.path;
167
- if (systemPath) {
168
- setProperty(hdbTerms.CONFIG_PARAMS.DATABASES, { system: { path: path.dirname(systemPath) } });
169
- }
170
-
163
+ setProperty(hdbTerms.HDB_SETTINGS_NAMES.HDB_ROOT_KEY, path.join(propsPath, 'envDir'));
164
+ setProperty(hdbTerms.CONFIG_PARAMS.STORAGE_PATH, path.join(propsPath, 'envDir'));
171
165
  if (https_enabled) {
172
166
  setProperty(hdbTerms.CONFIG_PARAMS.HTTP_SECUREPORT, get(hdbTerms.CONFIG_PARAMS.HTTP_PORT));
173
167
  setProperty(hdbTerms.CONFIG_PARAMS.HTTP_PORT, null);
@@ -0,0 +1,355 @@
1
+ 'use strict';
2
+
3
+ const fs = require('fs-extra');
4
+ const path = require('path');
5
+ const si = require('systeminformation');
6
+ const log = require('../logging/harper_logger.js');
7
+ const terms = require('../hdbTerms.ts');
8
+ const lmdbGetTableSize = require('../../dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js');
9
+ const schemaDescribe = require('../../dataLayer/schemaDescribe.js');
10
+ const { getThreadInfo } = require('../../server/threads/manageThreads.js');
11
+ const env = require('./environmentManager.js');
12
+ env.initSync();
13
+ const { databases } = require('../../resources/databases.ts');
14
+
15
+ //this will hold the system_information which is static to improve performance
16
+ let systemInformationCache = undefined;
17
+
18
+ class SystemInformationRequest {
19
+ constructor(attributes) {
20
+ this.operator = terms.OPERATIONS_ENUM.SYSTEM_INFORMATION;
21
+ this.attributes = attributes;
22
+ }
23
+ }
24
+
25
+ class SystemInformationResponse {
26
+ constructor(system, time, cpu, memory, disk, network, harperdbProcesses) {
27
+ this.system = system;
28
+ this.time = time;
29
+ this.cpu = cpu;
30
+ this.memory = memory;
31
+ this.disk = disk;
32
+ this.network = network;
33
+ this.harperdb_processes = harperdbProcesses;
34
+ }
35
+ }
36
+
37
+ module.exports = {
38
+ getHDBProcessInfo,
39
+ getNetworkInfo,
40
+ getDiskInfo,
41
+ getMemoryInfo,
42
+ getCPUInfo,
43
+ getTimeInfo,
44
+ getSystemInformation,
45
+ systemInformation,
46
+ getTableSize,
47
+ getMetrics,
48
+ SystemInformationRequest,
49
+ };
50
+
51
+ /**
52
+ * executes the time function to return the time info for the system
53
+ * @returns {si.Systeminformation.TimeData}
54
+ */
55
+ function getTimeInfo() {
56
+ return si.time();
57
+ }
58
+
59
+ /**
60
+ * executes cpu related functions
61
+ * @returns {Promise<{}|Pick<si.Systeminformation.CpuData, "manufacturer" | "brand" | "vendor" | "speed" | "cores" | "physicalCores" | "processors">>}
62
+ */
63
+ async function getCPUInfo() {
64
+ try {
65
+ // eslint-disable-next-line no-unused-vars
66
+ let { family, model, stepping, revision, voltage, speedmin, speedmax, governor, socket, cache, ...cpuInfo } =
67
+ await si.cpu();
68
+ cpuInfo.cpu_speed = await si.cpuCurrentSpeed();
69
+
70
+ let {
71
+ // eslint-disable-next-line no-unused-vars
72
+ rawCurrentload,
73
+ cpus,
74
+ ...cpuCurrentLoad
75
+ } = await si.currentLoad();
76
+ cpuCurrentLoad.cpus = [];
77
+ cpus.forEach((cpuData) => {
78
+ // eslint-disable-next-line no-unused-vars
79
+ let { rawLoad, rawLoadIdle, rawLoadIrq, rawLoadNice, rawLoadSystem, rawLoadUser, ...cpuLoad } = cpuData;
80
+ cpuCurrentLoad.cpus.push(cpuLoad);
81
+ });
82
+ cpuInfo.current_load = cpuCurrentLoad;
83
+ return cpuInfo;
84
+ } catch (e) {
85
+ log.error(`error in getCPUInfo: ${e}`);
86
+ return {};
87
+ }
88
+ }
89
+
90
+ /**
91
+ * fetches information related memory
92
+ * @returns {Promise<{}|Pick<si.Systeminformation.MemData, "total" | "free" | "used" | "active" | "available" | "swaptotal" | "swapused" | "swapfree">>}
93
+ */
94
+ async function getMemoryInfo() {
95
+ try {
96
+ // eslint-disable-next-line no-unused-vars
97
+ let { buffers, cached, slab, buffcache, ...memInfo } = await si.mem();
98
+ return Object.assign(memInfo, process.memoryUsage());
99
+ } catch (e) {
100
+ log.error(`error in getMemoryInfo: ${e}`);
101
+ return {};
102
+ }
103
+ }
104
+
105
+ /**
106
+ * searches for & returns the processes for hdb core
107
+ * @returns {Promise<{core: []}>}
108
+ */
109
+ async function getHDBProcessInfo() {
110
+ let harperdbProcesses = {
111
+ core: [],
112
+ };
113
+ try {
114
+ let processes = await si.processes();
115
+
116
+ let hdbPid;
117
+ try {
118
+ hdbPid = Number.parseInt(
119
+ await fs.readFile(path.join(env.get(terms.CONFIG_PARAMS.ROOTPATH), terms.HDB_PID_FILE), 'utf8')
120
+ );
121
+ } catch (err) {
122
+ if (err.code === terms.NODE_ERROR_CODES.ENOENT) {
123
+ log.warn(
124
+ `Unable to locate 'hdb.pid' file, try stopping and starting Harper. This could be because Harper is not running.`
125
+ );
126
+ } else {
127
+ throw err;
128
+ }
129
+ }
130
+
131
+ processes.list.forEach((p) => {
132
+ if (p.pid === hdbPid) {
133
+ harperdbProcesses.core.push(p);
134
+ }
135
+ });
136
+
137
+ for (const hdbP of harperdbProcesses.core) {
138
+ for (const p of processes.list) {
139
+ if (p.pid === hdbP.parentPid && (p.name === 'PM2' || p.command === 'PM2')) {
140
+ hdbP.parent = 'PM2';
141
+ }
142
+ }
143
+ }
144
+
145
+ return harperdbProcesses;
146
+ } catch (e) {
147
+ log.error(`error in getHDBProcessInfo: ${e}`);
148
+ return harperdbProcesses;
149
+ }
150
+ }
151
+
152
+ /**
153
+ * gets disk related info & stats
154
+ * @returns {Promise<{}>}
155
+ */
156
+ async function getDiskInfo() {
157
+ let disk = {};
158
+ try {
159
+ if (!env.get(terms.CONFIG_PARAMS.OPERATIONSAPI_SYSINFO_DISK)) return disk;
160
+ // eslint-disable-next-line no-unused-vars
161
+ let { rIO_sec, wIO_sec, tIO_sec, ms, ...diskIo } = await si.disksIO();
162
+ disk.io = diskIo;
163
+
164
+ // eslint-disable-next-line no-unused-vars
165
+ let { rxSec, txSec, wxSec, ...fsStats } = await si.fsStats();
166
+ disk.read_write = fsStats;
167
+
168
+ disk.size = await si.fsSize();
169
+
170
+ return disk;
171
+ } catch (e) {
172
+ log.error(`error in getDiskInfo: ${e}`);
173
+ return disk;
174
+ }
175
+ }
176
+
177
+ /**
178
+ * gets networking & connection information & stats
179
+ * @returns {Promise<{interfaces: [], default_interface: null, stats: [], latency: {}, connections: []}>}
180
+ */
181
+ async function getNetworkInfo() {
182
+ let network = {
183
+ default_interface: null,
184
+ latency: {},
185
+ interfaces: [],
186
+ stats: [],
187
+ connections: [],
188
+ };
189
+ try {
190
+ if (!env.get(terms.CONFIG_PARAMS.OPERATIONSAPI_SYSINFO_NETWORK)) return network;
191
+ network.default_interface = await si.networkInterfaceDefault();
192
+
193
+ network.latency = await si.inetChecksite('google.com');
194
+
195
+ let nInterfaces = await si.networkInterfaces();
196
+ nInterfaces.forEach((_interface) => {
197
+ // eslint-disable-next-line no-unused-vars
198
+ let { internal, virtual, mtu, dhcp, dnsSuffix, ieee8021xAuth, ieee8021xState, carrierChanges, ...networkInt } =
199
+ _interface;
200
+ network.interfaces.push(networkInt);
201
+ });
202
+
203
+ let stats = await si.networkStats();
204
+ stats.forEach((nStat) => {
205
+ // eslint-disable-next-line no-unused-vars
206
+ let { rxSec, txSec, ms, ...stat } = nStat;
207
+ network.stats.push(stat);
208
+ });
209
+
210
+ return network;
211
+ } catch (e) {
212
+ log.error(`error in getNetworkInfo: ${e}`);
213
+ return network;
214
+ }
215
+ }
216
+
217
+ /**
218
+ * gets system information
219
+ * @returns {Promise<Pick<si.Systeminformation.OsData, "platform" | "distro" | "release" | "codename" | "kernel" | "arch" | "hostname">|{}>}
220
+ */
221
+ async function getSystemInformation() {
222
+ if (systemInformationCache !== undefined) {
223
+ return systemInformationCache;
224
+ }
225
+
226
+ let system_info = {};
227
+ try {
228
+ // eslint-disable-next-line no-unused-vars
229
+ let { codepage, logofile, serial, build, servicepack, uefi, ...sysInfo } = await si.osInfo();
230
+ system_info = sysInfo;
231
+ let versions = await si.versions('node, npm');
232
+ system_info.node_version = versions.node;
233
+ system_info.npm_version = versions.npm;
234
+
235
+ systemInformationCache = system_info;
236
+ return systemInformationCache;
237
+ } catch (e) {
238
+ log.error(`error in getSystemInformation: ${e}`);
239
+ return system_info;
240
+ }
241
+ }
242
+
243
+ async function getTableSize() {
244
+ //get details for all tables
245
+ let tableSizes = [];
246
+ let allSchemas = await schemaDescribe.describeAll();
247
+ for (const tables of Object.values(allSchemas)) {
248
+ for (const tableData of Object.values(tables)) {
249
+ tableSizes.push(await lmdbGetTableSize(tableData));
250
+ }
251
+ }
252
+
253
+ return tableSizes;
254
+ }
255
+ async function getMetrics() {
256
+ let schemaStats = {};
257
+ for (let schemaName in databases) {
258
+ let dbStats = (schemaStats[schemaName] = {});
259
+ let tableStats = (dbStats.tables = {});
260
+ for (let tableName in databases[schemaName]) {
261
+ try {
262
+ let table = databases[schemaName][tableName];
263
+ if (!dbStats.readers) {
264
+ Object.assign(dbStats, table.primaryStore.rootStore.getStats());
265
+ delete dbStats.root;
266
+ dbStats.readers = table.primaryStore.rootStore
267
+ .readerList()
268
+ .split(/\n\s+/)
269
+ .slice(1)
270
+ .map((line) => {
271
+ const [pid, thread, txnid] = line.trim().split(' ');
272
+ return { pid, thread, txnid };
273
+ });
274
+ if (table.auditStore) {
275
+ const { treeDepth, treeBranchPageCount, treeLeafPageCount, entryCount, overflowPages } =
276
+ table.auditStore.getStats();
277
+ dbStats.audit = { treeDepth, treeBranchPageCount, treeLeafPageCount, entryCount, overflowPages };
278
+ }
279
+ }
280
+ let tableFullStats = table.primaryStore.getStats();
281
+ let tablePrunedStats = {};
282
+ for (let storeKey of ['treeDepth', 'treeBranchPageCount', 'treeLeafPageCount', 'entryCount', 'overflowPages']) {
283
+ tablePrunedStats[storeKey] = tableFullStats[storeKey];
284
+ }
285
+ tableStats[tableName] = tablePrunedStats;
286
+ } catch (error) {
287
+ // if a schema no longer exists, don't want to throw an error
288
+ log.notify(`Error getting stats for table ${tableName}: ${error}`);
289
+ }
290
+ }
291
+ }
292
+ return schemaStats;
293
+ }
294
+
295
+ /**
296
+ *
297
+ * @param {SystemInformationRequest} systemInfoReq
298
+ * @returns {Promise<SystemInformationResponse>}
299
+ */
300
+ async function systemInformation(systemInfoReq) {
301
+ let response = new SystemInformationResponse();
302
+ if (!Array.isArray(systemInfoReq.attributes) || systemInfoReq.attributes.length === 0) {
303
+ response.system = await getSystemInformation();
304
+ response.time = getTimeInfo();
305
+ response.cpu = await getCPUInfo();
306
+ response.memory = await getMemoryInfo();
307
+ response.disk = await getDiskInfo();
308
+ response.network = await getNetworkInfo();
309
+ response.harperdb_processes = await getHDBProcessInfo();
310
+ response.table_size = await getTableSize();
311
+ response.metrics = await getMetrics();
312
+ response.threads = await getThreadInfo();
313
+ return response;
314
+ }
315
+
316
+ for (let attr of systemInfoReq.attributes) {
317
+ switch (attr) {
318
+ case 'system':
319
+ response.system = await getSystemInformation();
320
+ break;
321
+ case 'time':
322
+ response.time = getTimeInfo();
323
+ break;
324
+ case 'cpu':
325
+ response.cpu = await getCPUInfo();
326
+ break;
327
+ case 'memory':
328
+ response.memory = await getMemoryInfo();
329
+ break;
330
+ case 'disk':
331
+ response.disk = await getDiskInfo();
332
+ break;
333
+ case 'network':
334
+ response.network = await getNetworkInfo();
335
+ break;
336
+ case 'harperdb_processes':
337
+ response.harperdb_processes = await getHDBProcessInfo();
338
+ break;
339
+ case 'table_size':
340
+ response.table_size = await getTableSize();
341
+ break;
342
+ case 'database_metrics':
343
+ case 'metrics':
344
+ response.metrics = await getMetrics();
345
+ break;
346
+ case 'threads':
347
+ response.threads = await getThreadInfo();
348
+ break;
349
+ default:
350
+ break;
351
+ }
352
+ }
353
+
354
+ return response;
355
+ }
@@ -593,7 +593,6 @@ export const CONFIG_PARAMS = {
593
593
  TLS_PRIVATEKEY: 'tls_privateKey',
594
594
  TLS_CERTIFICATEAUTHORITY: 'tls_certificateAuthority',
595
595
  TLS_CIPHERS: 'tls_ciphers',
596
- TLS_UNIXDOMAINSOCKETS: 'tls_unixDomainSockets',
597
596
  TLS: 'tls',
598
597
  CLONED: 'cloned',
599
598
  NODE_HOSTNAME: 'node_hostname',
@@ -26,7 +26,7 @@ const restart = require('../bin/restart.js');
26
26
  const terms = require('./hdbTerms.ts');
27
27
  const { expandOperationsPerms } = require('./operationPermissions.ts');
28
28
  const permsTranslator = require('../security/permissionsTranslator.js');
29
- const { systemInformation } = require('../utility/environment/systemInformation.ts');
29
+ const systemInformation = require('../utility/environment/systemInformation.js');
30
30
  const tokenAuthentication = require('../security/tokenAuthentication.ts');
31
31
  const auth = require('../security/auth.ts');
32
32
  const configUtils = require('../config/configUtils.js');
@@ -157,7 +157,10 @@ requiredPermissions.set(restart.restartService.name, new permission(true, []));
157
157
  requiredPermissions.set(readAuditLog.name, new permission(true, [], terms.OPERATIONS_ENUM.READ_AUDIT_LOG));
158
158
  requiredPermissions.set(getBackup.name, new permission(true, [READ_PERM]));
159
159
  requiredPermissions.set(schema.cleanupOrphanBlobs.name, new permission(true, []));
160
- requiredPermissions.set(systemInformation.name, new permission(true, [], terms.OPERATIONS_ENUM.SYSTEM_INFORMATION));
160
+ requiredPermissions.set(
161
+ systemInformation.systemInformation.name,
162
+ new permission(true, [], terms.OPERATIONS_ENUM.SYSTEM_INFORMATION)
163
+ );
161
164
  requiredPermissions.set(
162
165
  configUtils.getConfiguration.name,
163
166
  new permission(true, [], terms.OPERATIONS_ENUM.GET_CONFIGURATION)
@@ -4,7 +4,7 @@ const path = require('path');
4
4
  const YAML = require('yaml');
5
5
  const hdbTerms = require("../utility/hdbTerms.js");
6
6
  const hdbLog = require('../utility/logging/harper_logger.js');
7
- const systemInformation = require("../utility/environment/systemInformation.js");
7
+ const sysInfo = require('../utility/environment/systemInformation.js');
8
8
  const envMgr = require('../utility/environment/environmentManager.js');
9
9
  const installation = require("../utility/installation.js");
10
10
  envMgr.initSync();
@@ -42,7 +42,7 @@ async function status() {
42
42
  throw err;
43
43
  }
44
44
  // Check the saved pid against any running hdb processes
45
- const hdbSysInfo = await systemInformation.getHDBProcessInfo();
45
+ const hdbSysInfo = await sysInfo.getHDBProcessInfo();
46
46
  for (const proc of hdbSysInfo.core) {
47
47
  if (proc.pid === hdbPid) {
48
48
  status.harperdb.status = STATUSES.RUNNING;
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../core/bin/status.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACnD,MAAM,MAAM,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AAC9D,MAAM,iBAAiB,GAAG,OAAO,CAAC,6CAA6C,CAAC,CAAC;AACjF,MAAM,MAAM,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACvE,MAAM,YAAY,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAC3D,MAAM,CAAC,QAAQ,EAAE,CAAC;AAElB,MAAM,QAAQ,GAAG;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;CAC9B,CAAC;AAEF,IAAI,OAAO,CAAC;AAEZ,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;AAExB,KAAK,UAAU,MAAM;IACpB,IAAI,MAAM,GAAG;QACZ,QAAQ,EAAE;YACT,MAAM,EAAE,QAAQ,CAAC,OAAO;SACxB;KACD,CAAC;IAEF,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,OAAO;IACR,CAAC;IAED,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACJ,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC7D,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,OAAO;QACR,CAAC;QAED,MAAM,GAAG,CAAC;IACX,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC;YAC7B,MAAM;QACP,CAAC;IACF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../core/bin/status.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACnD,MAAM,MAAM,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,6CAA6C,CAAC,CAAC;AACvE,MAAM,MAAM,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;AACvE,MAAM,YAAY,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAC3D,MAAM,CAAC,QAAQ,EAAE,CAAC;AAElB,MAAM,QAAQ,GAAG;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;CAC9B,CAAC;AAEF,IAAI,OAAO,CAAC;AAEZ,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;AAExB,KAAK,UAAU,MAAM;IACpB,IAAI,MAAM,GAAG;QACZ,QAAQ,EAAE;YACT,MAAM,EAAE,QAAQ,CAAC,OAAO;SACxB;KACD,CAAC;IAEF,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,OAAO;IACR,CAAC;IAED,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACJ,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC7D,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACpC,OAAO;QACR,CAAC;QAED,MAAM,GAAG,CAAC;IACX,CAAC;IAED,wDAAwD;IACxD,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC;YAC7B,MAAM;QACP,CAAC;IACF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,EAAE,CAAC;AAChB,CAAC"}
@@ -3,15 +3,15 @@ const hdbLogger = require('../utility/logging/harper_logger.js');
3
3
  const util = require('util');
4
4
  const childProcess = require('child_process');
5
5
  const exec = util.promisify(childProcess.exec);
6
- const systemInformation = require("../utility/environment/systemInformation.js");
6
+ const sysInfo = require('../utility/environment/systemInformation.js');
7
7
  const STOP_MSG = 'Stopping Harper Pro.';
8
8
  module.exports = stop;
9
9
  async function stop() {
10
10
  console.log(STOP_MSG);
11
11
  hdbLogger.notify(STOP_MSG);
12
- const processes = await systemInformation.getHDBProcessInfo();
13
- for (const { pid } of processes.core) {
14
- exec(`kill ${pid}`);
15
- }
12
+ const processes = await sysInfo.getHDBProcessInfo();
13
+ processes.core.forEach((p) => {
14
+ exec(`kill ${p.pid}`);
15
+ });
16
16
  }
17
17
  //# sourceMappingURL=stop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../core/bin/stop.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,SAAS,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AACjE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAEjF,MAAM,QAAQ,GAAG,sBAAsB,CAAC;AAExC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;AAEtB,KAAK,UAAU,IAAI;IAClB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;IAC9D,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACrB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../core/bin/stop.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,SAAS,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AACjE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,6CAA6C,CAAC,CAAC;AAEvE,MAAM,QAAQ,GAAG,sBAAsB,CAAC;AAExC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;AAEtB,KAAK,UAAU,IAAI;IAClB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAEpD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -117,13 +117,11 @@ class EntryHandler extends node_events_1.EventEmitter {
117
117
  .watch(this.#component.commonPatternBase, {
118
118
  cwd: this.#component.directory,
119
119
  persistent: false,
120
- followSymlinks: false,
121
120
  ignored: (path) => {
122
121
  const normalizedPath = path.replace(/\\/g, '/');
123
122
  const normalizedBases = allowedBases.map((base) => base.replace(/\\/g, '/'));
124
- return (normalizedPath.includes('/node_modules') ||
125
- (normalizedPath !== this.#component.directory.replace(/\\/g, '/') &&
126
- normalizedBases.every((base) => !normalizedPath.startsWith(base))));
123
+ return (normalizedPath !== this.#component.directory.replace(/\\/g, '/') &&
124
+ normalizedBases.every((base) => !normalizedPath.startsWith(base)));
127
125
  },
128
126
  })
129
127
  .on('all', this.#handleAll.bind(this))
@@ -1 +1 @@
1
- {"version":3,"file":"EntryHandler.js","sourceRoot":"","sources":["../../../core/components/EntryHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntryHandler.js","sourceRoot":"","sources":["../../../core/components/EntryHandler.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@ class Scope extends node_events_1.EventEmitter {
52
52
  this.#pluginName = pluginName;
53
53
  this.#directory = directory;
54
54
  this.#configFilePath = configFilePath;
55
- this.#logger = (0, harper_logger_js_1.loggerWithTag)(this.#appName);
55
+ this.#logger = logger || (0, harper_logger_js_1.loggerWithTag)(this.#appName);
56
56
  this.databaseEvents = databases_ts_1.databaseEventsEmitter;
57
57
  this.applicationScope = applicationScope;
58
58
  this.resources = applicationScope?.resources ?? Resources_ts_1.resources;
@@ -1 +1 @@
1
- {"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../../core/components/Scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../../core/components/Scope.ts"],"names":[],"mappings":"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"}