-
Type:
Task
-
Resolution: Done
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
This spike is scoped to the following:
- Determine if the existing opentelemetry-instrumentation-pymongo package can be used as the underlying implementation for PyMongo's OpenTelemetry support in accordance with the spec.
- Answer: it cannot. The spec requires different functionality than the package supports. Additionally, relying on the existing package would not allow useful consolidation of our telemetry APIs.
- If opentelemetry-instrumentation-pymongo isn't suitable for implementing the spec, can we contribute to it upstream to make it suitable? Or are we better off creating our own internal solution?
- Answer: We are better off creating our own internal solution.
- The spec details specific OpenTelemetry span attributes to be recorded for each driver operation. What does that recording look like over the lifecycle of a PyMongo operation?
- Answer: Spans are begun when an operation begins, and are completed when that operation finishes either successfully or with an error. Our proposed unified telemetry API would make this tracking simple.
- Can we use our existing debug logging code to guide our OpenTelemetry support?
- Answer: Yes. We plan to unify our telemetry APIs so that a single call is used to record for any of the enabled telemetries.
- Does abstracting both debug logging and OpenTelemetry logging into a single, centralized design make sense? Both appear to gather similar information at similar points, reducing duplication would be ideal.
- Answer: Yes.
- split to
-
PYTHON-5745 Consolidate logging and monitoring into a single internal API
-
- Ready for Work
-