[receiver/statsd] Make full config structure public #38186
                
     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
Currently some parts of the config struct are in an internal package, which makes using the exported types from the receiver's module insufficient for programmatically generating a config for the receiver.
Since the config types are shared with the parsing code, I had to move the types into a non-top-level package. I chose to rename the
internal/protocolsubpackage tointernal/parsersince most code in there appears to be related to parsing, and make a publicprotocolpackage that contains types related to configuring things related to the StatsD protocol. I don't have a strong opinions on the names for any of the packages and am open to suggestions.