@application-kit/observability 0.4.0 → 0.5.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/CHANGELOG.md +15 -0
- package/README.md +3 -0
- package/metric-names.json +142 -0
- package/package.json +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @application-kit/observability
|
|
2
2
|
|
|
3
|
+
## 0.5.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [7d0253e]
|
|
8
|
+
- @application-kit/typeorm@0.4.0
|
|
9
|
+
|
|
10
|
+
## 0.5.0
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- 0f930bf: `metric-names.json` в пакете (вход `@application-kit/observability/metric-names.json`): имена и типы всех метрик
|
|
15
|
+
реестра — гистограмм HTTP и GraphQL и метрик процесса. По нему чарт платформы сверяет VMRule и дашборды, не
|
|
16
|
+
запуская код пакета; совпадение файла с реестром держит тест пакета.
|
|
17
|
+
|
|
3
18
|
## 0.4.0
|
|
4
19
|
|
|
5
20
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -39,6 +39,9 @@ Peer-зависимости: `@nestjs/common`, `@prometheus-io/client`; оста
|
|
|
39
39
|
`start(key)` → `describe(key, document)` → `finish(key, hasErrors)`, где `key` — объект контекста запроса;
|
|
40
40
|
`asMercuriusHook` оборачивает синхронный обработчик в async-хук Mercurius.
|
|
41
41
|
- `DURATION_BUCKETS_SECONDS` — общие границы гистограмм, от 5 мс до 10 с.
|
|
42
|
+
- `@application-kit/observability/metric-names.json` — имена и типы всех метрик реестра (обе гистограммы и метрики
|
|
43
|
+
процесса на Linux) для тех, кто строит по ним алерты и дашборды, не запуская код: чарт платформы сверяет с ним
|
|
44
|
+
VMRule и дашборды. Файл совпадает с реестром — это держит тест пакета; переименование метрики — major.
|
|
42
45
|
|
|
43
46
|
Web-процесс подключает `MetricsHttpModule.forRoot({ publicRoute })` — реестр, обе гистограммы и `GET /metrics`
|
|
44
47
|
(путь — `METRICS_ROUTE` входа `/logging`), — и вешает хуки после создания приложения: HTTP — `onResponse` Fastify
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": "graphql_operation_duration_seconds",
|
|
4
|
+
"type": "histogram"
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"name": "http_request_duration_seconds",
|
|
8
|
+
"type": "histogram"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "nodejs_active_handles",
|
|
12
|
+
"type": "gauge"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "nodejs_active_handles_total",
|
|
16
|
+
"type": "gauge"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "nodejs_active_requests",
|
|
20
|
+
"type": "gauge"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "nodejs_active_requests_total",
|
|
24
|
+
"type": "gauge"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "nodejs_active_resources",
|
|
28
|
+
"type": "gauge"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "nodejs_active_resources_total",
|
|
32
|
+
"type": "gauge"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "nodejs_eventloop_lag_max_seconds",
|
|
36
|
+
"type": "gauge"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "nodejs_eventloop_lag_mean_seconds",
|
|
40
|
+
"type": "gauge"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "nodejs_eventloop_lag_min_seconds",
|
|
44
|
+
"type": "gauge"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "nodejs_eventloop_lag_p50_seconds",
|
|
48
|
+
"type": "gauge"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "nodejs_eventloop_lag_p90_seconds",
|
|
52
|
+
"type": "gauge"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "nodejs_eventloop_lag_p99_seconds",
|
|
56
|
+
"type": "gauge"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "nodejs_eventloop_lag_seconds",
|
|
60
|
+
"type": "gauge"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "nodejs_eventloop_lag_stddev_seconds",
|
|
64
|
+
"type": "gauge"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "nodejs_eventloop_utilization_histogram",
|
|
68
|
+
"type": "histogram"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "nodejs_eventloop_utilization_summary",
|
|
72
|
+
"type": "summary"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "nodejs_external_memory_bytes",
|
|
76
|
+
"type": "gauge"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "nodejs_gc_duration_seconds",
|
|
80
|
+
"type": "histogram"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "nodejs_heap_size_total_bytes",
|
|
84
|
+
"type": "gauge"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "nodejs_heap_size_used_bytes",
|
|
88
|
+
"type": "gauge"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "nodejs_heap_space_size_available_bytes",
|
|
92
|
+
"type": "gauge"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "nodejs_heap_space_size_total_bytes",
|
|
96
|
+
"type": "gauge"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "nodejs_heap_space_size_used_bytes",
|
|
100
|
+
"type": "gauge"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "nodejs_version_info",
|
|
104
|
+
"type": "gauge"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "process_cpu_seconds_total",
|
|
108
|
+
"type": "counter"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "process_cpu_system_seconds_total",
|
|
112
|
+
"type": "counter"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "process_cpu_user_seconds_total",
|
|
116
|
+
"type": "counter"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "process_heap_bytes",
|
|
120
|
+
"type": "gauge"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "process_max_fds",
|
|
124
|
+
"type": "gauge"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "process_open_fds",
|
|
128
|
+
"type": "gauge"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "process_resident_memory_bytes",
|
|
132
|
+
"type": "gauge"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"name": "process_start_time_seconds",
|
|
136
|
+
"type": "gauge"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "process_virtual_memory_bytes",
|
|
140
|
+
"type": "gauge"
|
|
141
|
+
}
|
|
142
|
+
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@application-kit/observability",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Наблюдаемость NestJS-процесса: метрики Prometheus и RED-гистограммы, health-чеки и пробы, опции pino с request-id и trace-контекстом, логирование CQRS-шин, реальный IP клиента за прокси, трейсинг OpenTelemetry",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cqrs",
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
"default": "./dist/cjs/logging/index.js"
|
|
90
90
|
}
|
|
91
91
|
},
|
|
92
|
+
"./metric-names.json": "./metric-names.json",
|
|
92
93
|
"./metrics": {
|
|
93
94
|
"import": {
|
|
94
95
|
"types": "./dist/esm/metrics/index.d.ts",
|
|
@@ -111,7 +112,8 @@
|
|
|
111
112
|
"module": "./dist/esm/metrics/index.js",
|
|
112
113
|
"types": "./dist/cjs/metrics/index.d.ts",
|
|
113
114
|
"files": [
|
|
114
|
-
"dist"
|
|
115
|
+
"dist",
|
|
116
|
+
"metric-names.json"
|
|
115
117
|
],
|
|
116
118
|
"scripts": {
|
|
117
119
|
"build": "rm -rf ./dist && node ../../scripts/barrels.mjs create ./src/cqrs && node ../../scripts/barrels.mjs create ./src/health --entry-only=cli,graphql && node ../../scripts/barrels.mjs create ./src/http && node ../../scripts/barrels.mjs create ./src/logging && node ../../scripts/barrels.mjs create ./src/metrics && node ../../scripts/barrels.mjs create ./src/tracing && tsc --project tsconfig.build.json && tsc --project tsconfig.build.cjs.json && node ../../scripts/barrels.mjs clean ./src && node ../../scripts/mark-cjs.mjs ./dist/cjs",
|
|
@@ -120,7 +122,7 @@
|
|
|
120
122
|
"test:unit": "vitest run"
|
|
121
123
|
},
|
|
122
124
|
"dependencies": {
|
|
123
|
-
"@application-kit/typeorm": "^0.
|
|
125
|
+
"@application-kit/typeorm": "^0.4.0"
|
|
124
126
|
},
|
|
125
127
|
"devDependencies": {
|
|
126
128
|
"@nestjs/common": "^11.2.7",
|