Skip to content

Commit

Permalink
reporter: move pkg samples from internal to public (#314)
Browse files Browse the repository at this point in the history
Signed-off-by: Florian Lehner <[email protected]>
  • Loading branch information
florianl authored Jan 22, 2025
1 parent 10b4b22 commit 01ec155
Show file tree
Hide file tree
Showing 14 changed files with 24 additions and 24 deletions.
6 changes: 3 additions & 3 deletions reporter/base_reporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)

Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion reporter/collector_reporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)

Expand Down
9 changes: 5 additions & 4 deletions reporter/collector_reporter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,33 @@ 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
},
},
{
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")
},
Expand Down
2 changes: 1 addition & 1 deletion reporter/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
8 changes: 3 additions & 5 deletions reporter/iface.go
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -32,21 +32,19 @@ 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.
ReportFramesForTrace(trace *libpf.Trace)

// 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().
Expand Down
2 changes: 1 addition & 1 deletion reporter/internal/pdata/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)

Expand Down
2 changes: 1 addition & 1 deletion reporter/internal/pdata/generate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)

Expand Down
2 changes: 1 addition & 1 deletion reporter/internal/pdata/pdata.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion reporter/otlp_reporter.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)

Expand Down
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -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"

Expand Down
3 changes: 2 additions & 1 deletion tracehandler/tracehandler.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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,
Expand Down
6 changes: 3 additions & 3 deletions tracehandler/tracehandler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)
Expand Down Expand Up @@ -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,
Expand All @@ -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) {
Expand Down

0 comments on commit 01ec155

Please sign in to comment.