|
API Version parsing and metrics take a non-trivial amount of time in command execution. We should investigate if we can improve that.
UPDATE: In offline discussions, we determined that the current structure of tracking API metrics is not worth the performance cost we incur for every write. Instead of what we do today (track recently used API version metrics per application name, which can explode in size if there are many connections), we should instead:
- Track # of connections with a default appName for each API version
- Track # of connections with a non-default appName for each API version
- Ensure the appName and API version is available in currentOp and/or serverStatus so that customers can view it
- Log the appName and API version upon connection establishment
This will reduce the amount of overhead for API metrics while still providing enough information for DBMs to manage API versioning for their own projects.
|