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]
