diff --git a/reporter/base_reporter.go b/reporter/base_reporter.go index 2b65d162..a12323be 100644 --- a/reporter/base_reporter.go +++ b/reporter/base_reporter.go @@ -12,7 +12,7 @@ import ( "go.opentelemetry.io/ebpf-profiler/libpf" "go.opentelemetry.io/ebpf-profiler/libpf/xsync" "go.opentelemetry.io/ebpf-profiler/reporter/internal/pdata" - "go.opentelemetry.io/ebpf-profiler/reporter/internal/samples" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" "go.opentelemetry.io/ebpf-profiler/support" ) @@ -67,7 +67,7 @@ func (b *baseReporter) addHostmetadata(metadataMap map[string]string) { func (*baseReporter) ReportFramesForTrace(_ *libpf.Trace) {} // ReportCountForTrace is a NOP -func (b *baseReporter) ReportCountForTrace(_ libpf.TraceHash, _ uint16, _ *TraceEventMeta) { +func (b *baseReporter) ReportCountForTrace(_ libpf.TraceHash, _ uint16, _ *samples.TraceEventMeta) { } func (b *baseReporter) ExecutableKnown(fileID libpf.FileID) bool { @@ -97,7 +97,7 @@ func (*baseReporter) ReportMetrics(_ uint32, _ []uint32, _ []int64) {} func (*baseReporter) SupportsReportTraceEvent() bool { return true } -func (b *baseReporter) ReportTraceEvent(trace *libpf.Trace, meta *TraceEventMeta) { +func (b *baseReporter) ReportTraceEvent(trace *libpf.Trace, meta *samples.TraceEventMeta) { if meta.Origin != support.TraceOriginSampling && meta.Origin != support.TraceOriginOffCPU { // At the moment only on-CPU and off-CPU traces are reported. log.Errorf("Skip reporting trace for unexpected %d origin", meta.Origin) diff --git a/reporter/collector_reporter.go b/reporter/collector_reporter.go index 8bedb5bf..67752f75 100644 --- a/reporter/collector_reporter.go +++ b/reporter/collector_reporter.go @@ -15,7 +15,7 @@ import ( "go.opentelemetry.io/ebpf-profiler/libpf" "go.opentelemetry.io/ebpf-profiler/libpf/xsync" "go.opentelemetry.io/ebpf-profiler/reporter/internal/pdata" - "go.opentelemetry.io/ebpf-profiler/reporter/internal/samples" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" "go.opentelemetry.io/ebpf-profiler/support" ) diff --git a/reporter/collector_reporter_test.go b/reporter/collector_reporter_test.go index 9238dc1b..1701faad 100644 --- a/reporter/collector_reporter_test.go +++ b/reporter/collector_reporter_test.go @@ -10,24 +10,25 @@ import ( "go.opentelemetry.io/collector/pdata/pprofile" "go.opentelemetry.io/ebpf-profiler/libpf" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" ) func TestCollectorReporterReportTraceEvent(t *testing.T) { for _, tt := range []struct { name string trace *libpf.Trace - meta *TraceEventMeta + meta *samples.TraceEventMeta nextFn xconsumer.ConsumeProfilesFunc }{ { name: "with no next consumer", trace: &libpf.Trace{}, - meta: &TraceEventMeta{}, + meta: &samples.TraceEventMeta{}, }, { name: "with a next consumer that succeeds", trace: &libpf.Trace{}, - meta: &TraceEventMeta{}, + meta: &samples.TraceEventMeta{}, nextFn: func(_ context.Context, _ pprofile.Profiles) error { return nil }, @@ -35,7 +36,7 @@ func TestCollectorReporterReportTraceEvent(t *testing.T) { { name: "with a next consumer that returns an error", trace: &libpf.Trace{}, - meta: &TraceEventMeta{}, + meta: &samples.TraceEventMeta{}, nextFn: func(_ context.Context, _ pprofile.Profiles) error { return errors.New("next consumer failed") }, diff --git a/reporter/config.go b/reporter/config.go index 87e37041..3508ca55 100644 --- a/reporter/config.go +++ b/reporter/config.go @@ -8,7 +8,7 @@ import ( "google.golang.org/grpc" - "go.opentelemetry.io/ebpf-profiler/reporter/internal/samples" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" ) type Config struct { diff --git a/reporter/iface.go b/reporter/iface.go index 87760cdb..ddfaab08 100644 --- a/reporter/iface.go +++ b/reporter/iface.go @@ -9,7 +9,7 @@ import ( "go.opentelemetry.io/ebpf-profiler/libpf" "go.opentelemetry.io/ebpf-profiler/process" - "go.opentelemetry.io/ebpf-profiler/reporter/internal/samples" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" ) // Reporter is the top-level interface implemented by a full reporter. @@ -32,8 +32,6 @@ type Reporter interface { GetMetrics() Metrics } -type TraceEventMeta = samples.TraceEventMeta - type TraceReporter interface { // ReportFramesForTrace accepts a trace with the corresponding frames // and caches this information before a periodic reporting to the backend. @@ -41,12 +39,12 @@ type TraceReporter interface { // ReportCountForTrace accepts a hash of a trace with a corresponding count and // caches this information before a periodic reporting to the backend. - ReportCountForTrace(traceHash libpf.TraceHash, count uint16, meta *TraceEventMeta) + ReportCountForTrace(traceHash libpf.TraceHash, count uint16, meta *samples.TraceEventMeta) // ReportTraceEvent accepts a trace event (trace metadata with frames and counts) // and caches it for reporting to the backend. It returns true if the event was // enqueued for reporting, and false if the event was ignored. - ReportTraceEvent(trace *libpf.Trace, meta *TraceEventMeta) + ReportTraceEvent(trace *libpf.Trace, meta *samples.TraceEventMeta) // SupportsReportTraceEvent returns true if the reporter supports reporting trace events // via ReportTraceEvent(). diff --git a/reporter/internal/pdata/generate.go b/reporter/internal/pdata/generate.go index 1cec18d8..ade8e20a 100644 --- a/reporter/internal/pdata/generate.go +++ b/reporter/internal/pdata/generate.go @@ -14,7 +14,7 @@ import ( semconv "go.opentelemetry.io/otel/semconv/v1.4.0" "go.opentelemetry.io/ebpf-profiler/libpf" - "go.opentelemetry.io/ebpf-profiler/reporter/internal/samples" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" "go.opentelemetry.io/ebpf-profiler/support" ) diff --git a/reporter/internal/pdata/generate_test.go b/reporter/internal/pdata/generate_test.go index abff8faa..cd5067ea 100644 --- a/reporter/internal/pdata/generate_test.go +++ b/reporter/internal/pdata/generate_test.go @@ -9,7 +9,7 @@ import ( "go.opentelemetry.io/ebpf-profiler/libpf" "go.opentelemetry.io/ebpf-profiler/libpf/xsync" - "go.opentelemetry.io/ebpf-profiler/reporter/internal/samples" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" "go.opentelemetry.io/ebpf-profiler/support" ) diff --git a/reporter/internal/pdata/pdata.go b/reporter/internal/pdata/pdata.go index ae24631f..5d67ff58 100644 --- a/reporter/internal/pdata/pdata.go +++ b/reporter/internal/pdata/pdata.go @@ -8,7 +8,7 @@ import ( "go.opentelemetry.io/ebpf-profiler/libpf" "go.opentelemetry.io/ebpf-profiler/libpf/xsync" - "go.opentelemetry.io/ebpf-profiler/reporter/internal/samples" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" ) // Pdata holds the cache for the data used to generate the events reporters diff --git a/reporter/otlp_reporter.go b/reporter/otlp_reporter.go index e4cc5828..baf2b3e9 100644 --- a/reporter/otlp_reporter.go +++ b/reporter/otlp_reporter.go @@ -22,7 +22,7 @@ import ( "go.opentelemetry.io/ebpf-profiler/libpf" "go.opentelemetry.io/ebpf-profiler/libpf/xsync" "go.opentelemetry.io/ebpf-profiler/reporter/internal/pdata" - "go.opentelemetry.io/ebpf-profiler/reporter/internal/samples" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" "go.opentelemetry.io/ebpf-profiler/support" ) diff --git a/reporter/internal/samples/attrmgr.go b/reporter/samples/attrmgr.go similarity index 99% rename from reporter/internal/samples/attrmgr.go rename to reporter/samples/attrmgr.go index 98ff9a8e..9323e298 100644 --- a/reporter/internal/samples/attrmgr.go +++ b/reporter/samples/attrmgr.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package samples // import "go.opentelemetry.io/ebpf-profiler/reporter/internal/samples" +package samples // import "go.opentelemetry.io/ebpf-profiler/reporter/samples" import ( "fmt" diff --git a/reporter/internal/samples/attrmgr_test.go b/reporter/samples/attrmgr_test.go similarity index 100% rename from reporter/internal/samples/attrmgr_test.go rename to reporter/samples/attrmgr_test.go diff --git a/reporter/internal/samples/samples.go b/reporter/samples/samples.go similarity index 99% rename from reporter/internal/samples/samples.go rename to reporter/samples/samples.go index 72b18613..54b92d3a 100644 --- a/reporter/internal/samples/samples.go +++ b/reporter/samples/samples.go @@ -1,7 +1,7 @@ // Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 -package samples // import "go.opentelemetry.io/ebpf-profiler/reporter/internal/samples" +package samples // import "go.opentelemetry.io/ebpf-profiler/reporter/samples" import "go.opentelemetry.io/ebpf-profiler/libpf" diff --git a/tracehandler/tracehandler.go b/tracehandler/tracehandler.go index a0f70a1d..d92d1ecd 100644 --- a/tracehandler/tracehandler.go +++ b/tracehandler/tracehandler.go @@ -13,6 +13,7 @@ import ( lru "github.com/elastic/go-freelru" log "github.com/sirupsen/logrus" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" "go.opentelemetry.io/ebpf-profiler/times" "go.opentelemetry.io/ebpf-profiler/host" @@ -123,7 +124,7 @@ func (m *traceHandler) HandleTrace(bpfTrace *host.Trace) { defer m.traceProcessor.SymbolizationComplete(bpfTrace.KTime) timestamp := libpf.UnixTime64(bpfTrace.KTime.UnixNano()) - meta := &reporter.TraceEventMeta{ + meta := &samples.TraceEventMeta{ Timestamp: timestamp, Comm: bpfTrace.Comm, PID: bpfTrace.PID, diff --git a/tracehandler/tracehandler_test.go b/tracehandler/tracehandler_test.go index 42579063..99666801 100644 --- a/tracehandler/tracehandler_test.go +++ b/tracehandler/tracehandler_test.go @@ -13,7 +13,7 @@ import ( "go.opentelemetry.io/ebpf-profiler/host" "go.opentelemetry.io/ebpf-profiler/libpf" - "go.opentelemetry.io/ebpf-profiler/reporter" + "go.opentelemetry.io/ebpf-profiler/reporter/samples" "go.opentelemetry.io/ebpf-profiler/times" "go.opentelemetry.io/ebpf-profiler/tracehandler" ) @@ -75,7 +75,7 @@ func (m *mockReporter) ReportFramesForTrace(trace *libpf.Trace) { } func (m *mockReporter) ReportCountForTrace(traceHash libpf.TraceHash, - count uint16, _ *reporter.TraceEventMeta) { + count uint16, _ *samples.TraceEventMeta) { m.reportedCounts = append(m.reportedCounts, reportedCount{ traceHash: traceHash, count: count, @@ -85,7 +85,7 @@ func (m *mockReporter) ReportCountForTrace(traceHash libpf.TraceHash, func (m *mockReporter) SupportsReportTraceEvent() bool { return false } -func (m *mockReporter) ReportTraceEvent(_ *libpf.Trace, _ *reporter.TraceEventMeta) { +func (m *mockReporter) ReportTraceEvent(_ *libpf.Trace, _ *samples.TraceEventMeta) { } func TestTraceHandler(t *testing.T) {