Skip to content

Conversation

aanm
Copy link
Member

@aanm aanm commented Nov 7, 2024

This PR lays the groundwork for tracking which features are being used in Cilium by representing them as metrics. After this PR is merged, additional PRs will follow to track more features.

Once all relevant features are being tracked, we'll gain insight into which features are being tested or left untested globally across our CI. In this initial phase, the PR will introduce summary tables (like the one below) to show which features are tested in each GitHub workflow.

Click here to summary example
Uniform Name Labels kind-control-plane kind-worker
✔️ cilium_feature_datapath_chaining_enabled mode=aws-cni 0 0
✔️ mode=aws-vpc-cni 0 0
✔️ mode=calico 0 0
✔️ mode=flannel 0 0
✔️ mode=generic-veth 0 0
✔️ mode=none 1 1
✔️ cilium_feature_datapath_cilium_endpoint_slices_enabled 0 0
✔️ cilium_feature_datapath_device mode=lb-only 0 0
✔️ mode=netkit 0 0
✔️ mode=netkit-l2 0 0
✔️ mode=veth 1 1
✔️ cilium_feature_datapath_identity_allocation mode=crd 1 1
✔️ mode=doublewrite-readcrd 0 0
✔️ mode=doublewrite-readkvstore 0 0
✔️ mode=kvstore 0 0
✔️ cilium_feature_datapath_internet_protocol protocol=ipv4-ipv6-dual-stack 1 1
✔️ protocol=ipv4-only 0 0
✔️ protocol=ipv6-only 0 0
✔️ cilium_feature_datapath_ipam mode=alibabacloud 0 0
✔️ mode=azure 0 0
✔️ mode=cluster-pool 0 0
✔️ mode=crd 0 0
✔️ mode=delegated-plugin 0 0
✔️ mode=eni 0 0
✔️ mode=kubernetes 1 1
✔️ mode=multi-pool 0 0
✔️ cilium_feature_datapath_network mode=direct-routing 0 0
✔️ mode=overlay-geneve 0 0
✔️ mode=overlay-vxlan 1 1

F.A.Q.:

Why a single package with metrics?
As this provides a great value in our CI and since the pkg/metrics/features is contained on its own package I'm planing to backport this to all branches.

Why a gauges instead of counters?
With gauges promtool doesn't complain that some metrics don't end with _total which is the norm for counters.

Where are the docs?
Oh that's right, I'll add them all on the last PR with the rest of the metrics. Thanks for asking, it's nice to know that people care about docs.

edit: the documentation was added in #36579

This is a huge PR! Do I need to review everything?
It could be worse but it's up to you. The first commit is the foundation, the commits in the middle is for each individual feature added so it's easier to reviewed per commit.

@aanm aanm added area/CI Continuous Integration testing issue or flake release-note/major This PR introduces major new functionality to Cilium. area/metrics Impacts statistics / metrics gathering, eg via Prometheus. kind/epic This tracks a significant amount of work. labels Nov 7, 2024
@aanm
Copy link
Member Author

aanm commented Nov 7, 2024

/test

@github-actions github-actions bot added the cilium-cli This PR contains changes related with cilium-cli label Nov 7, 2024
@aanm aanm force-pushed the pr/aanm/features-1 branch 2 times, most recently from 4e286af to 2f59e38 Compare November 7, 2024 19:17
@aanm
Copy link
Member Author

aanm commented Nov 7, 2024

/test

@aanm aanm marked this pull request as ready for review November 7, 2024 19:18
@aanm aanm requested review from a team as code owners November 7, 2024 19:18
@aanm aanm force-pushed the pr/aanm/features-1 branch from 2f59e38 to 9791863 Compare November 8, 2024 08:56
@aanm
Copy link
Member Author

aanm commented Nov 8, 2024

/test

aanm pushed a commit that referenced this pull request Dec 6, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
aanm pushed a commit that referenced this pull request Dec 6, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
aanm pushed a commit that referenced this pull request Dec 6, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
aanm pushed a commit that referenced this pull request Dec 6, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
aanm pushed a commit that referenced this pull request Dec 6, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
aanm pushed a commit that referenced this pull request Dec 6, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
aanm pushed a commit that referenced this pull request Dec 11, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
aanm pushed a commit that referenced this pull request Dec 12, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
aanm pushed a commit that referenced this pull request Dec 12, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
aanm pushed a commit that referenced this pull request Dec 13, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
@aanm aanm added backport-pending/1.14 The backport for Cilium 1.14.x for this PR is in progress. backport-pending/1.15 The backport for Cilium 1.15.x for this PR is in progress. backport-pending/1.16 The backport for Cilium 1.16.x for this PR is in progress. labels Dec 16, 2024
aanm pushed a commit that referenced this pull request Dec 16, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
github-merge-queue bot pushed a commit that referenced this pull request Dec 16, 2024
[ upstream commit 3859880 ]

Fixes: #35852

Signed-off-by: Marcel Zieba <marcel.zieba@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
@github-actions github-actions bot added backport-done/1.16 The backport for Cilium 1.16.x for this PR is done. and removed backport-pending/1.16 The backport for Cilium 1.16.x for this PR is in progress. labels Dec 16, 2024
@aanm aanm mentioned this pull request Dec 17, 2024
14 tasks
@github-actions github-actions bot added backport-done/1.14 The backport for Cilium 1.14.x for this PR is done. and removed backport-pending/1.14 The backport for Cilium 1.14.x for this PR is in progress. labels Dec 18, 2024
@github-actions github-actions bot added backport-done/1.15 The backport for Cilium 1.15.x for this PR is done. and removed backport-pending/1.15 The backport for Cilium 1.15.x for this PR is in progress. labels Jan 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/CI Continuous Integration testing issue or flake area/metrics Impacts statistics / metrics gathering, eg via Prometheus. backport-done/1.14 The backport for Cilium 1.14.x for this PR is done. backport-done/1.15 The backport for Cilium 1.15.x for this PR is done. backport-done/1.16 The backport for Cilium 1.16.x for this PR is done. cilium-cli This PR contains changes related with cilium-cli kind/epic This tracks a significant amount of work. release-note/major This PR introduces major new functionality to Cilium.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants