Move TraceContext utilities to an SPI/common tracing API
- 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
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