29324 started a discussion in the team and we decided to reorganize and rename types in the HTTP Observation support.
The work being done in spring-projects/spring-graphql#501 (where several observations are created with a single instrumentation) also influenced the changes in this issue.
While being quite late in the release cycle, all observation classes are new as of 6.0 and we think that getting the package structure right is worth the disruption.
In summary, we'd like to:
- name the instrumentation classes with the space they're creating observations for. So
HttpRequestsObservationFilter
becomesServerHttpObservationFilter
. (same for other variants, client/server and servlet/reactive) - name the convention and context classes with the observation name, avoid plurals. so
HttpRequestsObservationConvention
becomesHttpRequestObservationConvention
- move the base server observation classes from
org.springframework.web.observation
toorg.springframework.http.observation
, and the filters toorg.springframework.web.filter
- remove
HttpOutcome
entirely and move specific bits as package private implementation