-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Python Drivers
-
None
-
None
-
None
-
None
-
None
-
None
Context
Describe the background behind the problem.
We want to track the feature-level usage in frameworks, and need to investigate what the way to do that is. For Langchain, we have multiple features like vector search, hybrid search retriever, parent-child retriever, etc. Currently, our driver metadata has driver=langchain and version=XXX. Want to know how many are using each feature.
Possible directions:
Would it make sense to overload the "driver" to capture this information?
Would it make sense to overload the "version" to capture this information in the short term? ie using version=langchain-mongodb-0.2-vector vs version=langchain-mongodb-0.2-hybrid for the different entrypoints?
Definition of done
What must be done to consider the task complete?
We would also need a plan for product analytics to do something meaningful with this data.
Pitfalls
Handshake metadata is limited to 512 bytes. If exceeding this limit, the feature would require support in ** new versions of the MongoDB server. We could overload version, but you run the risk of handshakes failing.