OpenLiberty / open-liberty

Open Liberty is a highly composable, fast to start, dynamic application server runtime environment
https://openliberty.io
Eclipse Public License 2.0
1.16k stars 599 forks source link

LG-301: Add Liberty requestTiming metrics to /metrics #15781

Closed donbourne closed 3 years ago

donbourne commented 3 years ago

Add existing metrics from requestTiming MXBean to mpMetrics feature so they are exposed via /metrics

See list of metrics here: https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/rwlp_mon_request.html

Post edit: The feature LG-301 introduces a new functionality for the existing mpMetrics-2.x and mpMetricx-3.x by adding new vendor metrics that gather data from the request timing monitor Mbean. These include the total request count, the current active requests, a slow request count and hung request count. This is the new functionality we are introducing and will be beta-ed for 21.0.0.6 beta and will be GA-ed for 21.0.0.6 It is currently beta-fenced.

However, to accomplish this the request timing monitor bundles and it's related auto-feature had to be moved from WS-CD to Open Liberty. This also includes the MBean API. The feature in question com.ibm.websphere.appserver.autoTimingMonitor-1.0.feature is already GA-ed in WS-CD and when moved over to Open Liberty will also be in the GA state. This will be included in the shipment with 21.0.0.5.

In Summary:

As a result, this feature is labelled with target:21005 and target:21006-beta where the new functionality is in beta. However, approvals are still being seaked for 21.0.0.5.

Before proceeding to any items below (active development), this feature must be prioritized on the backlog, and have either the "Design Approved" or "No Design Approved" labels. Follow the Feature and UFO Approval Process.


When complete & mandatory, add links to the UFO (Upcoming Feature Overview) document, FTS (Feature Test Summary), and blogs post issues(s):

Instructions:

Design

Before Development Starts or 8 weeks before Onboarding

Beta

If your feature, or portions of it, are going to be included in a beta
Before Onboarding the beta

1 week before beta GA

Legal

3 weeks before Onboarding

Translation

3 weeks before Onboarding

Feature Complete

2 weeks before Onboarding

Focal Point Approvals

2 to 1 week before Onboarding

You MUST have the Design Approved or No Design Approved label before requesting focal point approvals.

All features (both "Design Approved" and "No Design Approved")

"Design Approved" features

Ready for GA

1 week before Onboarding

1 week before GA

Other deliverbles

Channyboy commented 3 years ago

Request Timing monitor bundle/features have been moved over from WS-CD.

The "new" functionality that adds the request timing monitor metrics to mpMetrics-2.x and mpMetrix-3.x is beta fenced with: Beta Fenced with : https://github.com/OpenLiberty/open-liberty/pull/16623

Channyboy commented 3 years ago

Feature Test summary at : https://github.com/OpenLiberty/open-liberty/issues/16709

Channyboy commented 3 years ago

^ @OpenLiberty/fat-approvers

Channyboy commented 3 years ago

@samwatibm I'd like to request a globalization request for this epic. The request for globalization was requested last week and am awaiting return on the shipment.

Channyboy commented 3 years ago

The feature LG-301 introduces a new functionality for the existing mpMetrics-2.x and mpMetricx-3.x by adding new vendor metrics that gather data from the request timing monitor Mbean. These include the total request count, the current active requests, a slow request count and hung request count. This is the new functionality we are introducing and will be beta-ed for 21.0.0.6 beta and will be GA-ed for 21.0.0.6 It is currently beta-fenced.

However, to accomplish this the request timing monitor bundles and it's related auto-feature had to be moved from WS-CD to Open Liberty. This also includes the MBean API. The feature in question com.ibm.websphere.appserver.autoTimingMonitor-1.0.feature is already GA-ed in WS-CD and when moved over to Open Liberty will also be in the GA state. This will be included in the shipment with 21.0.0.5.

In Summary:

As a result, this feature is labelled with target:21005 and target:21006-beta where the new functionality is in beta. However, approvals are still being seaked for 21.0.0.5.

Fyi: @NottyCode @tevans78 @mbcapobia If this is not right approval process for this situation, please advise.

samwatibm commented 3 years ago

@Channyboy Sorry but if translations were requested last week, the 21.0.0.5 translations aren't back yet. Approvals aren't granted until the translations are back.

donbourne commented 3 years ago

The globalization relates to the beta portion of this epic -- so I think technically we don't need that approved until 21.0.0.6 GA timeframe.

The key thing for right now is to ensure @NottyCode and @tevans78 are ok with the move of the request timing monitor bundle/feature/api to OL, which won't be beta-guarded and will go straight to GA (since it's hard to beta-guard open-sourcing a feature).

Channyboy commented 3 years ago

@samwatibm
Translation have been returned here https://github.com/OpenLiberty/open-liberty/pull/16792

samwatibm commented 3 years ago

Waiting for translations to be merged. They are now

donbourne commented 3 years ago

@Channyboy , can we do a beta blog to announce the coming new "prometheus" metrics for requestTiming?

Channyboy commented 3 years ago

egaed with 21006