birschick-bq commented on issue #2210: URL: https://github.com/apache/arrow-adbc/issues/2210#issuecomment-2806970076
Observations: - ADBC drivers should adopt OpenTelemetry instrumentation for tracing as is provides for a good variety of [export targets](https://opentelemetry.io/ecosystem/registry/?s=&component=exporter&language=collector&flag=all) (OTLP, debug, , etc.). - Using tracing, as opposed to logging, adds the ability to correlate telemetry from different sources. However, tracing is more expensive and implies that telemetry messages should be less frequent traditional logging. - Automatic instrumentation is not realistic or desirable. - Normally, exporters should be added/enabled in the end-user application. This is because the end-user application can define the lifetime of the exporter and what option and parameters to set. - However, this is not possible with a multiple-runtime scenario. The wrapping language runtime does not have access to the telemetry data in the consumed runtime. - It is recommended that each driver implementation should allow the addition, configuration, and enablement of the OTLP exporter. (Need to determine which of the 3 variants of OTLP exporter to use.) - End user applications can deploy and configure an [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/) to receive OTLP messages and export them to a target of their choice. - As the overhead and complexity of deploying and running a Collector is considerable, it still makes sense to provide the addition and enablement of console and/or file exporters. - It is recommended that a new property, `TraceParent`, is added to the API for the `Connection` and `Statement` objects to allow telemetry messages to have a correlation id with an existing trace parent. - We need a recommendation on how to enable and configure the behavior of each exporter. Should it be by database/connection options, configuration file, or [environment variables](https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/)? - Because drivers are contained in libraries and not applications, care must be taken to ensure the correct lifetime of enabled exporters. -- 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