| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Export function timer count and total-time changes as independent positive counter deltas while preserving reset and invalid-value semantics. Keep timer aggregation correct across instances by avoiding synthetic means and distributions that Micrometer's cumulative values cannot represent. Co-Authored-By: Claude <noreply@anthropic.com>
|
Sorry, something went wrong.
📲 Install BuildsAndroid
|
Sorry, something went wrong.
# Conflicts: # sentry-micrometer/src/main/java/io/sentry/micrometer/SentryMeterRegistry.java
Poll count and total time independently so one callback failure does not suppress the other stream. Rethrow fatal callback failures before logging recoverable failures. Co-Authored-By: Claude <noreply@anthropic.com>
Explain that FunctionTimer exposes cumulative count and total time rather than individual duration observations. Remove the unsafe weighted-mean guidance because independently reset streams may cover different observation windows. Co-Authored-By: Claude <noreply@anthropic.com>
Carry active meter removal handling forward and use the shared removal lifecycle for function timers. Co-Authored-By: Claude <noreply@anthropic.com>
| Back | FazBrowse Home | New Git URL |
PR Stack (Micrometer)
📜 Description
Add passive polling for Micrometer FunctionTimer meters.
Each function timer emits positive changes in its cumulative count and total time as <name>.count and <name>.total_time Sentry counters. The implementation establishes an initial baseline, handles source resets, skips invalid values, and resets its state when the meter is removed.
💡 Motivation and Context
Micrometer function timers expose cumulative count and total-time callbacks. Those values cannot reconstruct the original observations needed for a Sentry distribution or a meaningful per-instance mean, so this PR preserves their representable semantics as independent counter deltas.
Keeping this mapping separate makes the semantic tradeoff explicit and reviewable.
💚 How did you test it?
Tests cover baselines, positive deltas, count-only and time-only changes, resets, non-finite and negative values, meter removal, units, tags, and callback failures.
📝 Checklist
🔮 Next steps
Add opt-in Spring Boot 2, 3, and 4 integration in the final stack PR.
#skip-changelog