[monitorlib] Make RID mutation operations version-independent #41
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR completes the work started by #39 to improve monitorlib's standards-based interactions to support both versions of F3411 RID by updating the mutation objects/operations to the new model.
I noticed that a pattern in the fetch objects was more verbose than necessary (parsing and catching parsing exceptions for version-specific values in two places), so the fetch objects are updated with the new pattern along with the mutate objects. Also, v19 and v22 class fields were shadowing the namespaces of the same names, so those fields were renamed *_value instead.
A number of error messages are added or improved to help with debugging.
In the quest against #28, some gunicorn server hooks are added to both atproxy and mock_uss to assist determining where and why the timeouts are occurring. Based on this logging, it seems like the problem might be in gunicorn itself as worker timeouts were found to be occurring outside the pre_request - post_request span. To prepare to file good bug reports with gunicorn in the future, the gunicorn version is updated to the latest.