@resolveio/server-lib 9.10.1 → 10.0.0

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 (79) hide show
  1. package/collections/app-status.collection.js +11 -1
  2. package/collections/app-status.collection.js.map +1 -1
  3. package/collections/app-version.collection.js +11 -1
  4. package/collections/app-version.collection.js.map +1 -1
  5. package/collections/counter.collection.js +11 -1
  6. package/collections/counter.collection.js.map +1 -1
  7. package/collections/cron-job-history.collection.js +11 -1
  8. package/collections/cron-job-history.collection.js.map +1 -1
  9. package/collections/cron-job.collection.js +11 -1
  10. package/collections/cron-job.collection.js.map +1 -1
  11. package/collections/email-history.collection.js +11 -1
  12. package/collections/email-history.collection.js.map +1 -1
  13. package/collections/email-verified.collection.js +11 -1
  14. package/collections/email-verified.collection.js.map +1 -1
  15. package/collections/file.collection.js +11 -1
  16. package/collections/file.collection.js.map +1 -1
  17. package/collections/flag.collection.js +11 -1
  18. package/collections/flag.collection.js.map +1 -1
  19. package/collections/log-method-latency.collection.js +11 -1
  20. package/collections/log-method-latency.collection.js.map +1 -1
  21. package/collections/log-subscription.collection.js +11 -1
  22. package/collections/log-subscription.collection.js.map +1 -1
  23. package/collections/log.collection.js +11 -1
  24. package/collections/log.collection.js.map +1 -1
  25. package/collections/logged-in-users.collection.js +11 -1
  26. package/collections/logged-in-users.collection.js.map +1 -1
  27. package/collections/method-response.collection.js +11 -1
  28. package/collections/method-response.collection.js.map +1 -1
  29. package/collections/monitor-cpu.collection.js +24 -19
  30. package/collections/monitor-cpu.collection.js.map +1 -1
  31. package/collections/monitor-memory.collection.js +24 -18
  32. package/collections/monitor-memory.collection.js.map +1 -1
  33. package/collections/monitor-mongo.collection.js +24 -18
  34. package/collections/monitor-mongo.collection.js.map +1 -1
  35. package/collections/notification.collection.js +11 -1
  36. package/collections/notification.collection.js.map +1 -1
  37. package/collections/report-builder-dashboard-builder.collection.js +11 -1
  38. package/collections/report-builder-dashboard-builder.collection.js.map +1 -1
  39. package/collections/report-builder-library.collection.js +11 -1
  40. package/collections/report-builder-library.collection.js.map +1 -1
  41. package/collections/report-builder-report.collection.js +11 -1
  42. package/collections/report-builder-report.collection.js.map +1 -1
  43. package/collections/user-group.collection.js +11 -1
  44. package/collections/user-group.collection.js.map +1 -1
  45. package/collections/user-guide.collection.js +11 -1
  46. package/collections/user-guide.collection.js.map +1 -1
  47. package/collections/user.collection.js +11 -1
  48. package/collections/user.collection.js.map +1 -1
  49. package/managers/mongo.manager.d.ts +17 -3
  50. package/managers/mongo.manager.js +43 -26
  51. package/managers/mongo.manager.js.map +1 -1
  52. package/managers/monitor.manager.js +24 -89
  53. package/managers/monitor.manager.js.map +1 -1
  54. package/managers/subscription.manager.js +17 -15
  55. package/managers/subscription.manager.js.map +1 -1
  56. package/methods/monitor.js +1 -13
  57. package/methods/monitor.js.map +1 -1
  58. package/models/monitor-cpu.model.d.ts +5 -2
  59. package/models/monitor-cpu.model.js.map +1 -1
  60. package/models/monitor-memory.model.d.ts +5 -2
  61. package/models/monitor-memory.model.js.map +1 -1
  62. package/models/monitor-mongo.model.d.ts +5 -2
  63. package/models/monitor-mongo.model.js.map +1 -1
  64. package/package.json +1 -1
  65. package/public_api.d.ts +0 -4
  66. package/public_api.js +0 -4
  67. package/public_api.js.map +1 -1
  68. package/collections/monitor-https-inbound.collection.d.ts +0 -3
  69. package/collections/monitor-https-inbound.collection.js +0 -67
  70. package/collections/monitor-https-inbound.collection.js.map +0 -1
  71. package/collections/monitor-https-outbound.collection.d.ts +0 -3
  72. package/collections/monitor-https-outbound.collection.js +0 -75
  73. package/collections/monitor-https-outbound.collection.js.map +0 -1
  74. package/models/monitor-https-inbound.model.d.ts +0 -11
  75. package/models/monitor-https-inbound.model.js +0 -4
  76. package/models/monitor-https-inbound.model.js.map +0 -1
  77. package/models/monitor-https-outbound.model.d.ts +0 -12
  78. package/models/monitor-https-outbound.model.js +0 -4
  79. package/models/monitor-https-outbound.model.js.map +0 -1
