private static void enrichObservation(ServiceRequestContext ctx,
                                          ServiceObservationContext serviceObservationContext,
                                          Observation observation) {
        ctx.log()
           .whenAvailable(RequestLogProperty.REQUEST_FIRST_BYTES_TRANSFERRED_TIME)
           .thenAccept(requestLog -> observation.event(
                   HttpServiceObservationDocumentation.Events.WIRE_RECEIVE));

        ctx.log()
           .whenAvailable(RequestLogProperty.RESPONSE_FIRST_BYTES_TRANSFERRED_TIME)
           .thenAccept(requestLog -> {
               if (requestLog.responseFirstBytesTransferredTimeNanos() != null) {
                   observation.event(HttpServiceObservationDocumentation.Events.WIRE_SEND);
               }
           });

        ctx.log().whenComplete()
           .thenAccept(requestLog -> {
               serviceObservationContext.setResponse(requestLog);
               observation.stop();
           });
    }
Creates a new micrometer observation integrated {@link HttpService} decorator using the
specified {@link ObservationRegistry} and {@link ObservationConvention}.
core/src/main/java/com/linecorp/armeria/server/observation/ObservationService.java