]> Cypherpunks repositories - gostls13.git/commitdiff
internal/pprof: remove unused code
authorqiulaidongfeng <2645477756@qq.com>
Thu, 8 Feb 2024 05:39:07 +0000 (05:39 +0000)
committerGopher Robot <gobot@golang.org>
Thu, 8 Feb 2024 17:57:40 +0000 (17:57 +0000)
Change-Id: I47e98122668960321124e426b345d36f6916b738
GitHub-Last-Rev: b72c9ab33e1c9c49b3b44dc8782344d1ed481123
GitHub-Pull-Request: golang/go#65594
Reviewed-on: https://go-review.googlesource.com/c/go/+/562324
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
src/internal/profile/filter.go
src/internal/profile/profile.go

index 141dd1f405f9d1c8563287cd814dc0bb3cfd4994..1da580aea89b6de536da48e6ae969db623ce2e26 100644 (file)
@@ -6,110 +6,6 @@
 
 package profile
 
-import "regexp"
-
-// FilterSamplesByName filters the samples in a profile and only keeps
-// samples where at least one frame matches focus but none match ignore.
-// Returns true is the corresponding regexp matched at least one sample.
-func (p *Profile) FilterSamplesByName(focus, ignore, hide *regexp.Regexp) (fm, im, hm bool) {
-       focusOrIgnore := make(map[uint64]bool)
-       hidden := make(map[uint64]bool)
-       for _, l := range p.Location {
-               if ignore != nil && l.matchesName(ignore) {
-                       im = true
-                       focusOrIgnore[l.ID] = false
-               } else if focus == nil || l.matchesName(focus) {
-                       fm = true
-                       focusOrIgnore[l.ID] = true
-               }
-               if hide != nil && l.matchesName(hide) {
-                       hm = true
-                       l.Line = l.unmatchedLines(hide)
-                       if len(l.Line) == 0 {
-                               hidden[l.ID] = true
-                       }
-               }
-       }
-
-       s := make([]*Sample, 0, len(p.Sample))
-       for _, sample := range p.Sample {
-               if focusedAndNotIgnored(sample.Location, focusOrIgnore) {
-                       if len(hidden) > 0 {
-                               var locs []*Location
-                               for _, loc := range sample.Location {
-                                       if !hidden[loc.ID] {
-                                               locs = append(locs, loc)
-                                       }
-                               }
-                               if len(locs) == 0 {
-                                       // Remove sample with no locations (by not adding it to s).
-                                       continue
-                               }
-                               sample.Location = locs
-                       }
-                       s = append(s, sample)
-               }
-       }
-       p.Sample = s
-
-       return
-}
-
-// matchesName reports whether the function name or file in the
-// location matches the regular expression.
-func (loc *Location) matchesName(re *regexp.Regexp) bool {
-       for _, ln := range loc.Line {
-               if fn := ln.Function; fn != nil {
-                       if re.MatchString(fn.Name) {
-                               return true
-                       }
-                       if re.MatchString(fn.Filename) {
-                               return true
-                       }
-               }
-       }
-       return false
-}
-
-// unmatchedLines returns the lines in the location that do not match
-// the regular expression.
-func (loc *Location) unmatchedLines(re *regexp.Regexp) []Line {
-       var lines []Line
-       for _, ln := range loc.Line {
-               if fn := ln.Function; fn != nil {
-                       if re.MatchString(fn.Name) {
-                               continue
-                       }
-                       if re.MatchString(fn.Filename) {
-                               continue
-                       }
-               }
-               lines = append(lines, ln)
-       }
-       return lines
-}
-
-// focusedAndNotIgnored looks up a slice of ids against a map of
-// focused/ignored locations. The map only contains locations that are
-// explicitly focused or ignored. Returns whether there is at least
-// one focused location but no ignored locations.
-func focusedAndNotIgnored(locs []*Location, m map[uint64]bool) bool {
-       var f bool
-       for _, loc := range locs {
-               if focus, focusOrIgnore := m[loc.ID]; focusOrIgnore {
-                       if focus {
-                               // Found focused location. Must keep searching in case there
-                               // is an ignored one as well.
-                               f = true
-                       } else {
-                               // Found ignored location. Can return false right away.
-                               return false
-                       }
-               }
-       }
-       return f
-}
-
 // TagMatch selects tags for filtering
 type TagMatch func(key, val string, nval int64) bool
 
index db323cc0d941fb9998ec6c078b3dc6db80a25b34..afd1dd72ee2d8d07770ed758a923a40375e857f8 100644 (file)
@@ -150,7 +150,6 @@ func Parse(r io.Reader) (*Profile, error) {
        return p, nil
 }
 
-var errUnrecognized = fmt.Errorf("unrecognized profile format")
 var errMalformed = fmt.Errorf("malformed profile format")
 var ErrNoData = fmt.Errorf("empty input file")