summaryrefslogtreecommitdiff
path: root/vendor/go.opencensus.io/trace
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-03-19 03:49:17 -0700
committerGitHub <noreply@github.com>2021-03-19 03:49:17 -0700
commitc4a551373004219fd2d50e5b055dbc5e233e4e32 (patch)
treedeeb60c8d13ba55ff32512b29a183748ced677cc /vendor/go.opencensus.io/trace
parent5d9b07096b49877608250c7d51e0ee35b9d502c7 (diff)
parentec1651fbf11c4d3d1c792e7f46139ebd96f7ffb2 (diff)
downloadpodman-c4a551373004219fd2d50e5b055dbc5e233e4e32.tar.gz
podman-c4a551373004219fd2d50e5b055dbc5e233e4e32.tar.bz2
podman-c4a551373004219fd2d50e5b055dbc5e233e4e32.zip
Merge pull request #9734 from containers/dependabot/go_modules/github.com/containers/storage-1.28.0
Bump github.com/containers/storage from 1.25.0 to 1.28.0
Diffstat (limited to 'vendor/go.opencensus.io/trace')
-rw-r--r--vendor/go.opencensus.io/trace/lrumap.go40
-rw-r--r--vendor/go.opencensus.io/trace/trace.go6
2 files changed, 35 insertions, 11 deletions
diff --git a/vendor/go.opencensus.io/trace/lrumap.go b/vendor/go.opencensus.io/trace/lrumap.go
index 3f80a3368..dc7a295c7 100644
--- a/vendor/go.opencensus.io/trace/lrumap.go
+++ b/vendor/go.opencensus.io/trace/lrumap.go
@@ -15,23 +15,47 @@
package trace
import (
- "github.com/hashicorp/golang-lru/simplelru"
+ "github.com/golang/groupcache/lru"
)
+// A simple lru.Cache wrapper that tracks the keys of the current contents and
+// the cumulative number of evicted items.
type lruMap struct {
- simpleLruMap *simplelru.LRU
+ cacheKeys map[lru.Key]bool
+ cache *lru.Cache
droppedCount int
}
func newLruMap(size int) *lruMap {
- lm := &lruMap{}
- lm.simpleLruMap, _ = simplelru.NewLRU(size, nil)
+ lm := &lruMap{
+ cacheKeys: make(map[lru.Key]bool),
+ cache: lru.New(size),
+ droppedCount: 0,
+ }
+ lm.cache.OnEvicted = func(key lru.Key, value interface{}) {
+ delete(lm.cacheKeys, key)
+ lm.droppedCount++
+ }
return lm
}
-func (lm *lruMap) add(key, value interface{}) {
- evicted := lm.simpleLruMap.Add(key, value)
- if evicted {
- lm.droppedCount++
+func (lm lruMap) len() int {
+ return lm.cache.Len()
+}
+
+func (lm lruMap) keys() []interface{} {
+ keys := []interface{}{}
+ for k := range lm.cacheKeys {
+ keys = append(keys, k)
}
+ return keys
+}
+
+func (lm *lruMap) add(key, value interface{}) {
+ lm.cacheKeys[lru.Key(key)] = true
+ lm.cache.Add(lru.Key(key), value)
+}
+
+func (lm *lruMap) get(key interface{}) (interface{}, bool) {
+ return lm.cache.Get(key)
}
diff --git a/vendor/go.opencensus.io/trace/trace.go b/vendor/go.opencensus.io/trace/trace.go
index 38ead7bf0..3f8977b41 100644
--- a/vendor/go.opencensus.io/trace/trace.go
+++ b/vendor/go.opencensus.io/trace/trace.go
@@ -296,7 +296,7 @@ func (s *Span) makeSpanData() *SpanData {
var sd SpanData
s.mu.Lock()
sd = *s.data
- if s.lruAttributes.simpleLruMap.Len() > 0 {
+ if s.lruAttributes.len() > 0 {
sd.Attributes = s.lruAttributesToAttributeMap()
sd.DroppedAttributeCount = s.lruAttributes.droppedCount
}
@@ -370,8 +370,8 @@ func (s *Span) interfaceArrayToAnnotationArray() []Annotation {
func (s *Span) lruAttributesToAttributeMap() map[string]interface{} {
attributes := make(map[string]interface{})
- for _, key := range s.lruAttributes.simpleLruMap.Keys() {
- value, ok := s.lruAttributes.simpleLruMap.Get(key)
+ for _, key := range s.lruAttributes.keys() {
+ value, ok := s.lruAttributes.get(key)
if ok {
keyStr := key.(string)
attributes[keyStr] = value