feniljain commented on issue #19658:
URL: https://github.com/apache/datafusion/issues/19658#issuecomment-3718972380

   Hey @2010YOUY01 👋🏻
   
   I have been exploring this ticket, and I believe this would require a change 
to `AsyncScalarUDFImpl` itself? At the end of the chain, 
`invoke_async_with_args` is an async function too, so any driver code would 
`await` on it, and we don't want to include the polling time in our metrics, 
which means we would have to change the API of `invoke_async_with_args` to pass 
in a timer which user would have to manually start and stop in their 
implementation. If they don't, they would miss out on time.
   
   I currently don't see any other way to force the user to make use of that. 
For measuring time spent in our driver code, I believe we can pass the timer 
around and keep taking measurements using 
[intermediate](https://github.com/apache/datafusion/blob/566bcde9e12992932f684fe6509de39ae78cce9f/datafusion/physical-expr-common/src/metrics/baseline.rs#L103-L111)
 method.
   
   What do you think? Am I missing something? If we need to change the API, 
what according to you would be a good way to migrate all downstream consumers 
to the same?


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to