Package io.opencensus.contrib.http
Class AbstractHttpHandler<Q,P>
- java.lang.Object
-
- io.opencensus.contrib.http.AbstractHttpHandler<Q,P>
-
- Direct Known Subclasses:
HttpClientHandler,HttpServerHandler
abstract class AbstractHttpHandler<Q,P> extends java.lang.ObjectBase class for handling request on http client and server.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) HttpExtractor<Q,P>extractorTheHttpExtractorused to extract information from request/response.
-
Constructor Summary
Constructors Constructor Description AbstractHttpHandler(HttpExtractor<Q,P> extractor)Constructor to allow access from same package subclasses only.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidaddSpanRequestAttributes(Span span, Q request, HttpExtractor<Q,P> extractor)(package private) HttpRequestContextgetNewContext(Span span, TagContext tagContext)SpangetSpanFromContext(HttpRequestContext context)RetrievesSpanfrom theHttpRequestContext.(package private) java.lang.StringgetSpanName(Q request, HttpExtractor<Q,P> extractor)voidhandleMessageReceived(HttpRequestContext context, long bytes)Instrument an HTTP span after a message is received.voidhandleMessageSent(HttpRequestContext context, long bytes)Instrument an HTTP span after a message is sent.private static voidputAttributeIfNotEmptyOrNull(Span span, java.lang.String key, java.lang.String value)(package private) static voidrecordMessageEvent(Span span, long id, MessageEvent.Type type, long uncompressedMessageSize, long compressedMessageSize)A convenience to record aMessageEventwith given parameters.(package private) voidspanEnd(Span span, int httpStatus, java.lang.Throwable error)
-
-
-
Field Detail
-
extractor
final HttpExtractor<Q,P> extractor
TheHttpExtractorused to extract information from request/response.
-
-
Constructor Detail
-
AbstractHttpHandler
AbstractHttpHandler(HttpExtractor<Q,P> extractor)
Constructor to allow access from same package subclasses only.
-
-
Method Detail
-
recordMessageEvent
static void recordMessageEvent(Span span, long id, MessageEvent.Type type, long uncompressedMessageSize, long compressedMessageSize)
A convenience to record aMessageEventwith given parameters.- Parameters:
span- the span which thisMessageEventwill be added to.id- the id of the event.type- theMessageEvent.Typeof the event.uncompressedMessageSize- size of the message before compressed (optional).compressedMessageSize- size of the message after compressed (optional).- Since:
- 0.19
-
putAttributeIfNotEmptyOrNull
private static void putAttributeIfNotEmptyOrNull(Span span, java.lang.String key, @Nullable java.lang.String value)
-
handleMessageSent
public final void handleMessageSent(HttpRequestContext context, long bytes)
Instrument an HTTP span after a message is sent. Typically called for every chunk of request or response is sent.- Parameters:
context- request specificHttpRequestContextbytes- bytes sent.- Since:
- 0.19
-
handleMessageReceived
public final void handleMessageReceived(HttpRequestContext context, long bytes)
Instrument an HTTP span after a message is received. Typically called for every chunk of request or response is received.- Parameters:
context- request specificHttpRequestContextbytes- bytes received.- Since:
- 0.19
-
spanEnd
void spanEnd(Span span, int httpStatus, @Nullable java.lang.Throwable error)
-
getSpanName
final java.lang.String getSpanName(Q request, HttpExtractor<Q,P> extractor)
-
addSpanRequestAttributes
final void addSpanRequestAttributes(Span span, Q request, HttpExtractor<Q,P> extractor)
-
getSpanFromContext
public Span getSpanFromContext(HttpRequestContext context)
RetrievesSpanfrom theHttpRequestContext.- Parameters:
context- request specificHttpRequestContext- Returns:
Spanassociated with the request.- Since:
- 0.19
-
getNewContext
HttpRequestContext getNewContext(Span span, TagContext tagContext)
-
-