mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-05-05 22:53:34 -04:00
reva-bump-2.42.2
This commit is contained in:
committed by
Ralf Haferkamp
parent
f21207ed96
commit
2bf70a6f70
11
vendor/github.com/google/pprof/profile/merge.go
generated
vendored
11
vendor/github.com/google/pprof/profile/merge.go
generated
vendored
@@ -17,6 +17,7 @@ package profile
|
||||
import (
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
"slices"
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -78,12 +79,10 @@ func Merge(srcs []*Profile) (*Profile, error) {
|
||||
}
|
||||
}
|
||||
|
||||
for _, s := range p.Sample {
|
||||
if isZeroSample(s) {
|
||||
// If there are any zero samples, re-merge the profile to GC
|
||||
// them.
|
||||
return Merge([]*Profile{p})
|
||||
}
|
||||
if slices.ContainsFunc(p.Sample, isZeroSample) {
|
||||
// If there are any zero samples, re-merge the profile to GC
|
||||
// them.
|
||||
return Merge([]*Profile{p})
|
||||
}
|
||||
|
||||
return p, nil
|
||||
|
||||
22
vendor/github.com/google/pprof/profile/profile.go
generated
vendored
22
vendor/github.com/google/pprof/profile/profile.go
generated
vendored
@@ -24,6 +24,7 @@ import (
|
||||
"math"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"slices"
|
||||
"sort"
|
||||
"strings"
|
||||
"sync"
|
||||
@@ -277,7 +278,7 @@ func (p *Profile) massageMappings() {
|
||||
|
||||
// Use heuristics to identify main binary and move it to the top of the list of mappings
|
||||
for i, m := range p.Mapping {
|
||||
file := strings.TrimSpace(strings.Replace(m.File, "(deleted)", "", -1))
|
||||
file := strings.TrimSpace(strings.ReplaceAll(m.File, "(deleted)", ""))
|
||||
if len(file) == 0 {
|
||||
continue
|
||||
}
|
||||
@@ -734,12 +735,7 @@ func (p *Profile) RemoveLabel(key string) {
|
||||
|
||||
// HasLabel returns true if a sample has a label with indicated key and value.
|
||||
func (s *Sample) HasLabel(key, value string) bool {
|
||||
for _, v := range s.Label[key] {
|
||||
if v == value {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
return slices.Contains(s.Label[key], value)
|
||||
}
|
||||
|
||||
// SetNumLabel sets the specified key to the specified value for all samples in the
|
||||
@@ -852,7 +848,17 @@ func (p *Profile) HasFileLines() bool {
|
||||
// "[vdso]", "[vsyscall]" and some others, see the code.
|
||||
func (m *Mapping) Unsymbolizable() bool {
|
||||
name := filepath.Base(m.File)
|
||||
return strings.HasPrefix(name, "[") || strings.HasPrefix(name, "linux-vdso") || strings.HasPrefix(m.File, "/dev/dri/") || m.File == "//anon"
|
||||
switch {
|
||||
case strings.HasPrefix(name, "["):
|
||||
case strings.HasPrefix(name, "linux-vdso"):
|
||||
case strings.HasPrefix(m.File, "/dev/dri/"):
|
||||
case m.File == "//anon":
|
||||
case m.File == "":
|
||||
case strings.HasPrefix(m.File, "/memfd:"):
|
||||
default:
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// Copy makes a fully independent copy of a profile.
|
||||
|
||||
19
vendor/github.com/google/pprof/profile/proto.go
generated
vendored
19
vendor/github.com/google/pprof/profile/proto.go
generated
vendored
@@ -36,6 +36,7 @@ package profile
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"slices"
|
||||
)
|
||||
|
||||
type buffer struct {
|
||||
@@ -187,6 +188,16 @@ func le32(p []byte) uint32 {
|
||||
return uint32(p[0]) | uint32(p[1])<<8 | uint32(p[2])<<16 | uint32(p[3])<<24
|
||||
}
|
||||
|
||||
func peekNumVarints(data []byte) (numVarints int) {
|
||||
for ; len(data) > 0; numVarints++ {
|
||||
var err error
|
||||
if _, data, err = decodeVarint(data); err != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
return numVarints
|
||||
}
|
||||
|
||||
func decodeVarint(data []byte) (uint64, []byte, error) {
|
||||
var u uint64
|
||||
for i := 0; ; i++ {
|
||||
@@ -286,6 +297,9 @@ func decodeInt64(b *buffer, x *int64) error {
|
||||
func decodeInt64s(b *buffer, x *[]int64) error {
|
||||
if b.typ == 2 {
|
||||
// Packed encoding
|
||||
dataLen := peekNumVarints(b.data)
|
||||
*x = slices.Grow(*x, dataLen)
|
||||
|
||||
data := b.data
|
||||
for len(data) > 0 {
|
||||
var u uint64
|
||||
@@ -316,8 +330,11 @@ func decodeUint64(b *buffer, x *uint64) error {
|
||||
|
||||
func decodeUint64s(b *buffer, x *[]uint64) error {
|
||||
if b.typ == 2 {
|
||||
data := b.data
|
||||
// Packed encoding
|
||||
dataLen := peekNumVarints(b.data)
|
||||
*x = slices.Grow(*x, dataLen)
|
||||
|
||||
data := b.data
|
||||
for len(data) > 0 {
|
||||
var u uint64
|
||||
var err error
|
||||
|
||||
9
vendor/github.com/google/pprof/profile/prune.go
generated
vendored
9
vendor/github.com/google/pprof/profile/prune.go
generated
vendored
@@ -19,6 +19,7 @@ package profile
|
||||
import (
|
||||
"fmt"
|
||||
"regexp"
|
||||
"slices"
|
||||
"strings"
|
||||
)
|
||||
|
||||
@@ -40,13 +41,7 @@ func simplifyFunc(f string) string {
|
||||
// Account for unsimplified names -- try to remove the argument list by trimming
|
||||
// starting from the first '(', but skipping reserved names that have '('.
|
||||
for _, ind := range bracketRx.FindAllStringSubmatchIndex(funcName, -1) {
|
||||
foundReserved := false
|
||||
for _, res := range reservedNames {
|
||||
if funcName[ind[0]:ind[1]] == res {
|
||||
foundReserved = true
|
||||
break
|
||||
}
|
||||
}
|
||||
foundReserved := slices.Contains(reservedNames, funcName[ind[0]:ind[1]])
|
||||
if !foundReserved {
|
||||
funcName = funcName[:ind[0]]
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user