@flowrensic/node 0.6.39 → 0.6.41

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 (123) hide show
  1. package/dist/cjs/ci.d.ts +45 -0
  2. package/dist/cjs/ci.d.ts.map +1 -0
  3. package/dist/cjs/ci.js +75 -0
  4. package/dist/cjs/ci.js.map +1 -0
  5. package/dist/cjs/client-interceptor.d.ts +2 -0
  6. package/dist/cjs/client-interceptor.d.ts.map +1 -1
  7. package/dist/cjs/client-interceptor.js +11 -2
  8. package/dist/cjs/client-interceptor.js.map +1 -1
  9. package/dist/cjs/client.d.ts +1 -2
  10. package/dist/cjs/client.d.ts.map +1 -1
  11. package/dist/cjs/client.js +0 -1
  12. package/dist/cjs/client.js.map +1 -1
  13. package/dist/cjs/gen/flowrensic/v1/catch_up_pb.d.ts +166 -0
  14. package/dist/cjs/gen/flowrensic/v1/catch_up_pb.d.ts.map +1 -0
  15. package/dist/cjs/gen/flowrensic/v1/catch_up_pb.js +28 -0
  16. package/dist/cjs/gen/flowrensic/v1/catch_up_pb.js.map +1 -0
  17. package/dist/cjs/gen/flowrensic/v1/load_pb.d.ts +338 -0
  18. package/dist/cjs/gen/flowrensic/v1/load_pb.d.ts.map +1 -0
  19. package/dist/cjs/gen/flowrensic/v1/load_pb.js +53 -0
  20. package/dist/cjs/gen/flowrensic/v1/load_pb.js.map +1 -0
  21. package/dist/cjs/gen/flowrensic/v1/server_config_pb.d.ts +6 -0
  22. package/dist/cjs/gen/flowrensic/v1/server_config_pb.d.ts.map +1 -1
  23. package/dist/cjs/gen/flowrensic/v1/server_config_pb.js +1 -1
  24. package/dist/cjs/gen/flowrensic/v1/server_config_pb.js.map +1 -1
  25. package/dist/cjs/gen/flowrensic/v1/services_pb.d.ts +16 -17
  26. package/dist/cjs/gen/flowrensic/v1/services_pb.d.ts.map +1 -1
  27. package/dist/cjs/gen/flowrensic/v1/services_pb.js +6 -12
  28. package/dist/cjs/gen/flowrensic/v1/services_pb.js.map +1 -1
  29. package/dist/cjs/gen/flowrensic/v1/workflow_types_pb.d.ts +44 -1
  30. package/dist/cjs/gen/flowrensic/v1/workflow_types_pb.d.ts.map +1 -1
  31. package/dist/cjs/gen/flowrensic/v1/workflow_types_pb.js +1 -1
  32. package/dist/cjs/gen/flowrensic/v1/workflow_types_pb.js.map +1 -1
  33. package/dist/cjs/index.d.ts +4 -3
  34. package/dist/cjs/index.d.ts.map +1 -1
  35. package/dist/cjs/index.js +4 -3
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/cjs/interceptor.d.ts.map +1 -1
  38. package/dist/cjs/interceptor.js +22 -3
  39. package/dist/cjs/interceptor.js.map +1 -1
  40. package/dist/cjs/query-sink.d.ts.map +1 -1
  41. package/dist/cjs/query-sink.js +6 -1
  42. package/dist/cjs/query-sink.js.map +1 -1
  43. package/dist/cjs/replay.d.ts +12 -0
  44. package/dist/cjs/replay.d.ts.map +1 -1
  45. package/dist/cjs/replay.js +30 -8
  46. package/dist/cjs/replay.js.map +1 -1
  47. package/dist/cjs/sink.d.ts +10 -0
  48. package/dist/cjs/sink.d.ts.map +1 -1
  49. package/dist/cjs/sink.js +58 -25
  50. package/dist/cjs/sink.js.map +1 -1
  51. package/dist/cjs/telemetry.d.ts.map +1 -1
  52. package/dist/cjs/telemetry.js +31 -4
  53. package/dist/cjs/telemetry.js.map +1 -1
  54. package/dist/cjs/workflow.d.ts +5 -1
  55. package/dist/cjs/workflow.d.ts.map +1 -1
  56. package/dist/cjs/workflow.js +19 -5
  57. package/dist/cjs/workflow.js.map +1 -1
  58. package/dist/esm/ci.d.ts +45 -0
  59. package/dist/esm/ci.d.ts.map +1 -0
  60. package/dist/esm/ci.js +69 -0
  61. package/dist/esm/ci.js.map +1 -0
  62. package/dist/esm/client-interceptor.d.ts +2 -0
  63. package/dist/esm/client-interceptor.d.ts.map +1 -1
  64. package/dist/esm/client-interceptor.js +11 -2
  65. package/dist/esm/client-interceptor.js.map +1 -1
  66. package/dist/esm/client.d.ts +1 -2
  67. package/dist/esm/client.d.ts.map +1 -1
  68. package/dist/esm/client.js +1 -2
  69. package/dist/esm/client.js.map +1 -1
  70. package/dist/esm/gen/flowrensic/v1/catch_up_pb.d.ts +166 -0
  71. package/dist/esm/gen/flowrensic/v1/catch_up_pb.d.ts.map +1 -0
  72. package/dist/esm/gen/flowrensic/v1/catch_up_pb.js +25 -0
  73. package/dist/esm/gen/flowrensic/v1/catch_up_pb.js.map +1 -0
  74. package/dist/esm/gen/flowrensic/v1/load_pb.d.ts +338 -0
  75. package/dist/esm/gen/flowrensic/v1/load_pb.d.ts.map +1 -0
  76. package/dist/esm/gen/flowrensic/v1/load_pb.js +50 -0
  77. package/dist/esm/gen/flowrensic/v1/load_pb.js.map +1 -0
  78. package/dist/esm/gen/flowrensic/v1/server_config_pb.d.ts +6 -0
  79. package/dist/esm/gen/flowrensic/v1/server_config_pb.d.ts.map +1 -1
  80. package/dist/esm/gen/flowrensic/v1/server_config_pb.js +1 -1
  81. package/dist/esm/gen/flowrensic/v1/server_config_pb.js.map +1 -1
  82. package/dist/esm/gen/flowrensic/v1/services_pb.d.ts +16 -17
  83. package/dist/esm/gen/flowrensic/v1/services_pb.d.ts.map +1 -1
  84. package/dist/esm/gen/flowrensic/v1/services_pb.js +5 -11
  85. package/dist/esm/gen/flowrensic/v1/services_pb.js.map +1 -1
  86. package/dist/esm/gen/flowrensic/v1/workflow_types_pb.d.ts +44 -1
  87. package/dist/esm/gen/flowrensic/v1/workflow_types_pb.d.ts.map +1 -1
  88. package/dist/esm/gen/flowrensic/v1/workflow_types_pb.js +1 -1
  89. package/dist/esm/gen/flowrensic/v1/workflow_types_pb.js.map +1 -1
  90. package/dist/esm/index.d.ts +4 -3
  91. package/dist/esm/index.d.ts.map +1 -1
  92. package/dist/esm/index.js +2 -2
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/interceptor.d.ts.map +1 -1
  95. package/dist/esm/interceptor.js +22 -3
  96. package/dist/esm/interceptor.js.map +1 -1
  97. package/dist/esm/query-sink.d.ts.map +1 -1
  98. package/dist/esm/query-sink.js +6 -1
  99. package/dist/esm/query-sink.js.map +1 -1
  100. package/dist/esm/replay.d.ts +12 -0
  101. package/dist/esm/replay.d.ts.map +1 -1
  102. package/dist/esm/replay.js +30 -8
  103. package/dist/esm/replay.js.map +1 -1
  104. package/dist/esm/sink.d.ts +10 -0
  105. package/dist/esm/sink.d.ts.map +1 -1
  106. package/dist/esm/sink.js +57 -25
  107. package/dist/esm/sink.js.map +1 -1
  108. package/dist/esm/telemetry.d.ts.map +1 -1
  109. package/dist/esm/telemetry.js +31 -4
  110. package/dist/esm/telemetry.js.map +1 -1
  111. package/dist/esm/workflow.d.ts +5 -1
  112. package/dist/esm/workflow.d.ts.map +1 -1
  113. package/dist/esm/workflow.js +19 -5
  114. package/dist/esm/workflow.js.map +1 -1
  115. package/package.json +1 -1
  116. package/dist/cjs/gen/flowrensic/v1/reset_pb.d.ts +0 -154
  117. package/dist/cjs/gen/flowrensic/v1/reset_pb.d.ts.map +0 -1
  118. package/dist/cjs/gen/flowrensic/v1/reset_pb.js +0 -78
  119. package/dist/cjs/gen/flowrensic/v1/reset_pb.js.map +0 -1
  120. package/dist/esm/gen/flowrensic/v1/reset_pb.d.ts +0 -154
  121. package/dist/esm/gen/flowrensic/v1/reset_pb.d.ts.map +0 -1
  122. package/dist/esm/gen/flowrensic/v1/reset_pb.js +0 -75
  123. package/dist/esm/gen/flowrensic/v1/reset_pb.js.map +0 -1
