@flowrensic/node 0.5.10 → 0.6.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 (105) hide show
  1. package/dist/cjs/client-interceptor.d.ts +2 -0
  2. package/dist/cjs/client-interceptor.d.ts.map +1 -1
  3. package/dist/cjs/client-interceptor.js +1 -1
  4. package/dist/cjs/client-interceptor.js.map +1 -1
  5. package/dist/cjs/client.d.ts +5 -3
  6. package/dist/cjs/client.d.ts.map +1 -1
  7. package/dist/cjs/client.js +4 -2
  8. package/dist/cjs/client.js.map +1 -1
  9. package/dist/cjs/gen/flowrensic/v1/activity_metrics_pb.d.ts +43 -0
  10. package/dist/cjs/gen/flowrensic/v1/activity_metrics_pb.d.ts.map +1 -1
  11. package/dist/cjs/gen/flowrensic/v1/activity_metrics_pb.js +18 -13
  12. package/dist/cjs/gen/flowrensic/v1/activity_metrics_pb.js.map +1 -1
  13. package/dist/cjs/gen/flowrensic/v1/catalog_pb.d.ts +7 -0
  14. package/dist/cjs/gen/flowrensic/v1/catalog_pb.d.ts.map +1 -1
  15. package/dist/cjs/gen/flowrensic/v1/catalog_pb.js +1 -1
  16. package/dist/cjs/gen/flowrensic/v1/catalog_pb.js.map +1 -1
  17. package/dist/cjs/gen/flowrensic/v1/cost_pb.d.ts +20 -0
  18. package/dist/cjs/gen/flowrensic/v1/cost_pb.d.ts.map +1 -1
  19. package/dist/cjs/gen/flowrensic/v1/cost_pb.js +1 -1
  20. package/dist/cjs/gen/flowrensic/v1/cost_pb.js.map +1 -1
  21. package/dist/cjs/gen/flowrensic/v1/finding_pb.d.ts +104 -1
  22. package/dist/cjs/gen/flowrensic/v1/finding_pb.d.ts.map +1 -1
  23. package/dist/cjs/gen/flowrensic/v1/finding_pb.js +43 -2
  24. package/dist/cjs/gen/flowrensic/v1/finding_pb.js.map +1 -1
  25. package/dist/cjs/gen/flowrensic/v1/replay_pb.d.ts +6 -0
  26. package/dist/cjs/gen/flowrensic/v1/replay_pb.d.ts.map +1 -1
  27. package/dist/cjs/gen/flowrensic/v1/replay_pb.js +1 -1
  28. package/dist/cjs/gen/flowrensic/v1/replay_pb.js.map +1 -1
  29. package/dist/cjs/gen/flowrensic/v1/services_pb.d.ts +24 -2
  30. package/dist/cjs/gen/flowrensic/v1/services_pb.d.ts.map +1 -1
  31. package/dist/cjs/gen/flowrensic/v1/services_pb.js +1 -1
  32. package/dist/cjs/gen/flowrensic/v1/services_pb.js.map +1 -1
  33. package/dist/cjs/gen/flowrensic/v1/workflow_history_pb.d.ts +6 -0
  34. package/dist/cjs/gen/flowrensic/v1/workflow_history_pb.d.ts.map +1 -1
  35. package/dist/cjs/gen/flowrensic/v1/workflow_history_pb.js +1 -1
  36. package/dist/cjs/gen/flowrensic/v1/workflow_history_pb.js.map +1 -1
  37. package/dist/cjs/index.d.ts +2 -1
  38. package/dist/cjs/index.d.ts.map +1 -1
  39. package/dist/cjs/index.js +3 -1
  40. package/dist/cjs/index.js.map +1 -1
  41. package/dist/cjs/replay.d.ts +4 -0
  42. package/dist/cjs/replay.d.ts.map +1 -1
  43. package/dist/cjs/replay.js +3 -2
  44. package/dist/cjs/replay.js.map +1 -1
  45. package/dist/cjs/sink.d.ts +22 -1
  46. package/dist/cjs/sink.d.ts.map +1 -1
  47. package/dist/cjs/sink.js +157 -24
  48. package/dist/cjs/sink.js.map +1 -1
  49. package/dist/cjs/telemetry.d.ts +8 -0
  50. package/dist/cjs/telemetry.d.ts.map +1 -1
  51. package/dist/cjs/telemetry.js +45 -27
  52. package/dist/cjs/telemetry.js.map +1 -1
  53. package/dist/esm/client-interceptor.d.ts +2 -0
  54. package/dist/esm/client-interceptor.d.ts.map +1 -1
  55. package/dist/esm/client-interceptor.js +1 -1
  56. package/dist/esm/client-interceptor.js.map +1 -1
  57. package/dist/esm/client.d.ts +5 -3
  58. package/dist/esm/client.d.ts.map +1 -1
  59. package/dist/esm/client.js +4 -3
  60. package/dist/esm/client.js.map +1 -1
  61. package/dist/esm/gen/flowrensic/v1/activity_metrics_pb.d.ts +43 -0
  62. package/dist/esm/gen/flowrensic/v1/activity_metrics_pb.d.ts.map +1 -1
  63. package/dist/esm/gen/flowrensic/v1/activity_metrics_pb.js +17 -12
  64. package/dist/esm/gen/flowrensic/v1/activity_metrics_pb.js.map +1 -1
  65. package/dist/esm/gen/flowrensic/v1/catalog_pb.d.ts +7 -0
  66. package/dist/esm/gen/flowrensic/v1/catalog_pb.d.ts.map +1 -1
  67. package/dist/esm/gen/flowrensic/v1/catalog_pb.js +1 -1
  68. package/dist/esm/gen/flowrensic/v1/catalog_pb.js.map +1 -1
  69. package/dist/esm/gen/flowrensic/v1/cost_pb.d.ts +20 -0
  70. package/dist/esm/gen/flowrensic/v1/cost_pb.d.ts.map +1 -1
  71. package/dist/esm/gen/flowrensic/v1/cost_pb.js +1 -1
  72. package/dist/esm/gen/flowrensic/v1/cost_pb.js.map +1 -1
  73. package/dist/esm/gen/flowrensic/v1/finding_pb.d.ts +104 -1
  74. package/dist/esm/gen/flowrensic/v1/finding_pb.d.ts.map +1 -1
  75. package/dist/esm/gen/flowrensic/v1/finding_pb.js +42 -1
  76. package/dist/esm/gen/flowrensic/v1/finding_pb.js.map +1 -1
  77. package/dist/esm/gen/flowrensic/v1/replay_pb.d.ts +6 -0
  78. package/dist/esm/gen/flowrensic/v1/replay_pb.d.ts.map +1 -1
  79. package/dist/esm/gen/flowrensic/v1/replay_pb.js +1 -1
  80. package/dist/esm/gen/flowrensic/v1/replay_pb.js.map +1 -1
  81. package/dist/esm/gen/flowrensic/v1/services_pb.d.ts +24 -2
  82. package/dist/esm/gen/flowrensic/v1/services_pb.d.ts.map +1 -1
  83. package/dist/esm/gen/flowrensic/v1/services_pb.js +1 -1
  84. package/dist/esm/gen/flowrensic/v1/services_pb.js.map +1 -1
  85. package/dist/esm/gen/flowrensic/v1/workflow_history_pb.d.ts +6 -0
  86. package/dist/esm/gen/flowrensic/v1/workflow_history_pb.d.ts.map +1 -1
  87. package/dist/esm/gen/flowrensic/v1/workflow_history_pb.js +1 -1
  88. package/dist/esm/gen/flowrensic/v1/workflow_history_pb.js.map +1 -1
  89. package/dist/esm/index.d.ts +2 -1
  90. package/dist/esm/index.d.ts.map +1 -1
  91. package/dist/esm/index.js +1 -0
  92. package/dist/esm/index.js.map +1 -1
  93. package/dist/esm/replay.d.ts +4 -0
  94. package/dist/esm/replay.d.ts.map +1 -1
  95. package/dist/esm/replay.js +3 -2
  96. package/dist/esm/replay.js.map +1 -1
  97. package/dist/esm/sink.d.ts +22 -1
  98. package/dist/esm/sink.d.ts.map +1 -1
  99. package/dist/esm/sink.js +158 -25
  100. package/dist/esm/sink.js.map +1 -1
  101. package/dist/esm/telemetry.d.ts +8 -0
  102. package/dist/esm/telemetry.d.ts.map +1 -1
  103. package/dist/esm/telemetry.js +45 -27
  104. package/dist/esm/telemetry.js.map +1 -1
  105. package/package.json +1 -1
