MCPcopy Index your code
hub / github.com/Effect-TS/effect / metricsSnapshot

Function metricsSnapshot

packages/experimental/src/DevTools/Client.ts:52–107  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

50 const requests = yield* Mailbox.make<Domain.Request>()
51
52 function metricsSnapshot(): Domain.MetricsSnapshot {
53 const snapshot = Metric.unsafeSnapshot()
54 const metrics: Array<Domain.Metric> = []
55
56 for (let i = 0, len = snapshot.length; i < len; i++) {
57 const metricPair = snapshot[i]
58 if (MetricState.isCounterState(metricPair.metricState)) {
59 metrics.push({
60 _tag: "Counter",
61 name: metricPair.metricKey.name,
62 description: metricPair.metricKey.description,
63 tags: metricPair.metricKey.tags,
64 state: metricPair.metricState
65 })
66 } else if (MetricState.isGaugeState(metricPair.metricState)) {
67 metrics.push({
68 _tag: "Gauge",
69 name: metricPair.metricKey.name,
70 description: metricPair.metricKey.description,
71 tags: metricPair.metricKey.tags,
72 state: metricPair.metricState
73 })
74 } else if (MetricState.isHistogramState(metricPair.metricState)) {
75 metrics.push({
76 _tag: "Histogram",
77 name: metricPair.metricKey.name,
78 description: metricPair.metricKey.description,
79 tags: metricPair.metricKey.tags,
80 state: metricPair.metricState
81 })
82 } else if (MetricState.isSummaryState(metricPair.metricState)) {
83 metrics.push({
84 _tag: "Summary",
85 name: metricPair.metricKey.name,
86 description: metricPair.metricKey.description,
87 tags: metricPair.metricKey.tags,
88 state: metricPair.metricState
89 })
90 } else if (MetricState.isFrequencyState(metricPair.metricState)) {
91 metrics.push({
92 _tag: "Frequency",
93 name: metricPair.metricKey.name,
94 description: metricPair.metricKey.description,
95 tags: metricPair.metricKey.tags,
96 state: {
97 occurrences: Object.fromEntries(metricPair.metricState.occurrences.entries())
98 }
99 })
100 }
101 }
102
103 return {
104 _tag: "MetricsSnapshot",
105 metrics
106 }
107 }
108
109 const connected = yield* Deferred.make<void>()

Callers 1

Client.tsFile · 0.85

Calls 1

entriesMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…