@@ -2,6 +2,7 @@ import { mkdir, readFile, readdir, rename, writeFile } from 'node:fs/promises';
2
2
  import { join } from 'node:path';
3
3
  import { timestampDate, timestampFromDate } from '@bufbuild/protobuf/wkt';
4
4
  import { Code, ConnectError } from '@connectrpc/connect';
5
+ import { ciError, ciFailure } from './ci.js';
5
6
  import { createFlowrensicClient } from './client.js';
6
7
  import { interceptorList } from './interceptor-names.js';
7
8
  import { RunStatus } from './gen/flowrensic/v1/replay_pb.js';
@@ -20,6 +21,8 @@ const STATUS_LABELS = {
20
21
  [RunStatus.CONTINUED_AS_NEW]: 'continued_as_new',
21
22
  [RunStatus.PAUSED]: 'paused',
22
23
  };
24
+ /** How long a replay set download may take when the options carry no limit. */
25
+ const downloadTimeoutMs = 60_000;
23
26
  /**
24
27
  * Fetches the set the server picks for a workflow type in one environment, in
25
28
  * one request, and writes it to disk.
@@ -33,12 +36,27 @@ const STATUS_LABELS = {
33
36
  */
34
37
  export async function fetchReplaySet(options) {
35
38
  const { baseUrl, workflowType, dir, deployEnv, codeVersion, readKey } = options;
39
+ const timeoutMs = options.timeoutMs ?? downloadTimeoutMs;
36
40
  const client = createFlowrensicClient(baseUrl, { readKey });
37
- const found = await client.query.listReplayHistories({
38
- workflowType,
39
- deployEnv,
40
- codeVersion: codeVersion ?? '',
41
- });
41
+ let found;
42
+ try {
43
+ found = await client.query.listReplayHistories({ workflowType, deployEnv, codeVersion: codeVersion ?? '' }, { timeoutMs });
44
+ }
45
+ catch (error) {
46
+ if (options.failOnError !== false)
47
+ throw ciError('replay set download', baseUrl, timeoutMs, error);
48
+ const message = ciFailure('replay set download', baseUrl, timeoutMs, error);
49
+ return {
50
+ workflow_type: workflowType,
51
+ deploy_env: deployEnv,
52
+ ...(codeVersion === undefined ? {} : { code_version: codeVersion }),
53
+ fetched_at: new Date().toISOString(),
54
+ server: baseUrl,
55
+ histories: [],
56
+ left_out: [],
57
+ failed: message,
58
+ };
59
+ }
42
60
  // An empty set is not an error: a workflow type with no runs yet is a normal
43
61
  // state on a new pipeline, and the caller decides what to do about it.
44
62
  await mkdir(dir, { recursive: true, mode: 0o750 });
@@ -95,6 +113,8 @@ export async function listHistoryFiles(dir) {
95
113
  const names = await readdir(dir);
96
114
  return names.filter((n) => n.endsWith('.json') && n !== INDEX_NAME).sort();
97
115
  }
116
+ /** How long one call of publishVerdicts may take when the options carry no limit. */
117
+ const publishTimeoutMs = 30_000;
98
118
  /** How long publishVerdicts sends refused results again before it gives up. */
99
119
  const SEND_AGAIN_FOR_MS = 10 * 60_000;
100
120
  /**
@@ -131,15 +151,17 @@ export async function publishVerdicts(options) {
131
151
  ...(interceptors === undefined ? {} : { workflowInterceptors: interceptors }),
132
152
  }));
133
153
  const giveUpAt = Date.now() + (options.sendAgainForMs ?? SEND_AGAIN_FOR_MS);
154
+ const timeoutMs = options.timeoutMs ?? publishTimeoutMs;
134
155
  for (;;) {
135
156
  try {
136
- await client.ingest.ingestReplayResults({ deployEnv, results });
157
+ await client.ingest.ingestReplayResults({ deployEnv, results }, { timeoutMs });
137
158
  return;
138
159
  }
139
160
  catch (error) {
140
161
  const wait = waitBeforeSendingAgain(error);
141
- if (wait === undefined || Date.now() + wait > giveUpAt)
142
- throw error;
162
+ if (wait === undefined || Date.now() + wait > giveUpAt) {
163
+ throw ciError('replay results', baseUrl, timeoutMs, error);
164
+ }
143
165
  await new Promise((resolve) => {
144
166
  setTimeout(resolve, wait);
145
167
  });
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/replay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,0EAA0E;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAmF5C,8EAA8E;AAC9E,0EAA0E;AAC1E,MAAM,aAAa,GAAG;IACpB,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,aAAa;IACtC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS;IAC9B,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,WAAW;IAClC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC5B,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU;IAChC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,YAAY;IACpC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,WAAW;IAClC,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,kBAAkB;IAChD,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ;CACO,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAqB;IACxD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEhF,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC;QACnD,YAAY;QACZ,SAAS;QACT,WAAW,EAAE,WAAW,IAAI,EAAE;KAC/B,CAAC,CAAC;IAEH,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,OAAO,CAAC;QAErC,0EAA0E;QAC1E,0EAA0E;QAC1E,UAAU;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAEpC,SAAS,CAAC,IAAI,CAAC;YACb,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,IAAI;YACJ,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;YACtE,aAAa,EAAE,OAAO,CAAC,YAAY;YACnC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAC9F,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1F,CAAC,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAc;QACrB,aAAa,EAAE,YAAY;QAC3B,UAAU,EAAE,SAAS;QACrB,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;QACnE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,MAAM,EAAE,OAAO;QACf,SAAS;QACT,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;KACxF,CAAC;IAEF,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7F,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,CAAC,CAAC,eAAe,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACzF,OAAO,WAAW,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAChE,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACnC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,+BAA+B,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAW;IAChD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,EAAE,GAAG,MAAM,CAAC;AAEtC;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC;QAAE,OAAO,SAAS,CAAC;IACvD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,iBAAiB;QAAE,OAAO,SAAS,CAAC;IACvI,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAuB;IAC3D,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAClC,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEnE,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEjD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,WAAW;QACX,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QACpB,UAAU;QACV,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;KAC9E,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,iBAAiB,CAAC,CAAC;IAC5E,SAAS,CAAC;QACR,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,QAAQ;gBAAE,MAAM,KAAK,CAAC;YACpE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/replay.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export interface SinkCounts {
7
7
  readonly timedOut: number;
8
8
  /** Records waiting to be sent now. */
9
9
  readonly waiting: number;
10
+ /** The size of the records waiting now, in bytes, as approxSize gives it. */
11
+ readonly waitingBytes: number;
10
12
  }
