@toa.io/extensions.fetch 1.0.0-alpha.301 → 1.0.0-alpha.303

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toa.io/extensions.fetch",
3
- "version": "1.0.0-alpha.301",
3
+ "version": "1.0.0-alpha.303",
4
4
  "type": "module",
5
5
  "description": "Toa Fetch extension",
6
6
  "author": "temich <tema.gurtovoy@gmail.com>",
@@ -28,8 +28,8 @@
28
28
  "transpile": "tsc"
29
29
  },
30
30
  "dependencies": {
31
- "@toa.io/core": "1.0.0-alpha.301",
32
- "openspan": "1.0.0-alpha.301"
31
+ "@toa.io/core": "1.0.0-alpha.303",
32
+ "openspan": "1.0.0-alpha.303"
33
33
  },
34
- "gitHead": "cc49bc90efd35464b2ad7803246786c607a44685"
34
+ "gitHead": "b8e9dd89f6d49756944687a95dfc786f12947286"
35
35
  }
@@ -1,4 +1,5 @@
1
1
  import { Connector } from '@toa.io/core';
2
+ import * as measure from './measurements.js';
2
3
  import { console } from 'openspan';
3
4
  export class Aspect extends Connector {
4
5
  name = 'fetch';
@@ -72,13 +73,21 @@ async function send(request, attempt, telemetry) {
72
73
  'retry.attempt': attempt
73
74
  };
74
75
  delete attributes['retry.attempts'];
76
+ const url = requestURL(request);
77
+ const origin = url.origin;
78
+ const { method } = request;
79
+ // the first attempt is the request; every one after it is the policy trying again
80
+ if (attempt > 1)
81
+ measure.retried(origin);
75
82
  return await telemetry.output.span({
76
83
  name: `attempt ${attempt}`,
77
84
  kind: 'client',
78
- attributes
85
+ attributes,
86
+ measure: measure.attempt(origin, method)
79
87
  }, async () => {
80
88
  const response = await globalThis.fetch(request.clone());
81
89
  attributes['http.response.status_code'] = response.status;
90
+ measure.answered(origin, method, response.status);
82
91
  return response;
83
92
  });
84
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Aspect.js","sourceRoot":"","sources":["../source/Aspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Aspect.js","sourceRoot":"","sources":["../source/Aspect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Measure } from 'openspan';
2
+ export declare function attempt(origin: string, method: string): Measure;
3
+ export declare function answered(origin: string, method: string, status: number): void;
4
+ export declare function retried(origin: string): void;
@@ -0,0 +1,27 @@
1
+ import { registry } from 'openspan';
2
+ /**
3
+ * What an outgoing fetch measures. `origin` is bounded by the allowlist a component already writes
4
+ * for another reason, so the one label that would otherwise be unbounded is bounded by a
5
+ * constraint that exists anyway.
6
+ *
7
+ * The attempt is measured and the call around it is not: an attempt is a real HTTP request, the
8
+ * call is the policy around it, and `retries` is what says the difference — a rising retry count
9
+ * against a flat response count is an origin degrading before it fails.
10
+ */
11
+ const meters = registry();
12
+ /** A third party over the internet, so the ladder runs out to half a minute. */
13
+ const DURATIONS = [0.01, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10, 30];
14
+ const ORIGIN = { origin: null, method: null };
15
+ const duration = meters.histogram('toa.fetch.duration', { buckets: DURATIONS, unit: 's' }, ORIGIN);
16
+ const responses = meters.counter('toa.fetch.responses', { ...ORIGIN, status: null });
17
+ const retries = meters.counter('toa.fetch.retries', { origin: null });
18
+ export function attempt(origin, method) {
19
+ return { histogram: duration, labels: { origin, method } };
20
+ }
21
+ export function answered(origin, method, status) {
22
+ responses.add(1, { origin, method, status });
23
+ }
24
+ export function retried(origin) {
25
+ retries.add(1, { origin });
26
+ }
27
+ //# sourceMappingURL=measurements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measurements.js","sourceRoot":"","sources":["../source/measurements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnC;;;;;;;;GAQG;AACH,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAA;AAEzB,gFAAgF;AAChF,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AAEjE,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AAE7C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAC/B,oBAAoB,EACpB,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,EACjC,MAAM,CACP,CAAA;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAEpF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAErE,MAAM,UAAU,OAAO,CAAC,MAAc,EAAE,MAAc;IACpD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAA;AAC5D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,MAAc,EAAE,MAAc;IACrE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,MAAc;IACpC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;AAC5B,CAAC"}