Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Opencensus proto Spans should optionally contain Node/Process information. #169

@sjkaris

Description

@sjkaris

Problem

Opencensus-proto Spans are the building block for transmitting oc span data. With the current data models, there is no way to transmit Node information without using the agent's ExportTraceServiceRequest which disallows batching of spans from different nodes. This batching strategy is suboptimal for collector or agent processes that are accepting spans from many nodes. This additionally hampers potential benefits from sending compressed batches of spans, since it limits the batches to that of spans from a single node.

Proposed Solution

In order to allow for arbitrary batching of Spans, I propose adding optional Node/Process information as a field on the span proto structure. To do this the following changes would be needed:

  • Node is promoted up out of the agent proto definition, and into the common trace proto definition.
  • Span adds Node as an optional field.

This would allow for collector or agent services to batch the sending of spans from an arbitrary number of services.

Impact on current agent and client libraries:

Since this field is optional, it would not prevent current optimizations (such as the pre-sending of Node data) from working as-is.

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