@toa.io/extensions.storages 1.0.0-alpha.302 → 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.storages",
3
- "version": "1.0.0-alpha.302",
3
+ "version": "1.0.0-alpha.303",
4
4
  "type": "module",
5
5
  "description": "Toa Storages",
6
6
  "author": "temich <tema.gurtovoy@gmail.com>",
@@ -51,12 +51,12 @@
51
51
  }
52
52
  },
53
53
  "dependencies": {
54
- "@toa.io/core": "1.0.0-alpha.302",
55
- "@toa.io/definitions": "1.0.0-alpha.302",
54
+ "@toa.io/core": "1.0.0-alpha.303",
55
+ "@toa.io/definitions": "1.0.0-alpha.303",
56
56
  "@toa.io/generic": "1.0.0-alpha.301",
57
57
  "@toa.io/schemas": "1.0.0-alpha.301",
58
58
  "negotiator": "1.1.0",
59
- "openspan": "1.0.0-alpha.301"
59
+ "openspan": "1.0.0-alpha.303"
60
60
  },
61
- "gitHead": "3cbbca55a61711db78f98b13e50cf4d1afaf5c08"
61
+ "gitHead": "b8e9dd89f6d49756944687a95dfc786f12947286"
62
62
  }
@@ -2,6 +2,7 @@ import { basename, dirname, join } from 'node:path';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { console } from 'openspan';
4
4
  import { Scanner } from './Scanner.js';
5
+ import { operation } from './measurements.js';
5
6
  export class Storage {
6
7
  provider;
7
8
  scope;
@@ -84,7 +85,8 @@ export class Storage {
84
85
  attributes: {
85
86
  ...(this.scope === undefined ? {} : { provider: this.scope.provider }),
86
87
  path
87
- }
88
+ },
89
+ measure: operation(method, this.scope)
88
90
  };
89
91
  }
90
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../source/Storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Storage.js","sourceRoot":"","sources":["../source/Storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Measure } from 'openspan';
2
+ import type { Scope } from './Storage.ts';
3
+ export declare function operation(method: string, scope?: Scope): Measure;
@@ -0,0 +1,23 @@
1
+ import { registry } from 'openspan';
2
+ /**
3
+ * What a BLOB storage measures. Network I/O to a third party, and nothing else reports it.
4
+ *
5
+ * `storage` is the name the component declared it under and `provider` is what stands behind it:
6
+ * a component declares several and uses them for different things, so the provider alone does not
7
+ * say which one was slow where two declarations share one.
8
+ */
9
+ const meters = registry();
10
+ /** Wider than a query's, because a third party over the network is slower than a database. */
11
+ const DURATIONS = [0.01, 0.05, 0.1, 0.5, 1, 2.5, 5, 10, 30];
12
+ const duration = meters.histogram('toa.blob.operation.duration', { buckets: DURATIONS, unit: 's' }, { storage: null, provider: null, operation: null });
13
+ export function operation(method, scope) {
14
+ return {
15
+ histogram: duration,
16
+ labels: {
17
+ storage: scope?.name,
18
+ provider: scope?.provider,
19
+ operation: method
20
+ }
21
+ };
22
+ }
23
+ //# 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;AAInC;;;;;;GAMG;AACH,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAA;AAEzB,8FAA8F;AAC9F,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AAE3D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAC/B,6BAA6B,EAC7B,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,EACjC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CACnD,CAAA;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,KAAa;IACrD,OAAO;QACL,SAAS,EAAE,QAAQ;QACnB,MAAM,EAAE;YACN,OAAO,EAAE,KAAK,EAAE,IAAI;YACpB,QAAQ,EAAE,KAAK,EAAE,QAAQ;YACzB,SAAS,EAAE,MAAM;SAClB;KACF,CAAA;AACH,CAAC"}