@tramvai/module-metrics 2.51.2 → 2.56.1

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/lib/browser.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import { Module, commandLineListTokens, Scope } from '@tramvai/core';
3
- import { COMBINE_REDUCERS, CONTEXT_TOKEN, LOGGER_TOKEN } from '@tramvai/module-common';
3
+ import { COMBINE_REDUCERS, CONTEXT_TOKEN, LOGGER_TOKEN } from '@tramvai/tokens-common';
4
4
  import { METRICS_MODULE_TOKEN } from '@tramvai/tokens-metrics';
5
5
  export * from '@tramvai/tokens-metrics';
6
6
  import { browserTimings } from '@tinkoff/browser-timings';
@@ -0,0 +1 @@
1
+ export declare const DEFAULT_BUCKETS: number[];
@@ -1,6 +1,5 @@
1
- import { State } from './store';
2
1
  export declare const sharedProviders: {
3
2
  provide: any;
4
3
  multi: boolean;
5
- useValue: import("@tramvai/types-actions-state-context").Reducer<State, string>[];
4
+ useValue: import("@tramvai/types-actions-state-context").Reducer<import("./store").State, string>[];
6
5
  }[];
@@ -0,0 +1,3 @@
1
+ import type { COMMAND_LINE_EXECUTION_END_TOKEN } from '@tramvai/tokens-core-private';
2
+ import type { Metrics } from '@tramvai/tokens-metrics';
3
+ export declare const commandLineMetrics: (metrics: Metrics) => typeof COMMAND_LINE_EXECUTION_END_TOKEN;
package/lib/server.es.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import { Module, commandLineListTokens, Scope, provide } from '@tramvai/core';
3
+ import { COMMAND_LINE_EXECUTION_END_TOKEN } from '@tramvai/tokens-core-private';
3
4
  import { SERVER_MODULE_PAPI_PUBLIC_ROUTE, UTILITY_SERVER_PATHS } from '@tramvai/tokens-server';
4
5
  import { WEB_FASTIFY_APP_BEFORE_INIT_TOKEN, UTILITY_WEB_FASTIFY_APP_TOKEN, WEB_FASTIFY_APP_METRICS_TOKEN, WEB_FASTIFY_APP_TOKEN } from '@tramvai/tokens-server-private';
5
6
  import { METRICS_MODULE_TOKEN, METRICS_SERVICES_REGISTRY_TOKEN, METRICS_MODULE_CONFIG_TOKEN, REGISTER_INSTANT_METRIC_TOKEN } from '@tramvai/tokens-metrics';
@@ -7,7 +8,7 @@ export * from '@tramvai/tokens-metrics';
7
8
  import { fastifyMeasureRequests } from '@tinkoff/measure-fastify-requests';
8
9
  import { Registry, collectDefaultMetrics, Counter, Gauge, Histogram, Summary } from 'prom-client';
9
10
  import flatten from '@tinkoff/utils/array/flatten';
10
- import { ENV_MANAGER_TOKEN, COMBINE_REDUCERS, LOGGER_TOKEN, CONTEXT_TOKEN } from '@tramvai/module-common';
11
+ import { ENV_MANAGER_TOKEN, COMBINE_REDUCERS, LOGGER_TOKEN, CONTEXT_TOKEN } from '@tramvai/tokens-common';
11
12
  import noop from '@tinkoff/utils/function/noop';
12
13
  import https from 'https';
13
14
  import http from 'http';
@@ -139,6 +140,7 @@ const createRequestWithMetrics = ({ metricsInstances: { requestsTotal, requestsE
139
140
  };
140
141
 
141
142
  const DEFAULT_BUCKETS = [0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10, 20, 40, 60];
143
+
142
144
  const initRequestsMetrics = ({ metrics, getServiceName, http, https, createRequestWithMetrics, config, }) => {
143
145
  const metricsInstances = {
144
146
  requestsTotal: metrics.counter({
@@ -453,6 +455,25 @@ const eventLoopMetrics = (metrics) => {
453
455
  startEventLoopLagMeasure(histogram);
454
456
  };
455
457
 
458
+ const commandLineMetrics = (metrics) => {
459
+ const metricsInstance = metrics.histogram({
460
+ name: `command_line_runner_execution_time`,
461
+ help: 'Command line processing duration',
462
+ labelNames: ['line'],
463
+ buckets: DEFAULT_BUCKETS,
464
+ });
465
+ return (di, type, status, timingInfo) => {
466
+ for (const line in timingInfo) {
467
+ const info = timingInfo[line];
468
+ if (info.end) {
469
+ const durationInMs = info.end - info.start;
470
+ const durationInSec = durationInMs / 1000;
471
+ metricsInstance.observe({ line }, durationInSec);
472
+ }
473
+ }
474
+ };
475
+ };
476
+
456
477
  let MetricsModule = class MetricsModule {
457
478
  };
458
479
  MetricsModule = __decorate([
@@ -556,6 +577,15 @@ MetricsModule = __decorate([
556
577
  },
557
578
  multi: true,
558
579
  }),
580
+ provide({
581
+ provide: COMMAND_LINE_EXECUTION_END_TOKEN,
582
+ useFactory: ({ metrics }) => {
583
+ return commandLineMetrics(metrics);
584
+ },
585
+ deps: {
586
+ metrics: METRICS_MODULE_TOKEN,
587
+ },
588
+ }),
559
589
  ],
560
590
  })
561
591
  ], MetricsModule);
package/lib/server.js CHANGED
@@ -4,13 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
6
  var core = require('@tramvai/core');
7
+ var tokensCorePrivate = require('@tramvai/tokens-core-private');
7
8
  var tokensServer = require('@tramvai/tokens-server');
8
9
  var tokensServerPrivate = require('@tramvai/tokens-server-private');
9
10
  var tokensMetrics = require('@tramvai/tokens-metrics');
10
11
  var measureFastifyRequests = require('@tinkoff/measure-fastify-requests');
11
12
  var promClient = require('prom-client');
12
13
  var flatten = require('@tinkoff/utils/array/flatten');
13
- var moduleCommon = require('@tramvai/module-common');
14
+ var tokensCommon = require('@tramvai/tokens-common');
14
15
  var noop = require('@tinkoff/utils/function/noop');
15
16
  var https = require('https');
16
17
  var http = require('http');
@@ -152,6 +153,7 @@ const createRequestWithMetrics = ({ metricsInstances: { requestsTotal, requestsE
152
153
  };
153
154
 
154
155
  const DEFAULT_BUCKETS = [0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10, 20, 40, 60];
156
+
155
157
  const initRequestsMetrics = ({ metrics, getServiceName, http, https, createRequestWithMetrics, config, }) => {
156
158
  const metricsInstances = {
157
159
  requestsTotal: metrics.counter({
@@ -332,7 +334,7 @@ RequestModule = tslib.__decorate([
332
334
  optional: true,
333
335
  },
334
336
  metricsServicesRegistry: tokensMetrics.METRICS_SERVICES_REGISTRY_TOKEN,
335
- envManager: moduleCommon.ENV_MANAGER_TOKEN,
337
+ envManager: tokensCommon.ENV_MANAGER_TOKEN,
336
338
  metricsModuleConfig: tokensMetrics.METRICS_MODULE_CONFIG_TOKEN,
337
339
  },
338
340
  },
@@ -352,7 +354,7 @@ const MetricsStore = state.createReducer('instantMetrics', { instantMetricsMap:
352
354
 
353
355
  const sharedProviders = [
354
356
  {
355
- provide: moduleCommon.COMBINE_REDUCERS,
357
+ provide: tokensCommon.COMBINE_REDUCERS,
356
358
  multi: true,
357
359
  useValue: [MetricsStore],
358
360
  },
@@ -408,7 +410,7 @@ InstantMetricsModule = tslib.__decorate([
408
410
  },
409
411
  deps: {
410
412
  metrics: tokensMetrics.METRICS_MODULE_TOKEN,
411
- logger: moduleCommon.LOGGER_TOKEN,
413
+ logger: tokensCommon.LOGGER_TOKEN,
412
414
  instantMetrics: {
413
415
  token: tokensMetrics.REGISTER_INSTANT_METRIC_TOKEN,
414
416
  multi: true,
@@ -432,7 +434,7 @@ InstantMetricsModule = tslib.__decorate([
432
434
  };
433
435
  },
434
436
  deps: {
435
- context: moduleCommon.CONTEXT_TOKEN,
437
+ context: tokensCommon.CONTEXT_TOKEN,
436
438
  instantMetrics: {
437
439
  token: tokensMetrics.REGISTER_INSTANT_METRIC_TOKEN,
438
440
  multi: true,
@@ -466,6 +468,25 @@ const eventLoopMetrics = (metrics) => {
466
468
  startEventLoopLagMeasure(histogram);
467
469
  };
468
470
 
471
+ const commandLineMetrics = (metrics) => {
472
+ const metricsInstance = metrics.histogram({
473
+ name: `command_line_runner_execution_time`,
474
+ help: 'Command line processing duration',
475
+ labelNames: ['line'],
476
+ buckets: DEFAULT_BUCKETS,
477
+ });
478
+ return (di, type, status, timingInfo) => {
479
+ for (const line in timingInfo) {
480
+ const info = timingInfo[line];
481
+ if (info.end) {
482
+ const durationInMs = info.end - info.start;
483
+ const durationInSec = durationInMs / 1000;
484
+ metricsInstance.observe({ line }, durationInSec);
485
+ }
486
+ }
487
+ };
488
+ };
489
+
469
490
  exports.MetricsModule = class MetricsModule {
470
491
  };
471
492
  exports.MetricsModule = tslib.__decorate([
@@ -569,6 +590,15 @@ exports.MetricsModule = tslib.__decorate([
569
590
  },
570
591
  multi: true,
571
592
  }),
593
+ core.provide({
594
+ provide: tokensCorePrivate.COMMAND_LINE_EXECUTION_END_TOKEN,
595
+ useFactory: ({ metrics }) => {
596
+ return commandLineMetrics(metrics);
597
+ },
598
+ deps: {
599
+ metrics: tokensMetrics.METRICS_MODULE_TOKEN,
600
+ },
601
+ }),
572
602
  ],
573
603
  })
574
604
  ], exports.MetricsModule);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/module-metrics",
3
- "version": "2.51.2",
3
+ "version": "2.56.1",
4
4
  "description": "",
5
5
  "browser": "lib/browser.js",
6
6
  "main": "lib/server.js",
@@ -19,15 +19,16 @@
19
19
  "build-for-publish": "true"
20
20
  },
21
21
  "dependencies": {
22
- "@tramvai/core": "2.51.2",
23
- "@tramvai/tokens-server": "2.51.2",
24
- "@tramvai/tokens-server-private": "2.51.2",
25
- "@tramvai/tokens-metrics": "2.51.2",
26
- "@tramvai/tokens-router": "2.51.2",
27
- "@tramvai/module-common": "2.51.2",
28
- "@tramvai/tokens-http-client": "2.51.2",
29
- "@tramvai/state": "2.51.2",
30
- "@tramvai/papi": "2.51.2",
22
+ "@tramvai/core": "2.56.1",
23
+ "@tramvai/tokens-common": "2.56.1",
24
+ "@tramvai/tokens-core-private": "2.56.1",
25
+ "@tramvai/tokens-server": "2.56.1",
26
+ "@tramvai/tokens-server-private": "2.56.1",
27
+ "@tramvai/tokens-metrics": "2.56.1",
28
+ "@tramvai/tokens-router": "2.56.1",
29
+ "@tramvai/tokens-http-client": "2.56.1",
30
+ "@tramvai/state": "2.56.1",
31
+ "@tramvai/papi": "2.56.1",
31
32
  "@tinkoff/measure-fastify-requests": "0.1.6",
32
33
  "@tinkoff/monkeypatch": "2.0.3",
33
34
  "@tinkoff/url": "0.8.4",