|
1 | | -import { fetchStats } from '@nodescript/fetch-undici'; |
2 | | -import { DynamicGaugeMetric, metric } from '@nodescript/metrics'; |
| 1 | +import { fetchMetrics } from '@nodescript/fetch-undici'; |
| 2 | +import { metric } from '@nodescript/metrics'; |
3 | 3 |
|
4 | 4 | export class Metrics { |
5 | 5 |
|
6 | | - @metric() |
7 | | - outboundRequestsTotal = new DynamicGaugeMetric( |
8 | | - () => [{ value: fetchStats.requests.total, labels: {} }], |
9 | | - 'nodescript_invoke_outbound_requests_total', 'Total outbound requests'); |
10 | | - |
11 | | - @metric() |
12 | | - outboundRequestsTimeout = new DynamicGaugeMetric( |
13 | | - () => [{ value: fetchStats.requests.timeout, labels: {} }], |
14 | | - 'nodescript_invoke_outbound_requests_timeout', 'Total outbound requests timeout'); |
15 | | - |
16 | | - @metric() |
17 | | - outboundRequestsFailed = new DynamicGaugeMetric( |
18 | | - () => [{ value: fetchStats.requests.failed, labels: {} }], |
19 | | - 'nodescript_invoke_outbound_requests_failed', 'Total outbound requests failed'); |
20 | | - |
21 | | - @metric() |
22 | | - outboundRequestsByStatus = new DynamicGaugeMetric( |
23 | | - () => { |
24 | | - const entries = Object.entries(fetchStats.requests.byStatus); |
25 | | - return entries.map(([status, count]) => { |
26 | | - return { |
27 | | - value: count, |
28 | | - labels: { |
29 | | - status: String(status) |
30 | | - } |
31 | | - }; |
32 | | - }); |
33 | | - }, |
34 | | - 'nodescript_invoke_outbound_requests_by_status', 'Total outbound requests by status'); |
35 | | - |
36 | | - @metric() |
37 | | - dispatcherCacheHits = new DynamicGaugeMetric( |
38 | | - () => [{ value: fetchStats.dispatcherCache.hits, labels: {} }], |
39 | | - 'nodescript_invoke_dispatcher_cache_hits', 'Total dispatcher cache hits'); |
40 | | - |
41 | | - @metric() |
42 | | - dispatcherCacheMisses = new DynamicGaugeMetric( |
43 | | - () => [{ value: fetchStats.dispatcherCache.misses, labels: {} }], |
44 | | - 'nodescript_invoke_dispatcher_cache_misses', 'Total dispatcher cache misses'); |
| 6 | + @metric() requestsTotal = fetchMetrics.requests.total; |
| 7 | + @metric() requestsSent = fetchMetrics.requests.sent; |
| 8 | + @metric() requestsFailed = fetchMetrics.requests.failed; |
| 9 | + @metric() requestsTimeout = fetchMetrics.requests.timeout; |
| 10 | + @metric() dispatcherCacheHits = fetchMetrics.dispatcherCache.hits; |
| 11 | + @metric() dispatcherCacheMisses = fetchMetrics.dispatcherCache.misses; |
| 12 | + @metric() dnsCacheHits = fetchMetrics.dnsCache.hits; |
| 13 | + @metric() dnsCacheMisses = fetchMetrics.dnsCache.misses; |
45 | 14 |
|
46 | 15 | } |
0 commit comments