Add support for Prometheus metrics
What does this PR do?
Add support for collecting metrics from Couchbase's Prometheus endpoint as an alternative to the legacy REST API.
The Prometheus endpoint exposes significantly more comprehensive metrics than the legacy REST API: the total metric count increases from ~400 to ~1,900.
End users will get greatly improved insight into the performance of their Couchbase clusters.
Motivation
The legacy REST metrics are too limited for running production-critical workloads on Couchbase. To troubleshoot complex issues, operators often have to use the Couchbase admin UI to access metrics that provide useful diagnostic insight. Users with access to Couchbase Support are familiar with the pattern: troubleshooting an issue, collecting cluster logs, uploading to Couchbase Support, and having Support recreate various metrics that pinpoint the problem. Those diagnostic metrics are rarely available through the legacy REST endpoint.
By enabling the comprehensive Prometheus metrics in Datadog, operators gain cluster visibility comparable to that of Couchbase Support, significantly reducing troubleshooting time and effort.
The metric count increase provides Datadog users with a substantially more useful integration.
Review checklist (to be filled by reviewers)
- [ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
- [ ] Add the
qa/skip-qalabel if the PR doesn't need to be tested during QA. - [ ] If you need to backport this PR to another branch, you can add the
backport/<branch-name>label to the PR and it will automatically open a backport PR once this one is merged
Codecov Report
:x: Patch coverage is 76.98413% with 29 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 89.00%. Comparing base (8653d93) to head (f804962).
:warning: Report is 1 commits behind head on master.
Additional details and impacted files
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
Is there anything I can do to help this one along?
Let me know if you have any tips for me. CC @AAraKKe
Hi @sveniu, I'm in @AAraKKe's team! Thank you very much for the PR! We're looking at it!