@@ -40,8 +40,6 @@ exports.MonitorManager = void 0;
40
40
  var bent = require("bent");
41
41
  var monitor_cpu_collection_1 = require("../collections/monitor-cpu.collection");
42
42
  var monitor_memory_collection_1 = require("../collections/monitor-memory.collection");
43
- var monitor_https_inbound_collection_1 = require("../collections/monitor-https-inbound.collection");
44
- var monitor_https_outbound_collection_1 = require("../collections/monitor-https-outbound.collection");
45
43
  var monitor_mongo_collection_1 = require("../collections/monitor-mongo.collection");
46
44
  var index_1 = require("../index");
47
45
  var common_1 = require("../util/common");
@@ -73,9 +71,10 @@ var MonitorManager = /** @class */ (function () {
73
71
  if (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {
74
72
  monitor_cpu_collection_1.MonitorCPUs.create({
75
73
  _id: mongo_manager_1.objectIdHexString(),
76
- __v: 0,
77
- instance: this._instanceHostname,
78
- client: this._serverConfig['CLIENT_NAME'],
74
+ metadata: {
75
+ instance: this._instanceHostname,
76
+ client: this._serverConfig['CLIENT_NAME']
77
+ },
79
78
  date: new Date(data.time),
80
79
  app: data.process,
81
80
  system: data.system
@@ -84,8 +83,10 @@ var MonitorManager = /** @class */ (function () {
84
83
  else {
85
84
  if (this._instanceHostname) {
86
85
  this._monitorData.push({
87
- instance: this._instanceHostname,
88
- client: this._serverConfig['CLIENT_NAME'],
86
+ metadata: {
87
+ instance: this._instanceHostname,
88
+ client: this._serverConfig['CLIENT_NAME']
89
+ },
89
90
  date: new Date(data.time),
90
91
  type: 'cpu',
91
92
  app: data.process,
@@ -101,9 +102,10 @@ var MonitorManager = /** @class */ (function () {
101
102
  if (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {
102
103
  monitor_memory_collection_1.MonitorMemorys.create({
103
104
  _id: mongo_manager_1.objectIdHexString(),
104
- __v: 0,
105
- instance: this._instanceHostname,
106
- client: this._serverConfig['CLIENT_NAME'],
105
+ metadata: {
106
+ instance: this._instanceHostname,
107
+ client: this._serverConfig['CLIENT_NAME']
108
+ },
107
109
  date: new Date(data.time),
108
110
  physical_total: data.physical_total,
109
111
  physical_used: data.physical_used,
@@ -116,8 +118,10 @@ var MonitorManager = /** @class */ (function () {
116
118
  else {
117
119
  if (this._instanceHostname) {
118
120
  this._monitorData.push({
119
- instance: this._instanceHostname,
120
- client: this._serverConfig['CLIENT_NAME'],
121
+ metadata: {
122
+ instance: this._instanceHostname,
123
+ client: this._serverConfig['CLIENT_NAME']
124
+ },
121
125
  date: new Date(data.time),
122
126
  type: 'memory',
123
127
  physical_total: data.physical_total,
@@ -132,87 +136,16 @@ var MonitorManager = /** @class */ (function () {
132
136
  return [2 /*return*/];
133
137
  });
134
138
  }); });
135
- this._monitorAgent.on('https', function (data) { return __awaiter(_this, void 0, void 0, function () {
136
- return __generator(this, function (_a) {
137
- if (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {
138
- monitor_https_inbound_collection_1.MonitorHTTPSInbounds.create({
139
- _id: mongo_manager_1.objectIdHexString(),
140
- __v: 0,
141
- instance: this._instanceHostname,
142
- client: this._serverConfig['CLIENT_NAME'],
143
- date: new Date(data.time),
144
- method: data.method,
145
- url: data.url,
146
- duration: data.duration,
147
- contentType: data.contentType,
148
- requestHeader: data.requestHeader
149
- });
150
- }
151
- else {
152
- if (this._instanceHostname) {
153
- this._monitorData.push({
154
- instance: this._instanceHostname,
155
- client: this._serverConfig['CLIENT_NAME'],
156
- date: new Date(data.time),
157
- type: 'https-inbound',
158
- method: data.method,
159
- url: data.url,
160
- duration: data.duration,
161
- contentType: data.contentType,
162
- requestHeader: data.requestHeader
163
- });
164
- }
165
- }
166
- return [2 /*return*/];
167
- });
168
- }); });
169
- this._monitorAgent.on('https-outbound', function (data) { return __awaiter(_this, void 0, void 0, function () {
170
- return __generator(this, function (_a) {
171
- if (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {
172
- monitor_https_outbound_collection_1.MonitorHTTPSOutbounds.create({
173
- _id: mongo_manager_1.objectIdHexString(),
174
- __v: 0,
175
- instance: this._instanceHostname,
176
- client: this._serverConfig['CLIENT_NAME'],
177
- date: new Date(data.time),
178
- method: data.method,
179
- url: data.url,
180
- duration: data.duration,
181
- status: data.status,
182
- contentType: data.contentType,
183
- requestHeaders: data.requestHeaders
184
- });
185
- }
186
- else {
187
- if (!data.url.startsWith('https://backend.resolveio.com/api/monitor/')) {
188
- if (this._instanceHostname) {
189
- this._monitorData.push({
190
- instance: this._instanceHostname,
191
- client: this._serverConfig['CLIENT_NAME'],
192
- date: new Date(data.time),
193
- type: 'https-outbound',
194
- method: data.method,
195
- url: data.url,
196
- duration: data.duration,
197
- status: data.status,
198
- contentType: data.contentType,
199
- requestHeaders: data.requestHeaders
200
- });
201
- }
202
- }
203
- }
204
- return [2 /*return*/];
205
- });
206
- }); });
207
139
  this._monitorAgent.on('mongo', function (data) { return __awaiter(_this, void 0, void 0, function () {
208
140
  return __generator(this, function (_a) {
209
141
  if (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {
210
142
  if (!data.collection.startsWith('monitor-')) {
211
143
  monitor_mongo_collection_1.MonitorMongos.create({
212
144
  _id: mongo_manager_1.objectIdHexString(),
213
- __v: 0,
214
- instance: this._instanceHostname,
215
- client: this._serverConfig['CLIENT_NAME'],
145
+ metadata: {
146
+ instance: this._instanceHostname,
147
+ client: this._serverConfig['CLIENT_NAME']
148
+ },
216
149
  date: new Date(data.time),
217
150
  method: data.method,
218
151
  doc_collection: data.collection,
@@ -224,8 +157,10 @@ var MonitorManager = /** @class */ (function () {
224
157
  else {
225
158
  if (this._instanceHostname) {
226
159
  this._monitorData.push({
227
- instance: this._instanceHostname,
228
- client: this._serverConfig['CLIENT_NAME'],
160
+ metadata: {
161
+ instance: this._instanceHostname,
162
+ client: this._serverConfig['CLIENT_NAME']
163
+ },
229
164
  date: new Date(data.time),
230
165
  type: 'mongo',
231
166
  method: data.method,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/managers/monitor.manager.ts"],"names":[],"mappings":"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","file":"monitor.manager.js","sourcesContent":["import ResolveIOMainServer from '../server-app';\nimport * as bent from 'bent';\nimport { MonitorCPUs } from '../collections/monitor-cpu.collection';\nimport { MonitorMemorys } from '../collections/monitor-memory.collection';\nimport { MonitorHTTPSInbounds } from '../collections/monitor-https-inbound.collection';\nimport { MonitorHTTPSOutbounds } from '../collections/monitor-https-outbound.collection';\nimport { MonitorMongos } from '../collections/monitor-mongo.collection';\nimport { ResolveIOServer } from '../index';\nimport { deepCopy } from '../util/common';\nimport { objectIdHexString } from './mongo.manager';\n\nexport class MonitorManager {\n\tprivate _mainServer: ResolveIOMainServer;\n\tprivate _monitorAgent;\n\tprivate _serverConfig;\n\tprivate _instanceHostname = '';\n\tprivate _monitorData = [];\n\n\tconstructor(mainServer, monitorAgent, serverConfig) {\n\t\tthis._mainServer = mainServer;\n\t\tthis._monitorAgent = monitorAgent;\n\t\tthis._serverConfig = serverConfig;\n\n\t\tthis.setupEvents();\n\t\tthis.setupEventLoop();\n\t}\n\n\tsetupEvents() {\t\t\n\t\tthis._monitorAgent.on('initialized', (env) => {\n\t\t\tenv = this._monitorAgent.getEnvironment();\n\t\t\tfor (let entry in env) {\n\t\t\t\tconsole.log(entry + ':' + env[entry]);\n\t\t\t\tif (entry === 'environment.HOSTNAME') {\n\t\t\t\t\tthis._instanceHostname = env[entry].replace('ip-', '').replace(/-/g, '.');\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t\t\n\t\tthis._monitorAgent.on('cpu', async (data) => {\n\t\t\tif (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\t\t\t\tMonitorCPUs.create({\n\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t__v: 0,\n\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\tapp: data.process,\n\t\t\t\t\tsystem: data.system\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this._instanceHostname) {\n\t\t\t\t\tthis._monitorData.push({\n\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\t\ttype: 'cpu',\n\t\t\t\t\t\tapp: data.process,\n\t\t\t\t\t\tsystem: data.system\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._monitorAgent.on('memory', async (data) => {\n\t\t\tif (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\t\t\t\tMonitorMemorys.create({\n\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t__v: 0,\n\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\tphysical_total: data.physical_total,\n\t\t\t\t\tphysical_used: data.physical_used,\n\t\t\t\t\tphysical_free: data.physical_free,\n\t\t\t\t\tvirtual: data.virtual,\n\t\t\t\t\tprivate: data.private,\n\t\t\t\t\tphysical: data.physical\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this._instanceHostname) {\n\t\t\t\t\tthis._monitorData.push({\n\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\t\ttype: 'memory',\n\t\t\t\t\t\tphysical_total: data.physical_total,\n\t\t\t\t\t\tphysical_used: data.physical_used,\n\t\t\t\t\t\tphysical_free: data.physical_free,\n\t\t\t\t\t\tvirtual: data.virtual,\n\t\t\t\t\t\tprivate: data.private,\n\t\t\t\t\t\tphysical: data.physical\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._monitorAgent.on('https', async (data) => {\n\t\t\tif (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\t\t\t\tMonitorHTTPSInbounds.create({\n\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t__v: 0,\n\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\tmethod: data.method,\n\t\t\t\t\turl: data.url,\n\t\t\t\t\tduration: data.duration,\n\t\t\t\t\tcontentType: data.contentType,\n\t\t\t\t\trequestHeader: data.requestHeader\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this._instanceHostname) {\n\t\t\t\t\tthis._monitorData.push({\n\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\t\ttype: 'https-inbound',\n\t\t\t\t\t\tmethod: data.method,\n\t\t\t\t\t\turl: data.url,\n\t\t\t\t\t\tduration: data.duration,\n\t\t\t\t\t\tcontentType: data.contentType,\n\t\t\t\t\t\trequestHeader: data.requestHeader\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._monitorAgent.on('https-outbound', async (data) => {\n\t\t\tif (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\t\t\t\tMonitorHTTPSOutbounds.create({\n\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t__v: 0,\n\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\tmethod: data.method,\n\t\t\t\t\turl: data.url,\n\t\t\t\t\tduration: data.duration,\n\t\t\t\t\tstatus: data.status,\n\t\t\t\t\tcontentType: data.contentType,\n\t\t\t\t\trequestHeaders: data.requestHeaders\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (!data.url.startsWith('https://backend.resolveio.com/api/monitor/')) {\n\t\t\t\t\tif (this._instanceHostname) {\n\t\t\t\t\t\tthis._monitorData.push({\n\t\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\t\t\ttype: 'https-outbound',\n\t\t\t\t\t\t\tmethod: data.method,\n\t\t\t\t\t\t\turl: data.url,\n\t\t\t\t\t\t\tduration: data.duration,\n\t\t\t\t\t\t\tstatus: data.status,\n\t\t\t\t\t\t\tcontentType: data.contentType,\n\t\t\t\t\t\t\trequestHeaders: data.requestHeaders\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._monitorAgent.on('mongo', async (data) => {\n\t\t\tif (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\t\t\t\tif (!data.collection.startsWith('monitor-')) {\n\t\t\t\t\tMonitorMongos.create({\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\t\tmethod: data.method,\n\t\t\t\t\t\tdoc_collection: data.collection,\n\t\t\t\t\t\tduration: data.duration,\n\t\t\t\t\t\tquery: data.query\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this._instanceHostname) {\n\t\t\t\t\tthis._monitorData.push({\n\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\t\ttype: 'mongo',\n\t\t\t\t\t\tmethod: data.method,\n\t\t\t\t\t\tdoc_collection: data.collection,\n\t\t\t\t\t\tduration: data.duration,\n\t\t\t\t\t\tquery: data.query\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._monitorAgent.on('eventloop', async (data) => {\n\t\t\tif (this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\t\t\t\tconsole.log(JSON.stringify(data, null, 2));\n\t\t\t}\n\t\t});\n\n\t\t// this._monitorAgent.on('socket', async (data) => {\n\t\t// \tif (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\n\t\t// \t}\n\t\t// \telse {\n\t\t// \t\tconst response = await post('/api/monitor/socket', {\n\t\t// \t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t// \t\t\tdate: new Date(data.time),\n\t\t\t\t\t\n\t\t// \t\t});\n\t\t// \t}\n\t\t// });\n\t}\n\n\tsetupEventLoop() {\n\t\tsetTimeout(async () => {\n\t\t\tif (this._monitorData.length) {\n\t\t\t\tconst post = bent('https://backend.resolveio.com', 'POST', 'json', 200);\n\n\t\t\t\tlet monitorData = deepCopy(this._monitorData);\n\t\t\t\tthis._monitorData = [];\n\n\t\t\t\tlet size = JSON.stringify(monitorData).replace(/[\\[\\]\\,\\\"]/g,'').length * 8;\n\n\t\t\t\tif (size < 45000000) { // 50 MB size limit\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst response = await post('/api/monitor', monitorData);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {\n\t\t\t\t\t\tif (e.statusCode !== 500 && e.statusCode !== 501 && e.statusCode !== 502 && e.statusCode !== 503 && e.statusCode !== 504) {\n\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 'RESOLVEIO MONITOR HTTP - Error Detected', JSON.stringify(e, null, 2));\n\n\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet tmpData = [];\n\t\t\t\t\tfor (let i = 0; i < monitorData.length; i++) {\n\t\t\t\t\t\ttmpData.push(monitorData[i]);\n\t\t\t\t\t\tsize = JSON.stringify(tmpData).replace(/[\\[\\]\\,\\\"]/g,'').length * 8;\n\n\t\t\t\t\t\tif (size > 45000000) {\n\t\t\t\t\t\t\ttmpData.pop();\n\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst response = await post('/api/monitor', tmpData);\n\n\t\t\t\t\t\t\t\ttmpData = [monitorData[i]];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch (e) {\n\t\t\t\t\t\t\t\tif (e.statusCode !== 500 && e.statusCode !== 501 && e.statusCode !== 502 && e.statusCode !== 503 && e.statusCode !== 504) {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 'RESOLVEIO MONITOR HTTP - Error Detected', JSON.stringify(e, null, 2));\n\t\t\n\t\t\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (tmpData.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst response = await post('/api/monitor', tmpData);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (e) {\n\t\t\t\t\t\t\tif (e.statusCode !== 500 && e.statusCode !== 501 && e.statusCode !== 502 && e.statusCode !== 503 && e.statusCode !== 504) {\n\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 'RESOLVEIO MONITOR HTTP - Error Detected', JSON.stringify(e, null, 2));\n\t\n\t\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.setupEventLoop();\n\t\t}, 60000);\n\t}\n}"]}
1
+ {"version":3,"sources":["../../src/managers/monitor.manager.ts"],"names":[],"mappings":"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","file":"monitor.manager.js","sourcesContent":["import ResolveIOMainServer from '../server-app';\nimport * as bent from 'bent';\nimport { MonitorCPUs } from '../collections/monitor-cpu.collection';\nimport { MonitorMemorys } from '../collections/monitor-memory.collection';\nimport { MonitorMongos } from '../collections/monitor-mongo.collection';\nimport { ResolveIOServer } from '../index';\nimport { deepCopy } from '../util/common';\nimport { objectIdHexString } from './mongo.manager';\n\nexport class MonitorManager {\n\tprivate _mainServer: ResolveIOMainServer;\n\tprivate _monitorAgent;\n\tprivate _serverConfig;\n\tprivate _instanceHostname = '';\n\tprivate _monitorData = [];\n\n\tconstructor(mainServer, monitorAgent, serverConfig) {\n\t\tthis._mainServer = mainServer;\n\t\tthis._monitorAgent = monitorAgent;\n\t\tthis._serverConfig = serverConfig;\n\n\t\tthis.setupEvents();\n\t\tthis.setupEventLoop();\n\t}\n\n\tsetupEvents() {\t\t\n\t\tthis._monitorAgent.on('initialized', (env) => {\n\t\t\tenv = this._monitorAgent.getEnvironment();\n\t\t\tfor (let entry in env) {\n\t\t\t\tconsole.log(entry + ':' + env[entry]);\n\t\t\t\tif (entry === 'environment.HOSTNAME') {\n\t\t\t\t\tthis._instanceHostname = env[entry].replace('ip-', '').replace(/-/g, '.');\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t\t\n\t\tthis._monitorAgent.on('cpu', async (data) => {\n\t\t\tif (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\t\t\t\tMonitorCPUs.create({\n\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME']\n\t\t\t\t\t},\n\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\tapp: data.process,\n\t\t\t\t\tsystem: data.system\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this._instanceHostname) {\n\t\t\t\t\tthis._monitorData.push({\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME']\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\t\ttype: 'cpu',\n\t\t\t\t\t\tapp: data.process,\n\t\t\t\t\t\tsystem: data.system\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._monitorAgent.on('memory', async (data) => {\n\t\t\tif (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\t\t\t\tMonitorMemorys.create({\n\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME']\n\t\t\t\t\t},\n\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\tphysical_total: data.physical_total,\n\t\t\t\t\tphysical_used: data.physical_used,\n\t\t\t\t\tphysical_free: data.physical_free,\n\t\t\t\t\tvirtual: data.virtual,\n\t\t\t\t\tprivate: data.private,\n\t\t\t\t\tphysical: data.physical\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this._instanceHostname) {\n\t\t\t\t\tthis._monitorData.push({\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME']\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\t\ttype: 'memory',\n\t\t\t\t\t\tphysical_total: data.physical_total,\n\t\t\t\t\t\tphysical_used: data.physical_used,\n\t\t\t\t\t\tphysical_free: data.physical_free,\n\t\t\t\t\t\tvirtual: data.virtual,\n\t\t\t\t\t\tprivate: data.private,\n\t\t\t\t\t\tphysical: data.physical\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._monitorAgent.on('mongo', async (data) => {\n\t\t\tif (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\t\t\t\tif (!data.collection.startsWith('monitor-')) {\n\t\t\t\t\tMonitorMongos.create({\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME']\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\t\tmethod: data.method,\n\t\t\t\t\t\tdoc_collection: data.collection,\n\t\t\t\t\t\tduration: data.duration,\n\t\t\t\t\t\tquery: data.query\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (this._instanceHostname) {\n\t\t\t\t\tthis._monitorData.push({\n\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\tinstance: this._instanceHostname,\n\t\t\t\t\t\t\tclient: this._serverConfig['CLIENT_NAME']\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdate: new Date(data.time),\n\t\t\t\t\t\ttype: 'mongo',\n\t\t\t\t\t\tmethod: data.method,\n\t\t\t\t\t\tdoc_collection: data.collection,\n\t\t\t\t\t\tduration: data.duration,\n\t\t\t\t\t\tquery: data.query\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tthis._monitorAgent.on('eventloop', async (data) => {\n\t\t\tif (this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\t\t\t\tconsole.log(JSON.stringify(data, null, 2));\n\t\t\t}\n\t\t});\n\n\t\t// this._monitorAgent.on('socket', async (data) => {\n\t\t// \tif (this._serverConfig['ROOT_URL'] === 'https://resolveio.com' || this._serverConfig['ROOT_URL'] === 'http://localhost:4200') {\n\n\t\t// \t}\n\t\t// \telse {\n\t\t// \t\tconst response = await post('/api/monitor/socket', {\n\t\t// \t\t\tclient: this._serverConfig['CLIENT_NAME'],\n\t\t// \t\t\tdate: new Date(data.time),\n\t\t\t\t\t\n\t\t// \t\t});\n\t\t// \t}\n\t\t// });\n\t}\n\n\tsetupEventLoop() {\n\t\tsetTimeout(async () => {\n\t\t\tif (this._monitorData.length) {\n\t\t\t\tconst post = bent('https://backend.resolveio.com', 'POST', 'json', 200);\n\n\t\t\t\tlet monitorData = deepCopy(this._monitorData);\n\t\t\t\tthis._monitorData = [];\n\n\t\t\t\tlet size = JSON.stringify(monitorData).replace(/[\\[\\]\\,\\\"]/g,'').length * 8;\n\n\t\t\t\tif (size < 45000000) { // 50 MB size limit\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst response = await post('/api/monitor', monitorData);\n\t\t\t\t\t}\n\t\t\t\t\tcatch (e) {\n\t\t\t\t\t\tif (e.statusCode !== 500 && e.statusCode !== 501 && e.statusCode !== 502 && e.statusCode !== 503 && e.statusCode !== 504) {\n\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 'RESOLVEIO MONITOR HTTP - Error Detected', JSON.stringify(e, null, 2));\n\n\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet tmpData = [];\n\t\t\t\t\tfor (let i = 0; i < monitorData.length; i++) {\n\t\t\t\t\t\ttmpData.push(monitorData[i]);\n\t\t\t\t\t\tsize = JSON.stringify(tmpData).replace(/[\\[\\]\\,\\\"]/g,'').length * 8;\n\n\t\t\t\t\t\tif (size > 45000000) {\n\t\t\t\t\t\t\ttmpData.pop();\n\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst response = await post('/api/monitor', tmpData);\n\n\t\t\t\t\t\t\t\ttmpData = [monitorData[i]];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch (e) {\n\t\t\t\t\t\t\t\tif (e.statusCode !== 500 && e.statusCode !== 501 && e.statusCode !== 502 && e.statusCode !== 503 && e.statusCode !== 504) {\n\t\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 'RESOLVEIO MONITOR HTTP - Error Detected', JSON.stringify(e, null, 2));\n\t\t\n\t\t\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (tmpData.length) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst response = await post('/api/monitor', tmpData);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (e) {\n\t\t\t\t\t\t\tif (e.statusCode !== 500 && e.statusCode !== 501 && e.statusCode !== 502 && e.statusCode !== 503 && e.statusCode !== 504) {\n\t\t\t\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', 'RESOLVEIO MONITOR HTTP - Error Detected', JSON.stringify(e, null, 2));\n\t\n\t\t\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.setupEventLoop();\n\t\t}, 60000);\n\t}\n}"]}
@@ -176,27 +176,29 @@ var SubscriptionManager = /** @class */ (function () {
176
176
  _loop_2 = function (i) {
177
177
  var mongoQueue = queueArr[i];
178
178
  if (this_2._publications[mongoQueue.subscription.publication].user_specific) {
179
+ var promises = [];
179
180
  for (var j = 0; j < mongoQueue.subscription.clients.length; j++) {
180
181
  var client = mongoQueue.subscription.clients[j];
181
182
  var ws = this_2._mainServer.getWS(client.id_socket);
182
183
  if (ws && ws['id_socket'] === client.id_socket) {
183
- this_2.sendDataToOne(ws, client.messageId, mongoQueue.subscription, mongoQueue.type, mongoQueue.collection).then(function () {
184
- if (mongoQueue.run_again) {
185
- mongoQueue.running = false;
186
- mongoQueue.run_again = false;
187
- }
188
- else {
189
- if (_this._mongoQueue.map(function (a) { return a._id; }).indexOf(mongoQueue._id) >= 0) {
190
- _this._mongoQueue.splice(_this._mongoQueue.map(function (a) { return a._id; }).indexOf(mongoQueue._id), 1);
191
- }
192
- }
193
- }, function () {
194
- if (_this._mongoQueue.map(function (a) { return a._id; }).indexOf(mongoQueue._id) >= 0) {
195
- _this._mongoQueue.splice(_this._mongoQueue.map(function (a) { return a._id; }).indexOf(mongoQueue._id), 1);
196
- }
197
- });
184
+ promises.push(this_2.sendDataToOne(ws, client.messageId, mongoQueue.subscription, mongoQueue.type, mongoQueue.collection));
198
185
  }
199
186
  }
187
+ Promise.all(promises).then(function () {
188
+ if (mongoQueue.run_again) {
189
+ mongoQueue.running = false;
190
+ mongoQueue.run_again = false;
191
+ }
192
+ else {
193
+ if (_this._mongoQueue.map(function (a) { return a._id; }).indexOf(mongoQueue._id) >= 0) {
194
+ _this._mongoQueue.splice(_this._mongoQueue.map(function (a) { return a._id; }).indexOf(mongoQueue._id), 1);
195
+ }
196
+ }
197
+ }).catch(function () {
198
+ if (_this._mongoQueue.map(function (a) { return a._id; }).indexOf(mongoQueue._id) >= 0) {
199
+ _this._mongoQueue.splice(_this._mongoQueue.map(function (a) { return a._id; }).indexOf(mongoQueue._id), 1);
200
+ }
201
+ });
200
202
  }
201
203
  else {
202
204
  this_2.sendDataToAll(mongoQueue).then(function () {