Enable NatssChannel control plane metrics#614
Conversation
|
Hi @marcobebway. Thanks for your PR. I'm waiting for a knative member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Harwayne
left a comment
There was a problem hiding this comment.
Looks good to me, but I'll leave it to @nachocano to LGTM.
|
/ok-to-test |
| EOF | ||
| ``` | ||
|
|
||
| - Access NatssChannel controller metrics http://localhost:9091/metrics. The metrics mentioned here https://github.com/knative/pkg/blob/master/controller/stats_reporter.go#L35-L37 ("work_queue_depth", "reconcile_count", "reconcile_latency") should be reported. |
There was a problem hiding this comment.
I think you are not using the controller stats_reporter from pkg...
The controller uses the stats_reporter from natsschannel, this one https://github.com/knative/eventing-contrib/blob/master/natss/pkg/reconciler/stats_reporter.go
So you are reporting natsschannel_ready_count and natsschannel_ready_latency...
Can you update the doc?
There was a problem hiding this comment.
We are using the controller impl in the pkg which in turn uses the stats_reporter in the pkg:
There was a problem hiding this comment.
Ohh my bad, you are right.
But check that we also create the other stats_reporter here:
which reports ready counts and latencies as well.
I think I'd rather leave this part of the documentation as:
Access NatssChannel controller metrics http://localhost:9091/metrics.
and not mention a specific line in the source code (https://github.com/knative/pkg/blob/master/controller/stats_reporter.go#L35-L37), as that might change, and the documentation will quickly become stale.
Do you agree?
There was a problem hiding this comment.
Yes, I agreed. I removed it from the markdown file.
Also, I verified that we can see the following metrics:
knative/pkg/controller/stats_reporter.go
- work_queue_depth
- reconcile_count
- reconcile_latency
knative/eventing-contrib/natss/pkg/reconciler/stats_reporter.go
- natsschannel_ready_count
- natsschannel_ready_latency
Click for more details
# HELP natsschannel_controller_natsschannel_ready_count Number of NatssChannel that became ready
# TYPE natsschannel_controller_natsschannel_ready_count counter
natsschannel_controller_natsschannel_ready_count{key="default/my-test-channel",reconciler="natss-ch-controller"} 1
natsschannel_controller_natsschannel_ready_count{key="test-natss/natss-kn2-ingress",reconciler="natss-ch-controller"} 1
natsschannel_controller_natsschannel_ready_count{key="test-natss/natss-kn2-trigger",reconciler="natss-ch-controller"} 1
# HELP natsschannel_controller_natsschannel_ready_latency Time it takes for a NatssChannel to become ready since created
# TYPE natsschannel_controller_natsschannel_ready_latency gauge
natsschannel_controller_natsschannel_ready_latency{key="default/my-test-channel",reconciler="natss-ch-controller"} 494
natsschannel_controller_natsschannel_ready_latency{key="test-natss/natss-kn2-ingress",reconciler="natss-ch-controller"} 804
natsschannel_controller_natsschannel_ready_latency{key="test-natss/natss-kn2-trigger",reconciler="natss-ch-controller"} 381
# HELP natsschannel_controller_reconcile_count Number of reconcile operations
# TYPE natsschannel_controller_reconcile_count counter
natsschannel_controller_reconcile_count{key="default/my-test-channel",reconciler="NatssChannels",success="true"} 3
natsschannel_controller_reconcile_count{key="test-natss/natss-kn2-ingress",reconciler="NatssChannels",success="true"} 5
natsschannel_controller_reconcile_count{key="test-natss/natss-kn2-trigger",reconciler="NatssChannels",success="true"} 3
# HELP natsschannel_controller_reconcile_latency Latency of reconcile operations
# TYPE natsschannel_controller_reconcile_latency histogram
natsschannel_controller_reconcile_latency_bucket{key="default/my-test-channel",reconciler="NatssChannels",success="true",le="10"} 2
natsschannel_controller_reconcile_latency_bucket{key="default/my-test-channel",reconciler="NatssChannels",success="true",le="100"} 3
natsschannel_controller_reconcile_latency_bucket{key="default/my-test-channel",reconciler="NatssChannels",success="true",le="1000"} 3
natsschannel_controller_reconcile_latency_bucket{key="default/my-test-channel",reconciler="NatssChannels",success="true",le="10000"} 3
natsschannel_controller_reconcile_latency_bucket{key="default/my-test-channel",reconciler="NatssChannels",success="true",le="30000"} 3
natsschannel_controller_reconcile_latency_bucket{key="default/my-test-channel",reconciler="NatssChannels",success="true",le="60000"} 3
natsschannel_controller_reconcile_latency_bucket{key="default/my-test-channel",reconciler="NatssChannels",success="true",le="+Inf"} 3
natsschannel_controller_reconcile_latency_sum{key="default/my-test-channel",reconciler="NatssChannels",success="true"} 33
natsschannel_controller_reconcile_latency_count{key="default/my-test-channel",reconciler="NatssChannels",success="true"} 3
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-ingress",reconciler="NatssChannels",success="true",le="10"} 4
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-ingress",reconciler="NatssChannels",success="true",le="100"} 5
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-ingress",reconciler="NatssChannels",success="true",le="1000"} 5
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-ingress",reconciler="NatssChannels",success="true",le="10000"} 5
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-ingress",reconciler="NatssChannels",success="true",le="30000"} 5
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-ingress",reconciler="NatssChannels",success="true",le="60000"} 5
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-ingress",reconciler="NatssChannels",success="true",le="+Inf"} 5
natsschannel_controller_reconcile_latency_sum{key="test-natss/natss-kn2-ingress",reconciler="NatssChannels",success="true"} 49.99999999999999
natsschannel_controller_reconcile_latency_count{key="test-natss/natss-kn2-ingress",reconciler="NatssChannels",success="true"} 5
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-trigger",reconciler="NatssChannels",success="true",le="10"} 2
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-trigger",reconciler="NatssChannels",success="true",le="100"} 3
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-trigger",reconciler="NatssChannels",success="true",le="1000"} 3
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-trigger",reconciler="NatssChannels",success="true",le="10000"} 3
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-trigger",reconciler="NatssChannels",success="true",le="30000"} 3
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-trigger",reconciler="NatssChannels",success="true",le="60000"} 3
natsschannel_controller_reconcile_latency_bucket{key="test-natss/natss-kn2-trigger",reconciler="NatssChannels",success="true",le="+Inf"} 3
natsschannel_controller_reconcile_latency_sum{key="test-natss/natss-kn2-trigger",reconciler="NatssChannels",success="true"} 27.999999999999996
natsschannel_controller_reconcile_latency_count{key="test-natss/natss-kn2-trigger",reconciler="NatssChannels",success="true"} 3
# HELP natsschannel_controller_work_queue_depth Depth of the work queue
# TYPE natsschannel_controller_work_queue_depth gauge
natsschannel_controller_work_queue_depth{reconciler="NatssChannels"} 0| //opt.ConfigMapWatcher.Watch(metrics.ObservabilityConfigName, metrics.UpdateExporterFromConfigMap(component, logger)) | ||
|
|
||
| // Watch the observability config map | ||
| opt.ConfigMapWatcher.Watch(metrics.ConfigMapName(), metrics.UpdateExporterFromConfigMap(component, logger)) |
There was a problem hiding this comment.
the dispatchers currently do not report stuff. But I think we can add this for now, and then see what metrics we want for all channel dispatchers...
There was a problem hiding this comment.
my bad, reporting at least what the pkg controller stats_reporter does...
|
Thanks for doing this @marcobebway |
|
Seems that is complaining regarding the md file. |
2a7d1da to
453716e
Compare
453716e to
d388d43
Compare
|
/lgtm |
|
actually, we need @Abd4llA for approval |
|
/assign @Abd4llA |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Abd4llA, marcobebway The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/lgtm |
Helps knative/eventing#1693.
Proposed Changes
Release Note