Details
-
Task
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
Description
Objective
Enhance Sync Gateway (SG) logging to parse the HTTP User-Agent string sent with the /db/_blipsync requests, enabling the identification of the client type (Couchbase Lite or ISGR), version, and platform. This will provide valuable insights into customer deployments, so we can use in the event of issues or for our own analytics. Additionally, it will allow us to improve Audit Logging capabilities.
Requirements
- User-Agent Format Consistency
- Ensure the User-Agent string follows the format: CouchbaseLite/version (platform; OS; device) [additional-info].
- Example: CouchbaseLite/3.1.8-1 (Java; Android 13; FP4) EE/release, Commit/f3f14ae2c8@3411891c9669 Core/3.1.8 (2).
- Parsing Components{}
- Client Type and Version: Extract the client type and version from the CouchbaseLite/version part of the string.
- Platform and OS: Extract platform and OS from the first parenthesis block.
- Device Information: Extract device information from the first parenthesis block.
- Additional Information: Parse any additional information following the platform and OS.
- Backward Compatibility
- Ensure the parsing logic can handle variations in the User-Agent string format to maintain compatibility with older versions.
- Logging Enhancements
- Integrate the parsed User-Agent information into the SG logs.
- Provide tools or scripts to aggregate and analyze this log data, helping identify client usage patterns, deployment configurations, and version distributions.
- Customer Insights
- Utilize the parsed User-Agent data to gain insights into customer deployments.
- Develop reports to highlight the distribution of client types, versions, platforms, and devices used by customers.