1effect/Metric#fiberActive:
2 replacement: "Metric.enableRuntimeMetrics + Metric.snapshot"
3 note: "The concrete metric is no longer exported. Enable runtime metrics, then read the Gauge snapshot whose id is child_fibers_active."
4effect/Metric#fiberFailures:
5 replacement: "Metric.enableRuntimeMetrics + Metric.snapshot"
6 note: "The concrete metric is no longer exported. Enable runtime metrics, then read the Counter snapshot whose id is child_fiber_failures."
7effect/Metric#fiberLifetimes:
8 replacement: "none"
9 note: "The built-in lifetime histogram was removed. Define a Metric.timer and instrument selected effects with Effect.trackDuration when lifetime data is required."
10effect/Metric#fiberStarted:
11 replacement: "Metric.enableRuntimeMetrics + Metric.snapshot"
12 note: "The concrete metric is no longer exported. Enable runtime metrics, then read the Counter snapshot whose id is child_fibers_started."
13effect/Metric#fiberSuccesses:
14 replacement: "Metric.enableRuntimeMetrics + Metric.snapshot"
15 note: "The concrete metric is no longer exported. Enable runtime metrics, then read the Counter snapshot whose id is child_fiber_successes."
16effect/Metric#fromMetricKey:
17 replacement: "Metric.counter / Metric.gauge / Metric.frequency / Metric.histogram / Metric.summary"
18 note: "MetricKey and MetricKeyType were removed. Construct the required primitive metric directly."
19effect/Metric#globalMetricRegistry:
20 replacement: "Metric.MetricRegistry"
21 note: "The process-global registry became a Context.Reference whose service is a Map. Access it in context or provide a fresh Map for isolation; use Metric.snapshot for normal reads."
22effect/Metric#increment:
23 replacement: "Metric.update / Metric.modify"
24 note: "Use Metric.update(counter, 1 or 1n) for counters and Metric.modify(gauge, 1 or 1n) for gauges; gauge update sets an absolute value while modify adds a delta."
25effect/Metric#incrementBy:
26 replacement: "Metric.update / Metric.modify"
27 note: "Use Metric.update(counter, amount) for counters and Metric.modify(gauge, amount) for gauges."
28effect/Metric#make:
29 replacement: "none"
30 note: "The low-level arbitrary metric constructor was removed. Use a public primitive constructor and compose with mapInput, withConstantInput, and withAttributes."
31effect/Metric#map:
32 replacement: "Metric.value + Effect.map"
33 note: "Metric-level state mapping was removed. Transform a read with Effect.map(Metric.value(metric), f)."
34effect/Metric#mapType:
35 replacement: "none"
36 note: "Drop this call. V4 Metric has no key-type type parameter and exposes a fixed runtime type discriminator."
37effect/Metric#Metric:
38 replacement: "Metric.Metric<Input, State>"
39 note: "Drop the v3 key-type parameter. Metrics are no longer callable; use Effect.trackSuccesses for instrumentation and Metric.update or Metric.value for operations."
40effect/Metric#Metric.Variance:
41 replacement: "none"
42 note: "The public variance interface was removed; Metric<Input, State> carries variance markers directly."
43effect/Metric#MetricApply:
44 replacement: "none"
45 note: "Removed with Metric.make; v4 has no public low-level custom-metric constructor type."
46effect/Metric#MetricTypeId:
47 replacement: "Metric.isMetric"
48 note: "The public unique-symbol type id was removed; use Metric.isMetric for runtime refinement."
49effect/Metric#set:
50 replacement: "Metric.update"
51 note: "Use Metric.update(gauge, value); v4 update replaces a gauge's current value."
52effect/Metric#succeed:
53 replacement: "none"
54 note: "Constant synthetic metrics were removed. Keep constants outside the metric and use Effect.succeed when an Effect value is required."
55effect/Metric#summaryTimestamp:
56 replacement: "Metric.summaryWithTimestamp"
57 note: "Renamed and called as Metric.summaryWithTimestamp(name, options). Remove the v3 error option; inputs remain value/timestamp pairs."
58effect/Metric#sync:
59 replacement: "none"
60 note: "Lazy synthetic metrics were removed. Keep the computation outside the metric and use Effect.sync when an Effect value is required."
61effect/Metric#tagged:
62 replacement: "Metric.withAttributes"
63 note: "Replace tags with attributes, for example Metric.withAttributes(metric, { [key]: value })."
64effect/Metric#taggedWithLabels:
65 replacement: "Metric.withAttributes"
66 note: "Replace MetricLabel objects with a string record or array of string tuples passed to Metric.withAttributes."
67effect/Metric#taggedWithLabelsInput:
68 replacement: "Metric.withAttributes + Metric.update"
69 note: "No dynamic-attribute transform remains. Compute attributes at each update or tracking site, wrap with Metric.withAttributes, then update the metric."
70effect/Metric#timerWithBoundaries:
71 replacement: "Metric.timer"
72 note: "Use Metric.timer(name, { boundaries, description }); boundaries moved into the options object."
73effect/Metric#trackAll:
74 replacement: "Effect.track"
75 note: "Moved to Effect; use effect.pipe(Effect.track(metric, () => input))."
76effect/Metric#trackDefect:
77 replacement: "Effect.trackDefects"
78 note: "Moved to Effect; use effect.pipe(Effect.trackDefects(metric))."
79effect/Metric#trackDefectWith:
80 replacement: "Effect.trackDefects"
81 note: "Moved to Effect; pass the mapper as the optional second argument."
82effect/Metric#trackDurationWith:
83 replacement: "Effect.trackDuration"
84 note: "Moved to Effect; pass the mapper as the optional second argument. V4 records duration on every Exit, whereas v3 updated only after success."
85effect/Metric#trackError:
86 replacement: "Effect.trackErrors"
87 note: "Moved to Effect; use effect.pipe(Effect.trackErrors(metric))."
88effect/Metric#trackErrorWith:
89 replacement: "Effect.trackErrors"
90 note: "Moved to Effect; pass the mapper as the optional second argument."
91effect/Metric#trackSuccess:
92 replacement: "Effect.trackSuccesses"
93 note: "Moved to Effect; use effect.pipe(Effect.trackSuccesses(metric))."
94effect/Metric#trackSuccessWith:
95 replacement: "Effect.trackSuccesses"
96 note: "Moved to Effect; pass the mapper as the optional second argument."
97effect/Metric#unsafeSnapshot:
98 replacement: "Metric.snapshotUnsafe"
99 note: "Renamed and now requires an explicit Context.Context<never>. It returns structural snapshots rather than MetricPair values."
100effect/Metric#withNow:
101 replacement: "Metric.summary"
102 note: "Metric.summary reads the current Clock automatically; use Metric.summaryWithTimestamp when timestamps are supplied explicitly. The generic timestamp-injecting combinator was removed."
103effect/Metric#zip:
104 replacement: "Effect.all + Metric.update / Metric.value"
105 note: "Composite metrics were removed. Use Effect.all to update both metrics or combine their Metric.value reads."