package/dist/cjs/sink.js CHANGED
@@ -1,46 +1,179 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createAttemptSink = createAttemptSink;
4
+ const node_os_1 = require("node:os");
4
5
  const connect_1 = require("@connectrpc/connect");
5
6
  const connect_node_1 = require("@connectrpc/connect-node");
7
+ const client_js_1 = require("./client.js");
6
8
  const services_pb_js_1 = require("./gen/flowrensic/v1/services_pb.js");
9
+ function add(counts, env, n) {
10
+ const now = (counts.get(env) ?? 0) + n;
11
+ if (now === 0)
12
+ counts.delete(env);
13
+ else
14
+ counts.set(env, now);
15
+ }
7
16
  function createAttemptSink(options) {
8
- const { baseUrl, batchSize = 64, flushIntervalMs = 1000 } = options;
9
- const ingest = (0, connect_1.createClient)(services_pb_js_1.IngestService, (0, connect_node_1.createConnectTransport)({ baseUrl, httpVersion: '1.1' }));
10
- let buffer = [];
11
- let inFlight = Promise.resolve();
12
- const send = async () => {
13
- const events = buffer;
14
- buffer = [];
15
- if (events.length === 0)
17
+ const { baseUrl, batchSize = 64, flushIntervalMs = 1000, sendTimeoutMs = 5000, maxWaiting = 10_000, maxBatchSize = 500, } = options;
18
+ const workerId = options.workerId ?? `${(0, node_os_1.hostname)()}-${String(process.pid)}`;
19
+ const ingest = (0, connect_1.createClient)(services_pb_js_1.IngestService, (0, connect_node_1.createConnectTransport)({
20
+ baseUrl,
21
+ httpVersion: '1.1',
22
+ interceptors: options.envKey === undefined ? [] : [(0, client_js_1.envKeyInterceptor)(options.envKey)],
23
+ }));
24
+ // The waiting attempts, oldest first, from head on.
25
+ let queue = [];
26
+ let head = 0;
27
+ const waitingByEnv = new Map();
28
+ // Counted since the last report that was answered.
29
+ const dropped = new Map();
30
+ const timedOut = new Map();
31
+ // The records waiting per env as the last answered report gave them.
32
+ let reportedWaiting = new Map();
33
+ let droppedTotal = 0;
34
+ let timedOutTotal = 0;
35
+ let sending;
36
+ let reporting;
37
+ let scheduled = false;
38
+ const waitingCount = () => queue.length - head;
39
+ const drop = (env, n) => {
40
+ add(dropped, env, n);
41
+ droppedTotal += n;
42
+ };
43
+ const take = (count) => {
44
+ const out = [];
45
+ for (let i = 0; i < count; i += 1) {
46
+ const one = queue[head];
47
+ queue[head] = undefined;
48
+ head += 1;
49
+ if (one === undefined)
50
+ continue;
51
+ add(waitingByEnv, one.env, -1);
52
+ out.push(one);
53
+ }
54
+ return out;
55
+ };
56
+ // The slots before head are given back once a batch leaves, never while a
57
+ // record is recorded.
58
+ const compact = () => {
59
+ if (head > 1024 && head * 2 > queue.length) {
60
+ queue = queue.slice(head);
61
+ head = 0;
62
+ }
63
+ };
64
+ // One send at a time. Once it ends the next starts right away while records
65
+ // wait. A send that fails or times out is not sent again.
66
+ const startSend = () => {
67
+ if (sending !== undefined || waitingCount() === 0)
16
68
  return;
17
- await ingest.ingestActivityEvents({ events });
69
+ const events = take(Math.min(maxBatchSize, waitingCount()));
70
+ compact();
71
+ sending = (async () => {
72
+ try {
73
+ await ingest.ingestActivityEvents({ events, workerId }, { timeoutMs: sendTimeoutMs });
74
+ }
75
+ catch (error) {
76
+ const envs = new Set();
77
+ for (const one of events) {
78
+ drop(one.env, 1);
79
+ envs.add(one.env);
80
+ }
81
+ if (error instanceof connect_1.ConnectError && error.code === connect_1.Code.DeadlineExceeded) {
82
+ for (const env of envs)
83
+ add(timedOut, env, 1);
84
+ timedOutTotal += 1;
85
+ }
86
+ }
87
+ finally {
88
+ sending = undefined;
89
+ startSend();
90
+ }
91
+ })();
18
92
  };
19
- // Failures are swallowed on purpose. Telemetry must never fail the activity
20
- // it is measuring.
21
- const sendSafely = async () => {
22
- inFlight = inFlight.then(send).catch(() => undefined);
23
- await inFlight;
93
+ const schedule = () => {
94
+ if (scheduled || sending !== undefined)
95
+ return;
96
+ scheduled = true;
97
+ setImmediate(() => {
98
+ scheduled = false;
99
+ startSend();
100
+ });
101
+ };
102
+ // At most one report at a time, and only when a count changed since the
103
+ // last report that was answered.
104
+ const report = () => {
105
+ if (reporting !== undefined)
106
+ return;
107
+ const envs = new Set([...dropped.keys(), ...timedOut.keys(), ...waitingByEnv.keys(), ...reportedWaiting.keys()]);
108
+ const changed = [...envs].some((env) => dropped.has(env) || timedOut.has(env) || (waitingByEnv.get(env) ?? 0) !== (reportedWaiting.get(env) ?? 0));
109
+ if (!changed)
110
+ return;
111
+ const sentDropped = new Map(dropped);
112
+ const sentTimedOut = new Map(timedOut);
113
+ const sentWaiting = new Map(waitingByEnv);
114
+ const reports = [...envs].map((env) => ({
115
+ $typeName: 'flowrensic.v1.WorkerBufferReport',
116
+ env,
117
+ recordsDropped: BigInt(sentDropped.get(env) ?? 0),
118
+ sendsTimedOut: BigInt(sentTimedOut.get(env) ?? 0),
119
+ recordsWaiting: BigInt(sentWaiting.get(env) ?? 0),
120
+ }));
121
+ reporting = (async () => {
122
+ try {
123
+ await ingest.ingestActivityEvents({ workerId, reports }, { timeoutMs: sendTimeoutMs });
124
+ for (const [env, n] of sentDropped)
125
+ add(dropped, env, -n);
126
+ for (const [env, n] of sentTimedOut)
127
+ add(timedOut, env, -n);
128
+ reportedWaiting = sentWaiting;
129
+ }
130
+ catch {
131
+ // Kept, and sent again with what was counted since.
132
+ }
133
+ finally {
134
+ reporting = undefined;
135
+ }
136
+ })();
24
137
  };
25
138
  const timer = setInterval(() => {
26
- void sendSafely();
139
+ startSend();
140
+ report();
27
141
  }, flushIntervalMs);
28
142
  timer.unref();
143
+ const flush = async () => {
144
+ for (;;) {
145
+ if (sending !== undefined)
146
+ await sending;
147
+ else if (waitingCount() > 0)
148
+ startSend();
149
+ else
150
+ break;
151
+ }
152
+ if (reporting !== undefined)
153
+ await reporting;
154
+ report();
155
+ if (reporting !== undefined)
156
+ await reporting;
157
+ };
29
158
  return {
30
159
  record(attempt) {
31
- buffer.push(attempt);
32
- if (buffer.length >= batchSize) {
33
- void sendSafely();
160
+ queue.push(attempt);
161
+ add(waitingByEnv, attempt.env, 1);
162
+ if (waitingCount() > maxWaiting) {
163
+ const [oldest] = take(1);
164
+ if (oldest !== undefined)
165
+ drop(oldest.env, 1);
34
166
  }
167
+ if (waitingCount() >= batchSize)
168
+ schedule();
35
169
  },
36
- async flush() {
37
- await sendSafely();
38
- await inFlight;
39
- },
170
+ flush,
40
171
  async close() {
41
172
  clearInterval(timer);
42
- await sendSafely();
43
- await inFlight;
173
+ await flush();
174
+ },
175
+ counts() {
176
+ return { dropped: droppedTotal, timedOut: timedOutTotal, waiting: waitingCount() };
44
177
  },
45
178
  };
46
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/sink.ts"],"names":[],"mappings":";;;AAAA,iDAAgE;AAChE,2DAAkE;AAGlE,uEAAmE;AAmBnE,2BAAkC,OAAoB;IACpD,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IACpE,MAAM,MAAM,GAAiC,IAAA,sBAAY,EACvD,8BAAa,EACb,IAAA,qCAAsB,EAAC,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CACxD,CAAC;IAEF,IAAI,MAAM,GAAsB,EAAE,CAAC;IACnC,IAAI,QAAQ,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEhD,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC;QACtB,MAAM,GAAG,EAAE,CAAC;QACZ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAChC,MAAM,MAAM,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,4EAA4E;IAC5E,mBAAmB;IACnB,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE;QAC3C,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,QAAQ,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,KAAK,UAAU,EAAE,CAAC;IACpB,CAAC,EAAE,eAAe,CAAC,CAAC;IACpB,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,OAAO;QACL,MAAM,CAAC,OAAO;YACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC/B,KAAK,UAAU,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,QAAQ,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,KAAK;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,UAAU,EAAE,CAAC;YACnB,MAAM,QAAQ,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/sink.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AAEnC,iDAAoF;AACpF,2DAAkE;AAGlE,2CAAgD;AAChD,uEAAmE;AAyCnE,SAAS,GAAG,CAAC,MAA2B,EAAE,GAAW,EAAE,CAAS;IAC9D,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,GAAG,KAAK,CAAC;QAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;QAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,2BAAkC,OAAoB;IACpD,MAAM,EACJ,OAAO,EACP,SAAS,GAAG,EAAE,EACd,eAAe,GAAG,IAAI,EACtB,aAAa,GAAG,IAAI,EACpB,UAAU,GAAG,MAAM,EACnB,YAAY,GAAG,GAAG,GACnB,GAAG,OAAO,CAAC;IACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,IAAA,kBAAQ,GAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5E,MAAM,MAAM,GAAiC,IAAA,sBAAY,EACvD,8BAAa,EACb,IAAA,qCAAsB,EAAC;QACrB,OAAO;QACP,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAA,6BAAiB,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACtF,CAAC,CACH,CAAC;IAEF,oDAAoD;IACpD,IAAI,KAAK,GAAoC,EAAE,CAAC;IAChD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,mDAAmD;IACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,qEAAqE;IACrE,IAAI,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,IAAI,OAAkC,CAAC;IACvC,IAAI,SAAoC,CAAC;IACzC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,YAAY,GAAG,GAAW,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;IAEvD,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,CAAS,EAAQ,EAAE;QAC5C,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,YAAY,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,KAAa,EAAqB,EAAE;QAChD,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YACxB,IAAI,IAAI,CAAC,CAAC;YACV,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YAChC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,0EAA0E;IAC1E,sBAAsB;IACtB,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,GAAG,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,4EAA4E;IAC5E,0DAA0D;IAC1D,MAAM,SAAS,GAAG,GAAS,EAAE;QAC3B,IAAI,OAAO,KAAK,SAAS,IAAI,YAAY,EAAE,KAAK,CAAC;YAAE,OAAO;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,EAAE,CAAC;QACV,OAAO,GAAG,CAAC,KAAK,IAAmB,EAAE;YACnC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;YACxF,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACjB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;gBACD,IAAI,KAAK,YAAY,sBAAY,IAAI,KAAK,CAAC,IAAI,KAAK,cAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1E,KAAK,MAAM,GAAG,IAAI,IAAI;wBAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC9C,aAAa,IAAI,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,OAAO,GAAG,SAAS,CAAC;gBACpB,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,SAAS,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAC/C,SAAS,GAAG,IAAI,CAAC;QACjB,YAAY,CAAC,GAAG,EAAE;YAChB,SAAS,GAAG,KAAK,CAAC;YAClB,SAAS,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,wEAAwE;IACxE,iCAAiC;IACjC,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO;QACpC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjH,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CACnH,CAAC;QACF,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAyB,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5D,SAAS,EAAE,kCAAkC;YAC7C,GAAG;YACH,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjD,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjD,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAClD,CAAC,CAAC,CAAC;QACJ,SAAS,GAAG,CAAC,KAAK,IAAmB,EAAE;YACrC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;gBACvF,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,WAAW;oBAAE,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,YAAY;oBAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5D,eAAe,GAAG,WAAW,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;YACtD,CAAC;oBAAS,CAAC;gBACT,SAAS,GAAG,SAAS,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;IACX,CAAC,EAAE,eAAe,CAAC,CAAC;IACpB,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACtC,SAAS,CAAC;YACR,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,OAAO,CAAC;iBACpC,IAAI,YAAY,EAAE,GAAG,CAAC;gBAAE,SAAS,EAAE,CAAC;;gBACpC,MAAM;QACb,CAAC;QACD,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,SAAS,CAAC;QAC7C,MAAM,EAAE,CAAC;QACT,IAAI,SAAS,KAAK,SAAS;YAAE,MAAM,SAAS,CAAC;IAC/C,CAAC,CAAC;IAEF,OAAO;QACL,MAAM,CAAC,OAAO;YACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,GAAG,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAClC,IAAI,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,MAAM,KAAK,SAAS;oBAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAChD,CAAC;YACD,IAAI,YAAY,EAAE,IAAI,SAAS;gBAAE,QAAQ,EAAE,CAAC;QAC9C,CAAC;QACD,KAAK;QACL,KAAK,CAAC,KAAK;YACT,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,KAAK,EAAE,CAAC;QAChB,CAAC;QACD,MAAM;YACJ,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC;QACrF,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -23,6 +23,8 @@ export interface EnvInstanceTelemetryOptions {
23
23
  baseUrl: string;
24
24
  /** The environment this worker runs in, as the Flowrensic env list names it. */
25
25
  deployEnv: string;
26
+ /** The access key of that env, sent on every call to Flowrensic. */
27
+ envKey?: string;
26
28
  /** Which run of that env this is, from the CI env. Left out, it has none. */
27
29
  envInstanceId?: string;
28
30
  /**
@@ -43,6 +45,12 @@ export interface EnvInstanceTelemetryOptions {
43
45
  namespace: string;
44
46
  /** Left out, fail. */
45
47
  noAnswer?: NoAnswerStrategy;
48
+ /**
49
+ * How long one call to Flowrensic may take before it is given up, in
50
+ * milliseconds: the handshake, each forwarding call, the handover and each
51
+ * send of the sink. Left out, 5 seconds.
52
+ */
53
+ sendTimeoutMs?: number;
46
54
  }
47
55
  export interface EnvInstanceTelemetry {
48
56
  /** Whether the handshake told this worker to collect the engine's metrics. */
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AASA,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAK5C,MAAM,WAAW,2BAA2B;IAC1C,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AA8BD;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAyI/B"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AASA,OAAO,EAAqB,KAAK,WAAW,EAAmB,MAAM,WAAW,CAAC;AAEjF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnF;IAAE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAQ5C,MAAM,WAAW,2BAA2B;IAC1C,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AA8BD;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAyJ/B"}
@@ -9,6 +9,8 @@ const client_js_1 = require("./client.js");
9
9
  const sink_js_1 = require("./sink.js");
10
10
  /** The interval a worker forwards on when no answer carried one, in seconds. */
11
11
  const defaultIntervalSeconds = 5;
12
+ /** How long one call to Flowrensic may take when the options carry none, in milliseconds. */
13
+ const defaultSendTimeoutMs = 5000;
12
14
  /** Runs the job and swallows what it throws. */
13
15
  async function ignoringFailure(job) {
14
16
  try {
@@ -48,13 +50,15 @@ async function startEnvInstanceTelemetry(options) {
48
50
  const metricsAddress = options.metricsAddress ?? '';
49
51
  const workerMetricsAddress = options.workerMetricsAddress ?? '';
50
52
  const workerId = options.workerId ?? `${(0, node_os_1.hostname)()}-${String(process.pid)}`;
51
- const client = (0, client_js_1.createFlowrensicClient)(baseUrl);
53
+ const timeoutMs = options.sendTimeoutMs ?? defaultSendTimeoutMs;
54
+ const keyed = options.envKey === undefined ? {} : { envKey: options.envKey };
55
+ const client = (0, client_js_1.createFlowrensicClient)(baseUrl, keyed);
52
56
  const strategy = options.noAnswer ?? { strategy: 'fail' };
53
57
  const attempts = strategy.strategy === 'retry' ? Math.max(1, strategy.attempts) : 1;
54
58
  const handshake = async () => {
55
59
  for (let attempt = 1;; attempt += 1) {
56
60
  try {
57
- return await client.ingest.envInstanceHandshake({ deployEnv, envInstanceId, metricsAddress });
61
+ return await client.ingest.envInstanceHandshake({ deployEnv, envInstanceId, metricsAddress }, { timeoutMs });
58
62
  }
59
63
  catch (error) {
60
64
  if (strategy.strategy !== 'retry' || attempt >= attempts || !noAnswer(error))
@@ -86,7 +90,7 @@ async function startEnvInstanceTelemetry(options) {
86
90
  const connection = await worker_1.NativeConnection.connect({ address: temporalAddress });
87
91
  // The runs the interceptor saw, as run id to workflow id.
88
92
  const seen = new Map();
89
- const inner = (0, sink_js_1.createAttemptSink)({ baseUrl });
93
+ const inner = (0, sink_js_1.createAttemptSink)({ baseUrl, workerId, sendTimeoutMs: timeoutMs, ...keyed });
90
94
  const sink = {
91
95
  record(attempt) {
92
96
  if (attempt.runKey !== '' && attempt.workflowExecutionId !== '') {
@@ -100,22 +104,27 @@ async function startEnvInstanceTelemetry(options) {
100
104
  async close() {
101
105
  await inner.close();
102
106
  },
107
+ counts() {
108
+ return inner.counts();
109
+ },
103
110
  };
104
- const scrape = async () => {
105
- const res = await fetch(`http://${metricsAddress}/metrics`);
111
+ // Each call has the timeout, and the signal of its tick, which shutdown
112
+ // aborts.
113
+ const scrape = async (signal) => {
114
+ const res = await fetch(`http://${metricsAddress}/metrics`, { signal: AbortSignal.any([signal, AbortSignal.timeout(timeoutMs)]) });
106
115
  if (!res.ok)
107
116
  throw new Error(`metrics endpoint returned ${res.status}`);
108
117
  const exposition = await res.text();
109
- await client.ingest.ingestEnvInstanceMetrics({ deployEnv, envInstanceId, exposition });
118
+ await client.ingest.ingestEnvInstanceMetrics({ deployEnv, envInstanceId, exposition }, { timeoutMs, signal });
110
119
  };
111
- const scrapeWorker = async () => {
112
- const res = await fetch(`http://${workerMetricsAddress}/metrics`);
120
+ const scrapeWorker = async (signal) => {
121
+ const res = await fetch(`http://${workerMetricsAddress}/metrics`, { signal: AbortSignal.any([signal, AbortSignal.timeout(timeoutMs)]) });
113
122
  if (!res.ok)
114
123
  throw new Error(`worker metrics endpoint returned ${res.status}`);
115
124
  const exposition = await res.text();
116
- await client.ingest.ingestWorkerMetrics({ deployEnv, envInstanceId, workerId, exposition });
125
+ await client.ingest.ingestWorkerMetrics({ deployEnv, envInstanceId, workerId, exposition }, { timeoutMs, signal });
117
126
  };
118
- const forwardHistory = async (runId, workflowId) => {
127
+ const forwardHistory = async (runId, workflowId, signal) => {
119
128
  const events = [];
120
129
  let nextPageToken;
121
130
  for (;;) {
@@ -136,30 +145,34 @@ async function startEnvInstanceTelemetry(options) {
136
145
  envInstanceId,
137
146
  runId,
138
147
  raw: new TextEncoder().encode((0, proto_utils_js_1.historyToJSON)({ events })),
139
- });
148
+ }, { timeoutMs, signal });
140
149
  };
141
- const collect = async () => {
150
+ const collect = async (signal) => {
142
151
  if (forwarding)
143
- await ignoringFailure(scrape);
152
+ await ignoringFailure(async () => { await scrape(signal); });
144
153
  if (workerMetricsAddress !== '')
145
- await ignoringFailure(scrapeWorker);
154
+ await ignoringFailure(async () => { await scrapeWorker(signal); });
146
155
  for (const [runId, workflowId] of [...seen]) {
156
+ if (signal.aborted)
157
+ return;
147
158
  await ignoringFailure(async () => {
148
- await forwardHistory(runId, workflowId);
159
+ await forwardHistory(runId, workflowId, signal);
149
160
  });
150
161
  }
151
162
  };
152
- // One tick at a time: a tick waits for the one before it to finish.
153
- let working = Promise.resolve();
154
- const queue = async (job) => {
155
- working = working.then(job);
156
- await working;
163
+ // One tick at a time: a tick that comes while the one before it still works
164
+ // is skipped, not queued.
165
+ let working;
166
+ const tick = () => {
167
+ if (working !== undefined)
168
+ return;
169
+ const stop = new AbortController();
170
+ const done = collect(stop.signal).finally(() => {
171
+ working = undefined;
172
+ });
173
+ working = { done, stop };
157
174
  };
158
- const timer = intervalSeconds > 0
159
- ? setInterval(() => {
160
- void queue(collect);
161
- }, intervalSeconds * 1000)
162
- : undefined;
175
+ const timer = intervalSeconds > 0 ? setInterval(tick, intervalSeconds * 1000) : undefined;
163
176
  timer?.unref();
164
177
  return {
165
178
  forwarding,
@@ -168,10 +181,15 @@ async function startEnvInstanceTelemetry(options) {
168
181
  async shutdown() {
169
182
  if (timer !== undefined)
170
183
  clearInterval(timer);
171
- await queue(collect);
184
+ // The tick at work is cut short, so the last one starts at once.
185
+ if (working !== undefined) {
186
+ working.stop.abort();
187
+ await working.done;
188
+ }
189
+ await collect(new AbortController().signal);
172
190
  await sink.close();
173
191
  await ignoringFailure(async () => {
174
- await client.ingest.envInstanceHandover({ deployEnv, envInstanceId });
192
+ await client.ingest.envInstanceHandover({ deployEnv, envInstanceId }, { timeoutMs });
175
193
  });
176
194
  await connection.close();
177
195
  },
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ export interface ClientInterceptorOptions {
5
5
  baseUrl: string;
6
6
  /** The Flowrensic namespace id of the namespace this client talks to, the same one the worker interceptor is given. */
7
7
  namespaceId: string;
8
+ /** The access key of the env of that namespace, sent with every send. */
9
+ envKey?: string;
8
10
  }
9
11
  /**
10
12
  * Sends every query that throws to Flowrensic, with the workflow it was for and
@@ -1 +1 @@
1
- {"version":3,"file":"client-interceptor.d.ts","sourceRoot":"","sources":["../../src/client-interceptor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAQ/C,MAAM,WAAW,wBAAwB;IACvC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,uHAAuH;IACvH,WAAW,EAAE,MAAM,CAAC;CACrB;AAWD;;;;GAIG;AACH,qBAAa,2BAA4B,YAAW,yBAAyB;IAG/D,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAE1C,YAA6B,OAAO,EAAE,wBAAwB,EAE7D;IAEK,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvG;YAEa,IAAI;CAoBnB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,GAAG,yBAAyB,CAExG"}
1
+ {"version":3,"file":"client-interceptor.d.ts","sourceRoot":"","sources":["../../src/client-interceptor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAQ/C,MAAM,WAAW,wBAAwB;IACvC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,uHAAuH;IACvH,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD;;;;GAIG;AACH,qBAAa,2BAA4B,YAAW,yBAAyB;IAG/D,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAE1C,YAA6B,OAAO,EAAE,wBAAwB,EAE7D;IAEK,KAAK,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAOvG;YAEa,IAAI;CAoBnB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,GAAG,yBAAyB,CAExG"}
@@ -23,7 +23,7 @@ export class FlowrensicClientInterceptor {
23
23
  client;
24
24
  constructor(options) {
25
25
  this.options = options;
26
- this.client = createFlowrensicClient(options.baseUrl);
26
+ this.client = createFlowrensicClient(options.baseUrl, options.envKey === undefined ? {} : { envKey: options.envKey });
27
27
  }
28
28
  async query(input, next) {
29
29
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"client-interceptor.js","sourceRoot":"","sources":["../../src/client-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI3D,OAAO,EAAE,sBAAsB,EAAyB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,iEAAiE;AACjE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAS5B,SAAS,QAAQ,CAAC,GAAY;IAC5B,KAAK,IAAI,CAAC,GAAY,GAAG,EAAE,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,GAAI,CAAyB,CAAC,KAAK,EAAE,CAAC;QAC/F,MAAM,IAAI,GAAI,CAAwB,CAAC,IAAI,CAAC;QAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,2BAA2B;IAGT,OAAO;IAFnB,MAAM,CAAmB;IAE1C,YAA6B,OAAiC;uBAAjC,OAAO;QAClC,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAyB,EAAE,IAA8C;QACnF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,KAAyB,EAAE,GAAY;QACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,iBAAiB,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBACzC,KAAK,EAAE;oBACL;wBACE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;wBACrC,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,UAAU;wBAC9C,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;wBAC1C,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM;wBAC1E,SAAS,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;wBAClE,OAAO,EAAE,iBAAiB,CAAC,IAAI,IAAI,EAAE,CAAC;qBACvC;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAiC;IAC3E,OAAO,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"client-interceptor.js","sourceRoot":"","sources":["../../src/client-interceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI3D,OAAO,EAAE,sBAAsB,EAAyB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,iEAAiE;AACjE,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAW5B,SAAS,QAAQ,CAAC,GAAY;IAC5B,KAAK,IAAI,CAAC,GAAY,GAAG,EAAE,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,GAAI,CAAyB,CAAC,KAAK,EAAE,CAAC;QAC/F,MAAM,IAAI,GAAI,CAAwB,CAAC,IAAI,CAAC;QAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,2BAA2B;IAGT,OAAO;IAFnB,MAAM,CAAmB;IAE1C,YAA6B,OAAiC;uBAAjC,OAAO;QAClC,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACxH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAyB,EAAE,IAA8C;QACnF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,KAAyB,EAAE,GAAY;QACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,iBAAiB,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBACzC,KAAK,EAAE;oBACL;wBACE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;wBACrC,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,UAAU;wBAC9C,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;wBAC1C,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM;wBAC1E,SAAS,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;wBAClE,OAAO,EAAE,iBAAiB,CAAC,IAAI,IAAI,EAAE,CAAC;qBACvC;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,sDAAsD;QACxD,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAiC;IAC3E,OAAO,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type Client } from '@connectrpc/connect';
1
+ import { type Client, type Interceptor } from '@connectrpc/connect';
2
2
  import { CatalogService, IngestService, QueryService } from './gen/flowrensic/v1/services_pb.js';
3
3
  export interface FlowrensicClient {
4
4
  catalog: Client<typeof CatalogService>;
@@ -6,10 +6,12 @@ export interface FlowrensicClient {
6
6
  query: Client<typeof QueryService>;
7
7
  }
8
8
  export interface FlowrensicClientOptions {
9
- /** The access key of the env this client writes deploy states for. */
9
+ /** The access key of the env this client sends data for. Every ingest call carries it. */
10
10
  envKey?: string;
11
11
  }
12
- /** The header a deploy write carries the env's access key in. */
12
+ /** The header every ingest call carries the env's access key in. */
13
13
  export declare const ENV_KEY_HEADER = "Flowrensic-Env-Key";
14
+ /** Puts envKey on every call of IngestService. */
15
+ export declare function envKeyInterceptor(envKey: string): Interceptor;
14
16
  export declare function createFlowrensicClient(baseUrl: string, options?: FlowrensicClientOptions): FlowrensicClient;
15
17
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAGlF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEjG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iEAAiE;AACjE,eAAO,MAAM,cAAc,uBAAuB,CAAC;AASnD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAWlB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEjG,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,oEAAoE;AACpE,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAK7D;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAWlB"}
@@ -1,11 +1,12 @@
1
1
  import { createClient } from '@connectrpc/connect';
2
2
  import { createConnectTransport } from '@connectrpc/connect-node';
3
3
  import { CatalogService, IngestService, QueryService } from './gen/flowrensic/v1/services_pb.js';
4
- /** The header a deploy write carries the env's access key in. */
4
+ /** The header every ingest call carries the env's access key in. */
5
5
  export const ENV_KEY_HEADER = 'Flowrensic-Env-Key';
6
- function envKeyInterceptor(envKey) {
6
+ /** Puts envKey on every call of IngestService. */
7
+ export function envKeyInterceptor(envKey) {
7
8
  return (next) => async (req) => {
8
- if (req.method.name === 'IngestDeployStage')
9
+ if (req.service.typeName === IngestService.typeName)
9
10
  req.header.set(ENV_KEY_HEADER, envKey);
10
11
  return await next(req);
11
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiC,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAajG,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAEnD,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,mBAAmB;YAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACpF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,OAAO,GAA4B,EAAE;IAErC,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,OAAO;QACP,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACtF,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC;QAChD,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC;QAC9C,KAAK,EAAE,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC;KAC7C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiC,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAajG,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAEnD,kDAAkD;AAClD,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,aAAa,CAAC,QAAQ;YAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC5F,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,OAAO,GAA4B,EAAE;IAErC,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,OAAO;QACP,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACtF,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,cAAc,EAAE,SAAS,CAAC;QAChD,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC;QAC9C,KAAK,EAAE,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC;KAC7C,CAAC;AACJ,CAAC"}
@@ -226,12 +226,55 @@ export type IngestActivityEventsRequest = Message<"flowrensic.v1.IngestActivityE
226
226
  * @generated from field: repeated flowrensic.v1.ActivityAttempt events = 1;
227
227
  */
228
228
  events: ActivityAttempt[];
229
+ /**
230
+ * The worker that sends the call. The records waiting are kept per worker.
231
+ *
232
+ * @generated from field: string worker_id = 2;
233
+ */
234
+ workerId: string;
235
+ /**
236
+ * What the worker's buffer dropped and timed out since its last report that
237
+ * was answered, and what waits in it now, one entry per env. A call that
238
+ * carries reports may carry no events.
239
+ *
240
+ * @generated from field: repeated flowrensic.v1.WorkerBufferReport reports = 3;
241
+ */
242
+ reports: WorkerBufferReport[];
229
243
  };
230
244
  /**
231
245
  * Describes the message flowrensic.v1.IngestActivityEventsRequest.
232
246
  * Use `create(IngestActivityEventsRequestSchema)` to create a new message.
233
247
  */
234
248
  export declare const IngestActivityEventsRequestSchema: GenMessage<IngestActivityEventsRequest>;
249
+ /**
250
+ * One env's counts of a worker's buffer. env is the env the records carry,
251
+ * empty for records that carry none.
252
+ *
253
+ * @generated from message flowrensic.v1.WorkerBufferReport
254
+ */
255
+ export type WorkerBufferReport = Message<"flowrensic.v1.WorkerBufferReport"> & {
256
+ /**
257
+ * @generated from field: string env = 1;
258
+ */
259
+ env: string;
260
+ /**
261
+ * @generated from field: int64 records_dropped = 2;
262
+ */
263
+ recordsDropped: bigint;
264
+ /**
265
+ * @generated from field: int64 sends_timed_out = 3;
266
+ */
267
+ sendsTimedOut: bigint;
268
+ /**
269
+ * @generated from field: int64 records_waiting = 4;
270
+ */
271
+ recordsWaiting: bigint;
272
+ };
273
+ /**
274
+ * Describes the message flowrensic.v1.WorkerBufferReport.
275
+ * Use `create(WorkerBufferReportSchema)` to create a new message.
276
+ */
277
+ export declare const WorkerBufferReportSchema: GenMessage<WorkerBufferReport>;
235
278
  /**
236
279
  * @generated from message flowrensic.v1.IngestActivityEventsResponse
237
280
  */
@@ -1 +1 @@
1
- {"version":3,"file":"activity_metrics_pb.d.ts","sourceRoot":"","sources":["../../../../../src/gen/flowrensic/v1/activity_metrics_pb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activity_metrics_pb.d.ts","sourceRoot":"","sources":["../../../../../src/gen/flowrensic/v1/activity_metrics_pb.ts"],"names":[],"mappings":"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"}