From 4fa1f745fe6669f682715f8b23ab3453ed617fda Mon Sep 17 00:00:00 2001 From: Brennan Vincent Date: Thu, 14 Aug 2025 13:44:56 -0700 Subject: [PATCH 1/3] fix metrics --- main.go | 2 + metrics/all.go | 204 +++++++++++++++++++++++++++++++++ metrics/metrics.json | 264 ++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 468 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index ddb8dc5eb0..71af1666a0 100644 --- a/main.go +++ b/main.go @@ -38,6 +38,7 @@ import ( "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "go.opentelemetry.io/ebpf-profiler/host" "go.opentelemetry.io/ebpf-profiler/libpf" + "go.opentelemetry.io/ebpf-profiler/metrics" otelreporter "go.opentelemetry.io/ebpf-profiler/reporter" "go.opentelemetry.io/ebpf-profiler/times" "go.opentelemetry.io/ebpf-profiler/tracehandler" @@ -440,6 +441,7 @@ func mainWithExitCode() flags.ExitCode { OffCPUThreshold: uint32(f.OffCPUThreshold * math.MaxUint32), IncludeEnvVars: includeEnvVars, }) + metrics.SetReporter(parcaReporter) if err != nil { return flags.Failure("Failed to load eBPF tracer: %v", err) } diff --git a/metrics/all.go b/metrics/all.go index 066ea00aa8..656ee08baf 100644 --- a/metrics/all.go +++ b/metrics/all.go @@ -1229,6 +1229,108 @@ var AllMetrics = map[otelmetrics.MetricID]Metric { Type: MetricTypeCounter, Unit: MetricUnitNone, }, + otelmetrics.IDTraceEventLost: { + Desc: "Number of lost trace events in the communication between kernel and user space (trace_events)", + Field: "agent.errors.trace_event_lost", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDTraceEventNoData: { + Desc: "Number of times a trace event was received without data (trace_events)", + Field: "agent.errors.trace_event_no_data", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDTraceEventReadError: { + Desc: "Number of times a trace event read failed (trace_events)", + Field: "agent.errors.trace_event_read_error", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDErrProcParse: { + Desc: "Number of parsing errors seen during processing /proc//maps", + Field: "agent.errors.proc_parse", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDGoSymbolizationSuccess: { + Desc: "Number of successfully symbolized Go frames", + Field: "agent.go.symbolization.successes", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDGoSymbolizationFailure: { + Desc: "Number of Go frames that failed symbolization", + Field: "agent.go.symbolization.failures", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindGoLabelsAttempts: { + Desc: "Number of attempts to read Go custom labels", + Field: "bpf.golabels.attempts", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindGoLabelsFailures: { + Desc: "Number of failures reading Go custom labels", + Field: "bpf.golabels.errors", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindGoCustomLabelsAttempts: { + Desc: "Number of attempts to read Go custom labels (legacy)", + Field: "bpf.go_custom_labels.attempts", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindGoCustomLabelsFailures: { + Desc: "Number of failures reading Go custom labels (legacy)", + Field: "bpf.go_custom_labels.errors", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNativeCustomLabelsErrReadTsdBase: { + Desc: "Number of failures to get TSD base for native custom labels", + Field: "bpf.native_custom_labels.errors.read_tsd_base", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNativeCustomLabelsErrReadData: { + Desc: "Number of failures to read native custom labels thread-local object", + Field: "bpf.native_custom_labels.errors.read_data", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNativeCustomLabelsErrReadKey: { + Desc: "Number of failures to read native custom labels key buffer", + Field: "bpf.native_custom_labels.errors.read_key", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNativeCustomLabelsErrReadValue: { + Desc: "Number of failures to read native custom labels value buffer", + Field: "bpf.native_custom_labels.errors.read_value", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNativeCustomLabelsReadSuccesses: { + Desc: "Number of successful reads of native custom labels", + Field: "bpf.native_custom_labels.read.successes", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNativeCustomLabelsAddErrors: { + Desc: "Total number of failures to add native custom labels", + Field: "bpf.native_custom_labels.add.errors", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNativeCustomLabelsAddSuccesses: { + Desc: "Number of successes adding native custom labels", + Field: "bpf.native_custom_labels.add.successes", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, otelmetrics.IDUnwindLuaJITAttempts: { Desc: "Number of attempted LuaJIT unwinds", Field: "bpf.luajit.attempts", @@ -1241,4 +1343,106 @@ var AllMetrics = map[otelmetrics.MetricID]Metric { Type: MetricTypeCounter, Unit: MetricUnitNone, }, + otelmetrics.IDUnwindNodeClFailedReadHmPointer: { + Desc: "Number of failures to read Node.js custom labels hashmap pointer", + Field: "bpf.nodejs_custom_labels.errors.read_hm_pointer", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeClFailedNoLsInHm: { + Desc: "Number of failures when no Labelset found in Node.js custom labels hashmap", + Field: "bpf.nodejs_custom_labels.errors.no_ls_in_hm", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeClFailedReadHmStruct: { + Desc: "Number of failures to read Node.js custom labels hashmap structure", + Field: "bpf.nodejs_custom_labels.errors.read_hm_struct", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeClFailedReadBucket: { + Desc: "Number of failures to read Node.js custom labels bucket", + Field: "bpf.nodejs_custom_labels.errors.read_bucket", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeClFailedReadLsAddr: { + Desc: "Number of failures to read Node.js custom labels Labelset address", + Field: "bpf.nodejs_custom_labels.errors.read_ls_addr", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeClFailedTooManyBuckets: { + Desc: "Number of times too many buckets encountered in Node.js custom labels hashmap", + Field: "bpf.nodejs_custom_labels.errors.too_many_buckets", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeClFailedGettingId: { + Desc: "Number of times we failed to get node.js execution async id", + Field: "bpf.nodejs_custom_labels.errors.failed_getting_id", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeClWarnIdZero: { + Desc: "Number of times the node.js execution async id was zero", + Field: "bpf.nodejs_custom_labels.warnings.id_zero", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeAsyncIdErrGetTlsSymbol: { + Desc: "Number of failures to get TLS symbol address for Node.js isolate", + Field: "bpf.nodejs_async_id.errors.get_tls_symbol", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeAsyncIdErrReadIsolate: { + Desc: "Number of failures to read Node.js isolate pointer", + Field: "bpf.nodejs_async_id.errors.read_isolate", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeAsyncIdErrReadContextHandle: { + Desc: "Number of failures to read Node.js context handle", + Field: "bpf.nodejs_async_id.errors.read_context_handle", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeAsyncIdErrReadRealContextHandle: { + Desc: "Number of failures to read Node.js real context handle", + Field: "bpf.nodejs_async_id.errors.read_real_context_handle", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeAsyncIdErrReadNativeContext: { + Desc: "Number of failures to read Node.js native context", + Field: "bpf.nodejs_async_id.errors.read_native_context", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeAsyncIdErrReadEmbedderData: { + Desc: "Number of failures to read Node.js embedder data", + Field: "bpf.nodejs_async_id.errors.read_embedder_data", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeAsyncIdErrReadEnvPtr: { + Desc: "Number of failures to read Node.js environment pointer", + Field: "bpf.nodejs_async_id.errors.read_env_ptr", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeAsyncIdErrReadIdField: { + Desc: "Number of failures to read Node.js async ID field", + Field: "bpf.nodejs_async_id.errors.read_id_field", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, + otelmetrics.IDUnwindNodeAsyncIdErrReadIdDouble: { + Desc: "Number of failures to read Node.js async ID double value", + Field: "bpf.nodejs_async_id.errors.read_id_double", + Type: MetricTypeCounter, + Unit: MetricUnitNone, + }, } diff --git a/metrics/metrics.json b/metrics/metrics.json index 02ef537edf..3f263a46b6 100644 --- a/metrics/metrics.json +++ b/metrics/metrics.json @@ -7,6 +7,7 @@ "id": 0 }, { + "obsolete": true, "description": "CPU Usage: values are 0-100%", "type": "gauge", "name": "CPUUsage", @@ -15,6 +16,7 @@ "id": 1 }, { + "obsolete": true, "description": "I/O Throughput: values are bytes/s", "type": "gauge", "name": "IOThroughput", @@ -23,6 +25,7 @@ "id": 2 }, { + "obsolete": true, "description": "I/O Duration: values are 'weighted # of milliseconds doing I/O'", "type": "gauge", "name": "IODuration", @@ -31,6 +34,7 @@ "id": 3 }, { + "obsolete": true, "description": "Absolute number of goroutines when the metric was collected.", "type": "gauge", "name": "AgentGoRoutines", @@ -38,6 +42,7 @@ "id": 4 }, { + "obsolete": true, "description": "Absolute number in bytes of allocated heap objects of the agent.", "type": "gauge", "name": "AgentHeapAlloc", @@ -46,6 +51,7 @@ "id": 5 }, { + "obsolete": true, "description": "Difference to previous user CPU time of the agent in Milliseconds.", "type": "counter", "name": "AgentUTime", @@ -54,6 +60,7 @@ "id": 6 }, { + "obsolete": true, "description": "Difference to previous system CPU time of the agent in Milliseconds.", "type": "counter", "name": "AgentSTime", @@ -357,6 +364,7 @@ "id": 48 }, { + "obsolete": true, "description": "Current size of the hash map pycodeobject_to_fileid", "type": "gauge", "name": "HashmapPyCodeObjectToFileID", @@ -709,6 +717,7 @@ "id": 97 }, { + "obsolete": true, "description": "Current size in bytes of the local interval cache", "type": "gauge", "name": "LocalIntervalCacheSize", @@ -717,6 +726,7 @@ "id": 98 }, { + "obsolete": true, "description": "Number of cache hits of the local interval cache", "type": "counter", "name": "LocalIntervalCacheHit", @@ -724,6 +734,7 @@ "id": 99 }, { + "obsolete": true, "description": "Number of cache misses of the local interval cache", "type": "counter", "name": "LocalIntervalCacheMiss", @@ -941,6 +952,7 @@ "id": 130 }, { + "obsolete": true, "description": "Number of cache hits in tracehandler trace cache by BPF hash", "type": "counter", "name": "KnownTracesHit", @@ -948,6 +960,7 @@ "id": 131 }, { + "obsolete": true, "description": "Number of cache misses in tracehandler trace cache by BPF hash", "type": "counter", "name": "KnownTracesMiss", @@ -1095,6 +1108,7 @@ "id": 152 }, { + "obsolete": true, "description": "Outgoing total RPC byte count (payload, uncompressed)", "type": "counter", "name": "RPCBytesOutCount", @@ -1103,6 +1117,7 @@ "id": 153 }, { + "obsolete": true, "description": "Incoming total RPC byte count (payload, uncompressed)", "type": "counter", "name": "RPCBytesInCount", @@ -1111,6 +1126,7 @@ "id": 154 }, { + "obsolete": true, "description": "Number of times reading /proc/ failed due to missing text section", "type": "counter", "name": "ErrProcNoTextSec", @@ -1407,6 +1423,7 @@ "id": 196 }, { + "obsolete": true, "description": "Number of times deleting an element from exeIDToStackDeltas failed", "type": "counter", "name": "ExeIDToStackDeltasDelete", @@ -1581,6 +1598,7 @@ "id": 220 }, { + "obsolete": true, "description": "Number of kubernetes client queries.", "type": "counter", "name": "KubernetesClientQuery", @@ -1588,6 +1606,7 @@ "id": 221 }, { + "obsolete": true, "description": "Number of docker client queries.", "type": "counter", "name": "DockerClientQuery", @@ -1595,6 +1614,7 @@ "id": 222 }, { + "obsolete": true, "description": "Number of containerd client queries.", "type": "counter", "name": "ContainerdClientQuery", @@ -1811,6 +1831,7 @@ "id": 253 }, { + "obsolete": true, "description": "Outgoing total RPC byte count (on-the-wire, compressed)", "type": "counter", "name": "WireBytesOutCount", @@ -1819,6 +1840,7 @@ "id": 254 }, { + "obsolete": true, "description": "Incoming total RPC byte count (on-the-wire, compressed)", "type": "counter", "name": "WireBytesInCount", @@ -1938,18 +1960,256 @@ "field": "agent.stack_delta_extraction.success", "id": 271 }, + { + "description": "Number of lost trace events in the communication between kernel and user space (trace_events)", + "type": "counter", + "name": "TraceEventLost", + "field": "agent.errors.trace_event_lost", + "id": 272 + }, + { + "description": "Number of times a trace event was received without data (trace_events)", + "type": "counter", + "name": "TraceEventNoData", + "field": "agent.errors.trace_event_no_data", + "id": 273 + }, + { + "description": "Number of times a trace event read failed (trace_events)", + "type": "counter", + "name": "TraceEventReadError", + "field": "agent.errors.trace_event_read_error", + "id": 274 + }, + { + "description": "Number of parsing errors seen during processing /proc//maps", + "type": "counter", + "name": "ErrProcParse", + "field": "agent.errors.proc_parse", + "id": 275 + }, + { + "description": "Number of successfully symbolized Go frames", + "type": "counter", + "name": "GoSymbolizationSuccess", + "field": "agent.go.symbolization.successes", + "id": 276 + }, + { + "description": "Number of Go frames that failed symbolization", + "type": "counter", + "name": "GoSymbolizationFailure", + "field": "agent.go.symbolization.failures", + "id": 277 + }, + { + "description": "Number of attempts to read Go custom labels", + "type": "counter", + "name": "UnwindGoLabelsAttempts", + "field": "bpf.golabels.attempts", + "id": 278 + }, + { + "description": "Number of failures reading Go custom labels", + "type": "counter", + "name": "UnwindGoLabelsFailures", + "field": "bpf.golabels.errors", + "id": 279 + }, + { + "description": "Number of attempts to read Go custom labels (legacy)", + "type": "counter", + "name": "UnwindGoCustomLabelsAttempts", + "field": "bpf.go_custom_labels.attempts", + "id": 280 + }, + { + "description": "Number of failures reading Go custom labels (legacy)", + "type": "counter", + "name": "UnwindGoCustomLabelsFailures", + "field": "bpf.go_custom_labels.errors", + "id": 281 + }, + { + "description": "Number of failures to get TSD base for native custom labels", + "type": "counter", + "name": "UnwindNativeCustomLabelsErrReadTsdBase", + "field": "bpf.native_custom_labels.errors.read_tsd_base", + "id": 282 + }, + { + "description": "Number of failures to read native custom labels thread-local object", + "type": "counter", + "name": "UnwindNativeCustomLabelsErrReadData", + "field": "bpf.native_custom_labels.errors.read_data", + "id": 283 + }, + { + "description": "Number of failures to read native custom labels key buffer", + "type": "counter", + "name": "UnwindNativeCustomLabelsErrReadKey", + "field": "bpf.native_custom_labels.errors.read_key", + "id": 284 + }, + { + "description": "Number of failures to read native custom labels value buffer", + "type": "counter", + "name": "UnwindNativeCustomLabelsErrReadValue", + "field": "bpf.native_custom_labels.errors.read_value", + "id": 285 + }, + { + "description": "Number of successful reads of native custom labels", + "type": "counter", + "name": "UnwindNativeCustomLabelsReadSuccesses", + "field": "bpf.native_custom_labels.read.successes", + "id": 286 + }, + { + "description": "Total number of failures to add native custom labels", + "type": "counter", + "name": "UnwindNativeCustomLabelsAddErrors", + "field": "bpf.native_custom_labels.add.errors", + "id": 287 + }, + { + "description": "Number of successes adding native custom labels", + "type": "counter", + "name": "UnwindNativeCustomLabelsAddSuccesses", + "field": "bpf.native_custom_labels.add.successes", + "id": 288 + }, { "description": "Number of attempted LuaJIT unwinds", "type": "counter", "name": "UnwindLuaJITAttempts", "field": "bpf.luajit.attempts", - "id": 272 + "id": 289 }, { "description": "Number of times we didn't find an entry for this process in the LuaJIT process info array", "type": "counter", "name": "UnwindLuaJITErrNoProcInfo", "field": "bpf.luajit.errors.no_proc_info", - "id": 273 + "id": 290 + }, + { + "description": "Number of failures to read Node.js custom labels hashmap pointer", + "type": "counter", + "name": "UnwindNodeClFailedReadHmPointer", + "field": "bpf.nodejs_custom_labels.errors.read_hm_pointer", + "id": 291 + }, + { + "description": "Number of failures when no Labelset found in Node.js custom labels hashmap", + "type": "counter", + "name": "UnwindNodeClFailedNoLsInHm", + "field": "bpf.nodejs_custom_labels.errors.no_ls_in_hm", + "id": 292 + }, + { + "description": "Number of failures to read Node.js custom labels hashmap structure", + "type": "counter", + "name": "UnwindNodeClFailedReadHmStruct", + "field": "bpf.nodejs_custom_labels.errors.read_hm_struct", + "id": 293 + }, + { + "description": "Number of failures to read Node.js custom labels bucket", + "type": "counter", + "name": "UnwindNodeClFailedReadBucket", + "field": "bpf.nodejs_custom_labels.errors.read_bucket", + "id": 294 + }, + { + "description": "Number of failures to read Node.js custom labels Labelset address", + "type": "counter", + "name": "UnwindNodeClFailedReadLsAddr", + "field": "bpf.nodejs_custom_labels.errors.read_ls_addr", + "id": 295 + }, + { + "description": "Number of times too many buckets encountered in Node.js custom labels hashmap", + "type": "counter", + "name": "UnwindNodeClFailedTooManyBuckets", + "field": "bpf.nodejs_custom_labels.errors.too_many_buckets", + "id": 296 + }, + { + "description": "Number of times we failed to get node.js execution async id", + "type": "counter", + "name": "UnwindNodeClFailedGettingId", + "field": "bpf.nodejs_custom_labels.errors.failed_getting_id", + "id": 297 + }, + { + "description": "Number of times the node.js execution async id was zero", + "type": "counter", + "name": "UnwindNodeClWarnIdZero", + "field": "bpf.nodejs_custom_labels.warnings.id_zero", + "id": 298 + }, + { + "description": "Number of failures to get TLS symbol address for Node.js isolate", + "type": "counter", + "name": "UnwindNodeAsyncIdErrGetTlsSymbol", + "field": "bpf.nodejs_async_id.errors.get_tls_symbol", + "id": 299 + }, + { + "description": "Number of failures to read Node.js isolate pointer", + "type": "counter", + "name": "UnwindNodeAsyncIdErrReadIsolate", + "field": "bpf.nodejs_async_id.errors.read_isolate", + "id": 300 + }, + { + "description": "Number of failures to read Node.js context handle", + "type": "counter", + "name": "UnwindNodeAsyncIdErrReadContextHandle", + "field": "bpf.nodejs_async_id.errors.read_context_handle", + "id": 301 + }, + { + "description": "Number of failures to read Node.js real context handle", + "type": "counter", + "name": "UnwindNodeAsyncIdErrReadRealContextHandle", + "field": "bpf.nodejs_async_id.errors.read_real_context_handle", + "id": 302 + }, + { + "description": "Number of failures to read Node.js native context", + "type": "counter", + "name": "UnwindNodeAsyncIdErrReadNativeContext", + "field": "bpf.nodejs_async_id.errors.read_native_context", + "id": 303 + }, + { + "description": "Number of failures to read Node.js embedder data", + "type": "counter", + "name": "UnwindNodeAsyncIdErrReadEmbedderData", + "field": "bpf.nodejs_async_id.errors.read_embedder_data", + "id": 304 + }, + { + "description": "Number of failures to read Node.js environment pointer", + "type": "counter", + "name": "UnwindNodeAsyncIdErrReadEnvPtr", + "field": "bpf.nodejs_async_id.errors.read_env_ptr", + "id": 305 + }, + { + "description": "Number of failures to read Node.js async ID field", + "type": "counter", + "name": "UnwindNodeAsyncIdErrReadIdField", + "field": "bpf.nodejs_async_id.errors.read_id_field", + "id": 306 + }, + { + "description": "Number of failures to read Node.js async ID double value", + "type": "counter", + "name": "UnwindNodeAsyncIdErrReadIdDouble", + "field": "bpf.nodejs_async_id.errors.read_id_double", + "id": 307 } ] From dc825f2dc6aeda523959cdef425238f4e71c20fe Mon Sep 17 00:00:00 2001 From: Brennan Vincent Date: Mon, 18 Aug 2025 08:15:50 -0700 Subject: [PATCH 2/3] update OTEL fork --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e48fe1ec5c..75fca68bc9 100644 --- a/go.mod +++ b/go.mod @@ -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-20250813170736-b00d794518ee +replace go.opentelemetry.io/ebpf-profiler => github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.202531 diff --git a/go.sum b/go.sum index 55e82c0682..2ed63a1d90 100644 --- a/go.sum +++ b/go.sum @@ -259,8 +259,8 @@ github.com/opencontainers/selinux v1.12.0 h1:6n5JV4Cf+4y0KNXW48TLj5DwfXpvWlxXplU github.com/opencontainers/selinux v1.12.0/go.mod h1:BTPX+bjVbWGXw7ZZWUbdENt8w0htPSrlgOOysQaU62U= github.com/parca-dev/oomprof v0.1.5-0.20250812211204-fcd45c49d0db h1:YoZ8I4zUvE6QBA9zPPR1zKWWdoVMeINPjUKfhGu5kVc= github.com/parca-dev/oomprof v0.1.5-0.20250812211204-fcd45c49d0db/go.mod h1:+vw0+rZYq/rTVouF6G+/+Uol758EOkUINi8/8RXPvX0= -github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250813170736-b00d794518ee h1:iZUPii1E7PQTd8VT/FZS263HVBJ2ESub0NLOoG8jZf4= -github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250813170736-b00d794518ee/go.mod h1:tcAY9vOK9RXp52s7IwA9HDx96tuZmNajA17s2z2NOQU= +github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.202531 h1:qCBRZHhJpgAyQCVFSALm1ofkxNu8C6+qTK0kmlNfUhE= +github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.202531/go.mod h1:MQHdjrAQu39IXP0dZ8pGRJPrZ8yDHl7oxGtfNprFY4E= 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= From be292ba8ebc1133956e3897a0a524da2fc530042 Mon Sep 17 00:00:00 2001 From: Brennan Vincent Date: Mon, 18 Aug 2025 10:17:34 -0700 Subject: [PATCH 3/3] fix version bump --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 75fca68bc9..bedf9aa11c 100644 --- a/go.mod +++ b/go.mod @@ -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.202531 +replace go.opentelemetry.io/ebpf-profiler => github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250818165243-c77144efd944 diff --git a/go.sum b/go.sum index 2ed63a1d90..374b7042e2 100644 --- a/go.sum +++ b/go.sum @@ -259,8 +259,8 @@ github.com/opencontainers/selinux v1.12.0 h1:6n5JV4Cf+4y0KNXW48TLj5DwfXpvWlxXplU github.com/opencontainers/selinux v1.12.0/go.mod h1:BTPX+bjVbWGXw7ZZWUbdENt8w0htPSrlgOOysQaU62U= github.com/parca-dev/oomprof v0.1.5-0.20250812211204-fcd45c49d0db h1:YoZ8I4zUvE6QBA9zPPR1zKWWdoVMeINPjUKfhGu5kVc= github.com/parca-dev/oomprof v0.1.5-0.20250812211204-fcd45c49d0db/go.mod h1:+vw0+rZYq/rTVouF6G+/+Uol758EOkUINi8/8RXPvX0= -github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.202531 h1:qCBRZHhJpgAyQCVFSALm1ofkxNu8C6+qTK0kmlNfUhE= -github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.202531/go.mod h1:MQHdjrAQu39IXP0dZ8pGRJPrZ8yDHl7oxGtfNprFY4E= +github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250818165243-c77144efd944 h1:r2UIOdZeJd2/natrUf0EcGw4mi0nBQca9yVtjUcFASA= +github.com/parca-dev/opentelemetry-ebpf-profiler v0.0.0-20250818165243-c77144efd944/go.mod h1:UXiMjhlGW5e4hwzdvE2AaIQUg/MwlDJc/k9ZTXw4Pso= 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=