public HTTPServiceMeshMetric.Builder adaptToUpstreamMetrics() {
        final AccessLogCommon properties = entry.getCommonProperties();
        final long startTime = formatAsLong(properties.getStartTime());
        final long outboundStartTime = startTime + formatAsLong(properties.getTimeToFirstUpstreamTxByte());
        final long outboundEndTime = startTime + formatAsLong(properties.getTimeToLastUpstreamRxByte());

        final HTTPServiceMeshMetric.Builder builder = adaptCommonPart();
        // For client side call, status needs to be overridden because 4xx http status codes
        // are considered as errors too.
        final boolean status = builder.getResponseCode() < 400;

        return builder
            .setStartTime(outboundStartTime)
            .setEndTime(outboundEndTime)
            .setLatency((int) Math.max(1L, outboundEndTime - outboundStartTime))
            .setStatus(status)
            .setDetectPoint(DetectPoint.client);
    }
Adapt the {@code entry} into an upstream metrics {@link HTTPServiceMeshMetric.Builder}.

@return the {@link HTTPServiceMeshMetric.Builder} adapted from the given entry.
oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/als/LogEntry2MetricsAdapter.java