-
Notifications
You must be signed in to change notification settings - Fork 40.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wavefront MeterRegistryCustomizer is not applying application tags from application.properties #33244
Comments
I forked the Observability for Boot 3.0 blog post to reproduce this issue: https://github.com/oppegard/observability-boot-blog-post. Both the client and server If you check the metric If an ApplicationTags bean is created via code in |
This issue actually highlighted that |
@philwebb The fix pushed at fb5cdbd has the unintended consequence of always instantiating an |
Also, I think it makes more sense for the properties to live on |
That worries me a bit from an upgrade perspective, although I'm not sufficiently knowledgable about Wavefront to know what the impact may be. If a user's already using Wavefront for metrics and they want to start using it for tracing as well, what would be the impact of the tags changing on their metrics just because they've started to use tracing? Could it break existing dashboards? |
When I was searching for usages I found one in It does feel a little odd that setting up |
We've viewed the We have existing out-of-the-box dashboards in Wavefront that will only function when spans and metrics having matching The tags are used for things like displaying JVM info for a service, as well as RED metrics: https://docs.wavefront.com/tracing_basics.html#examine-application-red-metrics-using-service-dashboard |
Let me see if I can summarize to make sure we understand things correctly: With When the It looks like tags are also required if JVM metrics are being exported. They are also needed for the It looks to me like It feels like Spring Boot 3.0 is doing something pretty similar. We're creating the I wonder if we should move the properties we've added under AFAICT the |
I was mistaken about Existing metrics-only users were already enabled via Actuator, and no I still feel that a default Metrics-only users will likely be annoyed with default tags of |
What's the reason that |
@philwebb you can close this issue. After taking a close look at Wavefront's Spring Boot dashboard and its source code, it only works if the required ApplicationTags of "application" and "service" are included on metrics. We're good to go with what you commited yesterday: fb5cdbd. Sorry for the confusion! |
Oh cool. Actually, I might refine the properties and move them under |
…o v3 This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [nu.ndw.nls.geometry:nls-geometry](https://spring.io/projects/spring-boot) ([source](https://github.com/spring-projects/spring-boot)) | compile | major | `2.2.0` -> `3.0.0` | --- ### Release Notes <details> <summary>spring-projects/spring-boot (nu.ndw.nls.geometry:nls-geometry)</summary> ### [`v3.0.0`](https://github.com/spring-projects/spring-boot/releases/tag/v3.0.0) [Compare Source](spring-projects/spring-boot@v2.2.1.RELEASE...v3.0.0) See the [Release notes for 3.0](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes) for upgrade instructions and details of new features. #### ⭐ New Features - Provide a configuration property for the observation patterns of Spring Integration components [#​33099](spring-projects/spring-boot#33099) #### 🐞 Bug Fixes - io.micrometer.tracing.Tracer on the classpath breaks AOT processing for tests [#​33298](spring-projects/spring-boot#33298) - Tracer library HTTP instrumentation is auto-configured unnecessarily [#​33287](spring-projects/spring-boot#33287) - Auto-configuration ignores user-provided ObservationConventions [#​33285](spring-projects/spring-boot#33285) - `ScheduledBeanLazyInitializationExcludeFilter` is auto-configured even when annotation-based scheduled has not been enabled [#​33284](spring-projects/spring-boot#33284) - SpringBootContextLoader prints banner twice when using a `@ContextHierarchy` [#​33263](spring-projects/spring-boot#33263) - Properties migrator causes an application to fail to start if it tries to map a property whose metadata data entry contains an invalid configuration property name [#​33250](spring-projects/spring-boot#33250) - Wavefront MeterRegistryCustomizer is not applying application tags from application.properties [#​33244](spring-projects/spring-boot#33244) - Actuator responses no longer format timestamps as ISO-8601 [#​33236](spring-projects/spring-boot#33236) - Configuration property is not bound in a native image when property has get, set, and is methods [#​33232](spring-projects/spring-boot#33232) - Configuration property binding does not deal with bridge methods [#​33212](spring-projects/spring-boot#33212) - Contribute missing resource hints for GraphQL schema files and GraphiQL HTML page [#​33208](spring-projects/spring-boot#33208) - Hints for ClientHttpRequestFactory should only be generated for matching methods [#​33203](spring-projects/spring-boot#33203) -...
…o v3 This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [nu.ndw.nls.geometry:nls-geometry](https://spring.io/projects/spring-boot) ([source](https://github.com/spring-projects/spring-boot)) | compile | major | `2.1.4` -> `3.0.0` | --- ### Release Notes <details> <summary>spring-projects/spring-boot (nu.ndw.nls.geometry:nls-geometry)</summary> ### [`v3.0.0`](https://github.com/spring-projects/spring-boot/releases/tag/v3.0.0) [Compare Source](spring-projects/spring-boot@v2.2.1.RELEASE...v3.0.0) See the [Release notes for 3.0](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Release-Notes) for upgrade instructions and details of new features. #### ⭐ New Features - Provide a configuration property for the observation patterns of Spring Integration components [#​33099](spring-projects/spring-boot#33099) #### 🐞 Bug Fixes - io.micrometer.tracing.Tracer on the classpath breaks AOT processing for tests [#​33298](spring-projects/spring-boot#33298) - Tracer library HTTP instrumentation is auto-configured unnecessarily [#​33287](spring-projects/spring-boot#33287) - Auto-configuration ignores user-provided ObservationConventions [#​33285](spring-projects/spring-boot#33285) - `ScheduledBeanLazyInitializationExcludeFilter` is auto-configured even when annotation-based scheduled has not been enabled [#​33284](spring-projects/spring-boot#33284) - SpringBootContextLoader prints banner twice when using a `@ContextHierarchy` [#​33263](spring-projects/spring-boot#33263) - Properties migrator causes an application to fail to start if it tries to map a property whose metadata data entry contains an invalid configuration property name [#​33250](spring-projects/spring-boot#33250) - Wavefront MeterRegistryCustomizer is not applying application tags from application.properties [#​33244](spring-projects/spring-boot#33244) - Actuator responses no longer format timestamps as ISO-8601 [#​33236](spring-projects/spring-boot#33236) - Configuration property is not bound in a native image when property has get, set, and is methods [#​33232](spring-projects/spring-boot#33232) - Configuration property binding does not deal with bridge methods [#​33212](spring-projects/spring-boot#33212) - Contribute missing resource hints for GraphQL schema files and GraphiQL HTML page [#​33208](spring-projects/spring-boot#33208) - Hints for ClientHttpRequestFactory should only be generated for matching methods [#​33203](spring-projects/spring-boot#33203) -...
See #32844
The MeterRegistryCustomizer isn't getting created when the dependent ApplicationTags bean is instantiated from a properties file.
It works if an
ApplicationTags
bean is created via code.This is probably an ordering issue, where
WavefrontTracingAutoConfiguration
runs afterWavefrontMetricsAutoConfiguration
.The text was updated successfully, but these errors were encountered: