@Override
    public void parse(HttpResponse response, TraceContext context, SpanCustomizer span) {
        HttpResponseParser.DEFAULT.parse(response, context, span);

        final Object res = response.unwrap();
        if (!(res instanceof ClientRequestContext)) {
            return;
        }

        final ClientRequestContext ctx = (ClientRequestContext) res;
        final RequestLog log = ctx.log().ensureComplete();
        span.tag(SpanTags.TAG_HTTP_PROTOCOL, ClientRequestContextAdapter.protocol(log));

        final String serFmt = ClientRequestContextAdapter.serializationFormat(log);
        if (serFmt != null) {
            span.tag(SpanTags.TAG_HTTP_SERIALIZATION_FORMAT, serFmt);
        }

        final InetSocketAddress raddr = ctx.remoteAddress();
        if (raddr != null) {
            span.tag(SpanTags.TAG_ADDRESS_REMOTE, raddr.toString());
        }

        final InetSocketAddress laddr = ctx.localAddress();
        if (laddr != null) {
            span.tag(SpanTags.TAG_ADDRESS_LOCAL, laddr.toString());
        }

        final String name = log.name();
        if (name != null) {
            span.name(name);
        }
    }
Default implementation of {@link HttpRequestParser} and {@link HttpResponseParser} for clients.
This parser adds some custom tags and overwrites the name of span if {@link RequestLog#requestContent()}
is {@link RpcRequest}.
The following tags become available:
<ul>
  <li>http.url</li>
  <li>http.host</li>
  <li>http.protocol</li>
  <li>http.serfmt</li>
  <li>address.remote</li>
  <li>address.local</li>
</ul>
brave/brave6/src/main/java/com/linecorp/armeria/client/brave/ArmeriaHttpClientParser.java