Skip to content

Commit f9d3faf

Browse files
authored
koordetector: add cpu schedule latency eBPF program and util (#21)
Signed-off-by: songtao98 <songtao2603060@gmail.com>
1 parent 89c8012 commit f9d3faf

File tree

16 files changed

+121003
-13
lines changed

16 files changed

+121003
-13
lines changed

.golangci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ run:
2222
- pkg/client
2323
- vendor
2424
- test
25+
- pkg/koordetector/util/ebpf
2526

2627
# output configuration options
2728
output:

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and Cust
6060

6161
.PHONY: generate
6262
generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations.
63-
$(CONTROLLER_GEN) object:headerFile="hack/boilerplate/boilerplate.go.txt" paths="./..."
63+
$(CONTROLLER_GEN) object:headerFile="$(LICENSE_HEADER_GO)" paths="./apis/..."
6464

6565
.PHONY: fmt
6666
fmt: ## Run go fmt against code.

go.mod

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@ module github.com/koordinator-sh/koordetector
33
go 1.17
44

55
require (
6+
github.com/cilium/ebpf v0.8.1
67
github.com/k8stopologyawareschedwg/noderesourcetopology-api v0.1.1
78
github.com/koordinator-sh/koordinator v1.1.1-0.20230301120008-b66fbe0f57f0
89
github.com/prometheus/client_golang v1.14.0
910
github.com/prometheus/common v0.37.0
1011
go.uber.org/atomic v1.10.0
12+
go.uber.org/multierr v1.6.0
13+
golang.org/x/sys v0.3.0
1114
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8
1215
k8s.io/api v0.26.0
1316
k8s.io/apimachinery v0.26.0
@@ -40,7 +43,6 @@ require (
4043
github.com/cakturk/go-netstat v0.0.0-20200220111822-e5b49efee7a5 // indirect
4144
github.com/cespare/xxhash/v2 v2.1.2 // indirect
4245
github.com/checkpoint-restore/go-criu/v5 v5.0.0 // indirect
43-
github.com/cilium/ebpf v0.6.2 // indirect
4446
github.com/containerd/console v1.0.2 // indirect
4547
github.com/containerd/containerd v1.5.10 // indirect
4648
github.com/containerd/ttrpc v1.1.0 // indirect
@@ -121,12 +123,10 @@ require (
121123
go.etcd.io/etcd/client/pkg/v3 v3.5.5 // indirect
122124
go.etcd.io/etcd/client/v3 v3.5.5 // indirect
123125
go.uber.org/goleak v1.2.0 // indirect
124-
go.uber.org/multierr v1.6.0 // indirect
125126
go.uber.org/zap v1.19.0 // indirect
126127
golang.org/x/crypto v0.1.0 // indirect
127128
golang.org/x/net v0.3.1-0.20221206200815-1e63c2f08a10 // indirect
128129
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b // indirect
129-
golang.org/x/sys v0.3.0 // indirect
130130
golang.org/x/term v0.3.0 // indirect
131131
golang.org/x/text v0.5.0 // indirect
132132
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
@@ -156,6 +156,7 @@ require (
156156
)
157157

158158
replace (
159+
github.com/cilium/ebpf => github.com/cilium/ebpf v0.8.1
159160
github.com/go-logr/logr => github.com/go-logr/logr v0.4.0
160161
github.com/go-logr/zapr => github.com/go-logr/zapr v0.4.0
161162
github.com/google/cadvisor => github.com/koordinator-sh/cadvisor v0.0.0-20220919031936-833eb74e858e
@@ -199,6 +200,7 @@ replace (
199200
k8s.io/mount-utils => k8s.io/mount-utils v0.22.6
200201
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.22.6
201202
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.22.6
203+
sigs.k8s.io/controller-runtime v0.10.3 => sigs.k8s.io/controller-runtime v0.10.3
202204
sigs.k8s.io/descheduler => sigs.k8s.io/descheduler v0.26.1-0.20230216092500-02b1e8b8b9c1
203205
sigs.k8s.io/scheduler-plugins => sigs.k8s.io/scheduler-plugins v0.22.6
204206
)

go.sum

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -172,13 +172,8 @@ github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d8
172172
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
173173
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
174174
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
175-
github.com/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg=
176-
github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc=
177-
github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs=
178-
github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
179-
github.com/cilium/ebpf v0.5.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
180-
github.com/cilium/ebpf v0.6.2 h1:iHsfF/t4aW4heW2YKfeHrVPGdtYTL4C4KocpM8KTSnI=
181-
github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
175+
github.com/cilium/ebpf v0.8.1 h1:bLSSEbBLqGPXxls55pGr5qWZaTqcmfDJHhou7t254ao=
176+
github.com/cilium/ebpf v0.8.1/go.mod h1:f5zLIM0FSNuAkSyLAN7X+Hy6yznlF1mNiWUMfxMtrgk=
182177
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
183178
github.com/clusterhq/flocker-go v0.0.0-20160920122132-2b8b7259d313/go.mod h1:P1wt9Z3DP8O6W3rvwCt0REIlshg1InHImaLW0t3ObY0=
184179
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
@@ -378,8 +373,8 @@ github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoD
378373
github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c=
379374
github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
380375
github.com/francoispqt/gojay v1.2.13/go.mod h1:ehT5mTG4ua4581f1++1WLG0vPdaA9HaiDsoyrBGkyDY=
381-
github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY=
382-
github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
376+
github.com/frankban/quicktest v1.14.0 h1:+cqqvzZV87b4adx/5ayVOaYZ2CrvM4ejQvUdBzPPUss=
377+
github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og=
383378
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
384379
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
385380
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
@@ -1295,6 +1290,7 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc
12951290
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
12961291
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
12971292
golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
1293+
golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
12981294
golang.org/x/sys v0.0.0-20211031064116-611d5d643895/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
12991295
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
13001296
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

pkg/koordetector/util/cpu_schedule_latency/bpf_bpfeb.go

Lines changed: 149 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Binary file not shown.

0 commit comments

Comments
 (0)