@toa.io/extensions.stash 1.0.0-alpha.302 → 1.0.0-alpha.304

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.stash",
3
- "version": "1.0.0-alpha.302",
3
+ "version": "1.0.0-alpha.304",
4
4
  "type": "module",
5
5
  "description": "Toa Stash",
6
6
  "author": "temich <tema.gurtovoy@gmail.com>",
@@ -25,16 +25,16 @@
25
25
  "!**/.env*"
26
26
  ],
27
27
  "dependencies": {
28
- "@toa.io/core": "1.0.0-alpha.302",
29
- "@toa.io/definitions": "1.0.0-alpha.302",
30
- "@toa.io/generic": "1.0.0-alpha.301",
31
- "@toa.io/pointer": "1.0.0-alpha.301",
28
+ "@toa.io/core": "1.0.0-alpha.304",
29
+ "@toa.io/definitions": "1.0.0-alpha.304",
30
+ "@toa.io/generic": "1.0.0-alpha.304",
31
+ "@toa.io/pointer": "1.0.0-alpha.304",
32
32
  "ioredis": "6.0.0",
33
33
  "msgpackr": "2.1.0",
34
- "openspan": "1.0.0-alpha.301"
34
+ "openspan": "1.0.0-alpha.304"
35
35
  },
36
36
  "scripts": {
37
37
  "transpile": "tsc"
38
38
  },
39
- "gitHead": "3cbbca55a61711db78f98b13e50cf4d1afaf5c08"
39
+ "gitHead": "a95a5a5a64922b11b23142d4acbcee1331ed31aa"
40
40
  }
@@ -1,6 +1,7 @@
1
1
  import { encode, decode } from 'msgpackr';
2
2
  import { console } from 'openspan';
3
3
  import { Connector } from '@toa.io/core';
4
+ import { command } from './measurements.js';
4
5
  export class Aspect extends Connector {
5
6
  name = 'stash';
6
7
  connection;
@@ -68,6 +69,11 @@ function span(method, key) {
68
69
  attributes.key = key;
69
70
  else if (Array.isArray(key))
70
71
  attributes.key = key.join(' ');
71
- return { name: `${method} stash`, kind: 'client', attributes };
72
+ return {
73
+ name: `${method} stash`,
74
+ kind: 'client',
75
+ attributes,
76
+ measure: command(method)
77
+ };
72
78
  }
73
79
  //# sourceMappingURL=Aspect.js.map
@@ -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,2 @@
1
+ import type { Measure } from 'openspan';
2
+ export declare function command(name: string): Measure;
@@ -0,0 +1,13 @@
1
+ import { registry } from 'openspan';
2
+ /**
3
+ * What the stash measures. `command` and not a key: the commands a component uses are a fixed set
4
+ * of its source, and a key is whatever the data is.
5
+ */
6
+ const meters = registry();
7
+ /** A local Redis answers in well under a millisecond, so the ladder starts there. */
8
+ const DURATIONS = [0.0005, 0.001, 0.0025, 0.005, 0.01, 0.025, 0.05, 0.1, 0.5, 1];
9
+ const duration = meters.histogram('toa.stash.command.duration', { buckets: DURATIONS, unit: 's' }, { command: null });
10
+ export function command(name) {
11
+ return { histogram: duration, labels: { command: name } };
12
+ }
13
+ //# 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;;;GAGG;AACH,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAA;AAEzB,qFAAqF;AACrF,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;AAEhF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAC/B,4BAA4B,EAC5B,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,EACjC,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAA;AAC3D,CAAC"}