Add controller execution time tracking to query responses#17647
Add controller execution time tracking to query responses#17647Akanksha-kedia wants to merge 1 commit intoapache:masterfrom
Conversation
❌ 2 Tests Failed:
View the top 3 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
e02b275 to
b6687bc
Compare
|
@Akanksha-kedia is this only for queries executed through Controller UI? If yes, could we instead consider modifying only the controller APIs to additionally bundle the controller execution time given that most of the queries would generally be through the broker itself and this increases the response size without providing any additional information for broker queries. |
4c72c36 to
4a3ab1b
Compare
|
curl -X POST http://localhost:9001/sql -H "Content-Type: application/json" -d '{"sql":"SELECT COUNT(*) FROM baseballStats"}' | jq . % Total % Received % Xferd Average Speed Time Time Time Current |
|
curl -X POST http://localhost:8099/query/sql -H "Content-Type: application/json" -d '{"sql":"SELECT COUNT() FROM baseballStats"}' | jq . |
|
@shauryachats please see |
a86cefe to
76e6973
Compare
- Add controllerExecutionTimeMs field to BrokerResponseNative with default value -1 - Use @JsonInclude(JsonInclude.Include.NON_DEFAULT) to exclude field when not set - Update controller's sendRequestRaw to capture broker response, add execution time, and re-serialize - Field only appears in controller query responses, not in direct broker queries - Keeps response size minimal for broker queries while providing execution time for controller queries - Addresses reviewer feedback to avoid increasing response size unnecessarily
76e6973 to
c212060
Compare
This provides visibility into controller-level query performance for monitoring and debugging purposes.
Instructions:
featurebugfixperformanceuibackward-incompatrelease-notes(**)(*) Other labels to consider:
testingdependenciesdockerkubernetesobservabilitysecuritycode-styleextension-pointrefactorcleanup(**) Use
release-noteslabel for scenarios like: