diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-structr')
| -rw-r--r-- | vendor/codeberg.org/gruf/go-structr/cache.go | 18 | ||||
| -rw-r--r-- | vendor/codeberg.org/gruf/go-structr/queue.go | 18 | ||||
| -rw-r--r-- | vendor/codeberg.org/gruf/go-structr/queue_ctx.go | 18 | 
3 files changed, 54 insertions, 0 deletions
diff --git a/vendor/codeberg.org/gruf/go-structr/cache.go b/vendor/codeberg.org/gruf/go-structr/cache.go index 1a2a07257..d9bcc58d3 100644 --- a/vendor/codeberg.org/gruf/go-structr/cache.go +++ b/vendor/codeberg.org/gruf/go-structr/cache.go @@ -527,6 +527,24 @@ func (c *Cache[T]) Len() int {  	return l  } +// Debug returns debug stats about cache. +func (c *Cache[T]) Debug() map[string]any { +	m := make(map[string]any) +	c.mutex.Lock() +	m["lru"] = c.lru.len +	indices := make(map[string]any) +	m["indices"] = indices +	for i := range c.indices { +		var n uint64 +		for _, list := range c.indices[i].data { +			n += uint64(list.len) +		} +		indices[c.indices[i].name] = n +	} +	c.mutex.Unlock() +	return m +} +  // Cap returns the maximum capacity (size) of cache.  func (c *Cache[T]) Cap() int {  	c.mutex.Lock() diff --git a/vendor/codeberg.org/gruf/go-structr/queue.go b/vendor/codeberg.org/gruf/go-structr/queue.go index 70c18c839..91092790a 100644 --- a/vendor/codeberg.org/gruf/go-structr/queue.go +++ b/vendor/codeberg.org/gruf/go-structr/queue.go @@ -205,6 +205,24 @@ func (q *Queue[T]) Len() int {  	return l  } +// Debug returns debug stats about queue. +func (q *Queue[T]) Debug() map[string]any { +	m := make(map[string]any) +	q.mutex.Lock() +	m["queue"] = q.queue.len +	indices := make(map[string]any) +	m["indices"] = indices +	for i := range q.indices { +		var n uint64 +		for _, list := range q.indices[i].data { +			n += uint64(list.len) +		} +		indices[q.indices[i].name] = n +	} +	q.mutex.Unlock() +	return m +} +  func (q *Queue[T]) pop_n(n int, next func() *list_elem) []T {  	if next == nil {  		panic("nil fn") diff --git a/vendor/codeberg.org/gruf/go-structr/queue_ctx.go b/vendor/codeberg.org/gruf/go-structr/queue_ctx.go index d8843c1eb..766644c3c 100644 --- a/vendor/codeberg.org/gruf/go-structr/queue_ctx.go +++ b/vendor/codeberg.org/gruf/go-structr/queue_ctx.go @@ -64,6 +64,24 @@ func (q *QueueCtx[T]) Wait() <-chan struct{} {  	return ctx  } +// Debug returns debug stats about queue. +func (q *QueueCtx[T]) Debug() map[string]any { +	m := make(map[string]any) +	q.mutex.Lock() +	m["queue"] = q.queue.len +	indices := make(map[string]any) +	m["indices"] = indices +	for i := range q.indices { +		var n uint64 +		for _, list := range q.indices[i].data { +			n += uint64(list.len) +		} +		indices[q.indices[i].name] = n +	} +	q.mutex.Unlock() +	return m +} +  func (q *QueueCtx[T]) pop(ctx context.Context, next func() *list_elem) (T, bool) {  	if next == nil {  		panic("nil fn")  | 