11
13
  /** Buffers records and publishes them to a Flowrensic server in batches. */
12
14
  export interface RecordSink<T> {
@@ -31,6 +33,8 @@ export interface BufferOptions {
31
33
  maxWaiting?: number;
32
34
  /** How many records one send carries at most. */
33
35
  maxBatchSize?: number;
36
+ /** How many bytes the records waiting may take, as approxSize gives it. Past it the oldest waiting record is dropped. */
37
+ maxWaitingBytes?: number;
34
38
  }
35
39
  export interface SinkOptions extends BufferOptions {
36
40
  /** Flowrensic server to publish to. */
@@ -40,6 +44,12 @@ export interface SinkOptions extends BufferOptions {
40
44
  /** The access key of the env the attempts are for, sent on every send. */
41
45
  envKey?: string;
42
46
  }
47
+ /**
48
+ * The size of a record in the worker's memory, worked out from its fields: two
49
+ * bytes per character of each text, the length of each byte array, eight bytes
50
+ * for each other value, and 32 bytes for the record and each object in it.
51
+ */
52
+ export declare function approxSize(value: unknown, depth?: number): number;
43
53
  /**
44
54
  * Which send a call is: the buffer that sends it and the number of the send. A send sent again keeps its
45
55
  * number, so Flowrensic stores and counts it once.
@@ -1 +1 @@
1
- {"version":3,"file":"sink.d.ts","sourceRoot":"","sources":["../../src/sink.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAItG,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,6GAA6G;IAC7G,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,oCAAoC;IACpC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB,wFAAwF;IACxF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,UAAU,CAAC;CACtB;AAED,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAEtD,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,sDAAsD;AACtD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,uBAAuB;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,yCAAyC;IACzC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;IACzB,iEAAiE;IACjE,MAAM,CAAC,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtF;AAQD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,aAAkB,GAAG,UAAU,CAAC,CAAC,CAAC,CAuPzG;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAsBnE"}
1
+ {"version":3,"file":"sink.d.ts","sourceRoot":"","sources":["../../src/sink.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAItG,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,6GAA6G;IAC7G,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,oCAAoC;IACpC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB,wFAAwF;IACxF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,IAAI,UAAU,CAAC;CACtB;AAED,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAEtD,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yHAAyH;IACzH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,MAAM,CAU5D;AAcD;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,sDAAsD;AACtD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,uBAAuB;IACvB,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,yCAAyC;IACzC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;IACzB,iEAAiE;IACjE,MAAM,CAAC,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtF;AAQD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,aAAkB,GAAG,UAAU,CAAC,CAAC,CAAC,CAkQzG;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAsBnE"}
package/dist/esm/sink.js CHANGED
@@ -4,6 +4,27 @@ import { Code, ConnectError, createClient } from '@connectrpc/connect';
4
4
  import { createConnectTransport } from '@connectrpc/connect-node';
5
5
  import { envKeyInterceptor } from './client.js';
6
6
  import { IngestService } from './gen/flowrensic/v1/services_pb.js';
7
+ /**
8
+ * The size of a record in the worker's memory, worked out from its fields: two
9
+ * bytes per character of each text, the length of each byte array, eight bytes
10
+ * for each other value, and 32 bytes for the record and each object in it.
11
+ */
12
+ export function approxSize(value, depth = 0) {
13
+ if (typeof value === 'string')
14
+ return value.length * 2;
15
+ if (typeof value !== 'object' || value === null)
16
+ return 8;
17
+ if (value instanceof Uint8Array)
18
+ return 32 + value.byteLength;
19
+ // Records are a few levels deep. Deeper objects count as one object, so a
20
+ // record that points at itself still has a size.
21
+ if (depth >= 8)
22
+ return 32;
23
+ let total = 32;
24
+ for (const one of Object.values(value))
25
+ total += approxSize(one, depth + 1);
26
+ return total;
27
+ }
7
28
  function add(counts, env, n) {
8
29
  const now = (counts.get(env) ?? 0) + n;
9
30
  if (now === 0)
@@ -18,10 +39,11 @@ function sendAgain(error) {
18
39
  return error.code === Code.Unavailable || error.code === Code.DeadlineExceeded || error.code === Code.ResourceExhausted;
19
40
  }
20
41
  export function createRecordBuffer(target, options = {}) {
21
- const { batchSize = 64, flushIntervalMs = 1000, sendTimeoutMs = 5000, maxWaiting = 10_000, maxBatchSize = 500, } = options;
42
+ const { batchSize = 64, flushIntervalMs = 1000, sendTimeoutMs = 5000, maxWaiting = 10_000, maxBatchSize = 500, maxWaitingBytes = 16 * 1024 * 1024, } = options;
22
43
  // The waiting records, oldest first, from head on.
23
44
  let queue = [];
24
45
  let head = 0;
46
+ let queuedBytes = 0;
25
47
  // A send that went back, kept whole and sent again with its number before
26
48
  // any newer record.
27
49
  let kept;
@@ -47,7 +69,9 @@ export function createRecordBuffer(target, options = {}) {
47
69
  // only the tick starts one.
48
70
  let failing = false;
49
71
  const queued = () => queue.length - head;
50
- const waitingCount = () => queued() + (kept?.records.length ?? 0);
72
+ const waitingCount = () => queued() + (kept?.entries.length ?? 0);
73
+ const waitingBytes = () => queuedBytes + (kept?.bytes ?? 0);
74
+ const sizeOf = (entries) => entries.reduce((sum, one) => sum + one.size, 0);
51
75
  const drop = (env, n) => {
52
76
  add(dropped, env, n);
53
77
  droppedTotal += n;
@@ -60,7 +84,8 @@ export function createRecordBuffer(target, options = {}) {
60
84
  head += 1;
61
85
  if (one === undefined)
62
86
  continue;
63
- add(waitingByEnv, target.envOf(one), -1);
87
+ add(waitingByEnv, target.envOf(one.record), -1);
88
+ queuedBytes -= one.size;
64
89
  out.push(one);
65
90
  }
66
91
  return out;
@@ -73,20 +98,24 @@ export function createRecordBuffer(target, options = {}) {
73
98
  head = 0;
74
99
  }
75
100
  };
76
- // Past the limit the oldest queued records go, never the kept send, which
77
- // Flowrensic may already hold. The kept send does not count toward it.
101
+ // Past either limit the oldest queued records go, never the kept send,
102
+ // which Flowrensic may already hold. The kept send does not count toward the
103
+ // count limit, and counts toward the memory limit.
78
104
  const dropOldest = () => {
79
105
  const excess = queued() - maxWaiting;
80
- if (excess <= 0)
81
- return;
82
- for (const one of take(excess))
83
- drop(target.envOf(one), 1);
106
+ if (excess > 0)
107
+ for (const one of take(excess))
108
+ drop(target.envOf(one.record), 1);
109
+ while (queued() > 0 && waitingBytes() > maxWaitingBytes) {
110
+ for (const one of take(1))
111
+ drop(target.envOf(one.record), 1);
112
+ }
84
113
  };
85
114
  // A batch with no answer is kept whole, to be sent again with its number.
86
- const putBack = (records, id) => {
87
- kept = { records, id };
88
- for (const one of records)
89
- add(waitingByEnv, target.envOf(one), 1);
115
+ const putBack = (entries, id) => {
116
+ kept = { entries, id, bytes: sizeOf(entries) };
117
+ for (const one of entries)
118
+ add(waitingByEnv, target.envOf(one.record), 1);
90
119
  dropOldest();
91
120
  };
92
121
  // The next send: the kept one, or a new batch of the oldest waiting
@@ -95,14 +124,14 @@ export function createRecordBuffer(target, options = {}) {
95
124
  if (kept !== undefined) {
96
125
  const out = kept;
97
126
  kept = undefined;
98
- for (const one of out.records)
99
- add(waitingByEnv, target.envOf(one), -1);
127
+ for (const one of out.entries)
128
+ add(waitingByEnv, target.envOf(one.record), -1);
100
129
  return out;
101
130
  }
102
- const records = take(Math.min(maxBatchSize, queued()));
131
+ const entries = take(Math.min(maxBatchSize, queued()));
103
132
  compact();
104
133
  sendNumber += 1n;
105
- return { records, id: { sender: recordsSender, sendNumber } };
134
+ return { entries, id: { sender: recordsSender, sendNumber } };
106
135
  };
107
136
  // One send at a time. Once it is answered the next starts right away while
108
137
  // records wait. A send with no answer, or answered try again later, goes
@@ -111,7 +140,8 @@ export function createRecordBuffer(target, options = {}) {
111
140
  const startSend = () => {
112
141
  if (sending !== undefined || waitingCount() === 0)
113
142
  return;
114
- const { records, id } = nextSend();
143
+ const { entries, id } = nextSend();
144
+ const records = entries.map((one) => one.record);
115
145
  sending = (async () => {
116
146
  try {
117
147
  await target.send(records, sendTimeoutMs, id);
@@ -126,7 +156,7 @@ export function createRecordBuffer(target, options = {}) {
126
156
  }
127
157
  if (sendAgain(error)) {
128
158
  failing = true;
129
- putBack(records, id);
159
+ putBack(entries, id);
130
160
  }
131
161
  else {
132
162
  for (const one of records)
@@ -232,7 +262,9 @@ export function createRecordBuffer(target, options = {}) {
232
262
  };
233
263
  return {
234
264
  record(one) {
235
- queue.push(one);
265
+ const size = approxSize(one);
266
+ queue.push({ record: one, size });
267
+ queuedBytes += size;
236
268
  add(waitingByEnv, target.envOf(one), 1);
237
269
  dropOldest();
238
270
  if (waitingCount() >= batchSize)
@@ -244,21 +276,21 @@ export function createRecordBuffer(target, options = {}) {
244
276
  await flush();
245
277
  // What still waits will not be sent, the kept send too.
246
278
  if (kept !== undefined) {
247
- for (const one of kept.records) {
248
- add(waitingByEnv, target.envOf(one), -1);
249
- drop(target.envOf(one), 1);
279
+ for (const one of kept.entries) {
280
+ add(waitingByEnv, target.envOf(one.record), -1);
281
+ drop(target.envOf(one.record), 1);
250
282
  }
251
283
  kept = undefined;
252
284
  }
253
285
  for (const one of take(queued()))
254
- drop(target.envOf(one), 1);
286
+ drop(target.envOf(one.record), 1);
255
287
  compact();
256
288
  report();
257
289
  if (reporting !== undefined)
258
290
  await reporting;
259
291
  },
260
292
  counts() {
261
- return { dropped: droppedTotal, timedOut: timedOutTotal, waiting: waitingCount() };
293
+ return { dropped: droppedTotal, timedOut: timedOutTotal, waiting: waitingCount(), waitingBytes: waitingBytes() };
262
294
  },
263
295
  };
264
296
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/sink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sink.js","sourceRoot":"","sources":["../../src/sink.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAqB,KAAK,WAAW,EAAmB,MAAM,WAAW,CAAC;AAEjF;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D;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;AAc5C,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;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAgDD;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAmP/B"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAqB,KAAK,WAAW,EAAmB,MAAM,WAAW,CAAC;AAEjF;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D;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;AAc5C,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;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,qDAAqD;IACrD,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAgFD;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAmP/B"}
@@ -37,17 +37,44 @@ async function ignoringFailure(job) {
37
37
  return;
38
38
  }
39
39
  }
40
- /** Whether the call never reached a Flowrensic that could answer it. */
40
+ /** The codes Flowrensic refuses a handshake with on purpose, such as an env it does not know or a wrong key. */
41
+ const refusals = new Set([
42
+ Code.InvalidArgument,
43
+ Code.NotFound,
44
+ Code.AlreadyExists,
45
+ Code.PermissionDenied,
46
+ Code.FailedPrecondition,
47
+ Code.OutOfRange,
48
+ Code.Unauthenticated,
49
+ ]);
50
+ /**
51
+ * Whether the call got no answer a worker can act on: it never reached a
52
+ * Flowrensic that could answer it, Flowrensic failed, or the answer was
53
+ * broken. Only a refusal on purpose is an answer.
54
+ */
41
55
  function noAnswer(error) {
42
56
  if (!(error instanceof ConnectError))
43
57
  return true;
44
- if (error.code === Code.Unavailable || error.code === Code.DeadlineExceeded)
58
+ if (!refusals.has(error.code))
45
59
  return true;
46
60
  // A connection that broke before an answer came back, such as a reset or a
47
61
  // broken pipe, reaches the caller as another code but is no answer either.
48
62
  const cause = error.cause;
49
63
  return typeof cause === 'object' && cause !== null && 'code' in cause && typeof cause.code === 'string' && /^E[A-Z]+$/.test(cause.code);
50
64
  }
65
+ /** The interval of an answer the worker takes, in seconds: the range the server itself takes. */
66
+ const minIntervalSeconds = 1;
67
+ const maxIntervalSeconds = 60;
68
+ /**
69
+ * The interval of an answer, or the default of 5 seconds when it is out of
70
+ * range. An interval ignored is said once as a warning of the process.
71
+ */
72
+ function checkedInterval(seconds) {
73
+ if (Number.isInteger(seconds) && seconds >= minIntervalSeconds && seconds <= maxIntervalSeconds)
74
+ return seconds;
75
+ process.emitWarning(`Flowrensic sent a scrape interval of ${String(seconds)} seconds, out of ${String(minIntervalSeconds)} to ${String(maxIntervalSeconds)}; the worker keeps ${String(defaultIntervalSeconds)} seconds`, 'FlowrensicWarning');
76
+ return defaultIntervalSeconds;
77
+ }
51
78
  async function pause(ms) {
52
79
  await new Promise((resolve) => {
53
80
  setTimeout(resolve, ms);
@@ -102,7 +129,7 @@ export async function startEnvInstanceTelemetry(options) {
102
129
  const answer = await handshake();
103
130
  answered = true;
104
131
  forwarding = answer.forward;
105
- intervalSeconds = answer.intervalSeconds;
132
+ intervalSeconds = checkedInterval(answer.intervalSeconds);
106
133
  sendingHistories = !answer.skipHistories;
107
134
  }
108
135
  catch (error) {
@@ -259,7 +286,7 @@ export async function startEnvInstanceTelemetry(options) {
259
286
  return false;
260
287
  answered = true;
261
288
  forwarding = answer.forward;
262
- intervalSeconds = answer.intervalSeconds;
289
+ intervalSeconds = checkedInterval(answer.intervalSeconds);
263
290
  sendingHistories = !answer.skipHistories;
264
291
  if (!sendingHistories)
265
292
  seen.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzD,yEAAyE;AACzE,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAqC,MAAM,WAAW,CAAC;AAmBjF,gFAAgF;AAChF,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC,6FAA6F;AAC7F,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,uFAAuF;AACvF,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC,8FAA8F;AAC9F,MAAM,OAAO,GAAG,MAAM,CAAC;AAwFvB,mFAAmF;AACnF,SAAS,YAAY,CAAC,KAAwC;IAC5D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO;QACL,KAAK,CAAC,yCAAyC;QAC/C,KAAK,CAAC,sCAAsC;QAC5C,KAAK,CAAC,wCAAwC;QAC9C,KAAK,CAAC,wCAAwC;QAC9C,KAAK,CAAC,0CAA0C;QAChD,KAAK,CAAC,8CAA8C;KACrD,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,gDAAgD;AAChD,KAAK,UAAU,eAAe,CAAC,GAAwB;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACzF,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,KAAK,GAAY,KAAK,CAAC,KAAK,CAAC;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1I,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,EAAU;IAC7B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qFAAqF;AACrF,KAAK,UAAU,WAAW,CAAC,EAAU,EAAE,MAAmB;IACxD,MAAM,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAoC;IAEpC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACnE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAClD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;IACpD,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAC;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,QAAQ,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;IACxF,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,IAAI,oBAAoB,CAAC;IAEhE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC7E,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAqB,OAAO,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;IACnF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,GAAG,GAAG,KAAK,EAAE,MAAoB,EAAyC,EAAE,CAChF,MAAM,MAAM,CAAC,MAAM,CAAC,oBAAoB,CACtC,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,EAC1E,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAC3D,CAAC;IACJ,MAAM,SAAS,GAAG,KAAK,IAA2C,EAAE;QAClE,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,OAAO,MAAM,GAAG,EAAE,CAAC;YACrB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;gBAC1F,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC5B,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,QAAQ,GAAG,IAAI,CAAC;QAChB,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;QAC5B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QACzC,gBAAgB,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,QAAQ,CAAC,QAAQ,KAAK,aAAa,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,iBAAiB,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,UAAU,GAAG,KAAK,CAAC;YACnB,eAAe,GAAG,CAAC,CAAC;QACtB,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,UAAU,GAAG,cAAc,KAAK,EAAE,IAAI,aAAa,KAAK,EAAE,CAAC;YAC3D,eAAe,GAAG,sBAAsB,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,OAA8C,CAAC;IACnD,MAAM,OAAO,GAAG,KAAK,IAA+B,EAAE;QACpD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,UAAU,CAAC;QAChE,OAAO,KAAK,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC1F,OAAO,GAAG,SAAS,CAAC;YACpB,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC;IACvB,CAAC,CAAC;IAEF,0DAA0D;IAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC3F,MAAM,IAAI,GAAgB;QACxB,MAAM,CAAC,OAAwB;YAC7B,IAAI,gBAAgB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,IAAI,OAAO,CAAC,mBAAmB,KAAK,EAAE,EAAE,CAAC;gBACpF,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;gBACtD,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC;oBACxB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;oBACxC,IAAI,MAAM,KAAK,SAAS;wBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,KAAK,CAAC,KAAK;YACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,MAAM;YACJ,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;KACF,CAAC;IAEF,wEAAwE;IACxE,UAAU;IACV,MAAM,MAAM,GAAG,KAAK,EAAE,MAAmB,EAAiB,EAAE;QAC1D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,cAAc,UAAU,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnI,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1H,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,EAAE,MAAmB,EAAiB,EAAE;QAChE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,UAAU,oBAAoB,UAAU,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzI,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IACrH,CAAC,CAAC;IAEF,uEAAuE;IACvE,SAAS;IACT,MAAM,cAAc,GAAG,KAAK,EAAE,KAAa,EAAE,UAAkB,EAAE,MAAmB,EAAiB,EAAE;QACrG,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,IAAI,aAAqC,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,OAAO,EAAE,CAAC;QAEnC,SAAS,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,2BAA2B,CAAC;gBACxE,SAAS;gBACT,SAAS,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;gBAChC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;aAC1D,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;YACjC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YAE3D,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAC3C,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACrC,CAAC;QAED,MAAM,MAAM,CAAC,MAAM,CAAC,mBAAmB,CACrC;YACE,SAAS;YACT,aAAa;YACb,KAAK;YACL,yEAAyE;YACzE,qDAAqD;YACrD,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SAC5E,EACD,EAAE,SAAS,EAAE,MAAM,EAAE,CACtB,CAAC;QACF,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,EAAE,MAAmB,EAAiB,EAAE;QAC3D,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QACH,IAAI,UAAU;YAAE,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,oBAAoB,KAAK,EAAE;YAAE,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAC9B,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAC3B,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;gBAC/B,MAAM,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,4EAA4E;IAC5E,0BAA0B;IAC1B,IAAI,OAAqF,CAAC;IAC1F,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YAC7C,OAAO,GAAG,SAAS,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,IAAI,KAAiD,CAAC;IACtD,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,IAAI,eAAe,IAAI,CAAC;YAAE,OAAO;QACjC,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC,CAAC;QAClD,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC;IACF,UAAU,EAAE,CAAC;IAEb,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;IACzD,MAAM,YAAY,GAAqB,UAAU;QAC/C,CAAC,CAAC,CAAC,KAAK,IAAsB,EAAE;YAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzG,SAAS,CAAC;gBACR,MAAM,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC9C,IAAI,OAAO,EAAE;oBAAE,OAAO,KAAK,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,OAAO,EAAE;wBAAE,OAAO,KAAK,CAAC;oBAC5B,QAAQ,GAAG,IAAI,CAAC;oBAChB,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;oBAC5B,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;oBACzC,gBAAgB,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;oBACzC,IAAI,CAAC,gBAAgB;wBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;oBACpC,UAAU,EAAE,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,IAAI,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAAE,OAAO,KAAK,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE;QACN,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE9B,OAAO;QACL,IAAI,QAAQ;YACV,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,YAAY;QACZ,IAAI,UAAU;YACZ,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,eAAe;YACjB,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,IAAI,gBAAgB;YAClB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,IAAI;QACJ,KAAK,CAAC,QAAQ;YACZ,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,YAAY,CAAC;YACnB,IAAI,KAAK,KAAK,SAAS;gBAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,iEAAiE;YACjE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrB,MAAM,OAAO,CAAC,IAAI,CAAC;YACrB,CAAC;YACD,gEAAgE;YAChE,MAAM,QAAQ,GAAG,QAAQ,IAAI,CAAC,UAAU,CAAC;YACzC,IAAI,QAAQ;gBAAE,MAAM,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC;YAC1D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE;oBAC/B,MAAM,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC1G,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC;YACvB,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,eAAe,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@ export interface FlowrensicSinks extends Sinks {
6
6
  query(name: string, ok: boolean): void;
7
7
  };
8
8
  }
9
- /** Tells the sink about every query a workflow answers. */
9
+ /**
10
+ * Tells the sink about every query a workflow answers. It only reads: the
11
+ * answer and the error of the query are the handler's own, and nothing here
12
+ * adds a command or reads state, so a workflow runs and replays the same.
13
+ */
10
14
  export declare const interceptors: WorkflowInterceptorsFactory;
11
15
  //# sourceMappingURL=workflow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAKhG,4DAA4D;AAC5D,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,UAAU,EAAE;QACV,qEAAqE;QACrE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;KACxC,CAAC;CACH;AAID,2DAA2D;AAC3D,eAAO,MAAM,YAAY,EAAE,2BAezB,CAAC"}
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAKhG,4DAA4D;AAC5D,MAAM,WAAW,eAAgB,SAAQ,KAAK;IAC5C,UAAU,EAAE;QACV,qEAAqE;QACrE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;KACxC,CAAC;CACH;AAaD;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,2BAgBzB,CAAC"}
@@ -1,19 +1,33 @@
1
1
  import { proxySinks } from '@temporalio/workflow';
2
2
  const { flowrensic } = proxySinks();
3
- /** Tells the sink about every query a workflow answers. */
3
+ /** Tells the sink about a query, and never throws. */
4
+ function tell(name, ok) {
5
+ try {
6
+ flowrensic.query(name, ok);
7
+ }
8
+ catch {
9
+ return;
10
+ }
11
+ }
12
+ /**
13
+ * Tells the sink about every query a workflow answers. It only reads: the
14
+ * answer and the error of the query are the handler's own, and nothing here
15
+ * adds a command or reads state, so a workflow runs and replays the same.
16
+ */
4
17
  export const interceptors = () => ({
5
18
  inbound: [
6
19
  {
7
20
  async handleQuery(input, next) {
21
+ let result;
8
22
  try {
9
- const result = await next(input);
10
- flowrensic.query(input.queryName, true);
11
- return result;
23
+ result = await next(input);
12
24
  }
13
25
  catch (err) {
14
- flowrensic.query(input.queryName, false);
26
+ tell(input.queryName, false);
15
27
  throw err;
16
28
  }
29
+ tell(input.queryName, true);
30
+ return result;
17
31
  },
18
32
  },
19
33
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgD,MAAM,sBAAsB,CAAC;AAahG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,EAAmB,CAAC;AAErD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,YAAY,GAAgC,GAAG,EAAE,CAAC,CAAC;IAC9D,OAAO,EAAE;QACP;YACE,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI;gBAC3B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;oBACjC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;oBACxC,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBACzC,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;SACF;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgD,MAAM,sBAAsB,CAAC;AAahG,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,EAAmB,CAAC;AAErD,sDAAsD;AACtD,SAAS,IAAI,CAAC,IAAY,EAAE,EAAW;IACrC,IAAI,CAAC;QACH,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgC,GAAG,EAAE,CAAC,CAAC;IAC9D,OAAO,EAAE;QACP;YACE,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI;gBAC3B,IAAI,MAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC7B,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC5B,OAAO,MAAM,CAAC;YAChB,CAAC;SACF;KACF;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowrensic/node",
3
- "version": "0.6.39",
3
+ "version": "0.6.41",
4
4
  "description": "Replay history fetch and activity interceptor for Temporal workers, for use with Flowrensic.",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",