Skip to content

Commit b2f5e19

Browse files
committed
Fix errors against parca-dev/opentelemetry-ebpf-profile HEAD
1 parent afdda5a commit b2f5e19

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

main.go

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,6 @@ import (
2323
"github.com/apache/arrow/go/v16/arrow/memory"
2424
"github.com/armon/circbuf"
2525
"github.com/common-nighthawk/go-figure"
26-
"go.opentelemetry.io/ebpf-profiler/host"
27-
otelmetrics "go.opentelemetry.io/ebpf-profiler/metrics"
28-
otelreporter "go.opentelemetry.io/ebpf-profiler/reporter"
29-
"go.opentelemetry.io/ebpf-profiler/times"
30-
"go.opentelemetry.io/ebpf-profiler/tracehandler"
31-
"go.opentelemetry.io/ebpf-profiler/tracer"
32-
tracertypes "go.opentelemetry.io/ebpf-profiler/tracer/types"
33-
"go.opentelemetry.io/ebpf-profiler/util"
3426
"github.com/prometheus/client_golang/prometheus"
3527
"github.com/prometheus/client_golang/prometheus/collectors"
3628
"github.com/prometheus/client_golang/prometheus/promauto"
@@ -41,6 +33,14 @@ import (
4133
"github.com/tklauser/numcpus"
4234
"github.com/zcalusic/sysinfo"
4335
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
36+
"go.opentelemetry.io/ebpf-profiler/host"
37+
otelmetrics "go.opentelemetry.io/ebpf-profiler/metrics"
38+
otelreporter "go.opentelemetry.io/ebpf-profiler/reporter"
39+
"go.opentelemetry.io/ebpf-profiler/times"
40+
"go.opentelemetry.io/ebpf-profiler/tracehandler"
41+
"go.opentelemetry.io/ebpf-profiler/tracer"
42+
tracertypes "go.opentelemetry.io/ebpf-profiler/tracer/types"
43+
"go.opentelemetry.io/ebpf-profiler/util"
4444
"go.opentelemetry.io/otel/trace"
4545
"go.opentelemetry.io/otel/trace/noop"
4646
"golang.org/x/sys/unix"
@@ -249,10 +249,6 @@ func mainWithExitCode() flags.ExitCode {
249249
return flags.Failure(fmt.Sprintf("Failed to probe eBPF syscall: %v", err))
250250
}
251251

252-
if err = tracer.ProbeTracepoint(); err != nil {
253-
log.Warnf("Failed to probe tracepoint: %v. Parca-agent may fail to run on some kernel versions.", err)
254-
}
255-
256252
externalLabels := reporter.Labels{}
257253
if len(f.Metadata.ExternalLabels) > 0 {
258254
for name, value := range f.Metadata.ExternalLabels {
@@ -317,7 +313,7 @@ func mainWithExitCode() flags.ExitCode {
317313
return flags.Failure("Failed to start reporting: %v", err)
318314
}
319315
otelmetrics.SetReporter(parcaReporter)
320-
parcaReporter.Run(mainCtx)
316+
parcaReporter.Start(mainCtx)
321317
var rep otelreporter.Reporter = parcaReporter
322318

323319
// Load the eBPF code and map definitions
@@ -340,11 +336,8 @@ func mainWithExitCode() flags.ExitCode {
340336
log.Printf("eBPF tracer loaded")
341337
defer trc.Close()
342338

343-
// Initial scan of /proc filesystem to list currently-active PIDs and have them processed.
344-
if err = trc.StartPIDEventProcessor(mainCtx); err != nil {
345-
log.Errorf("Failed to list processes from /proc: %v", err)
346-
}
347-
log.Debug("Completed initial PID listing")
339+
// Start watching for PID events.
340+
trc.StartPIDEventProcessor(mainCtx)
348341

349342
// Attach our tracer to the perf event
350343
if err := trc.AttachTracer(); err != nil {

reporter/parca_reporter.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,13 @@ func (r *ParcaReporter) ReportFramesForTrace(_ *libpf.Trace) {}
235235
func (r *ParcaReporter) ReportCountForTrace(_ libpf.TraceHash, _ uint16, _ *reporter.TraceEventMeta) {
236236
}
237237

238+
// ExecutableKnown returns true if the metadata of the Executable specified by fileID is
239+
// cached in the reporter.
240+
func (r *ParcaReporter) ExecutableKnown(fileID libpf.FileID) bool {
241+
_, known := r.executables.Get(fileID)
242+
return known
243+
}
244+
238245
// ExecutableMetadata accepts a fileID with the corresponding filename
239246
// and caches this information.
240247
func (r *ParcaReporter) ExecutableMetadata(args *reporter.ExecutableMetadataArgs) {
@@ -526,7 +533,7 @@ func New(
526533
return r, nil
527534
}
528535

529-
func (r *ParcaReporter) Run(mainCtx context.Context) (reporter.Reporter, error) {
536+
func (r *ParcaReporter) Start(mainCtx context.Context) error {
530537
// Create a child context for reporting features
531538
ctx, cancelReporting := context.WithCancel(mainCtx)
532539

@@ -564,7 +571,7 @@ func (r *ParcaReporter) Run(mainCtx context.Context) (reporter.Reporter, error)
564571
cancelReporting()
565572
}()
566573

567-
return r, nil
574+
return nil
568575
}
569576

570577
// reportDataToBackend creates and sends out an arrow record for a Parca backend.

0 commit comments

Comments
 (0)