quarkus-micrometer-registry
quarkus-micrometer-registry copied to clipboard
Configure StackdriverRegistry with with resource labels to support non global resource-types
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?
Would be nice to have a Quarkus equivalent to this PR from Spring
https://github.com/spring-projects/spring-boot/pull/26961
[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.
I would welcome a PR ...