@abyss-project/monitor 2.2.0 → 2.3.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/README.md +36 -0
  2. package/dist/__tests__/alert-log-url.test.d.ts +1 -0
  3. package/dist/__tests__/alert-log-url.test.js +21 -0
  4. package/dist/__tests__/alert-log-url.test.js.map +1 -0
  5. package/dist/__tests__/application-log-bulk-api.test.d.ts +1 -0
  6. package/dist/__tests__/application-log-bulk-api.test.js +125 -0
  7. package/dist/__tests__/application-log-bulk-api.test.js.map +1 -0
  8. package/dist/__tests__/graceful-shutdown-flush.test.d.ts +1 -0
  9. package/dist/__tests__/graceful-shutdown-flush.test.js +253 -0
  10. package/dist/__tests__/graceful-shutdown-flush.test.js.map +1 -0
  11. package/dist/__tests__/log-queue.test.d.ts +1 -0
  12. package/dist/__tests__/log-queue.test.js +97 -0
  13. package/dist/__tests__/log-queue.test.js.map +1 -0
  14. package/dist/__tests__/log-shipper-preconfig.test.d.ts +1 -0
  15. package/dist/__tests__/log-shipper-preconfig.test.js +54 -0
  16. package/dist/__tests__/log-shipper-preconfig.test.js.map +1 -0
  17. package/dist/__tests__/log-shipper.test.d.ts +1 -0
  18. package/dist/__tests__/log-shipper.test.js +1040 -0
  19. package/dist/__tests__/log-shipper.test.js.map +1 -0
  20. package/dist/__tests__/log-spool.test.d.ts +1 -0
  21. package/dist/__tests__/log-spool.test.js +297 -0
  22. package/dist/__tests__/log-spool.test.js.map +1 -0
  23. package/dist/__tests__/logger-body-size.test.d.ts +1 -0
  24. package/dist/__tests__/logger-body-size.test.js +12 -0
  25. package/dist/__tests__/logger-body-size.test.js.map +1 -0
  26. package/dist/__tests__/logger-console-min-level.test.d.ts +1 -0
  27. package/dist/__tests__/logger-console-min-level.test.js +55 -0
  28. package/dist/__tests__/logger-console-min-level.test.js.map +1 -0
  29. package/dist/__tests__/logger-enqueues.test.d.ts +1 -0
  30. package/dist/__tests__/logger-enqueues.test.js +276 -0
  31. package/dist/__tests__/logger-enqueues.test.js.map +1 -0
  32. package/dist/__tests__/logger-returns-promise.test.d.ts +1 -0
  33. package/dist/__tests__/logger-returns-promise.test.js +27 -0
  34. package/dist/__tests__/logger-returns-promise.test.js.map +1 -0
  35. package/dist/__tests__/rate-limit.middleware.test.js +4 -1
  36. package/dist/__tests__/rate-limit.middleware.test.js.map +1 -1
  37. package/dist/__tests__/setconfig-keeps-queued-logs.test.d.ts +1 -0
  38. package/dist/__tests__/setconfig-keeps-queued-logs.test.js +59 -0
  39. package/dist/__tests__/setconfig-keeps-queued-logs.test.js.map +1 -0
  40. package/dist/__tests__/shipper-replay-on-config.test.d.ts +1 -0
  41. package/dist/__tests__/shipper-replay-on-config.test.js +59 -0
  42. package/dist/__tests__/shipper-replay-on-config.test.js.map +1 -0
  43. package/dist/__tests__/utils/setup-global.d.ts +1 -0
  44. package/dist/__tests__/utils/setup-global.js +35 -0
  45. package/dist/__tests__/utils/setup-global.js.map +1 -0
  46. package/dist/__tests__/utils/teardown-global.d.ts +1 -0
  47. package/dist/__tests__/utils/teardown-global.js +36 -0
  48. package/dist/__tests__/utils/teardown-global.js.map +1 -0
  49. package/dist/api/application-log.api.d.ts +5 -1
  50. package/dist/api/application-log.api.js +10 -1
  51. package/dist/api/application-log.api.js.map +1 -1
  52. package/dist/index.d.ts +5 -0
  53. package/dist/index.js +22 -0
  54. package/dist/index.js.map +1 -1
  55. package/dist/models/index.d.ts +3 -0
  56. package/dist/models/index.js +3 -0
  57. package/dist/models/index.js.map +1 -1
  58. package/dist/models/log-queue.model.d.ts +25 -0
  59. package/dist/models/log-queue.model.js +68 -0
  60. package/dist/models/log-queue.model.js.map +1 -0
  61. package/dist/models/log-shipper.model.d.ts +75 -0
  62. package/dist/models/log-shipper.model.js +452 -0
  63. package/dist/models/log-shipper.model.js.map +1 -0
  64. package/dist/models/log-spool.model.d.ts +32 -0
  65. package/dist/models/log-spool.model.js +202 -0
  66. package/dist/models/log-spool.model.js.map +1 -0
  67. package/dist/models/logger.model.d.ts +3 -0
  68. package/dist/models/logger.model.js +59 -70
  69. package/dist/models/logger.model.js.map +1 -1
  70. package/dist/types/interface/api/requests/application-log.request.d.ts +10 -0
  71. package/dist/types/interface/api/responses/application-log.response.d.ts +5 -0
  72. package/dist/utils/alert.utils.d.ts +1 -0
  73. package/dist/utils/alert.utils.js +8 -5
  74. package/dist/utils/alert.utils.js.map +1 -1
  75. package/dist/utils/graceful-shutdown.utils.d.ts +1 -0
  76. package/dist/utils/graceful-shutdown.utils.js +53 -8
  77. package/dist/utils/graceful-shutdown.utils.js.map +1 -1
  78. package/jest.config.ts +5 -0
  79. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createApplicationLog = exports.paginateApplicationLog = exports.getApplicationLog = void 0;
3
+ exports.createBulkApplicationLog = exports.BULK_REQUEST_TIMEOUT_MS = exports.createApplicationLog = exports.paginateApplicationLog = exports.getApplicationLog = void 0;
4
4
  const __1 = require("..");
5
5
  const getApplicationLog = async (params) => {
6
6
  return (await __1.AbyssMonitorCore.axios.get(`application-log/${params.applicationId}/${params.applicationLogId}`)).data;
@@ -14,4 +14,13 @@ const createApplicationLog = async (params, query, body) => {
14
14
  return (await __1.AbyssMonitorCore.axios.post(`application-log/${params.applicationId}`, body, { params: query })).data;
15
15
  };
16
16
  exports.createApplicationLog = createApplicationLog;
17
+ exports.BULK_REQUEST_TIMEOUT_MS = 10_000;
18
+ const createBulkApplicationLog = async (params, query, body, options = {}) => {
19
+ return (await __1.AbyssMonitorCore.axios.post(`application-log/${params.applicationId}/bulk`, body, {
20
+ params: query,
21
+ timeout: options.timeoutMs ?? exports.BULK_REQUEST_TIMEOUT_MS,
22
+ 'axios-retry': { retries: 0 },
23
+ })).data;
24
+ };
25
+ exports.createBulkApplicationLog = createBulkApplicationLog;
17
26
  //# sourceMappingURL=application-log.api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application-log.api.js","sourceRoot":"","sources":["../../src/api/application-log.api.ts"],"names":[],"mappings":";;;AAAA,0BAWY;AAEL,MAAM,iBAAiB,GAAG,KAAK,EACpC,MAAgC,EACK,EAAE;IACvC,OAAO,CACL,MAAM,oBAAgB,CAAC,KAAK,CAAC,GAAG,CAC9B,mBAAmB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,gBAAgB,EAAE,CACrE,CACF,CAAC,IAAI,CAAC;AACT,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B;AAEK,MAAM,sBAAsB,GAAG,KAAK,EACzC,MAAqC,EACrC,KAAmC,EACO,EAAE;IAC5C,OAAO,CACL,MAAM,oBAAgB,CAAC,KAAK,CAAC,GAAG,CAC9B,mBAAmB,MAAM,CAAC,aAAa,WAAW,EAClD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CACF,CAAC,IAAI,CAAC;AACT,CAAC,CAAC;AAVW,QAAA,sBAAsB,0BAUjC;AAEK,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAmC,EACnC,KAAiC,EACjC,IAA+B,EACS,EAAE;IAC1C,OAAO,CACL,MAAM,oBAAgB,CAAC,KAAK,CAAC,IAAI,CAC/B,mBAAmB,MAAM,CAAC,aAAa,EAAE,EACzC,IAAI,EACJ,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CACF,CAAC,IAAI,CAAC;AACT,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B"}
1
+ {"version":3,"file":"application-log.api.js","sourceRoot":"","sources":["../../src/api/application-log.api.ts"],"names":[],"mappings":";;;AAAA,0BAeY;AAEL,MAAM,iBAAiB,GAAG,KAAK,EACpC,MAAgC,EACK,EAAE;IACvC,OAAO,CACL,MAAM,oBAAgB,CAAC,KAAK,CAAC,GAAG,CAC9B,mBAAmB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,gBAAgB,EAAE,CACrE,CACF,CAAC,IAAI,CAAC;AACT,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B;AAEK,MAAM,sBAAsB,GAAG,KAAK,EACzC,MAAqC,EACrC,KAAmC,EACO,EAAE;IAC5C,OAAO,CACL,MAAM,oBAAgB,CAAC,KAAK,CAAC,GAAG,CAC9B,mBAAmB,MAAM,CAAC,aAAa,WAAW,EAClD,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CACF,CAAC,IAAI,CAAC;AACT,CAAC,CAAC;AAVW,QAAA,sBAAsB,0BAUjC;AAEK,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAmC,EACnC,KAAiC,EACjC,IAA+B,EACS,EAAE;IAC1C,OAAO,CACL,MAAM,oBAAgB,CAAC,KAAK,CAAC,IAAI,CAC/B,mBAAmB,MAAM,CAAC,aAAa,EAAE,EACzC,IAAI,EACJ,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CACF,CAAC,IAAI,CAAC;AACT,CAAC,CAAC;AAZW,QAAA,oBAAoB,wBAY/B;AASW,QAAA,uBAAuB,GAAG,MAAM,CAAC;AAQvC,MAAM,wBAAwB,GAAG,KAAK,EAC3C,MAAuC,EACvC,KAAqC,EACrC,IAAmC,EACnC,UAAkC,EAAE,EACQ,EAAE;IAC9C,OAAO,CACL,MAAM,oBAAgB,CAAC,KAAK,CAAC,IAAI,CAC/B,mBAAmB,MAAM,CAAC,aAAa,OAAO,EAC9C,IAAI,EACJ;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,+BAAuB;QAWrD,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;KAC9B,CACF,CACF,CAAC,IAAI,CAAC;AACT,CAAC,CAAC;AA3BW,QAAA,wBAAwB,4BA2BnC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import 'reflect-metadata';
2
2
  import { IAxiosRetryConfig } from 'axios-retry';
3
3
  import { StatsPublisher } from './models/stats-publisher.model';
4
+ import { LogShipper, ShipperOptions } from './models/log-shipper.model';
4
5
  import { ApplicationAlertType } from './types';
5
6
  import { ParamsSendLogAlert, ParamsSendStatsAlert } from './utils';
6
7
  import * as applicationApi from './api/application.api';
@@ -64,6 +65,7 @@ type AbyssMonitorCoreSDK = {
64
65
  get: typeof applicationLogApi.getApplicationLog;
65
66
  paginate: typeof applicationLogApi.paginateApplicationLog;
66
67
  create: typeof applicationLogApi.createApplicationLog;
68
+ createBulk: typeof applicationLogApi.createBulkApplicationLog;
67
69
  admin: {
68
70
  get: typeof applicationLogAdminApi.getApplicationLogAdmin;
69
71
  paginate: typeof applicationLogAdminApi.paginateApplicationLogAdmin;
@@ -196,6 +198,7 @@ type CoreConfig = {
196
198
  applicationName: string;
197
199
  defaultAlertLogWebhookUrl: string | null;
198
200
  defaultAlertStatsWebhookUrl: string | null;
201
+ shipper: ShipperOptions;
199
202
  getWebhookUrl: (params: {
200
203
  type: ApplicationAlertType.LOG;
201
204
  payload: ParamsSendLogAlert;
@@ -208,6 +211,8 @@ export declare class AbyssMonitorCore {
208
211
  private static config;
209
212
  static StatsPublisher: typeof StatsPublisher;
210
213
  private static _sdk;
214
+ private static _shipper;
215
+ static getShipper(): LogShipper;
211
216
  static get sdk(): AbyssMonitorCoreSDK;
212
217
  private static buildSDK;
213
218
  static axios: import("axios").AxiosInstance;
package/dist/index.js CHANGED
@@ -35,6 +35,7 @@ require("reflect-metadata");
35
35
  const axios_1 = __importDefault(require("axios"));
36
36
  const axios_retry_1 = __importStar(require("axios-retry"));
37
37
  const stats_publisher_model_1 = require("./models/stats-publisher.model");
38
+ const log_shipper_model_1 = require("./models/log-shipper.model");
38
39
  const applicationApi = __importStar(require("./api/application.api"));
39
40
  const applicationAdminApi = __importStar(require("./api/application.admin.api"));
40
41
  const applicationStatsApi = __importStar(require("./api/application-stats.api"));
@@ -80,6 +81,12 @@ exports.RETRY_CODES = [
80
81
  503,
81
82
  ];
82
83
  class AbyssMonitorCore {
84
+ static getShipper() {
85
+ if (!_a._shipper) {
86
+ _a._shipper = new log_shipper_model_1.LogShipper(_a.config.shipper);
87
+ }
88
+ return _a._shipper;
89
+ }
83
90
  static get sdk() {
84
91
  if (!_a._sdk) {
85
92
  _a._sdk = _a.buildSDK();
@@ -120,6 +127,7 @@ class AbyssMonitorCore {
120
127
  get: applicationLogApi.getApplicationLog,
121
128
  paginate: applicationLogApi.paginateApplicationLog,
122
129
  create: applicationLogApi.createApplicationLog,
130
+ createBulk: applicationLogApi.createBulkApplicationLog,
123
131
  admin: {
124
132
  get: applicationLogAdminApi.getApplicationLogAdmin,
125
133
  paginate: applicationLogAdminApi.paginateApplicationLogAdmin,
@@ -246,6 +254,18 @@ class AbyssMonitorCore {
246
254
  if (config.applicationApiKey) {
247
255
  _a.axios.defaults.headers.common[exports.API_KEY_APPLICATION_HEADER] = `${config.applicationApiKey}`;
248
256
  }
257
+ if (config.shipper) {
258
+ _a._shipper?.reconfigure(config.shipper);
259
+ }
260
+ const { applicationId, secretPublishToken } = _a.config;
261
+ if (applicationId && secretPublishToken) {
262
+ const shipper = _a.getShipper();
263
+ if (shipper.mayHavePendingSpool()) {
264
+ void shipper.replaySpool().catch((error) => {
265
+ console.error(`Unable to replay spooled logs. Error: ${error}`);
266
+ });
267
+ }
268
+ }
249
269
  }
250
270
  static getConfig() {
251
271
  return _a.config;
@@ -274,10 +294,12 @@ AbyssMonitorCore.config = {
274
294
  applicationName: 'Unnamed Application',
275
295
  defaultAlertLogWebhookUrl: null,
276
296
  defaultAlertStatsWebhookUrl: null,
297
+ shipper: {},
277
298
  getWebhookUrl: async () => null,
278
299
  };
279
300
  AbyssMonitorCore.StatsPublisher = stats_publisher_model_1.StatsPublisher;
280
301
  AbyssMonitorCore._sdk = null;
302
+ AbyssMonitorCore._shipper = null;
281
303
  AbyssMonitorCore.axios = axios_1.default.create({
282
304
  baseURL: _a.config.baseURL,
283
305
  withCredentials: true,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1,4 @@
1
1
  export * from './logger.model';
2
+ export * from './log-queue.model';
3
+ export * from './log-spool.model';
4
+ export * from './log-shipper.model';
@@ -15,4 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./logger.model"), exports);
18
+ __exportStar(require("./log-queue.model"), exports);
19
+ __exportStar(require("./log-spool.model"), exports);
20
+ __exportStar(require("./log-shipper.model"), exports);
18
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,oDAAkC;AAClC,oDAAkC;AAClC,sDAAoC"}
@@ -0,0 +1,25 @@
1
+ import { LogData } from './logger.model';
2
+ export type QueuedLog = {
3
+ log: LogData;
4
+ byteSize: number;
5
+ };
6
+ export type LogQueueOptions = {
7
+ maxEntries: number;
8
+ maxBytes: number;
9
+ };
10
+ export declare class LogQueue {
11
+ private readonly entries;
12
+ private maxEntries;
13
+ private maxBytes;
14
+ private currentBytes;
15
+ private droppedCount;
16
+ constructor(options: LogQueueOptions);
17
+ resize(options: LogQueueOptions): void;
18
+ get entryCount(): number;
19
+ get byteCount(): number;
20
+ push(log: LogData, byteSize: number): void;
21
+ requeueFront(entries: QueuedLog[]): void;
22
+ drain(maxEntries: number, maxBytes: number): QueuedLog[];
23
+ takeDroppedCount(): number;
24
+ private enforceCaps;
25
+ }
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogQueue = void 0;
4
+ class LogQueue {
5
+ constructor(options) {
6
+ this.entries = [];
7
+ this.currentBytes = 0;
8
+ this.droppedCount = 0;
9
+ this.maxEntries = options.maxEntries;
10
+ this.maxBytes = options.maxBytes;
11
+ }
12
+ resize(options) {
13
+ this.maxEntries = options.maxEntries;
14
+ this.maxBytes = options.maxBytes;
15
+ this.enforceCaps();
16
+ }
17
+ get entryCount() {
18
+ return this.entries.length;
19
+ }
20
+ get byteCount() {
21
+ return this.currentBytes;
22
+ }
23
+ push(log, byteSize) {
24
+ this.entries.push({ log, byteSize });
25
+ this.currentBytes += byteSize;
26
+ this.enforceCaps();
27
+ }
28
+ requeueFront(entries) {
29
+ this.entries.unshift(...entries);
30
+ for (const entry of entries) {
31
+ this.currentBytes += entry.byteSize;
32
+ }
33
+ this.enforceCaps();
34
+ }
35
+ drain(maxEntries, maxBytes) {
36
+ const drained = [];
37
+ let drainedBytes = 0;
38
+ while (this.entries.length > 0 && drained.length < maxEntries) {
39
+ const next = this.entries[0];
40
+ if (drained.length > 0 && drainedBytes + next.byteSize > maxBytes) {
41
+ break;
42
+ }
43
+ this.entries.shift();
44
+ this.currentBytes -= next.byteSize;
45
+ drainedBytes += next.byteSize;
46
+ drained.push(next);
47
+ }
48
+ return drained;
49
+ }
50
+ takeDroppedCount() {
51
+ const dropped = this.droppedCount;
52
+ this.droppedCount = 0;
53
+ return dropped;
54
+ }
55
+ enforceCaps() {
56
+ while (this.entries.length > this.maxEntries ||
57
+ (this.currentBytes > this.maxBytes && this.entries.length > 1)) {
58
+ const dropped = this.entries.shift();
59
+ if (!dropped) {
60
+ break;
61
+ }
62
+ this.currentBytes -= dropped.byteSize;
63
+ this.droppedCount += 1;
64
+ }
65
+ }
66
+ }
67
+ exports.LogQueue = LogQueue;
68
+ //# sourceMappingURL=log-queue.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-queue.model.js","sourceRoot":"","sources":["../../src/models/log-queue.model.ts"],"names":[],"mappings":";;;AAqBA,MAAa,QAAQ;IAOnB,YAAY,OAAwB;QANnB,YAAO,GAAgB,EAAE,CAAC;QAGnC,iBAAY,GAAG,CAAC,CAAC;QACjB,iBAAY,GAAG,CAAC,CAAC;QAGvB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IAMM,MAAM,CAAC,OAAwB;QACpC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,IAAI,CAAC,GAAY,EAAE,QAAgB;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAMM,YAAY,CAAC,OAAoB;QACtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,QAAQ,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAOM,KAAK,CAAC,UAAkB,EAAE,QAAgB;QAC/C,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC;gBAClE,MAAM;YACR,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC;YACnC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,gBAAgB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;IAOO,WAAW;QACjB,OACE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU;YACrC,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAC9D,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM;YACR,CAAC;YACD,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF;AA/FD,4BA+FC"}
@@ -0,0 +1,75 @@
1
+ import { LogData } from './logger.model';
2
+ export declare const DEFAULT_FLUSH_INTERVAL_MS = 500;
3
+ export declare const DEFAULT_MAX_BATCH_ENTRIES = 100;
4
+ export declare const DEFAULT_MAX_QUEUE_ENTRIES = 10000;
5
+ export declare const DEFAULT_MAX_QUEUE_BYTES: number;
6
+ export declare const DEFAULT_SPOOL_MAX_BYTES: number;
7
+ export declare const BACKOFF_BASE_MS = 1000;
8
+ export declare const BACKOFF_MAX_MS = 60000;
9
+ export declare const SPOOL_DIRECTORY_ENV = "ABYSS_MONITOR_SPOOL_DIR";
10
+ export declare const MAX_REFUSED_LINES_PER_BATCH = 5;
11
+ export declare enum SendOutcome {
12
+ SENT = "SENT",
13
+ RETRY = "RETRY",
14
+ DROP = "DROP"
15
+ }
16
+ export declare const classifySendError: (error: unknown) => SendOutcome;
17
+ export declare const resolveSpoolBase: (explicit?: string | null) => string | null;
18
+ export declare const byteLengthOf: (text: string) => number;
19
+ export type FlushOptions = {
20
+ ignoreBackoff?: boolean;
21
+ };
22
+ export type ShipperOptions = {
23
+ flushIntervalMs?: number;
24
+ maxBatchEntries?: number;
25
+ maxBatchBytes?: number;
26
+ maxQueueEntries?: number;
27
+ maxQueueBytes?: number;
28
+ spoolDirectory?: string | null;
29
+ spoolMaxBytes?: number;
30
+ };
31
+ export declare class LogShipper {
32
+ private readonly queue;
33
+ private settings;
34
+ private readonly spools;
35
+ private readonly retiredSpools;
36
+ private readonly inFlightFiles;
37
+ private interval;
38
+ private scheduledFlush;
39
+ private inFlight;
40
+ private replaying;
41
+ private consecutiveFailures;
42
+ private retryNotBefore;
43
+ private lostEntries;
44
+ private spoolMayHavePending;
45
+ private spoolWrites;
46
+ constructor(options?: ShipperOptions);
47
+ reconfigure(options: ShipperOptions): void;
48
+ enqueue(log: LogData, byteSize?: number): void;
49
+ flush(deadlineMs?: number, options?: FlushOptions): Promise<void>;
50
+ replaySpool(): Promise<number>;
51
+ mayHavePendingSpool(): boolean;
52
+ stop(): void;
53
+ private startTimer;
54
+ private guarded;
55
+ private settlesBefore;
56
+ private tick;
57
+ private requestFlush;
58
+ private scheduleFlush;
59
+ private currentIdentity;
60
+ private spoolFor;
61
+ private markSpoolPending;
62
+ private recordFailure;
63
+ private recordSuccess;
64
+ private drainAll;
65
+ private spillQueueAtExit;
66
+ private spillAtExit;
67
+ private deliver;
68
+ private replayPending;
69
+ private discardGarbled;
70
+ private takeDroppedCount;
71
+ private send;
72
+ private sendBisecting;
73
+ private postCounted;
74
+ private post;
75
+ }