Skip to content

Move linking to frontend #135

@SOF3

Description

@SOF3

Description

Instead of finding the trace as the linker, the aggregator just emits a tag that indicates the CGRNN of the parent span. Children are emitted with a separate trace ID so that each object has its own trace.

To be precise, we can remove the "parent"/"child" relationship in general and emit a new pseudospan type called "link":

tag name tag value
zzz-traceSource "link"
linkedCluster linked object cluster
linkedGroup linked object group
linkedResource linked object resource
linkedNamespace linked object namespace
linkedName linked object name
linkedRole If "parent", the current span is displayed as a child of the linked span. If empty, the linked span is displayed as a child of the current span. Otherwise, the linked span is displayed under a display-only virtual span with the specified role

User story

Currently, frontend queries that use the exclusive mode have to search the entire trace, making queries unnecessarily slow. Since the user may only be interested in a particular object, we can speed up the query by limiting each trace to one object only.

This allows us to use more aggressive linkers, which may become more significant with #109. Furthermore, dynamic linking means that we can now have multi-object links, such as linking pods to their secrets/nodes (this was previously not possible because nodes can relate to multiple pods).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions