[MAGNOLIA-8093] Provide managed MeterRegistry from Magnolia Core Created: 12/May/21  Updated: 30/Nov/21  Resolved: 27/May/21

Status: Closed
Project: Magnolia
Component/s: None
Affects Version/s: None
Fix Version/s: 6.3.0

Type: Task Priority: Neutral
Reporter: Mikaël Geljić Assignee: Mikaël Geljić
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates
supersession
Template:
Acceptance criteria:
[X]* MeterRegistry, e.g. start with one registry for all metrics
[X]* New metrics can be implemented in a generic way (e.g. for DB, cache)
[X]* Check out OpenTelemetry metrics (beta) for curiosity and future plans, but Micrometer should be good to go for now.
Task DoR:
Empty
Epic Link: Metrics Scraping
Sprint: Cloud Service 9
Story Points: 5

 Description   

Provide a managed Micrometer MeterRegistry implementation from Magnolia Core at runtime, so that modules exporting metrics don't have to.

  • First implementation may be only a plain JmxMeterRegistry, with additional configuration coming up later (e.g. making it a composite, and/or configure for prometheus or datadog).
  • No need for the AOP-style instrumentation quite yet, will depend on use cases

Implementation notes

See also description and ACs contributed by agarcia and mgeljic on CLOUD-161 (kept only a subset here), as well as parent Epic & Initiative for the end-to-end story.

  • 1 MeterRegistry per metric category or 1 MeterRegistry for the whole Magnolia runtime (in the end all metrics are scraped in one go)
  • or e.g. split business vs. performance vs. resource usage vs. uptime MeterRegistries to facilitate internal troubleshooting, avoiding one god object, etc.
  • Inject MeterRegistry vs. let registry discover meters/gauges/timers implementations
  • consider CompositeMeterRegistry, could be used by JMX collector and send to exporter

Exact metrics we want to collect for Magnolia side will be subject of follow-up stories/tasks, e.g. success/error responses, request processing time, definition problems.


Generated at Mon Feb 12 04:29:35 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.