Add support for opentelemetry tracing in generated clients
Related issue and context: https://github.com/googleapis/python-bigquery/issues/1791
Is your feature request related to a problem? Please describe. To support application performance monitoring and debugging, we have relied notably on opentelemetry tracing of underlying calls in practice to identify where request latency is spent on remote environments (largely via GCP Cloud Trace). It can be difficult to discern between time spent in our code and library code without underlying tracing support. For example, in the linked ticket, we can see time spent on some BigQuery API calls, but not others, leading to unexplained gaps in traces.
Describe the solution you'd like Ideally we (or client libraries) would allow automatic addition of opentelemetry spans encompassing API requests, enabling tracking of time spent interacting with GCP API's
Describe alternatives you've considered The alternative is manually adding our own spans whereever we believe an api call may happen, although as can be seen in the related ticket, this does not alway make it easy to intuit behavior. For example, in linked ticket, we learned we could see improved performance from increasing the page size of our requests to BQStorage API, but had to profile the app and trace a good amount of library code to do so. Having tracing on these additional page requests would have remove all this efort