diff --git a/reporter/base_reporter.go b/reporter/base_reporter.go index 9bef0268a..20fba768c 100644 --- a/reporter/base_reporter.go +++ b/reporter/base_reporter.go @@ -4,12 +4,9 @@ package reporter // import "go.opentelemetry.io/ebpf-profiler/reporter" import ( - "context" "errors" "fmt" - "time" - lru "github.com/elastic/go-freelru" "go.opentelemetry.io/ebpf-profiler/libpf" "go.opentelemetry.io/ebpf-profiler/libpf/xsync" "go.opentelemetry.io/ebpf-profiler/reporter/internal/pdata" @@ -35,9 +32,6 @@ type baseReporter struct { // traceEvents stores reported trace events (trace metadata with frames and counts) traceEvents xsync.RWMutex[samples.TraceEventsTree] - - // hostmetadata stores metadata that is sent out with every request. - hostmetadata *lru.SyncedLRU[string, string] } var errUnknownOrigin = errors.New("unknown trace origin") @@ -46,23 +40,6 @@ func (b *baseReporter) Stop() { b.runLoop.Stop() } -func (b *baseReporter) ReportHostMetadata(metadataMap map[string]string) { - b.addHostmetadata(metadataMap) -} - -func (b *baseReporter) ReportHostMetadataBlocking(_ context.Context, - metadataMap map[string]string, _ int, _ time.Duration) error { - b.addHostmetadata(metadataMap) - return nil -} - -// addHostmetadata adds to and overwrites host metadata. -func (b *baseReporter) addHostmetadata(metadataMap map[string]string) { - for k, v := range metadataMap { - b.hostmetadata.Add(k, v) - } -} - func (b *baseReporter) ExecutableKnown(fileID libpf.FileID) bool { _, known := b.pdata.Executables.GetAndRefresh(fileID, pdata.ExecutableCacheLifetime) return known diff --git a/reporter/collector_reporter.go b/reporter/collector_reporter.go index 050fd354a..b6d604bf8 100644 --- a/reporter/collector_reporter.go +++ b/reporter/collector_reporter.go @@ -6,7 +6,6 @@ package reporter // import "go.opentelemetry.io/ebpf-profiler/reporter" import ( "context" - lru "github.com/elastic/go-freelru" log "github.com/sirupsen/logrus" "go.opentelemetry.io/collector/consumer/xconsumer" @@ -28,14 +27,6 @@ type CollectorReporter struct { // NewCollector builds a new CollectorReporter func NewCollector(cfg *Config, nextConsumer xconsumer.Profiles) (*CollectorReporter, error) { - // Next step: Dynamically configure the size of this LRU. - // Currently, we use the length of the JSON array in - // hostmetadata/hostmetadata.json. - hostmetadata, err := lru.NewSynced[string, string](115, hashString) - if err != nil { - return nil, err - } - data, err := pdata.New( cfg.SamplesPerSecond, cfg.ExecutablesCacheElements, @@ -49,12 +40,11 @@ func NewCollector(cfg *Config, nextConsumer xconsumer.Profiles) (*CollectorRepor return &CollectorReporter{ baseReporter: &baseReporter{ - cfg: cfg, - name: cfg.Name, - version: cfg.Version, - pdata: data, - traceEvents: xsync.NewRWMutex(tree), - hostmetadata: hostmetadata, + cfg: cfg, + name: cfg.Name, + version: cfg.Version, + pdata: data, + traceEvents: xsync.NewRWMutex(tree), runLoop: &runLoop{ stopSignal: make(chan libpf.Void), }, diff --git a/reporter/iface.go b/reporter/iface.go index cf56a5b80..fed157466 100644 --- a/reporter/iface.go +++ b/reporter/iface.go @@ -5,7 +5,6 @@ package reporter // import "go.opentelemetry.io/ebpf-profiler/reporter" import ( "context" - "time" "go.opentelemetry.io/ebpf-profiler/libpf" "go.opentelemetry.io/ebpf-profiler/process" @@ -16,7 +15,6 @@ import ( type Reporter interface { TraceReporter SymbolReporter - HostMetadataReporter // Start starts the reporter in the background. // @@ -77,12 +75,3 @@ type SymbolReporter interface { // open the file and then enqueue the upload in the background. ExecutableMetadata(args *ExecutableMetadataArgs) } - -type HostMetadataReporter interface { - // ReportHostMetadata enqueues host metadata for sending (to the collection agent). - ReportHostMetadata(metadataMap map[string]string) - - // ReportHostMetadataBlocking sends host metadata to the collection agent. - ReportHostMetadataBlocking(ctx context.Context, metadataMap map[string]string, - maxRetries int, waitRetry time.Duration) error -} diff --git a/reporter/otlp_reporter.go b/reporter/otlp_reporter.go index 4b198f222..3360e2ef0 100644 --- a/reporter/otlp_reporter.go +++ b/reporter/otlp_reporter.go @@ -8,7 +8,6 @@ import ( "crypto/tls" "time" - lru "github.com/elastic/go-freelru" log "github.com/sirupsen/logrus" "go.opentelemetry.io/collector/pdata/pprofile/pprofileotlp" "google.golang.org/grpc" @@ -44,14 +43,6 @@ type OTLPReporter struct { // NewOTLP returns a new instance of OTLPReporter func NewOTLP(cfg *Config) (*OTLPReporter, error) { - // Next step: Dynamically configure the size of this LRU. - // Currently, we use the length of the JSON array in - // hostmetadata/hostmetadata.json. - hostmetadata, err := lru.NewSynced[string, string](115, hashString) - if err != nil { - return nil, err - } - data, err := pdata.New( cfg.SamplesPerSecond, cfg.ExecutablesCacheElements, @@ -65,12 +56,11 @@ func NewOTLP(cfg *Config) (*OTLPReporter, error) { return &OTLPReporter{ baseReporter: &baseReporter{ - cfg: cfg, - name: cfg.Name, - version: cfg.Version, - pdata: data, - traceEvents: xsync.NewRWMutex(eventsTree), - hostmetadata: hostmetadata, + cfg: cfg, + name: cfg.Name, + version: cfg.Version, + pdata: data, + traceEvents: xsync.NewRWMutex(eventsTree), runLoop: &runLoop{ stopSignal: make(chan libpf.Void), }, diff --git a/reporter/util.go b/reporter/util.go deleted file mode 100644 index 6eba1fa6e..000000000 --- a/reporter/util.go +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -package reporter // import "go.opentelemetry.io/ebpf-profiler/reporter" - -import "github.com/zeebo/xxh3" - -// hashString is a helper function for LRUs that use string as a key. -// Xxh3 turned out to be the fastest hash function for strings in the FreeLRU benchmarks. -// It was only outperformed by the AES hash function, which is implemented in Plan9 assembly. -func hashString(s string) uint32 { - return uint32(xxh3.HashString(s)) -}