Package io.opencensus.contrib.http
Class HttpClientHandler<Q,P,C>
java.lang.Object
io.opencensus.contrib.http.AbstractHttpHandler<Q,P>
io.opencensus.contrib.http.HttpClientHandler<Q,P,C>
- Type Parameters:
Q
- the HTTP request entity.P
- the HTTP response entity.C
- the type of the carrier.
This helper class provides routine methods to instrument HTTP clients.
- Since:
- 0.19
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final TextFormat.Setter
<C> private final StatsRecorder
private final Tagger
private final TextFormat
private final Tracer
Fields inherited from class io.opencensus.contrib.http.AbstractHttpHandler
extractor
-
Constructor Summary
ConstructorsConstructorDescriptionHttpClientHandler
(Tracer tracer, HttpExtractor<Q, P> extractor, TextFormat textFormat, TextFormat.Setter<C> setter) Creates aHttpClientHandler
with given parameters. -
Method Summary
Modifier and TypeMethodDescriptionvoid
handleEnd
(HttpRequestContext context, Q request, P response, Throwable error) Close an HTTP span and records stats specific to the request.handleStart
(Span parent, C carrier, Q request) Instrument a request for tracing and stats before it is sent.private void
recordStats
(HttpRequestContext context, Q request, int httpCode) Methods inherited from class io.opencensus.contrib.http.AbstractHttpHandler
addSpanRequestAttributes, getNewContext, getSpanFromContext, getSpanName, handleMessageReceived, handleMessageSent, recordMessageEvent, spanEnd
-
Field Details
-
setter
-
textFormat
-
tracer
-
statsRecorder
-
tagger
-
-
Constructor Details
-
HttpClientHandler
public HttpClientHandler(Tracer tracer, HttpExtractor<Q, P> extractor, TextFormat textFormat, TextFormat.Setter<C> setter) Creates aHttpClientHandler
with given parameters.- Parameters:
tracer
- the Open Census tracing component.extractor
- theHttpExtractor
used to extract information from the request/response.textFormat
- theTextFormat
used in HTTP propagation.setter
- the setter used when injecting information to thecarrier
.- Since:
- 0.19
-
-
Method Details
-
handleStart
Instrument a request for tracing and stats before it is sent.This method will create a span in current context to represent the HTTP call. The created span will be serialized and propagated to the server.
The generated span will NOT be set as current context. User can control when to enter the scope of this span. Use
AbstractHttpHandler.getSpanFromContext(io.opencensus.contrib.http.HttpRequestContext)
to retrieve the span.- Parameters:
parent
- the parentSpan
.null
indicates using current span.carrier
- the entity that holds the HTTP information.request
- the request entity.- Returns:
- the
HttpRequestContext
that contains stats and trace data associated with the request. - Since:
- 0.19
-
handleEnd
public void handleEnd(HttpRequestContext context, @Nullable Q request, @Nullable P response, @Nullable Throwable error) Close an HTTP span and records stats specific to the request.This method will set status of the span and end it. Additionally it will record measurements associated with the request.
- Parameters:
context
- theHttpRequestContext
returned fromhandleStart(Span, Object, Object)
request
- the HTTP request entity.response
- the HTTP response entity.null
means invalid response.error
- the error occurs when processing the response.- Since:
- 0.19
-
recordStats
-