Skip to content

Commit e7ea34a

Browse files
feat(pyroscope): Replace Parca gRPC debuginfo upload with Pyroscope Connect API (#5891)
Replace the old Parca gRPC-based debuginfo/symbol upload with the new Pyroscope Connect bidirectional streaming API. This simplifies the upload protocol from a 4-step gRPC flow (ShouldInitiateUpload → InitiateUpload → Upload chunks → MarkUploadFinished) to a single bidi stream. **Protocol change** - New `PyroscopeSymbolUploader` replaces `ParcaSymbolUploader` using a single Connect bidi stream for the full upload lifecycle - Removed signed-URL upload strategy and gRPC upload client (`grpc_upload_client.go`) - Skips vdso uploads (no backing file, always fails) - Empty buildID is passed as empty `GnuBuildId` (fileID goes into `OtelFileId` only) **Interface change: `Client()` → `DebugInfoClients()`** - `Appender.Client()` returned a single gRPC client (first match). `Appender.DebugInfoClients()` returns ALL Connect clients, enabling proper fan-out in the proxy - Updated across all implementations (Fanout, AppenderMock, enrich, relabel, write, java/loop_test) **receive_http proxy rewrite** - Old: thin gRPC proxy forwarding to one upstream + separate RPC endpoints for each step - New: Connect bidi stream handler that fans out to all downstream clients concurrently; only accepting endpoints receive chunks - Removed `grpc.go` (gRPC server setup) — uses `debuginfov1alpha1connect.RegisterDebuginfoServiceHandler` on the HTTP router **debuginfo.Client simplified** - Removed `grpc.ClientConn` management and `debuginfo_client.go` (gRPC dial + TLS + basic-auth) - Takes a pre-built Connect client directly; reuses the h2c HTTP client from `write.go` **New config in `pyroscope.ebpf`** - `debug_info` block with `upload_enabled` (default false), `cache_size`, `queue_size`, `worker_num` - `symb_cache_enabled` attr (default true) — allows disabling local symbolization for testing server-side symbolization **Dependencies** - Removed all `buf.build/gen/go/parca-dev/parca` deps - Bumped `github.com/grafana/pyroscope/api` to v1.3.2 - OTel SDK pinned to v1.39.0 (avoids schema URL conflict) **Tests** - 7 uploader integration tests (success, decline, in-progress, empty buildID, multi-chunk, dedup, worker queue) - 5 proxy fan-out tests (single accept, multi accept, multi decline, mixed, no endpoints)
1 parent 8ca028f commit e7ea34a

28 files changed

Lines changed: 1449 additions & 715 deletions

collector/go.mod

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,6 @@ require (
9999
)
100100

101101
require (
102-
buf.build/gen/go/parca-dev/parca/grpc/go v1.6.1-20260206050007-a47b093e4fe5.1 // indirect
103-
buf.build/gen/go/parca-dev/parca/protocolbuffers/go v1.36.11-20260206050007-a47b093e4fe5.1 // indirect
104102
cel.dev/expr v0.25.1 // indirect
105103
cloud.google.com/go v0.123.0 // indirect
106104
cloud.google.com/go/auth v0.18.1 // indirect
@@ -539,7 +537,7 @@ require (
539537
github.com/grafana/loki/v3 v3.6.5 // indirect
540538
github.com/grafana/otel-profiling-go v0.5.1 // indirect
541539
github.com/grafana/pyroscope-go/godeltaprof v0.1.9 // indirect
542-
github.com/grafana/pyroscope/api v1.3.0 // indirect
540+
github.com/grafana/pyroscope/api v1.3.2 // indirect
543541
github.com/grafana/pyroscope/ebpf v0.4.11 // indirect
544542
github.com/grafana/pyroscope/lidia v0.0.2 // indirect
545543
github.com/grafana/regexp v0.0.0-20250905093917-f7b3be9d1853 // indirect

collector/go.sum

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
buf.build/gen/go/parca-dev/parca/grpc/go v1.6.1-20260206050007-a47b093e4fe5.1 h1:3WQXA1Ugb8QXQnJAE/rRcGpS0oUvebYyRcmXfjGQKdA=
2-
buf.build/gen/go/parca-dev/parca/grpc/go v1.6.1-20260206050007-a47b093e4fe5.1/go.mod h1:iWVxypLV87foo7RuO60wY7CLtM/6VrHoEc7iwIUBLu4=
3-
buf.build/gen/go/parca-dev/parca/protocolbuffers/go v1.36.11-20260206050007-a47b093e4fe5.1 h1:59PdrDoKp+I5qn69LyyncUGUTO37vVGIB1uuX4kAyko=
4-
buf.build/gen/go/parca-dev/parca/protocolbuffers/go v1.36.11-20260206050007-a47b093e4fe5.1/go.mod h1:TR9iiFuhuMGsEil3U6KZnYmvZ1W2SY6uw5HPP+4mJU4=
51
cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4=
62
cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4=
73
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
@@ -1235,8 +1231,8 @@ github.com/grafana/prometheus v1.8.2-0.20260313093229-87200e297b57 h1:v/2M4OKUYT
12351231
github.com/grafana/prometheus v1.8.2-0.20260313093229-87200e297b57/go.mod h1:wSFyaZQ1ioryO2X47s2wvQEWypS+Mwf9IQ1ABDEo2Sk=
12361232
github.com/grafana/pyroscope-go/godeltaprof v0.1.9 h1:c1Us8i6eSmkW+Ez05d3co8kasnuOY813tbMN8i/a3Og=
12371233
github.com/grafana/pyroscope-go/godeltaprof v0.1.9/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU=
1238-
github.com/grafana/pyroscope/api v1.3.0 h1:wzOC+3k9Yn247E3rftOaHlO0MG7mQL48eab/EOFujsU=
1239-
github.com/grafana/pyroscope/api v1.3.0/go.mod h1:K4BU7r29UGWJfAF29ySzQQ9wvVvWsEU7IaRXIa89ZwA=
1234+
github.com/grafana/pyroscope/api v1.3.2 h1:+F5JNUlM4ifoweKmRXW9cA6JsCeHzDVFV2Om3smqCxI=
1235+
github.com/grafana/pyroscope/api v1.3.2/go.mod h1:IQdc2koLAWVLlWcvBV4bm6uSFW2LiklKa8xyevsZ28I=
12401236
github.com/grafana/pyroscope/ebpf v0.4.11 h1:QpXj3xIWveFy1Zx7M9YzCq7z+d70LQ2pF/qEzD/tXWo=
12411237
github.com/grafana/pyroscope/ebpf v0.4.11/go.mod h1:LhmNuYZpxlmjsLK36j1nD+eJ/CNebBRDPCzRJPVHZbI=
12421238
github.com/grafana/pyroscope/lidia v0.0.2 h1:DsZiUjWfB+6w9wKGosEQQTFuDvkay7kUECw3Os7Xno0=

extension/alloyengine/go.mod

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ require (
1717
)
1818

1919
require (
20-
buf.build/gen/go/parca-dev/parca/grpc/go v1.6.1-20260206050007-a47b093e4fe5.1 // indirect
21-
buf.build/gen/go/parca-dev/parca/protocolbuffers/go v1.36.11-20260206050007-a47b093e4fe5.1 // indirect
2220
cel.dev/expr v0.25.1 // indirect
2321
cloud.google.com/go v0.123.0 // indirect
2422
cloud.google.com/go/auth v0.18.1 // indirect
@@ -456,7 +454,7 @@ require (
456454
github.com/grafana/loki/v3 v3.6.5 // indirect
457455
github.com/grafana/otel-profiling-go v0.5.1 // indirect
458456
github.com/grafana/pyroscope-go/godeltaprof v0.1.9 // indirect
459-
github.com/grafana/pyroscope/api v1.3.0 // indirect
457+
github.com/grafana/pyroscope/api v1.3.2 // indirect
460458
github.com/grafana/pyroscope/ebpf v0.4.11 // indirect
461459
github.com/grafana/pyroscope/lidia v0.0.2 // indirect
462460
github.com/grafana/regexp v0.0.0-20250905093917-f7b3be9d1853 // indirect

extension/alloyengine/go.sum

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
buf.build/gen/go/parca-dev/parca/grpc/go v1.6.1-20260206050007-a47b093e4fe5.1 h1:3WQXA1Ugb8QXQnJAE/rRcGpS0oUvebYyRcmXfjGQKdA=
2-
buf.build/gen/go/parca-dev/parca/grpc/go v1.6.1-20260206050007-a47b093e4fe5.1/go.mod h1:iWVxypLV87foo7RuO60wY7CLtM/6VrHoEc7iwIUBLu4=
3-
buf.build/gen/go/parca-dev/parca/protocolbuffers/go v1.36.11-20260206050007-a47b093e4fe5.1 h1:59PdrDoKp+I5qn69LyyncUGUTO37vVGIB1uuX4kAyko=
4-
buf.build/gen/go/parca-dev/parca/protocolbuffers/go v1.36.11-20260206050007-a47b093e4fe5.1/go.mod h1:TR9iiFuhuMGsEil3U6KZnYmvZ1W2SY6uw5HPP+4mJU4=
51
cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4=
62
cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4=
73
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
@@ -1253,8 +1249,8 @@ github.com/grafana/prometheus v1.8.2-0.20260313093229-87200e297b57 h1:v/2M4OKUYT
12531249
github.com/grafana/prometheus v1.8.2-0.20260313093229-87200e297b57/go.mod h1:wSFyaZQ1ioryO2X47s2wvQEWypS+Mwf9IQ1ABDEo2Sk=
12541250
github.com/grafana/pyroscope-go/godeltaprof v0.1.9 h1:c1Us8i6eSmkW+Ez05d3co8kasnuOY813tbMN8i/a3Og=
12551251
github.com/grafana/pyroscope-go/godeltaprof v0.1.9/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU=
1256-
github.com/grafana/pyroscope/api v1.3.0 h1:wzOC+3k9Yn247E3rftOaHlO0MG7mQL48eab/EOFujsU=
1257-
github.com/grafana/pyroscope/api v1.3.0/go.mod h1:K4BU7r29UGWJfAF29ySzQQ9wvVvWsEU7IaRXIa89ZwA=
1252+
github.com/grafana/pyroscope/api v1.3.2 h1:+F5JNUlM4ifoweKmRXW9cA6JsCeHzDVFV2Om3smqCxI=
1253+
github.com/grafana/pyroscope/api v1.3.2/go.mod h1:IQdc2koLAWVLlWcvBV4bm6uSFW2LiklKa8xyevsZ28I=
12581254
github.com/grafana/pyroscope/ebpf v0.4.11 h1:QpXj3xIWveFy1Zx7M9YzCq7z+d70LQ2pF/qEzD/tXWo=
12591255
github.com/grafana/pyroscope/ebpf v0.4.11/go.mod h1:LhmNuYZpxlmjsLK36j1nD+eJ/CNebBRDPCzRJPVHZbI=
12601256
github.com/grafana/pyroscope/lidia v0.0.2 h1:DsZiUjWfB+6w9wKGosEQQTFuDvkay7kUECw3Os7Xno0=

go.mod

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ require (
7878
github.com/grafana/loki/pkg/push v0.0.0-20251125172520-2f85998f1adf
7979
github.com/grafana/loki/v3 v3.6.5
8080
github.com/grafana/pyroscope-go/godeltaprof v0.1.9
81-
github.com/grafana/pyroscope/api v1.3.0
81+
github.com/grafana/pyroscope/api v1.3.2
8282
github.com/grafana/pyroscope/ebpf v0.4.11
8383
github.com/grafana/pyroscope/lidia v0.0.2
8484
github.com/grafana/regexp v0.0.0-20250905093917-f7b3be9d1853
@@ -1001,8 +1001,6 @@ require (
10011001
)
10021002

10031003
require (
1004-
buf.build/gen/go/parca-dev/parca/grpc/go v1.6.1-20260206050007-a47b093e4fe5.1
1005-
buf.build/gen/go/parca-dev/parca/protocolbuffers/go v1.36.11-20260206050007-a47b093e4fe5.1
10061004
github.com/GoogleCloudPlatform/opentelemetry-operations-go/extension/googleclientauthextension v0.55.0
10071005
github.com/open-telemetry/opentelemetry-collector-contrib/extension/googleclientauthextension v0.147.0
10081006
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/splunk v0.147.0

go.sum

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
buf.build/gen/go/parca-dev/parca/grpc/go v1.6.1-20260206050007-a47b093e4fe5.1 h1:3WQXA1Ugb8QXQnJAE/rRcGpS0oUvebYyRcmXfjGQKdA=
2-
buf.build/gen/go/parca-dev/parca/grpc/go v1.6.1-20260206050007-a47b093e4fe5.1/go.mod h1:iWVxypLV87foo7RuO60wY7CLtM/6VrHoEc7iwIUBLu4=
3-
buf.build/gen/go/parca-dev/parca/protocolbuffers/go v1.36.11-20260206050007-a47b093e4fe5.1 h1:59PdrDoKp+I5qn69LyyncUGUTO37vVGIB1uuX4kAyko=
4-
buf.build/gen/go/parca-dev/parca/protocolbuffers/go v1.36.11-20260206050007-a47b093e4fe5.1/go.mod h1:TR9iiFuhuMGsEil3U6KZnYmvZ1W2SY6uw5HPP+4mJU4=
51
cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4=
62
cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4=
73
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
@@ -1263,8 +1259,8 @@ github.com/grafana/prometheus v1.8.2-0.20260313093229-87200e297b57 h1:v/2M4OKUYT
12631259
github.com/grafana/prometheus v1.8.2-0.20260313093229-87200e297b57/go.mod h1:wSFyaZQ1ioryO2X47s2wvQEWypS+Mwf9IQ1ABDEo2Sk=
12641260
github.com/grafana/pyroscope-go/godeltaprof v0.1.9 h1:c1Us8i6eSmkW+Ez05d3co8kasnuOY813tbMN8i/a3Og=
12651261
github.com/grafana/pyroscope-go/godeltaprof v0.1.9/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU=
1266-
github.com/grafana/pyroscope/api v1.3.0 h1:wzOC+3k9Yn247E3rftOaHlO0MG7mQL48eab/EOFujsU=
1267-
github.com/grafana/pyroscope/api v1.3.0/go.mod h1:K4BU7r29UGWJfAF29ySzQQ9wvVvWsEU7IaRXIa89ZwA=
1262+
github.com/grafana/pyroscope/api v1.3.2 h1:+F5JNUlM4ifoweKmRXW9cA6JsCeHzDVFV2Om3smqCxI=
1263+
github.com/grafana/pyroscope/api v1.3.2/go.mod h1:IQdc2koLAWVLlWcvBV4bm6uSFW2LiklKa8xyevsZ28I=
12681264
github.com/grafana/pyroscope/ebpf v0.4.11 h1:QpXj3xIWveFy1Zx7M9YzCq7z+d70LQ2pF/qEzD/tXWo=
12691265
github.com/grafana/pyroscope/ebpf v0.4.11/go.mod h1:LhmNuYZpxlmjsLK36j1nD+eJ/CNebBRDPCzRJPVHZbI=
12701266
github.com/grafana/pyroscope/lidia v0.0.2 h1:DsZiUjWfB+6w9wKGosEQQTFuDvkay7kUECw3Os7Xno0=

internal/component/pyroscope/appender.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import (
66
"sync"
77
"time"
88

9-
debuginfogrpc "buf.build/gen/go/parca-dev/parca/grpc/go/parca/debuginfo/v1alpha1/debuginfov1alpha1grpc"
109
"github.com/grafana/alloy/internal/component/pyroscope/write/debuginfo"
10+
"github.com/grafana/pyroscope/api/gen/proto/go/debuginfo/v1alpha1/debuginfov1alpha1connect"
1111
"github.com/hashicorp/go-multierror"
1212
"github.com/prometheus/client_golang/prometheus"
1313
"github.com/prometheus/prometheus/model/labels"
@@ -61,15 +61,14 @@ type Fanout struct {
6161
writeLatency prometheus.Histogram
6262
}
6363

64-
func (f *Fanout) Client() debuginfogrpc.DebuginfoServiceClient {
64+
func (f *Fanout) DebugInfoClients() []debuginfov1alpha1connect.DebuginfoServiceClient {
6565
f.mut.RLock()
6666
defer f.mut.RUnlock()
67+
var clients []debuginfov1alpha1connect.DebuginfoServiceClient
6768
for _, c := range f.children {
68-
if client := c.Client(); client != nil {
69-
return client
70-
}
69+
clients = append(clients, c.DebugInfoClients()...)
7170
}
72-
return nil
71+
return clients
7372
}
7473

7574
func (f *Fanout) Upload(j debuginfo.UploadJob) {

internal/component/pyroscope/appender_mock.go

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ package pyroscope
33
import (
44
"context"
55

6-
debuginfogrpc "buf.build/gen/go/parca-dev/parca/grpc/go/parca/debuginfo/v1alpha1/debuginfov1alpha1grpc"
76
"github.com/grafana/alloy/internal/component/pyroscope/write/debuginfo"
7+
"github.com/grafana/pyroscope/api/gen/proto/go/debuginfo/v1alpha1/debuginfov1alpha1connect"
88
"github.com/prometheus/prometheus/model/labels"
99
)
1010

1111
var _ Appendable = AppenderMock{}
1212

1313
type AppenderMock struct {
14-
AppendIngestFunc func(ctx context.Context, profile *IncomingProfile) error
15-
AppendFunc func(ctx context.Context, labels labels.Labels, samples []*RawSample) error
16-
ClientFunc func() debuginfogrpc.DebuginfoServiceClient
17-
DebugInfoUploadFunc func(j debuginfo.UploadJob)
14+
AppendIngestFunc func(ctx context.Context, profile *IncomingProfile) error
15+
AppendFunc func(ctx context.Context, labels labels.Labels, samples []*RawSample) error
16+
DebugInfoClientsFunc func() []debuginfov1alpha1connect.DebuginfoServiceClient
17+
DebugInfoUploadFunc func(j debuginfo.UploadJob)
1818
}
1919

2020
func (a AppenderMock) Append(ctx context.Context, labels labels.Labels, samples []*RawSample) error {
@@ -29,12 +29,17 @@ func (a AppenderMock) Appender() Appender {
2929
return a
3030
}
3131

32-
func (a AppenderMock) Client() debuginfogrpc.DebuginfoServiceClient {
33-
return a.ClientFunc()
32+
func (a AppenderMock) DebugInfoClients() []debuginfov1alpha1connect.DebuginfoServiceClient {
33+
if a.DebugInfoClientsFunc != nil {
34+
return a.DebugInfoClientsFunc()
35+
}
36+
return nil
3437
}
3538

3639
func (a AppenderMock) Upload(j debuginfo.UploadJob) {
37-
a.DebugInfoUploadFunc(j)
40+
if a.DebugInfoUploadFunc != nil {
41+
a.DebugInfoUploadFunc(j)
42+
}
3843
}
3944

4045
func AppendableFunc(f func(ctx context.Context, labels labels.Labels, samples []*RawSample) error) AppenderMock {

internal/component/pyroscope/ebpf/args.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"github.com/grafana/alloy/internal/component/discovery"
77
"github.com/grafana/alloy/internal/component/pyroscope"
88
"github.com/grafana/alloy/internal/component/pyroscope/ebpf/reporter/args"
9+
"github.com/grafana/alloy/internal/component/pyroscope/write/debuginfo"
910
)
1011

1112
type Arguments struct {
@@ -37,6 +38,9 @@ type Arguments struct {
3738
PIDLabel bool `alloy:"pid_label,attr,optional"`
3839
Comm string `alloy:"comm,attr,optional"` // to address a Grafana Labs customer's escalation
3940
KernelFrames bool `alloy:"kernel_frames,attr,optional"`
41+
SymbCacheEnabled bool `alloy:"symb_cache_enabled,attr,optional"`
42+
43+
DebugInfoArguments debuginfo.Arguments `alloy:"debug_info,block,optional"`
4044
}
4145

4246
type DeprecatedArguments struct {

internal/component/pyroscope/ebpf/ebpf_linux.go

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -96,17 +96,20 @@ func New(logger log.Logger, reg prometheus.Registerer, id string, args Arguments
9696

9797
appendable := pyroscope.NewFanout(args.ForwardTo, id, reg)
9898

99-
nfs, err := irsymcache.NewFSCache(logger, irsymcache.TableTableFactory{
100-
Options: []lidia.Option{
101-
lidia.WithFiles(),
102-
lidia.WithLines(),
103-
},
104-
}, irsymcache.Options{
105-
SizeEntries: uint32(args.SymbCacheSizeEntries),
106-
Path: args.SymbCachePath,
107-
})
108-
if err != nil {
109-
return nil, err
99+
var nfs *irsymcache.Resolver
100+
if args.SymbCacheEnabled {
101+
nfs, err = irsymcache.NewFSCache(logger, irsymcache.TableTableFactory{
102+
Options: []lidia.Option{
103+
lidia.WithFiles(),
104+
lidia.WithLines(),
105+
},
106+
}, irsymcache.Options{
107+
SizeEntries: uint32(args.SymbCacheSizeEntries),
108+
Path: args.SymbCachePath,
109+
})
110+
if err != nil {
111+
return nil, err
112+
}
110113
}
111114

112115
if dynamicProfilingPolicy {
@@ -311,9 +314,11 @@ func (c *Component) ReportExecutable(md *reporter2.ExecutableMetadata) {
311314
if c.symbols != nil {
312315
c.symbols.ReportExecutable(md)
313316
}
317+
if c.args.DebugInfoArguments.UploadEnabled {
318+
c.reportExecutableForDebugInfoUpload(md)
319+
}
314320
}
315321

316-
//nolint:unused
317322
func (c *Component) reportExecutableForDebugInfoUpload(args *reporter2.ExecutableMetadata) {
318323
extractAsFile := func(pid libpf.PID, file string) string {
319324
return path.Join("/proc", strconv.Itoa(int(pid)), "root", file)
@@ -336,6 +341,7 @@ func (c *Component) reportExecutableForDebugInfoUpload(args *reporter2.Executabl
336341
c.appendable.Upload(debuginfo.UploadJob{
337342
FrameMappingFileData: mf,
338343
Open: open,
344+
InitArguments: c.args.DebugInfoArguments,
339345
})
340346
}
341347

@@ -366,6 +372,13 @@ func NewDefaultArguments() Arguments {
366372
PyroscopeDynamicProfilingPolicy: true,
367373
SymbCachePath: "/tmp/symb-cache",
368374
SymbCacheSizeEntries: 2048,
375+
SymbCacheEnabled: true,
376+
DebugInfoArguments: debuginfo.Arguments{
377+
UploadEnabled: false,
378+
CacheSize: 1024,
379+
QueueSize: 64,
380+
WorkerNum: 4,
381+
},
369382
}
370383
}
371384

0 commit comments

Comments
 (0)