apache / apache/pinot

Move TraceContext utilities to an SPI/common tracing API

Open
#18,453 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
2d 3h
Merged PRs (30d)
195

Description

StarTree Pinot needs to instrument plugin code that runs in the Pinot server query path using TraceContext and TraceCallable. Today both classes live under org.apache.pinot.core.util.trace in pinot-core, so plugins that want to emit query trace entries must depend on pinot-core with provided scope even though the abstraction is cross-cutting instrumentation rather than core server implementation.

Request:
- Move or expose TraceContext and TraceCallable through a stable tracing API in pinot-spi or pinot-common.
- Keep source/binary compatibility shims from the current pinot-core package if needed.
- Allow Pinot plugins to depend on the narrower API module instead of pinot-core for query trace instrumentation.

This would reduce plugin dependency surface and make trace instrumentation usable from modules that should not compile against the full pinot-core implementation jar.

Contributor guide

Open the contributing guide

Research direction

Start by locating TraceContext and TraceCallable under org.apache.pinot.core.util.trace and inspecting their uses in Pinot plugins and query-path code. Review the pinot-spi and pinot-common module boundaries and compatibility needs; done means plugins can use query trace instrumentation through the narrower API without depending on pinot-core, while existing package users remain compatible if required.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.