birschick-bq commented on issue #2210: URL: https://github.com/apache/arrow-adbc/issues/2210#issuecomment-2819249563
@CurtHagenlocher / @zeroshade You both had some important questions about a C# implementation 1. That didn't consider passing tracing information via a C ABI 2. That inadvertently exposed the implementation to a public API The observations above try to address these concerns. - The only thing that needs to be in the C ABI is the ability to get/set a `TraceParent` property (the ID of the already running trace). The calling runtime could then have the executing runtime telemetry add the reference to the caller's trace ID. I.e., cross-reference telemetry from multiple sources. - Have each driver provide an option to export trace messages to an OTLP receiver. One possible receiver is the [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/) running on the local machine. The OpenTelemetry Collector can be configured to route the telemetry to a large number of other local or remote receivers. But there is no reason why that [OTLP receiver couldn't be on remote](https://learn.microsoft.com/en-us/azure/data-explorer/open-telemetry-connector?tabs=command-line). It is just down to configuration. - Have each driver provide an option to export trace messages to (rotating) trace files. This is a lower overhead deployment scenario. We'll likely need to implement this rotating trace file exporter for each driver language - or continue from the console/stdout exporters. - All of these implementation only need to provide a way to configure their behavior via options - so no other public API. Assumptions - The calling runtime doesn't need to add any other telemetry information (other than trace parent). It should be instrumented in the executing runtime. -- 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: github-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org