skrawcz opened a new pull request, #665: URL: https://github.com/apache/burr/pull/665
* [feat: add configurable streaming telemetry to OpenTelemetryBridge](https://github.com/apache/burr/commit/564fcde84b0674141f650dc1b5e1b5c7e44403dc) * [Add streaming timing to Burr tracker, UI, and documentation](https://github.com/apache/burr/commit/7f34286be6cfb473a671d9f77c2420ba3764597d) ## Changes Add configurable streaming telemetry to the OpenTelemetry bridge and surface generation-vs-consumer timing in the Burr tracker and UI. - OpenTelemetryBridge: new streaming_telemetry parameter with StreamingTelemetryMode enum (SINGLE_SPAN, EVENT, CHUNK_SPANS, SINGLE_AND_CHUNK_SPANS) controlling span/event granularity for streaming actions - New lifecycle hooks: PreStreamGenerateHook/PostStreamGenerateHook (sync + async) bracket each generator yield in application.py - Tracker: SyncTrackingClient implements the generate hooks to accumulate timing in StreamState; EndStreamModel gains optional generation_time_ms, consumer_time_ms, first_item_time_ms fields - UI: renders generation/consumer split and TTFT when available, falls back to legacy throughput for old logs - Documentation updates across lifecycle, OTel, streaming actions, and tracking reference docs ## How I tested this - 40 new tests: 10 application hook tests, 24 OTel mode tests, 6 tracker timing tests (unit, backwards compat, sync/async e2e) - Ran example with --tracker flag and verified timing data in the Burr UI - Full suite: 183 tests pass, TypeScript compiles clean, Sphinx builds with no new warnings ## Notes - Default SINGLE_SPAN mode is backwards-compatible — same span structure as before, with added timing attributes - The four OTel modes only affect span/event output; the tracker always accumulates the same timing independently ## Checklist - [ ] PR has an informative and human-readable title (this will be pulled into the release notes) - [ ] Changes are limited to a single goal (no scope creep) - [ ] Code passed the pre-commit check & code is left cleaner/nicer than when first encountered. - [ ] Any _change_ in functionality is tested - [ ] New functions are documented (with a description, list of inputs, and expected output) - [ ] Placeholder code is flagged / future TODOs are captured in comments - [ ] Project documentation has been updated if adding/changing functionality. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
