7bcde3c544
* test: integration test for tracing of queries to the ingester * chore: add FlightFrameEncodeRecorder to record spans per each polling result * refactor(trace): impl TraceCollector for Arc Allow any Arc-wrapped TraceCollector implementation to be used as a TraceCollector. This avoids needing to as_any() and downcast later. * test: assert FlightFrameEncodeRecorder trace spans This test exercises the FlightDataEncoder wrapped with the trace decorator (FlightFrameEncodeRecorder) when executing against a data source that yields data after varying numbers of Stream polls. This test passing will validate the FlightFrameEncodeRecorder correctly instruments the amount of time a client spends waiting on the FlightDataEncoder to acquire or encode a protocol frame, but also ensures the decorator correctly accounts for varying behaviours allowed through the Stream abstraction. It does this by simulating a data source that is not always immediately ready to provide data, such as a buffer wrapped in a contended async mutex. * refactor: move tracing decorator into separate mod * fix: record spans * refactor(test): update test The frame encoder is not one-to-one - it emits two frames for the first data payload, a schema and a payload. This commit updates the test to account for it! * refactor: remove unneeded mut ref, and use enum state method which panics when in a (should be unreachable) state * chore: add more docs to FlightFrameEncodeRecorder and related --------- Co-authored-by: Dom Dwyer <dom@itsallbroken.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |