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

Add a Micrometer extension #11073

Merged
merged 5 commits into from Sep 1, 2020
Merged

Add a Micrometer extension #11073

merged 5 commits into from Sep 1, 2020

Conversation

ebullient
Copy link
Contributor

Introduce micrometer extension to provide support for micrometer metrics. Acts as an alternative to the smallrye metrics extension. Each extension provides a MetricsCapabilityBuildItem, which is a SimpleBuildItem; a project's build will fail with a message if both are enabled.

@boring-cyborg boring-cyborg bot added area/dependencies Pull requests that update a dependency file area/hibernate-orm Hibernate ORM area/jaeger labels Jul 30, 2020
@gsmet gsmet added this to the 1.8.0 milestone Jul 30, 2020
Copy link
Member

@kenfinnigan kenfinnigan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall it looks great, just a few minor comments

----

This command generates a Maven project, that imports the `micrometer` extension and the micrometer
prometheus registry as dependencies.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this add the prometheus registry dependency automatically? I thought it would just be the micrometer extension only and the prometheus registry needs to be manually added?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if you sure this comment @ebullient?

@kenfinnigan
Copy link
Member

Other than the one comment on the guide, I think it's good from my side.

Next week we should move it out of draft status to have a chance of making 1.8 release

Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't looked at the code in detail but spotted a few issues.

Could you take care of them?

extensions/micrometer/runtime/pom.xml Outdated Show resolved Hide resolved
extensions/micrometer/runtime/pom.xml Outdated Show resolved Hide resolved
extensions/micrometer/runtime/pom.xml Show resolved Hide resolved
extensions/micrometer/runtime/pom.xml Show resolved Hide resolved
@gsmet
Copy link
Member

gsmet commented Aug 27, 2020

CR1 will be released on September 2nd so if you plan to get this one, it needs to be merged by September 1st.

@ebullient
Copy link
Contributor Author

Could you take care of them?

Building now. Thanks, @gsmet! =)

@gsmet
Copy link
Member

gsmet commented Aug 27, 2020

It will also need a rebase.

@ebullient ebullient marked this pull request as ready for review August 28, 2020 05:52
@ebullient
Copy link
Contributor Author

It will also need a rebase.

Naturally.

The documentation step failed with this:

