quarkus-micrometer-registry icon indicating copy to clipboard operation
quarkus-micrometer-registry copied to clipboard

Configure StackdriverRegistry with with resource labels to support non global resource-types

Open PanielDan opened this issue 2 years ago • 3 comments

Hello,

I'm running into some problems configuring a resource-type that is not global for the quarkus-micrometer-registry-stackdriver extension.

i.g.StatusRuntimeException: INVALID_ARGUMENT: One or more TimeSeries could not be written: The set of resource labels is incomplete. Missing labels: (location namespace job task_id).: timeSeries[0]

GCP recommends using generic_task or generic_node for resource types and requires specifics labels to configured for the Monitoring API to take in these datapoint. I haven't been able to find way to configure those values in application.properties.

Seems like other devs have gotten to make this work by overriding the Micrometer StackdiverConfig during construction of the MetricsRegistry (https://github.com/micrometer-metrics/micrometer/issues/1907), but quarkus-micrometer-registry-stackdriver comes with a predefined @DefaultBean that creates the StackdiverConfig from config values. So I don't know of a way to do this without just connecting micrometer-registry-stackdriver and quarkus-micrometer myself.

Do you know of any instructions or examples you could provide to help configure this resource labels?

PanielDan avatar Nov 17 '23 18:11 PanielDan

Would be nice to have a Quarkus equivalent to this PR from Spring

https://github.com/spring-projects/spring-boot/pull/26961

PanielDan avatar Nov 18 '23 16:11 PanielDan

[Update] I got around this by disabling default registry creation, doing a custom implementation of the StackdriverConfig, and creating my own StackDriverMeterRegistry using my custom StackdriverConfig object.

PanielDan avatar Dec 19 '23 14:12 PanielDan

I would welcome a PR ...

ebullient avatar Dec 19 '23 14:12 ebullient