Skip to content

Commit 163e8c6

Browse files
authored
Merge pull request #5873 from parca-dev/upgrade-otlp-profiles
Upgrade otlp
2 parents c0da0b2 + 7e93d07 commit 163e8c6

8 files changed

Lines changed: 460 additions & 154 deletions

File tree

go.mod

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ require (
2323
github.com/google/uuid v1.6.0
2424
github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0
2525
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2
26-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3
26+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1
2727
github.com/ianlancetaylor/demangle v0.0.0-20250628045327-2d64ad6b7ec5
2828
github.com/improbable-eng/grpc-web v0.15.0
2929
github.com/klauspost/compress v1.18.0
@@ -50,15 +50,17 @@ require (
5050
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0
5151
go.opentelemetry.io/otel/sdk v1.37.0
5252
go.opentelemetry.io/otel/trace v1.37.0
53-
go.opentelemetry.io/proto/otlp v1.3.1
53+
go.opentelemetry.io/proto/otlp v1.7.1
54+
go.opentelemetry.io/proto/otlp/collector/profiles/v1development v0.0.1
55+
go.opentelemetry.io/proto/otlp/profiles/v1development v0.0.1
5456
go.uber.org/atomic v1.11.0
5557
go.uber.org/automaxprocs v1.6.0
5658
golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0
5759
golang.org/x/net v0.42.0
5860
golang.org/x/oauth2 v0.30.0
5961
golang.org/x/sync v0.16.0
6062
google.golang.org/api v0.243.0
61-
google.golang.org/genproto/googleapis/api v0.0.0-20250721164621-a45f3dfb1074
63+
google.golang.org/genproto/googleapis/api v0.0.0-20250728155136-f173205681a0
6264
google.golang.org/grpc v1.74.2
6365
google.golang.org/protobuf v1.36.6
6466
gopkg.in/dnaeon/go-vcr.v3 v3.2.2
@@ -243,7 +245,7 @@ require (
243245
golang.org/x/tools v0.34.0 // indirect
244246
golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da // indirect
245247
google.golang.org/genproto v0.0.0-20250603155806-513f23925822 // indirect
246-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250721164621-a45f3dfb1074 // indirect
248+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250728155136-f173205681a0 // indirect
247249
gopkg.in/inf.v0 v0.9.1 // indirect
248250
gopkg.in/ini.v1 v1.67.0 // indirect
249251
gopkg.in/yaml.v2 v2.4.0 // indirect

go.sum

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -434,8 +434,8 @@ github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 h1:sGm2vDRFUrQJO/Veii4h4z
434434
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2/go.mod h1:wd1YpapPLivG6nQgbf7ZkG1hhSOXDhhn4MLTknx2aAc=
435435
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
436436
github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
437-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo=
438-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI=
437+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww=
438+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1/go.mod h1:Zanoh4+gvIgluNqcfMVTJueD4wSS5hT7zTt4Mrutd90=
439439
github.com/hamba/avro/v2 v2.29.0 h1:fkqoWEPxfygZxrkktgSHEpd0j/P7RKTBTDbcEeMdVEY=
440440
github.com/hamba/avro/v2 v2.29.0/go.mod h1:Pk3T+x74uJoJOFmHrdJ8PRdgSEL/kEKteJ31NytCKxI=
441441
github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE=
@@ -916,8 +916,12 @@ go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFh
916916
go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps=
917917
go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
918918
go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
919-
go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
920-
go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
919+
go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOVAtj4=
920+
go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE=
921+
go.opentelemetry.io/proto/otlp/collector/profiles/v1development v0.0.1 h1:fx/W8DTESvlkLLozHPDTA8k/8+F0WB7z1pmw7dfT6Z4=
922+
go.opentelemetry.io/proto/otlp/collector/profiles/v1development v0.0.1/go.mod h1:iDeBqwBn31jzFTGdBN/M7e9lHfg3xgaSXJ8RH5tfFfk=
923+
go.opentelemetry.io/proto/otlp/profiles/v1development v0.0.1 h1:s47h9Vl67PNihnb3cWTR2+M29T6OT4QwHcwg7DclJM4=
924+
go.opentelemetry.io/proto/otlp/profiles/v1development v0.0.1/go.mod h1:/wV1Wyg3wdh0FngILo+M7A948iLfldMCMOEqXyVWsr4=
921925
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
922926
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
923927
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
@@ -1144,10 +1148,10 @@ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEY
11441148
google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
11451149
google.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuOnu87KpaYtjK5zBMLcULh7gxkCXu4=
11461150
google.golang.org/genproto v0.0.0-20250603155806-513f23925822/go.mod h1:HubltRL7rMh0LfnQPkMH4NPDFEWp0jw3vixw7jEM53s=
1147-
google.golang.org/genproto/googleapis/api v0.0.0-20250721164621-a45f3dfb1074 h1:mVXdvnmR3S3BQOqHECm9NGMjYiRtEvDYcqAqedTXY6s=
1148-
google.golang.org/genproto/googleapis/api v0.0.0-20250721164621-a45f3dfb1074/go.mod h1:vYFwMYFbmA8vl6Z/krj/h7+U/AqpHknwJX4Uqgfyc7I=
1149-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250721164621-a45f3dfb1074 h1:qJW29YvkiJmXOYMu5Tf8lyrTp3dOS+K4z6IixtLaCf8=
1150-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250721164621-a45f3dfb1074/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
1151+
google.golang.org/genproto/googleapis/api v0.0.0-20250728155136-f173205681a0 h1:0UOBWO4dC+e51ui0NFKSPbkHHiQ4TmrEfEZMLDyRmY8=
1152+
google.golang.org/genproto/googleapis/api v0.0.0-20250728155136-f173205681a0/go.mod h1:8ytArBbtOy2xfht+y2fqKd5DRDJRUQhqbyEnQ4bDChs=
1153+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250728155136-f173205681a0 h1:MAKi5q709QWfnkkpNQ0M12hYJ1+e8qYVDyowc4U1XZM=
1154+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250728155136-f173205681a0/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
11511155
google.golang.org/grpc v1.12.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
11521156
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
11531157
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=

pkg/normalizer/normalizer.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import (
3737
"github.com/polarsignals/frostdb/query/logicalplan"
3838
"github.com/prometheus/common/model"
3939
"github.com/prometheus/prometheus/util/strutil"
40-
pprofextended "go.opentelemetry.io/proto/otlp/profiles/v1experimental"
40+
pprofextended "go.opentelemetry.io/proto/otlp/profiles/v1development"
4141
"golang.org/x/exp/maps"
4242
"google.golang.org/grpc/codes"
4343

@@ -93,15 +93,15 @@ func MetaFromPprof(p *pprofpb.Profile, name string, sampleIndex int) profile.Met
9393
}
9494
}
9595

96-
func MetaFromOtelProfile(p *pprofextended.Profile, name string, sampleIndex int, duration int64) profile.Meta {
96+
func MetaFromOtelProfile(stringTable []string, p *pprofextended.Profile, name string, sampleIndex int, duration int64) profile.Meta {
9797
periodType := profile.ValueType{}
9898
if p.PeriodType != nil {
99-
periodType = profile.ValueType{Type: p.StringTable[p.PeriodType.Type], Unit: p.StringTable[p.PeriodType.Unit]}
99+
periodType = profile.ValueType{Type: stringTable[p.PeriodType.TypeStrindex], Unit: stringTable[p.PeriodType.UnitStrindex]}
100100
}
101101

102102
sampleType := profile.ValueType{}
103103
if p.SampleType != nil {
104-
sampleType = profile.ValueType{Type: p.StringTable[p.SampleType[sampleIndex].Type], Unit: p.StringTable[p.SampleType[sampleIndex].Unit]}
104+
sampleType = profile.ValueType{Type: stringTable[p.SampleType[sampleIndex].TypeStrindex], Unit: stringTable[p.SampleType[sampleIndex].UnitStrindex]}
105105
}
106106

107107
return profile.Meta{

0 commit comments

Comments
 (0)