@tramvai/module-metrics 2.51.2 → 2.56.0
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 +1 -1
- package/lib/constants.d.ts +1 -0
- package/lib/instantMetrics/shared.d.ts +1 -2
- package/lib/metrics/commandLine.d.ts +3 -0
- package/lib/server.es.js +31 -1
- package/lib/server.js +35 -5
- package/package.json +11 -10
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/
|
|
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
|
}[];
|
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/
|
|
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
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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.
|
|
3
|
+
"version": "2.56.0",
|
|
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.
|
|
23
|
-
"@tramvai/tokens-
|
|
24
|
-
"@tramvai/tokens-
|
|
25
|
-
"@tramvai/tokens-
|
|
26
|
-
"@tramvai/tokens-
|
|
27
|
-
"@tramvai/
|
|
28
|
-
"@tramvai/tokens-
|
|
29
|
-
"@tramvai/
|
|
30
|
-
"@tramvai/
|
|
22
|
+
"@tramvai/core": "2.56.0",
|
|
23
|
+
"@tramvai/tokens-common": "2.56.0",
|
|
24
|
+
"@tramvai/tokens-core-private": "2.56.0",
|
|
25
|
+
"@tramvai/tokens-server": "2.56.0",
|
|
26
|
+
"@tramvai/tokens-server-private": "2.56.0",
|
|
27
|
+
"@tramvai/tokens-metrics": "2.56.0",
|
|
28
|
+
"@tramvai/tokens-router": "2.56.0",
|
|
29
|
+
"@tramvai/tokens-http-client": "2.56.0",
|
|
30
|
+
"@tramvai/state": "2.56.0",
|
|
31
|
+
"@tramvai/papi": "2.56.0",
|
|
31
32
|
"@tinkoff/measure-fastify-requests": "0.1.6",
|
|
32
33
|
"@tinkoff/monkeypatch": "2.0.3",
|
|
33
34
|
"@tinkoff/url": "0.8.4",
|