diff --git a/go.mod b/go.mod index 396761e156..3fce10d4f8 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1 github.com/klauspost/compress v1.18.0 - github.com/parca-dev/oomprof v0.1.5-0.20250811212952-b45abb82a5fd + github.com/parca-dev/oomprof v0.1.5-0.20250812185216-e44e6c5d4315 github.com/prometheus/client_golang v1.22.0 github.com/prometheus/common v0.63.0 github.com/prometheus/prometheus v0.303.0 @@ -163,4 +163,4 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -replace go.opentelemetry.io/ebpf-profiler => github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250811214617-bb37a8a7e096 +replace go.opentelemetry.io/ebpf-profiler => github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250812190145-028272f9477c diff --git a/go.sum b/go.sum index 82959af2fd..91a7227711 100644 --- a/go.sum +++ b/go.sum @@ -257,10 +257,10 @@ github.com/opencontainers/runtime-spec v1.2.1 h1:S4k4ryNgEpxW1dzyqffOmhI1BHYcjzU github.com/opencontainers/runtime-spec v1.2.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.12.0 h1:6n5JV4Cf+4y0KNXW48TLj5DwfXpvWlxXplUkdTrmPb8= github.com/opencontainers/selinux v1.12.0/go.mod h1:BTPX+bjVbWGXw7ZZWUbdENt8w0htPSrlgOOysQaU62U= -github.com/parca-dev/oomprof v0.1.5-0.20250811212952-b45abb82a5fd h1:uHo+bScocZbyqOnH7FeynMvaK/Exk+QQGFn5dfI4TRU= -github.com/parca-dev/oomprof v0.1.5-0.20250811212952-b45abb82a5fd/go.mod h1:+vw0+rZYq/rTVouF6G+/+Uol758EOkUINi8/8RXPvX0= -github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250811214617-bb37a8a7e096 h1:WbBrsMXvRj8JWOUL4/qe1WJkmsFWqDxC1ld558K/d0Q= -github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250811214617-bb37a8a7e096/go.mod h1:WxDFlcvFLFkT8bfoSGBDtVombgqLEMzVYb3DVNDkOUo= +github.com/parca-dev/oomprof v0.1.5-0.20250812185216-e44e6c5d4315 h1:pEFFbT0kszs0NFjKevggSQhyd0pjfA8GgUvm7ApBmos= +github.com/parca-dev/oomprof v0.1.5-0.20250812185216-e44e6c5d4315/go.mod h1:+vw0+rZYq/rTVouF6G+/+Uol758EOkUINi8/8RXPvX0= +github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250812190145-028272f9477c h1:QNu3O0YrS3mzV/mBYN+DPdpfNKRRkb+xZ0CnZyhXlF4= +github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250812190145-028272f9477c/go.mod h1:p7Q12UBTjk7JN5NP2/X/VmZ178W8pCRkJtPL/BRzOTU= github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU= diff --git a/reporter/parca_reporter.go b/reporter/parca_reporter.go index b46388dd68..2c5997a645 100644 --- a/reporter/parca_reporter.go +++ b/reporter/parca_reporter.go @@ -275,6 +275,9 @@ func (r *ParcaReporter) ReportTraceEvent(trace *libpf.Trace, writeSample(meta.OffTime, time.Second.Nanoseconds(), 1e9/int64(r.samplesPerSecond), "parca_agent", "wallclock", "nanoseconds", "samples", "count") r.sampleWriter.Temporality.AppendString("delta") case support.TraceOriginMemory: + // This shouldn't happen too much so an info log is fine, revisit when we do continuous memory profiling. + log.Infof("Received memory trace event for TID %d, PID %d, comm %s", meta.TID, meta.PID, meta.Comm) + // TODO: this isn't necessarily correct and should be extracted from the Go process somehow. memPeriod := int64(512 * 1024) // 512 KiB // Write 4 memory samples // 1. inuse_objects (Allocs - Frees)