Bug 2010841

Summary: container_runtime_crio_operations_latency_microseconds does not have quantile anymore
Product: OpenShift Container Platform Reporter: Sascha Grunert <sgrunert>
Component: NodeAssignee: Sascha Grunert <sgrunert>
Node sub component: CRI-O QA Contact: Weinan Liu <weinliu>
Status: CLOSED ERRATA Docs Contact:
Severity: low    
Priority: low CC: aos-bugs, nagrawal, schoudha, tsweeney
Version: 4.6   
Target Milestone: ---   
Target Release: 4.6.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: 1997926 Environment:
Last Closed: 2022-08-24 01:18:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1997926    
Bug Blocks: 2010831    

Description Sascha Grunert 2021-10-05 14:01:02 UTC
+++ This bug was initially created as a clone of Bug #1997926 +++

Description of problem:
-----------------------

Starting with 4.6 (4.7 & 4.8 too), there are no more quantile numbers anymore with container_runtime_crio_operations_latency_microseconds metric.

There are only container_runtime_crio_operations_latency_microseconds_sum and container_runtime_crio_operations_latency_microseconds_count.

There are some customers monitor these quantile metrics on 4.5. With just _sum & _count, it's not quite possible to calculate quantile info at all.


Version-Release number of selected component (if applicable):
-------------------------------------------------------------

OCP 4.6 (cri-o 1.19), 4.7 (cri-o 1.20), 4.8 (cri-o 1.21)


How reproducible:
-----------------

Always


On 4.5:
-------

The quantile info are still there...

[quicklab@upi-0 ~]$ oc version
Client Version: 4.5.41
Server Version: 4.5.41
Kubernetes Version: v1.18.3+d8ef5ad

[quicklab@upi-0 ~]$ NODEIP=$(oc get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}')
[quicklab@upi-0 ~]$ oc get --raw /metrics --server http://${NODEIP}:9537 | grep "container_runtime_crio_operations_latency"
# HELP container_runtime_crio_operations_latency_microseconds Latency in microseconds of CRI-O operations. Broken down by operation type.
# TYPE container_runtime_crio_operations_latency_microseconds summary
container_runtime_crio_operations_latency_microseconds{operation_type="Attach",quantile="0.5"} NaN
container_runtime_crio_operations_latency_microseconds{operation_type="Attach",quantile="0.9"} NaN
container_runtime_crio_operations_latency_microseconds{operation_type="Attach",quantile="0.99"} NaN
container_runtime_crio_operations_latency_microseconds_sum{operation_type="Attach"} 19510
container_runtime_crio_operations_latency_microseconds_count{operation_type="Attach"} 17
container_runtime_crio_operations_latency_microseconds{operation_type="ContainerStatus",quantile="0.5"} 32
container_runtime_crio_operations_latency_microseconds{operation_type="ContainerStatus",quantile="0.9"} 54
container_runtime_crio_operations_latency_microseconds{operation_type="ContainerStatus",quantile="0.99"} 92
.
.
.


On 4.8 (same for 4.6, 4.7):
---------------------------

There are no quantile info but just _total_sum & _total_count metrics...

[quicklab@upi-0 ~]$ oc version
Client Version: 4.8.5
Server Version: 4.8.5
Kubernetes Version: v1.21.1+9807387

[quicklab@upi-0 ~]$ NODEIP=$(oc get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}')
[quicklab@upi-0 ~]$ oc get --raw /metrics --server http://${NODEIP}:9537 | grep "container_runtime_crio_operations_latency" | grep -c quantile
0


Expected results:
-----------------

Quantile numbers should be provided like 4.5.

--- Additional comment from Peter Hunt on 2021-08-26 14:27:44 UTC ---

Sascha can you PTAL

--- Additional comment from Sascha Grunert on 2021-08-27 09:32:43 UTC ---

Confirmed, fix is incoming in https://github.com/cri-o/cri-o/pull/5258. I'll backport the fix if merged.

--- Additional comment from Sascha Grunert on 2021-08-30 07:49:00 UTC ---

Upstream PR merged, cherry-picking now.

Comment 1 Tom Sweeney 2022-01-06 16:24:14 UTC
Not completed this sprint.

Comment 2 Sascha Grunert 2022-02-17 08:20:05 UTC
Upstream PR got merged.

Comment 4 Weinan Liu 2022-02-24 09:02:39 UTC
4.6.0-0.nightly-2022-02-24-010707 	Failed
Last build 4.6.0-0.nightly-2022-02-18-104035 does not have the fix 
Waiting for the next build to test

Comment 5 Weinan Liu 2022-02-25 06:49:51 UTC
Name 	Phase 	Started 	Failures 	Upgrades
4.6.0-0.nightly-2022-02-24-183332 	Failed 	11 hours ago 			
4.6.0-0.nightly-2022-02-24-142816 	Failed 	15 hours ago 			
4.6.0-0.nightly-2022-02-24-010707 	Failed 	28 hours ago

Sitll no Accpeted build

Comment 6 Weinan Liu 2022-02-28 01:14:59 UTC
Name 	Phase 	Started 	Failures 	Upgrades
4.6.0-0.nightly-2022-02-24-183332 	Failed 	3 days ago 			
4.6.0-0.nightly-2022-02-24-142816 	Failed 	3 days ago 			
4.6.0-0.nightly-2022-02-24-010707 	Failed 	4 days ago 			
Sitll no Accpeted build

Comment 7 Weinan Liu 2022-03-02 06:08:45 UTC
Fixed.
sh-4.4# NODEIP=$(oc get nodes -o jsonpath='{.items[0].status.addresses[?(@.type=="InternalIP")].address}')
sh-4.4# oc get --raw /metrics --server http://${NODEIP}:9537 | grep "container_runtime_crio_operations_latency" |grep -c quantile
63
sh-4.4#
version   4.6.0-0.nightly-2022-03-02-005523   True        False         15m     Cluster version is 4.6.0-0.nightly-2022-03-02-005523

Comment 11 Scott Dodson 2022-08-24 01:18:07 UTC
This was fixed in 4.6.56 however the errata automation failed to close it at the time.