Class HttpParser
- java.lang.Object
-
- brave.http.HttpParser
-
- Direct Known Subclasses:
HttpClientParser
,HttpServerParser
public class HttpParser extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description HttpParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
error(java.lang.Integer httpStatus, java.lang.Throwable error, brave.SpanCustomizer customizer)
Override to change what data from the http error are parsed into the span modeling it.protected brave.ErrorParser
errorParser()
Override when making custom types.<Req> void
request(HttpAdapter<Req,?> adapter, Req req, brave.SpanCustomizer customizer)
Override to change what data from the http request are parsed into the span representing it.<Resp> void
response(HttpAdapter<?,Resp> adapter, Resp res, java.lang.Throwable error, brave.SpanCustomizer customizer)
Override to change what data from the http response or error are parsed into the span modeling it.protected <Req> java.lang.String
spanName(HttpAdapter<Req,?> adapter, Req req)
Returns the span name of the request.
-
-
-
Method Detail
-
errorParser
protected brave.ErrorParser errorParser()
Override when making custom types. Typically, you'll useTracing.errorParser()
{@code class MyHttpClientParser extends HttpClientParser { ErrorParser errorParser; MyHttpClientParser(Tracing tracing) { errorParser = tracing.errorParser(); } protected ErrorParser errorParser() { return errorParser; } --snip-- }
-
request
public <Req> void request(HttpAdapter<Req,?> adapter, Req req, brave.SpanCustomizer customizer)
Override to change what data from the http request are parsed into the span representing it. By default, this sets the span name to the http method and tags "http.method" and "http.path".If you only want to change the span name, you can override
spanName(HttpAdapter, Object)
instead.- See Also:
spanName(HttpAdapter, Object)
-
spanName
protected <Req> java.lang.String spanName(HttpAdapter<Req,?> adapter, Req req)
Returns the span name of the request. Defaults to the http method.
-
response
public <Resp> void response(HttpAdapter<?,Resp> adapter, @Nullable Resp res, @Nullable java.lang.Throwable error, brave.SpanCustomizer customizer)
Override to change what data from the http response or error are parsed into the span modeling it.By default, this tags "http.status_code" when it is not 2xx. If there's an exception or the status code is neither 2xx nor 3xx, it tags "error". This also overrides the span name based on the
HttpAdapter.methodFromResponse(Object)
andHttpAdapter.route(Object)
where possible (ex "get /users/:userId").If routing is supported, and a GET didn't match due to 404, the span name will be "get not_found". If it didn't match due to redirect, the span name will be "get redirected". If routing is not supported, the span name is left alone.
If you only want to change how exceptions are parsed, override
error(Integer, Throwable, SpanCustomizer)
instead.Note: Either the response or error parameters may be null, but not both.
-
error
protected void error(@Nullable java.lang.Integer httpStatus, @Nullable java.lang.Throwable error, brave.SpanCustomizer customizer)
Override to change what data from the http error are parsed into the span modeling it. By default, this tags "error" as the exception or the status code if it is neither 2xx nor 3xx.Note: Either the httpStatus or error parameters may be null, but not both
Conventionally associated with the tag key "error"
-
-