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

Update mpMetrics guide for mpMetrics-2.0 #224

Closed
donbourne opened this issue Jan 30, 2019 · 25 comments
Closed

Update mpMetrics guide for mpMetrics-2.0 #224

donbourne opened this issue Jan 30, 2019 · 25 comments
Assignees
Labels
dev content reviewed the content of the guide has been reviewed by committer enhancement final content reviewed final content review before publishing peer reviewed the guide has been peer reviewed signed off the guide can proceed to publishing SME reviewed the guide has been reviewed by SME static

Comments

@donbourne
Copy link
Member

Once we have mpMetrics-2.0 support in OL, we need to update the OL guide for metrics to leverage that feature. mpMetrics-2.0 adds multi-dimensional metrics, which is quite transformational in the way people can use metrics, and should be covered in the guide.

@yeekangc
Copy link
Member

yeekangc commented Apr 15, 2019

There is also the need to update the guide to cover new metrics that have since been made available:

As well as what @andymc12 and team will be enabling for JAX-RS.

@evelinec
Copy link
Contributor

evelinec commented Sep 20, 2019

After studying the new features/changes in mpMetrics-2.0, the following proposals can be considered for the relevant guides:

  1. Apply changes and updates on the existing metrics guide. These are needed if the guide is using the mpMetrics-2.0 feature, otherwise the descriptions/usages are out of date.
  • Update the @Timed annotation to track the durations of the annotated method
  • Add the @Metered annotation to track the frequency of the annotated method
  • May add an explanation on the @Counted annotation about it's only monotonic (counting increments)
  • Other things may be good to have:
  1. The multi-dimensional metrics behaviour using metric tags can be a new guide.

  2. The @ConcurrentGauge annotation needs a new scenario to demonstrate its usage, thus also suggest to be shown in a new guide. Can be combined with 2 above.

  3. Metrics for Fault Tolerance topic is good to be on a new guide. But it's possible to be added to existing @Fallback guide.

@donbourne
Copy link
Member Author

@evelinec , will people learning mpMetrics be expected to use the existing guide and the new guide? Also, will the existing guide be modified so that it's clear what has changed since mpMetrics-1.x?

@yeekangc
Copy link
Member

yeekangc commented Sep 23, 2019

I believe these would largely be updates to the existing guide, @donbourne. We will show the latest and what we recommend.

For new guide(s), we can look and discuss focus and scope first before we proceed further. +1 that if we have new guides, they need to work together with existing one(s) or build on top of one another.

If information on what's changed/different between 1.x and 2.0, that can go into documentation. https://github.com/OpenLiberty/docs/

We would be open to PRs and suggestions from the team. Tagging @Channyboy too.

@evelinec
Copy link
Contributor

The existing metrics guide is an introductory to MP metrics guide. It uses the @Timed, @Counted and @Gauged annotations since the mpMetrics 1.1. As the new mpMetrics 2.x had changes in some of these annotations, we need to update this guide with those, thus I proposed point number 1.

The other new features in mpMetrics 2.x, ie, multi-dimensional metrics behaviour, and the @ConcurrentGauge annotation, require redesign of the scenario in the current guide. IMO, they may be good for new guide topics. @donbourne @Channyboy Let us know what you think.

Like @yeekangc said, if we have new guides, they will work together with existing one(s) or build on top of one another.

@donbourne
Copy link
Member Author

donbourne commented Sep 24, 2019

It's key that if we have a new guide that we update the old one as well to call out cases where things are different between 1.x and 2.x. As long as we keep that in mind, I'm not too opinionated on whether the new content should go in a new guide or whether the old guide should just be reworked to include all of this content.

@yeekangc
Copy link
Member

yeekangc commented Sep 24, 2019

I think we are on the same page on whether it should be updates to existing guide and/or if a new guide should be introduced for more advanced capabilities.

As for the differences between 1.x and 2.x, they should be captured in documentation for Open Liberty if it is needed. I think https://openliberty.io/docs/ref/general/#metrics-catalog.html does this already? And, the team can expand on that if necessary?

The guides do not take the place of what we need to capture in documentation. And, they aren't meant to cover every single detail. Calling out the differences between spec versions shouldn't be a focus for the guides. Moreover, it can make the guides confusing and the learning experience less than ideal particularly for new users.

If the team would like to contribute a guide on moving from 1.x to 2.x for MP Metrics, that is a different story and can be further discussed.

Tagging @lauracowen since we mentioned documentation too.

@lauracowen
Copy link
Member

As well as the Metrics catalog (which gives both versions of names), we have https://openliberty.io/blog/2019/07/24/microprofile-metrics-migration.html

