[receiver/sqlserver] Properly scrape DB when metrics are enabled #34065
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
The bug here is in the
setupQueries
method. The goal is to only scrape a SQL Server instance if metrics gathered from that scrape are enabled. However, for the performance counter query, I found that some metrics weren't properly checked. This means that ifsqlserver.lock.wait.rate
is disabled, none of the other metrics will be scraped, even if they're enabled. This resolves the issue so that all metrics being gathered from this query can trigger this scrape.To confirm all required metrics are checked here, view this method to see which metrics are being scraped using the perf counter query.
Testing:
Updated tests, double checked manually to ensure all metrics are properly being scraped.
Documentation: