Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
5c053a7
parca symbol upload
korniltsev-grafanista Jan 16, 2026
3748d11
test: add symbolizer test for parca bucket debuginfo source
korniltsev-grafanista Jan 16, 2026
376ca59
Add debug logging to debuginfo upload
korniltsev-grafanista Jan 19, 2026
c6d8290
Remove debuginfod support from parca/debuginfo package
korniltsev-grafanista Jan 19, 2026
bcb9f9e
test: use HTTP/2 with AuthenticateUser middleware in debuginfo store …
korniltsev-grafanista Jan 19, 2026
ebac661
make go/mod
korniltsev-grafanista Jan 19, 2026
de30ec7
make fmt
korniltsev-grafanista Jan 19, 2026
6996be3
Update pkg/parca/debuginfo/metadata.go
korniltsev-grafanista Jan 21, 2026
a6e1367
remove writepath options from the new debuginfo handlers
korniltsev-grafanista Jan 20, 2026
51b6c96
level.Error
korniltsev-grafanista Jan 22, 2026
c4a913d
cleanup
korniltsev-grafanista Jan 22, 2026
73a9406
remove cache
korniltsev-grafanista Jan 22, 2026
ebf62a6
Merge branch 'main' into debuginfo-upload
korniltsev-grafanista Jan 22, 2026
e0bb853
init
korniltsev-grafanista Jan 23, 2026
2574f90
add gopclntab
korniltsev-grafanista Jan 23, 2026
53f4c4c
integrate lidia
korniltsev-grafanista Jan 23, 2026
3d4f860
add test for gopclntab-only symbol resolution
korniltsev-grafanista Jan 23, 2026
6abe078
lint
korniltsev-grafanista Jan 23, 2026
03ce701
disable unused linter for pclntab.go
korniltsev-grafanista Jan 23, 2026
fb78ae9
Merge remote-tracking branch 'origin/kk/lidiago' into debuginfo-upload
korniltsev-grafanista Jan 26, 2026
298c53f
new file name for lidia files with gopclntab support
korniltsev-grafanista Jan 26, 2026
fe836c7
improve error logging
korniltsev-grafanista Jan 26, 2026
2abd0d7
increase upload size
korniltsev-grafanista Jan 26, 2026
caae3c7
dont use parca
korniltsev-grafanista Feb 9, 2026
494a4ed
dont use parca
korniltsev-grafanista Feb 9, 2026
8a337e3
generate
korniltsev-grafanista Feb 9, 2026
69b51c6
generate
korniltsev-grafanista Feb 9, 2026
151252a
Merge remote-tracking branch 'origin/main' into debuginfo-upload
korniltsev-grafanista Feb 9, 2026
42bce6d
revert changes
korniltsev-grafanista Feb 9, 2026
187034c
revert changes
korniltsev-grafanista Feb 9, 2026
ccbc29e
revert changes
korniltsev-grafanista Feb 9, 2026
3f24dfb
revert changes
korniltsev-grafanista Feb 9, 2026
7fcddb8
todo
korniltsev-grafanista Feb 9, 2026
21407c6
revert change
korniltsev-grafanista Feb 9, 2026
7cc54f2
Merge remote-tracking branch 'origin/main' into debuginfo-upload
korniltsev-grafanista Mar 13, 2026
755bdd2
fix symbolizer tests after New() signature change
korniltsev-grafanista Mar 13, 2026
2693f99
rename debuginfo API package to v1alpha1 to mark as experimental
korniltsev-grafanista Mar 13, 2026
889b668
revert lidia change
korniltsev-grafanista Mar 13, 2026
9757e94
address PR review comments: proto naming, state bug, error type, rename
korniltsev-grafanista Mar 13, 2026
2fcace4
cleanup
korniltsev-grafanista Mar 13, 2026
afe536a
test(debuginfo): add unit tests for debug info store and upload reade…
korniltsev-grafanista-yolo-vibecoder239 Mar 13, 2026
ba25e78
fix proto formatting (buf format)
korniltsev-grafanista Mar 13, 2026
b33f1a7
fix: address remaining PR review comments
korniltsev-grafanista Mar 13, 2026
cf2de45
fix: address Cursor BugBot review comments
korniltsev-grafanista Mar 13, 2026
68c2fab
fix: remove MaxSizeReader, enforce size limits at upload and read sites
korniltsev-grafanista Mar 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
175 changes: 175 additions & 0 deletions api/connect-openapi/gen/debuginfo/v1/debuginfo.openapi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
openapi: 3.1.0
info:
title: debuginfo.v1
version: v1.0.0
tags:
- name: scope/public
description: This operation is considered part of the public API scope
- name: scope/internal
description: This operation is considered part of the interal API scope. There are no stability guaraentees when using those APIs.
- name: debuginfo.v1.DebuginfoService
description: |-
This service is inspired by parca debug info upload rpc
It is however different, specifically original ShouldInitiateUpload,InitiateUpload,InitiateUpload are merged into Upload
Some structs were renamed. Some features removed (signed upload, force upload)
paths:
/debuginfo.v1.DebuginfoService/Upload: {}
components:
schemas:
connect-protocol-version:
type: number
title: Connect-Protocol-Version
enum:
- 1
description: Define the version of the Connect protocol
const: 1
connect-timeout-header:
type: number
title: Connect-Timeout-Ms
description: Define the timeout, in ms
connect.error:
type: object
properties:
code:
type: string
examples:
- not_found
enum:
- canceled
- unknown
- invalid_argument
- deadline_exceeded
- not_found
- already_exists
- permission_denied
- resource_exhausted
- failed_precondition
- aborted
- out_of_range
- unimplemented
- internal
- unavailable
- data_loss
- unauthenticated
description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
message:
type: string
description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details:
type: array
items:
$ref: '#/components/schemas/connect.error_details.Any'
description: A list of messages that carry the error details. There is no limit on the number of messages.
title: Connect Error
additionalProperties: true
description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
connect.error_details.Any:
type: object
properties:
type:
type: string
description: 'A URL that acts as a globally unique identifier for the type of the serialized message. For example: `type.googleapis.com/google.rpc.ErrorInfo`. This is used to determine the schema of the data in the `value` field and is the discriminator for the `debug` field.'
value:
type: string
format: binary
description: The Protobuf message, serialized as bytes and base64-encoded. The specific message type is identified by the `type` field.
debug:
oneOf:
- type: object
title: Any
additionalProperties: true
description: Detailed error information.
discriminator:
propertyName: type
title: Debug
description: Deserialized error detail payload. The 'type' field indicates the schema. This field is for easier debugging and should not be relied upon for application logic.
additionalProperties: true
description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message, with an additional debug field for ConnectRPC error details.
debuginfo.v1.FileMetadata:
type: object
properties:
GNU:
type: string
title: GNU
Golang:
type: string
title: Golang
OpenTelemetry:
type: string
title: OpenTelemetry
description: optional libpf.FileID rom the otel profiler
Name:
type: string
title: Name
type:
title: type
$ref: '#/components/schemas/debuginfo.v1.FileMetadata.DebuginfoType'
title: FileMetadata
additionalProperties: false
debuginfo.v1.FileMetadata.DebuginfoType:
type: string
title: DebuginfoType
enum:
- DEBUGINFO_TYPE_EXECUTABLE_FULL
- DEBUGINFO_TYPE_EXECUTABLE_NO_TEXT
debuginfo.v1.ShouldInitiateUploadRequest:
type: object
properties:
file:
title: file
description: bool force = ;
$ref: '#/components/schemas/debuginfo.v1.FileMetadata'
title: ShouldInitiateUploadRequest
additionalProperties: false
debuginfo.v1.ShouldInitiateUploadResponse:
type: object
properties:
shouldInitiateUpload:
type: boolean
title: should_initiate_upload
reason:
type: string
title: reason
title: ShouldInitiateUploadResponse
additionalProperties: false
debuginfo.v1.UploadChunk:
type: object
properties:
chunk:
type: string
title: chunk
format: byte
title: UploadChunk
additionalProperties: false
debuginfo.v1.UploadRequest:
type: object
oneOf:
- properties:
chunk:
title: chunk
$ref: '#/components/schemas/debuginfo.v1.UploadChunk'
title: chunk
required:
- chunk
- properties:
init:
title: init
$ref: '#/components/schemas/debuginfo.v1.ShouldInitiateUploadRequest'
title: init
required:
- init
title: UploadRequest
additionalProperties: false
debuginfo.v1.UploadResponse:
type: object
oneOf:
- properties:
init:
title: init
$ref: '#/components/schemas/debuginfo.v1.ShouldInitiateUploadResponse'
title: init
required:
- init
title: UploadResponse
additionalProperties: false
security: []
180 changes: 180 additions & 0 deletions api/connect-openapi/gen/debuginfo/v1alpha1/debuginfo.openapi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
openapi: 3.1.0
info:
title: debuginfo.v1alpha1
version: v1.0.0
tags:
- name: scope/public
description: This operation is considered part of the public API scope
- name: scope/internal
description: This operation is considered part of the interal API scope. There are no stability guaraentees when using those APIs.
- name: debuginfo.v1alpha1.DebuginfoService
description: |-
This service is inspired by parca debug info upload rpc
It is however different, specifically original ShouldInitiateUpload,InitiateUpload,InitiateUpload are merged into Upload
Some structs were renamed. Some features removed (signed upload, force upload)
paths:
/debuginfo.v1alpha1.DebuginfoService/Upload: {}
components:
schemas:
connect-protocol-version:
type: number
title: Connect-Protocol-Version
enum:
- 1
description: Define the version of the Connect protocol
const: 1
connect-timeout-header:
type: number
title: Connect-Timeout-Ms
description: Define the timeout, in ms
connect.error:
type: object
properties:
code:
type: string
examples:
- not_found
enum:
- canceled
- unknown
- invalid_argument
- deadline_exceeded
- not_found
- already_exists
- permission_denied
- resource_exhausted
- failed_precondition
- aborted
- out_of_range
- unimplemented
- internal
- unavailable
- data_loss
- unauthenticated
description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
message:
type: string
description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
details:
type: array
items:
$ref: '#/components/schemas/connect.error_details.Any'
description: A list of messages that carry the error details. There is no limit on the number of messages.
title: Connect Error
additionalProperties: true
description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation'
connect.error_details.Any:
type: object
properties:
type:
type: string
description: 'A URL that acts as a globally unique identifier for the type of the serialized message. For example: `type.googleapis.com/google.rpc.ErrorInfo`. This is used to determine the schema of the data in the `value` field and is the discriminator for the `debug` field.'
value:
type: string
format: binary
description: The Protobuf message, serialized as bytes and base64-encoded. The specific message type is identified by the `type` field.
debug:
oneOf:
- type: object
title: Any
additionalProperties: true
description: Detailed error information.
discriminator:
propertyName: type
title: Debug
description: Deserialized error detail payload. The 'type' field indicates the schema. This field is for easier debugging and should not be relied upon for application logic.
additionalProperties: true
description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message, with an additional debug field for ConnectRPC error details.
debuginfo.v1alpha1.FileMetadata:
type: object
properties:
gnuBuildId:
type: string
title: gnu_build_id
description: GNU build ID of the executable.
goBuildId:
type: string
title: go_build_id
description: Go build ID of the executable.
otelFileId:
type: string
title: otel_file_id
description: Optional libpf.FileID from the otel profiler.
name:
type: string
title: name
description: Original file name of the executable.
type:
title: type
description: Type of the debug info.
$ref: '#/components/schemas/debuginfo.v1alpha1.FileMetadata.Type'
title: FileMetadata
additionalProperties: false
debuginfo.v1alpha1.FileMetadata.Type:
type: string
title: Type
enum:
- TYPE_UNSPECIFIED
- TYPE_EXECUTABLE_FULL
- TYPE_EXECUTABLE_NO_TEXT
debuginfo.v1alpha1.ShouldInitiateUploadRequest:
type: object
properties:
file:
title: file
description: bool force = ;
$ref: '#/components/schemas/debuginfo.v1alpha1.FileMetadata'
title: ShouldInitiateUploadRequest
additionalProperties: false
debuginfo.v1alpha1.ShouldInitiateUploadResponse:
type: object
properties:
shouldInitiateUpload:
type: boolean
title: should_initiate_upload
reason:
type: string
title: reason
title: ShouldInitiateUploadResponse
additionalProperties: false
debuginfo.v1alpha1.UploadChunk:
type: object
properties:
chunk:
type: string
title: chunk
format: byte
title: UploadChunk
additionalProperties: false
debuginfo.v1alpha1.UploadRequest:
type: object
oneOf:
- properties:
chunk:
title: chunk
$ref: '#/components/schemas/debuginfo.v1alpha1.UploadChunk'
title: chunk
required:
- chunk
- properties:
init:
title: init
$ref: '#/components/schemas/debuginfo.v1alpha1.ShouldInitiateUploadRequest'
title: init
required:
- init
title: UploadRequest
additionalProperties: false
debuginfo.v1alpha1.UploadResponse:
type: object
oneOf:
- properties:
init:
title: init
$ref: '#/components/schemas/debuginfo.v1alpha1.ShouldInitiateUploadResponse'
title: init
required:
- init
title: UploadResponse
additionalProperties: false
security: []
Loading
Loading