@evelinec
Copy link
Contributor

evelinec commented Sep 30, 2019

  • PR was created with most of the changes (detail description to be added later)
  • still deciding on the mutil-dimension tags
  • metrics is added to the FT guide, PR was created, pending review

@lauracowen
Copy link
Member

I should've added - can the metrics guide link (where appropriate) to the two metrics docs topics?

@gkwan-ibm
Copy link
Member

  • FT guide is ready to review
  • working on the metrics guide

@evelinec
Copy link
Contributor

evelinec commented Oct 2, 2019

Summary of actual changes:

Updates on the Metrics guide:

  • added Liberty vendor metrics
  • updated @Countered annotation description to be counting monotonically upwards
  • updated metric outputs where the formats are different, ie, @gauged, @counted and some base metric outputs
  • added tags for the @Timed annotation to demonstrate multi-dimension metrics
  • PR: Mp metrics2x guide-microprofile-metrics#84

Updates on the Fallback guide:

@gkwan-ibm
Copy link
Member

  • Danny will do the peer review

@gkwan-ibm gkwan-ibm added the dev content reviewed the content of the guide has been reviewed by committer label Oct 4, 2019
@yeekangc
Copy link
Member

yeekangc commented Oct 4, 2019

Did we add the links to the metrics docs as Laura suggested?

Looking at https://github.com/OpenLiberty/guide-microprofile-metrics/tree/mpMetrics2x, I see a link to a KC article on vendor metrics. We should link to what's on openliberty.io.

We can double check with Don and team on what's best. I see https://openliberty.io/docs/ref/general/#microservice_observability_metrics.html and https://openliberty.io/docs/ref/general/#metrics-catalog.html on the site today.

Thank you.

@gkwan-ibm
Copy link
Member

  • peer review in progress

@evelinec
Copy link
Contributor

evelinec commented Oct 7, 2019

Updated the annotation more info link to point to the Java doc link: OpenLiberty/guide-microprofile-metrics@ae33b34.

The link to the KC was added for the Liberty vendor metrics. Perhaps this doc is not available on ol.io yet?

If you have suggestions on where to add the 2 doc links, https://openliberty.io/docs/ref/general/#microservice_observability_metrics.html and https://openliberty.io/docs/ref/general/#metrics-catalog.html, let us know.

@evelinec
Copy link
Contributor

evelinec commented Oct 7, 2019

As noted earlier, the PR for this task is OpenLiberty/guide-microprofile-metrics#84. @Channyboy and @donbourne can you help SME review? Thank you.

@gkwan-ibm gkwan-ibm added the peer reviewed the guide has been peer reviewed label Oct 8, 2019
@gkwan-ibm
Copy link
Member

  • SME review in progress

@Charlotte-Holt
Copy link

Hi, @evelinec - Wanted to add a little input because I worked on some of the metrics topics in OL. I added suggestions to link out to https://openliberty.io/docs/ref/general/#metrics-catalog.html on OpenLiberty/guide-microprofile-metrics#84 and OpenLiberty/guide-microprofile-fallback#97. Let me know if you have any questions!!

@evelinec
Copy link
Contributor

@Charlotte-Holt Thank you for the suggestions. I responded on the PRs. Can you take a look? Thank you.

@Charlotte-Holt
Copy link

@evelinec - Thanks! Understood and no issue with your comment in the FT guide PR. I'll see if @donbourne thinks we should update the Metrics reference list for use in the Metrics guide.

@donbourne
Copy link
Member Author

@Charlotte-Holt / @evelinec , what's missing in the metrics reference list that we need to make it suitable for use from the metrics guide?

@gkwan-ibm gkwan-ibm added the SME reviewed the guide has been reviewed by SME label Oct 28, 2019
@yeekangc yeekangc added final content reviewed final content review before publishing signed off the guide can proceed to publishing labels Nov 1, 2019
@yeekangc
Copy link
Member

yeekangc commented Nov 1, 2019

Providing early signoff assuming no further/major issues.

@evelinec
Copy link
Contributor

The PR for this update is completed, reviewed and tested. It cannot be merged yet due to an UI bug: OpenLiberty/guide-microprofile-metrics#91.

@gkwan-ibm
Copy link
Member

The guide was published with a workaround. When OpenLiberty/guide-microprofile-metrics#91 is fixed, the workaround will be restored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev content reviewed the content of the guide has been reviewed by committer enhancement final content reviewed final content review before publishing peer reviewed the guide has been peer reviewed signed off the guide can proceed to publishing SME reviewed the guide has been reviewed by SME static
Projects
Development

No branches or pull requests

7 participants