2020-08-28T04:53:31.1411300Z [ERROR] Failed to execute goal on project quarkus-integration-test-mongodb-panache: Could not resolve dependencies for project io.quarkus:quarkus-integration-test-mongodb-panache:jar:999-SNAPSHOT: The following artifacts could not be resolved: io.quarkus:quarkus-micrometer:jar:999-SNAPSHOT, io.quarkus:quarkus-micrometer-deployment:pom:999-SNAPSHOT: Could not find artifact io.quarkus:quarkus-micrometer:jar:999-SNAPSHOT -> [Help 1]
2020-08-28T04:53:31.1411694Z [ERROR] 
2020-08-28T04:53:31.1412083Z [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
2020-08-28T04:53:31.1412453Z [ERROR] Re-run Maven using the -X switch to enable full debug logging.
2020-08-28T04:53:31.1412709Z [ERROR] 
2020-08-28T04:53:31.1412879Z [ERROR] For more information about the errors and possible solutions, please read the following articles:
2020-08-28T04:53:31.1413194Z [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
2020-08-28T04:53:31.1413444Z [ERROR] 
2020-08-28T04:53:31.1413602Z [ERROR] After correcting the problems, you can resume the build with the command
2020-08-28T04:53:31.1414018Z [ERROR]   mvn <args> -rf :quarkus-integration-test-mongodb-panache
2020-08-28T04:53:33.0350879Z ##[error]Process completed with exit code 1.

I am pretty sure the dependencies for the integration test are correct, but I wonder if the Documentation CI step is missing something?

@gsmet
Copy link
Member

gsmet commented Aug 28, 2020

Question: is there any native tests? I don't see any addition of a module to ci-actions.yml so if there are any, they aren't run on CI.

@ebullient
Copy link
Contributor Author

Question: is there any native tests? I don't see any addition of a module to ci-actions.yml so if there are any, they aren't run on CI.

Right. There are native tests (nothing fancy) that I was running in my own repo.. I forgot about the bucket definitions in ci-actions.yml. Should I add them to one of the existing categories? Make a new one?

@gsmet
Copy link
Member

gsmet commented Aug 28, 2020

I would add them together with metrics and add a 5 minutes more to the timeout.

Also better rebase to get the latest CI fixes.

@boring-cyborg boring-cyborg bot added the area/infra-automation anything related to CI, bots, etc. that are used to automated our infrastructure label Aug 28, 2020
@ebullient
Copy link
Contributor Author

I would add them together with metrics and add a 5 minutes more to the timeout.

Also better rebase to get the latest CI fixes.

Rebased. smallrye-metrics doesn't have dedicated integration tests (micrometer does to account for different backends). I added two of them to one of the misc buckets. Can change it if you want.

@ebullient ebullient changed the title micrometer extension (draft / for 1.8) micrometer extension Aug 28, 2020
@ebullient
Copy link
Contributor Author

There are two classloading problems in the non-micrometer-integration-tests running in native mode that were touched to use the micrometer extension instead of mp-metrics. I'm working on it.

@gsmet
Copy link
Member

gsmet commented Aug 31, 2020

There are issues in the doc:

2020-08-31T03:11:25.2708106Z [INFO] asciidoctor: ERROR: ed/config/quarkus-micrometer.adoc: line 173: table missing leading separator; recovering automatically
2020-08-31T03:11:25.2801064Z [INFO] asciidoctor: ERROR: ed/config/quarkus-micrometer.adoc: line 228: table missing leading separator; recovering automatically
2020-08-31T03:11:25.3504994Z [INFO] Converted /home/runner/work/quarkus/quarkus/docs/src/main/asciidoc/micrometer-metrics.adoc
2020-08-31T03:11:25.3591888Z [ERROR] asciidoctor: ERROR: ed/config/quarkus-micrometer.adoc: line 173: table missing leading separator; recovering automatically
2020-08-31T03:11:25.3603054Z [ERROR] asciidoctor: ERROR: ed/config/quarkus-micrometer.adoc: line 228: table missing leading separator; recovering automatically

Please make a visual pass locally on the rendered output of the documentation when you're adding a significant piece of doc.

@ebullient
Copy link
Contributor Author

ebullient commented Aug 31, 2020

There are issues in the doc:

2020-08-31T03:11:25.2708106Z [INFO] asciidoctor: ERROR: ed/config/quarkus-micrometer.adoc: line 173: table missing leading separator; recovering automatically
2020-08-31T03:11:25.2801064Z [INFO] asciidoctor: ERROR: ed/config/quarkus-micrometer.adoc: line 228: table missing leading separator; recovering automatically
2020-08-31T03:11:25.3504994Z [INFO] Converted /home/runner/work/quarkus/quarkus/docs/src/main/asciidoc/micrometer-metrics.adoc
2020-08-31T03:11:25.3591888Z [ERROR] asciidoctor: ERROR: ed/config/quarkus-micrometer.adoc: line 173: table missing leading separator; recovering automatically
2020-08-31T03:11:25.3603054Z [ERROR] asciidoctor: ERROR: ed/config/quarkus-micrometer.adoc: line 228: table missing leading separator; recovering automatically

Please make a visual pass locally on the rendered output of the documentation when you're adding a significant piece of doc.

Yep. I saw that. I'm trying to sort that out. I have something locally (I needed to sleep ;) )

FWIW, I did check the docs in my other repo, but the behavior is a bit different when the contents are nested in a larger doc, and that's what is tripping it up (nested table). If I can't get it sorted, I'll ditch the table and go back to a list.

Copy link
Member

@kenfinnigan kenfinnigan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor comment on the doc related to what dependencies get added

----

This command generates a Maven project, that imports the `micrometer` extension and the micrometer
prometheus registry as dependencies.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if you sure this comment @ebullient?

@ebullient
Copy link
Contributor Author

All set, I think. =)

@gsmet
Copy link
Member

gsmet commented Sep 1, 2020

OK, let's get this one merged. Thanks @ebullient !

@gsmet gsmet merged commit 8980acd into quarkusio:master Sep 1, 2020
@gsmet gsmet changed the title micrometer extension Add a Micrometer extension Sep 1, 2020
@ebullient ebullient deleted the micrometer branch September 17, 2020 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/core area/dependencies Pull requests that update a dependency file area/documentation area/hibernate-orm Hibernate ORM area/infinispan Infinispan area/infra-automation anything related to CI, bots, etc. that are used to automated our infrastructure area/jaeger area/jaxb area/kafka release/noteworthy-feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants