Skip to content

Build gRPC buffer/request directly #2

@mheffner

Description

@mheffner

The gRPC approach to exporting data, eg. via the TraceServiceClient::Export(), makes it difficult to reclaim the memory from the exported payload. You can't use stack allocated structures or build a free-list for the payload buffer because you don't have control of the ExportTraceServiceRequest. At volume this leads to a lot of memory churn.

Instead, use a regular http2 client and build the request buffer directly by serializing the gRPC encoded payload. Build a regular http request with the path set to the gRPC RPC call. This would allow more control of buffer management at scale.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions