"regexp"
"runtime"
"runtime/debug"
+ "slices"
"strconv"
"strings"
"sync"
return 0, 0
}
-func contains(slice []string, s string) bool {
- for i := range slice {
- if slice[i] == s {
- return true
- }
- }
- return false
-}
-
// stackContains matches if a function named spec appears anywhere in the stack trace.
func stackContains(spec string, count uintptr, stk []*profile.Location, labels map[string][]string) bool {
for _, loc := range stk {
if !ok {
panic("missing = in key/value spec")
}
- if !contains(labels[k], v) {
+ if !slices.Contains(labels[k], v) {
return false
}
return stackContains(base, count, stk, labels)
// * labelHog should always be labeled.
// * The label should _only_ appear on labelHog and the Do call above.
for _, s := range p.Sample {
- isLabeled := s.Label != nil && contains(s.Label["key"], "value")
+ isLabeled := s.Label != nil && slices.Contains(s.Label["key"], "value")
var (
mayBeLabeled bool
mustBeLabeled string