Skip to content

[Feature] Propose Unified Observability Interface for Request Tracing, PD Metric, and TimeStat Log #10916

@sufeng-buaa

Description

@sufeng-buaa

Checklist

Motivation

Currently, there are three approaches for observability in the PD-Disaggregation architecture: Request Tracing, PD Metrics, TimeState Log. Each of them has its own interface and implementation. Although these methods serve different purposes, they share similar underlying logic(Record timestamps and generate latency information). To improve maintainability and reduce duplication, I propose unifying these components under a single, shared interface. The specific export format would then be determined by command-line arguments.

Current State:

Proposed Implementation

I suggest migrating the trace context from the tracing package into the request object, naming it something like trace_metric_context. During request execution, a unified interface can be used to record information such as RequestStage, timestamps, and other attributes. On the backend, based on different observability configurations, we can implement separate data processing pipelines, ultimately exporting the data to appropriate destinations—OpenTelemetry collector, Prometheus, or log files.

@acelyc111 @LJL36 @zhanghaotong Would you be interested in discussing the design and collaborating on the implementation? cc @stmatengss @ishandhanani @tonyluj @changhuaixin

Related resources

No response

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