Skip to content
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

Race condition at order of MeterRegistryConfigurer(s) being applied #417

Open
roehrijn opened this issue Jun 30, 2022 · 4 comments
Open

Comments

@roehrijn
Copy link

roehrijn commented Jun 30, 2022

Expected Behavior

In the case I configure micronaut.metrics.tags.* I expect those tags being added to every Micrometer meter being created.

Actual Behaviour

In some cases the meters created by io.micronaut.configuration.metrics.aggregator.CompositeMeterRegistryConfigurer#addBinders are not having those common tags. This is because the execution order of io.micronaut.configuration.metrics.aggregator.CompositeMeterRegistryConfigurer and io.micronaut.configuration.metrics.common.tags.CommonTagsConfigurer is not defined. In case io.micronaut.configuration.metrics.micrometer.MeterRegistryFactory#compositeMeterRegistry executes CompositeMeterRegistryConfigurer before CommonTagsConfigurer, the common tags are not yet configured but some meters have already been created.

Steps To Reproduce

Difficult to reproduce because the mentioned order of io.micronaut.configuration.metrics.aggregator.MeterRegistryConfigurer is not configurable.

Environment Information

micronaut-micrometer-core: v4.2.1
micronaut: v3.4.3

Example Application

No response

Version

3.4.3

@roehrijn
Copy link
Author

In case you guys agree that this is a problem, I would be eager to help on fixing this but I'm not sure about a good solution for this.

@roehrijn
Copy link
Author

Just as background information: I've stumbled over this issue while implementing a MeterRegistry implementation for the Prometheus Remote_Write protocol which I want to use for monitoring Java batch jobs based on Micronaut.

@capricube
Copy link

👍

@AlarkaSanyal
Copy link

We faced this issue as well while using Meter Registry Configurer. For us, however, using the Meter Filter seems to have solved the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants