node-logy 0.1.2 → 0.1.4

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/dist/protocol.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ResponseEncoder = exports.RequestEncoder = exports.ProtocolError = exports.VALID_LOG_LEVELS = exports.LOG_LEVEL = exports.VALID_METHODS = exports.METHOD = void 0;
3
+ exports.VALID_LOG_LEVELS = exports.LOG_LEVEL = exports.VALID_METHODS = exports.METHOD = void 0;
4
4
  /**
5
5
  * Contains all methods a request / response can have
6
6
  */
@@ -55,360 +55,4 @@ exports.LOG_LEVEL = {
55
55
  * Contains a set of valid log levels
56
56
  */
57
57
  exports.VALID_LOG_LEVELS = new Set(Object.values(exports.LOG_LEVEL));
58
- /**
59
- * Error thrown when encoding/decoding fails
60
- */
61
- class ProtocolError extends Error {
62
- constructor(message) {
63
- super(message);
64
- this.name = "ProtocolError";
65
- }
66
- }
67
- exports.ProtocolError = ProtocolError;
68
- /**
69
- * Used to encode the request messages to the buffer protocol encoding
70
- */
71
- class RequestEncoder {
72
- static HEADER_SIZE = 8;
73
- static MAX_ID = 0xffffffff;
74
- static MAX_PAYLOAD_LENGTH = 0xffff;
75
- validMethods;
76
- validLevels;
77
- constructor(validMethods = exports.VALID_METHODS, validLevels = exports.VALID_LOG_LEVELS) {
78
- this.validMethods = validMethods;
79
- this.validLevels = validLevels;
80
- }
81
- /**
82
- * Validates that a buffer contains a complete, valid request binary protocol
83
- * without actually decoding the content. Checks:
84
- * - Buffer has complete header (8 bytes)
85
- * - Buffer has complete message (header + payload)
86
- * - Payload length is within valid range (0 to 65535)
87
- *
88
- * @param buffer The buffer to validate
89
- * @returns true if buffer is a valid complete request, false otherwise
90
- */
91
- static isValid(buffer) {
92
- // Check complete header exists
93
- if (!RequestEncoder.hasCompleteHeader(buffer)) {
94
- return false;
95
- }
96
- // Check payload length is valid
97
- const payloadLength = RequestEncoder.getPayloadLength(buffer);
98
- // Check complete message exists
99
- if (buffer.length !== RequestEncoder.HEADER_SIZE + payloadLength) {
100
- return false;
101
- }
102
- return true;
103
- }
104
- /**
105
- * Instance method to validate with method/level checking
106
- * Validates that a buffer contains a complete, valid request with valid method and level values
107
- */
108
- isValidInstance(buffer) {
109
- // First do static validation
110
- if (!RequestEncoder.isValid(buffer)) {
111
- return false;
112
- }
113
- // Check method is valid
114
- const method = RequestEncoder.getMethod(buffer);
115
- if (!this.validMethods.has(method)) {
116
- return false;
117
- }
118
- // Check level is valid
119
- const level = RequestEncoder.getLevel(buffer);
120
- if (!this.validLevels.has(level)) {
121
- return false;
122
- }
123
- return true;
124
- }
125
- /**
126
- * Get the ID from a buffer (4 bytes, uint32 at offset 0)
127
- */
128
- static getId(buffer) {
129
- return buffer.readUInt32BE(0);
130
- }
131
- /**
132
- * Get the method from a buffer (1 byte at offset 4)
133
- */
134
- static getMethod(buffer) {
135
- return buffer[4];
136
- }
137
- /**
138
- * Get the level from a buffer (1 byte at offset 5)
139
- */
140
- static getLevel(buffer) {
141
- return buffer[5];
142
- }
143
- /**
144
- * Get the payload length from a buffer (2 bytes, uint16 at offset 6)
145
- */
146
- static getPayloadLength(buffer) {
147
- return buffer.readUInt16BE(6);
148
- }
149
- /**
150
- * Get the payload as a Buffer from a buffer (starting at offset 8)
151
- */
152
- static getPayloadBuffer(buffer) {
153
- const payloadLength = RequestEncoder.getPayloadLength(buffer);
154
- return buffer.subarray(RequestEncoder.HEADER_SIZE, RequestEncoder.HEADER_SIZE + payloadLength);
155
- }
156
- /**
157
- * Get the payload as a UTF-8 string from a buffer
158
- */
159
- static getPayloadString(buffer) {
160
- return RequestEncoder.getPayloadBuffer(buffer).toString("utf-8");
161
- }
162
- /**
163
- * Check if buffer has complete header (8 bytes)
164
- */
165
- static hasCompleteHeader(buffer) {
166
- return buffer.length >= RequestEncoder.HEADER_SIZE;
167
- }
168
- /**
169
- * Check if buffer has complete message (header + payload)
170
- */
171
- static hasCompleteMessage(buffer) {
172
- if (!RequestEncoder.hasCompleteHeader(buffer))
173
- return false;
174
- const payloadLength = RequestEncoder.getPayloadLength(buffer);
175
- return buffer.length >= RequestEncoder.HEADER_SIZE + payloadLength;
176
- }
177
- /**
178
- * Get total message size (header + payload)
179
- */
180
- static getTotalMessageSize(buffer) {
181
- if (!RequestEncoder.hasCompleteHeader(buffer))
182
- return RequestEncoder.HEADER_SIZE;
183
- return RequestEncoder.HEADER_SIZE + RequestEncoder.getPayloadLength(buffer);
184
- }
185
- /**
186
- * Encode a request to the binary protocol
187
- */
188
- encode(request) {
189
- if (!Number.isInteger(request.id) ||
190
- request.id < 0 ||
191
- request.id > RequestEncoder.MAX_ID) {
192
- throw new ProtocolError(`Invalid ID: ${request.id}`);
193
- }
194
- if (!this.validMethods.has(request.method)) {
195
- throw new ProtocolError(`Invalid method: ${request.method}`);
196
- }
197
- if (!this.validLevels.has(request.level)) {
198
- throw new ProtocolError(`Invalid level: ${request.level}`);
199
- }
200
- const payloadBytes = Buffer.from(request.payload, "utf-8");
201
- if (payloadBytes.length > RequestEncoder.MAX_PAYLOAD_LENGTH) {
202
- throw new ProtocolError(`Payload too large: ${payloadBytes.length} bytes`);
203
- }
204
- const buffer = Buffer.allocUnsafe(RequestEncoder.HEADER_SIZE + payloadBytes.length);
205
- buffer.writeUInt32BE(request.id, 0);
206
- buffer[4] = request.method;
207
- buffer[5] = request.level;
208
- buffer.writeUInt16BE(payloadBytes.length, 6);
209
- payloadBytes.copy(buffer, 8);
210
- return buffer;
211
- }
212
- /**
213
- * Decode a binary protocol buffer to a request object
214
- */
215
- decode(buffer) {
216
- if (!RequestEncoder.hasCompleteHeader(buffer)) {
217
- throw new ProtocolError(`Buffer too small: ${buffer.length} bytes, minimum ${RequestEncoder.HEADER_SIZE} bytes required`);
218
- }
219
- const id = RequestEncoder.getId(buffer);
220
- const method = RequestEncoder.getMethod(buffer);
221
- const level = RequestEncoder.getLevel(buffer);
222
- const payloadLength = RequestEncoder.getPayloadLength(buffer);
223
- if (buffer.length !== RequestEncoder.HEADER_SIZE + payloadLength) {
224
- throw new ProtocolError(`Buffer size mismatch: expected ${RequestEncoder.HEADER_SIZE + payloadLength} bytes, got ${buffer.length} bytes`);
225
- }
226
- if (!this.validMethods.has(method)) {
227
- throw new ProtocolError(`Invalid method: ${method}`);
228
- }
229
- if (!this.validLevels.has(level)) {
230
- throw new ProtocolError(`Invalid level: ${level}`);
231
- }
232
- const payload = RequestEncoder.getPayloadString(buffer);
233
- return {
234
- id,
235
- method: method,
236
- level: level,
237
- payload,
238
- };
239
- }
240
- static getHeaderSize() {
241
- return RequestEncoder.HEADER_SIZE;
242
- }
243
- }
244
- exports.RequestEncoder = RequestEncoder;
245
- /**
246
- * Used to encode the response messages to the buffer protocol encoding
247
- */
248
- class ResponseEncoder {
249
- static HEADER_SIZE = 8;
250
- static MAX_ID = 0xffffffff;
251
- validMethods;
252
- validLevels;
253
- constructor(validMethods = exports.VALID_METHODS, validLevels = exports.VALID_LOG_LEVELS) {
254
- this.validMethods = validMethods;
255
- this.validLevels = validLevels;
256
- }
257
- /**
258
- * Validates that a buffer contains a valid response binary protocol
259
- * without actually decoding the content. Checks:
260
- * - Buffer has complete header (8 bytes)
261
- * - Reserved byte is 0x00
262
- * - Success byte is 0 or 1
263
- *
264
- * @param buffer The buffer to validate
265
- * @returns true if buffer is a valid response, false otherwise
266
- */
267
- static isValid(buffer) {
268
- // Check complete header exists (responses are fixed 8 bytes)
269
- if (buffer.length !== ResponseEncoder.HEADER_SIZE) {
270
- return false;
271
- }
272
- // Check reserved byte is 0x00
273
- if (buffer[7] !== 0x00) {
274
- return false;
275
- }
276
- // Check success byte is valid (0 or 1)
277
- const successByte = buffer[6];
278
- if (successByte !== 0 && successByte !== 1) {
279
- return false;
280
- }
281
- return true;
282
- }
283
- /**
284
- * Instance method to validate with method/level checking
285
- * Validates that a buffer contains a valid response with valid method and level values
286
- */
287
- isValidInstance(buffer) {
288
- // First do static validation
289
- if (!ResponseEncoder.isValid(buffer)) {
290
- return false;
291
- }
292
- // Check method is valid
293
- const method = ResponseEncoder.getMethod(buffer);
294
- if (!this.validMethods.has(method)) {
295
- return false;
296
- }
297
- // Check level is valid
298
- const level = ResponseEncoder.getLevel(buffer);
299
- if (!this.validLevels.has(level)) {
300
- return false;
301
- }
302
- return true;
303
- }
304
- /**
305
- * Get the ID from a buffer (4 bytes, uint32 at offset 0)
306
- */
307
- static getId(buffer) {
308
- return buffer.readUInt32BE(0);
309
- }
310
- /**
311
- * Get the method from a buffer (1 byte at offset 4)
312
- */
313
- static getMethod(buffer) {
314
- return buffer[4];
315
- }
316
- /**
317
- * Get the level from a buffer (1 byte at offset 5)
318
- */
319
- static getLevel(buffer) {
320
- return buffer[5];
321
- }
322
- /**
323
- * Get the success flag from a buffer (1 byte at offset 6)
324
- * @returns boolean indicating success
325
- */
326
- static getSuccess(buffer) {
327
- const successByte = buffer[6];
328
- return successByte === 1;
329
- }
330
- /**
331
- * Get the reserved byte from a buffer (1 byte at offset 7)
332
- */
333
- static getReserved(buffer) {
334
- return buffer[7];
335
- }
336
- /**
337
- * Check if buffer has complete header (8 bytes)
338
- * For responses, this means the buffer is exactly 8 bytes
339
- */
340
- static hasCompleteHeader(buffer) {
341
- return buffer.length >= ResponseEncoder.HEADER_SIZE;
342
- }
343
- /**
344
- * Check if buffer is a complete response message (exactly 8 bytes)
345
- */
346
- static hasCompleteMessage(buffer) {
347
- return buffer.length === ResponseEncoder.HEADER_SIZE;
348
- }
349
- /**
350
- * Get total message size (always 8 bytes for responses)
351
- */
352
- static getTotalMessageSize() {
353
- return ResponseEncoder.HEADER_SIZE;
354
- }
355
- /**
356
- * Encode a response to the binary protocol
357
- * @param response The JSON response object
358
- * @returns Binary protocol buffer (exactly 8 bytes)
359
- */
360
- encode(response) {
361
- if (!Number.isInteger(response.id) ||
362
- response.id < 0 ||
363
- response.id > ResponseEncoder.MAX_ID) {
364
- throw new ProtocolError(`Invalid ID: ${response.id}`);
365
- }
366
- if (!this.validMethods.has(response.method)) {
367
- throw new ProtocolError(`Invalid method: ${response.method}`);
368
- }
369
- if (!this.validLevels.has(response.level)) {
370
- throw new ProtocolError(`Invalid level: ${response.level}`);
371
- }
372
- const buffer = Buffer.allocUnsafe(ResponseEncoder.HEADER_SIZE);
373
- buffer.writeUInt32BE(response.id, 0);
374
- buffer[4] = response.method;
375
- buffer[5] = response.level;
376
- buffer[6] = response.success ? 1 : 0;
377
- buffer[7] = 0x00; // reserved padding
378
- return buffer;
379
- }
380
- /**
381
- * Decode a binary protocol buffer to a response object
382
- * @param buffer The binary protocol buffer
383
- * @returns The decoded response object
384
- */
385
- decode(buffer) {
386
- if (buffer.length !== ResponseEncoder.HEADER_SIZE) {
387
- throw new ProtocolError(`Invalid buffer size: expected ${ResponseEncoder.HEADER_SIZE} bytes, got ${buffer.length} bytes`);
388
- }
389
- const id = ResponseEncoder.getId(buffer);
390
- const method = ResponseEncoder.getMethod(buffer);
391
- const level = ResponseEncoder.getLevel(buffer);
392
- const success = ResponseEncoder.getSuccess(buffer);
393
- if (buffer[7] !== 0x00) {
394
- throw new ProtocolError(`Invalid reserved byte: expected 0x00, got 0x${buffer[7]?.toString(16).padStart(2, "0")}`);
395
- }
396
- if (!this.validMethods.has(method)) {
397
- throw new ProtocolError(`Invalid method: ${method}`);
398
- }
399
- if (!this.validLevels.has(level)) {
400
- throw new ProtocolError(`Invalid level: ${level}`);
401
- }
402
- return {
403
- id,
404
- method: method,
405
- level: level,
406
- success,
407
- };
408
- }
409
- static getHeaderSize() {
410
- return ResponseEncoder.HEADER_SIZE;
411
- }
412
- }
413
- exports.ResponseEncoder = ResponseEncoder;
414
58
  //# sourceMappingURL=protocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,MAAM,GAAG;IACpB;;OAEG;IACH,GAAG,EAAE,IAAI;IAET;;OAEG;IACH,KAAK,EAAE,IAAI;IAEX;;OAEG;IACH,MAAM,EAAE,IAAI;IAEZ;;OAEG;IACH,QAAQ,EAAE,IAAI;CACN,CAAC;AAEX;;GAEG;AACU,QAAA,aAAa,GAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC,CAAC;AAOzE;;GAEG;AACU,QAAA,SAAS,GAAG;IACvB;;OAEG;IACH,IAAI,EAAE,IAAI;IAEV;;OAEG;IACH,IAAI,EAAE,IAAI;IAEV;;OAEG;IACH,KAAK,EAAE,IAAI;IAEX;;OAEG;IACH,KAAK,EAAE,IAAI;IAEX;;OAEG;IACH,KAAK,EAAE,IAAI;CACH,CAAC;AAEX;;GAEG;AACU,QAAA,gBAAgB,GAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAS,CAAC,CAAC,CAAC"}
package/dist/server.js CHANGED
@@ -33,10 +33,10 @@ let fileWriteBufferArray = [];
33
33
  * How long we wait until we flush unless the buffer gets full
34
34
  */
35
35
  const FLUSH_MS = 130;
36
- /**
37
- * How many buffers can accumulate before we have to flush
38
- */
39
- const FILE_WRITE_BUFFER_FLUSH_COUNT = 100;
36
+ // Increased to 256 buffers or 4MB, whichever comes first
37
+ const FILE_WRITE_BUFFER_FLUSH_COUNT = 256;
38
+ const FILE_WRITE_BUFFER_MAX_SIZE = 4 * 1024 * 1024; // 4MB
39
+ let currentBufferSize = 0;
40
40
  /**
41
41
  * Holds the timeout for flush
42
42
  */
@@ -65,18 +65,29 @@ const flush = () => {
65
65
  if (fileWriteBufferArray.length === 0 || !fileStream) {
66
66
  return;
67
67
  }
68
- const joinedBuffer = Buffer.concat([
69
- Buffer.concat(fileWriteBufferArray.map((buf, index) => index < fileWriteBufferArray.length - 1
70
- ? Buffer.concat([buf, NEWLINE_BUFFER])
71
- : buf)),
72
- NEWLINE_BUFFER,
73
- ]);
68
+ const count = fileWriteBufferArray.length;
69
+ // Calculate total size: sum of all buffers + newlines (1 per entry + 1 final)
70
+ let totalSize = NEWLINE_BUFFER.length; // Final newline
71
+ for (let i = 0; i < count; i++) {
72
+ totalSize += fileWriteBufferArray[i].length + NEWLINE_BUFFER.length;
73
+ }
74
+ // Allocate buffer once
75
+ const joinedBuffer = Buffer.allocUnsafe(totalSize);
76
+ let offset = 0;
77
+ for (let i = 0; i < count; i++) {
78
+ const buf = fileWriteBufferArray[i];
79
+ buf.copy(joinedBuffer, offset);
80
+ offset += buf.length;
81
+ NEWLINE_BUFFER.copy(joinedBuffer, offset);
82
+ offset += NEWLINE_BUFFER.length;
83
+ }
74
84
  fileStream.write(joinedBuffer, (err) => {
75
85
  if (err) {
76
86
  console.error(`Write error: ${err.message}`);
77
87
  }
78
88
  });
79
89
  fileWriteBufferArray = [];
90
+ currentBufferSize = 0;
80
91
  clearFlushTimeout();
81
92
  };
82
93
  /**
@@ -109,7 +120,10 @@ const requestHandler = (request) => {
109
120
  case protocol_1.METHOD.LOG: {
110
121
  const payload = protocol_1.RequestEncoder.getPayloadBuffer(request);
111
122
  fileWriteBufferArray.push(payload);
112
- if (fileWriteBufferArray.length >= FILE_WRITE_BUFFER_FLUSH_COUNT) {
123
+ currentBufferSize += payload.length;
124
+ // Flush on count OR size threshold
125
+ if (fileWriteBufferArray.length >= FILE_WRITE_BUFFER_FLUSH_COUNT ||
126
+ currentBufferSize >= FILE_WRITE_BUFFER_MAX_SIZE) {
113
127
  flush();
114
128
  }
115
129
  else {
@@ -220,7 +234,11 @@ const createStream = () => {
220
234
  fileStream = null;
221
235
  const fileName = getLogFileName();
222
236
  const filePath = node_path_1.default.join(basePath, fileName);
223
- fileStream = node_fs_1.default.createWriteStream(filePath, { flags: "a" });
237
+ // Use higher highWaterMark for better throughput
238
+ fileStream = node_fs_1.default.createWriteStream(filePath, {
239
+ flags: "a",
240
+ highWaterMark: 64 * 1024, // 64KB internal buffer
241
+ });
224
242
  fileStream.on("error", (err) => {
225
243
  console.error(`Stream error: ${err.message}`);
226
244
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * This is a worker file which will be spawned
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../src/worker.ts"],"names":[],"mappings":"AAAA;;GAEG"}