From 15b7a6b5691571cfe08e7471f0e2b2cf90b6596b Mon Sep 17 00:00:00 2001 From: Ashish Naware Date: Fri, 13 Sep 2024 13:46:41 -0700 Subject: [PATCH] review comments: added metrics docs, licence header and made cache struct private --- docs/content/en/docs/reference/metrics.md | 20 ++++++++++++++++++++ pkg/observer/cache.go | 17 ++++++++++------- pkg/observer/data.go | 4 ++-- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/docs/content/en/docs/reference/metrics.md b/docs/content/en/docs/reference/metrics.md index b3b750fc593..72ca585368f 100644 --- a/docs/content/en/docs/reference/metrics.md +++ b/docs/content/en/docs/reference/metrics.md @@ -29,6 +29,26 @@ Build information about tetragon | `modified` | `false` | | `time ` | `2022-05-13T15:54:45Z` | +### `tetragon_data_cache_capacity` + +The capacity of the data cache. + +### `tetragon_data_cache_evictions_total` + +Number of data cache LRU evictions. + +### `tetragon_data_cache_misses_total` + +Number of data cache misses. + +| label | values | +| ----- | ------ | +| `operation` | `get, remove` | + +### `tetragon_data_cache_size` + +The size of the data cache + ### `tetragon_data_event_size` The size of received data events. diff --git a/pkg/observer/cache.go b/pkg/observer/cache.go index 296d67bbc6d..63384282fb9 100644 --- a/pkg/observer/cache.go +++ b/pkg/observer/cache.go @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: Apache-2.0 +// Copyright Authors of Tetragon + package observer import ( @@ -7,14 +10,14 @@ import ( lru "github.com/hashicorp/golang-lru/v2" ) -type Cache struct { +type cache struct { cache *lru.Cache[dataapi.DataEventId, []byte] size int } -func NewCache( +func newCache( dataCacheSize int, -) (*Cache, error) { +) (*cache, error) { lruCache, err := lru.NewWithEvict( dataCacheSize, func(_ dataapi.DataEventId, _ []byte) { @@ -24,14 +27,14 @@ func NewCache( if err != nil { return nil, err } - cache := &Cache{ + cache := &cache{ cache: lruCache, size: dataCacheSize, } return cache, nil } -func (c *Cache) get(dataEventId dataapi.DataEventId) ([]byte, error) { +func (c *cache) get(dataEventId dataapi.DataEventId) ([]byte, error) { data, ok := c.cache.Get(dataEventId) if !ok { dataCacheMisses.WithLabelValues("get").Inc() @@ -40,7 +43,7 @@ func (c *Cache) get(dataEventId dataapi.DataEventId) ([]byte, error) { return data, nil } -func (c *Cache) add(id dataapi.DataEventId, msgData []byte) bool { +func (c *cache) add(id dataapi.DataEventId, msgData []byte) bool { evicted := c.cache.Add(id, msgData) if !evicted { dataCacheTotal.Inc() @@ -48,7 +51,7 @@ func (c *Cache) add(id dataapi.DataEventId, msgData []byte) bool { return evicted } -func (c *Cache) remove(desc dataapi.DataEventDesc) bool { +func (c *cache) remove(desc dataapi.DataEventDesc) bool { present := c.cache.Remove(desc.Id) if present { dataCacheTotal.Dec() diff --git a/pkg/observer/data.go b/pkg/observer/data.go index 00decab608a..4d0b82e4b5d 100644 --- a/pkg/observer/data.go +++ b/pkg/observer/data.go @@ -19,12 +19,12 @@ func init() { } var ( - dataCache *Cache + dataCache *cache ) func InitDataCache(size int) error { var err error - dataCache, err = NewCache(size) + dataCache, err = newCache(size) return err }