Stats interface atomization #4071
Merged
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.
Description: envoy/stats/stats.h was a collection of many loosely related class interfaces. This PR breaks them up, mostly one class per file, except for a few closely related ones. One benefit of this is that code changes can be made much more quickly, without recompiling the world on every edit. E.g. many uses of Stats only need Scope or StatsOptions, and don't need many of the other classes that change more frequently. Another benefit is simply to offer a better parallel to the implementation breakup already merged.
Risk Level: low
Testing: //test/...
Docs Changes: N/A
Release Notes: N/A