From 069ec8e14cc7aac64df524a14bb7eda77b9f49e9 Mon Sep 17 00:00:00 2001 From: Florian Lehner Date: Fri, 7 Mar 2025 15:38:09 +0100 Subject: [PATCH 1/2] libpf: drop SleepWithJitter* These functions are never used. Signed-off-by: Florian Lehner --- libpf/convenience.go | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/libpf/convenience.go b/libpf/convenience.go index 1abdb6043..e936f64b2 100644 --- a/libpf/convenience.go +++ b/libpf/convenience.go @@ -4,7 +4,6 @@ package libpf // import "go.opentelemetry.io/ebpf-profiler/libpf" import ( - "context" "math/rand/v2" "reflect" "time" @@ -13,24 +12,6 @@ import ( log "github.com/sirupsen/logrus" ) -// SleepWithJitter sleeps for baseDuration +/- jitter (jitter is [0..1]) -func SleepWithJitter(baseDuration time.Duration, jitter float64) { - time.Sleep(AddJitter(baseDuration, jitter)) -} - -// SleepWithJitterAndContext blocks for duration +/- jitter (jitter is [0..1]) or until ctx -// is canceled. -func SleepWithJitterAndContext(ctx context.Context, duration time.Duration, jitter float64) error { - tick := time.NewTicker(AddJitter(duration, jitter)) - defer tick.Stop() - select { - case <-ctx.Done(): - return ctx.Err() - case <-tick.C: - return nil - } -} - // AddJitter adds +/- jitter (jitter is [0..1]) to baseDuration func AddJitter(baseDuration time.Duration, jitter float64) time.Duration { if jitter < 0.0 || jitter > 1.0 { From 467ed6c96850a109da1f93ec0c4a57cf3173f632 Mon Sep 17 00:00:00 2001 From: Florian Lehner Date: Fri, 7 Mar 2025 15:45:10 +0100 Subject: [PATCH 2/2] libpf: drop unused generic functions Signed-off-by: Florian Lehner --- libpf/generics.go | 40 ---------------------------------------- 1 file changed, 40 deletions(-) diff --git a/libpf/generics.go b/libpf/generics.go index 6a57009d4..5ba4b52fe 100644 --- a/libpf/generics.go +++ b/libpf/generics.go @@ -24,24 +24,6 @@ func MapKeysToSlice[K comparable, V any](m map[K]V) []K { return slice } -// MapValuesToSlice creates a slice from a map's values. -func MapValuesToSlice[K comparable, V any](m map[K]V) []V { - slice := make([]V, 0, len(m)) - for _, value := range m { - slice = append(slice, value) - } - return slice -} - -// SliceToSet creates a set from a slice, deduplicating it. -func SliceToSet[T comparable](s []T) Set[T] { - set := make(map[T]Void, len(s)) - for _, item := range s { - set[item] = Void{} - } - return set -} - // SliceAllEqual checks whether all items in a slice have a given value. func SliceAllEqual[T comparable](s []T, value T) bool { for _, item := range s { @@ -52,25 +34,3 @@ func SliceAllEqual[T comparable](s []T, value T) bool { return true } - -// SlicesEqual checks whether two slices are element-wise equal. -func SlicesEqual[T comparable](a, b []T) bool { - if len(a) != len(b) { - return false - } - for i := 0; i < len(a); i++ { - if a[i] != b[i] { - return false - } - } - return true -} - -// MapSlice returns a new slice by mapping given function over the input slice. -func MapSlice[T, V any](in []T, mapf func(T) V) []V { - ret := make([]V, len(in)) - for idx := range in { - ret[idx] = mapf(in[idx]) - } - return ret -}