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.Object
Base class for handling request on http client and server.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) HttpExtractor<Q,P>
extractor
TheHttpExtractor
used 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) void
addSpanRequestAttributes(Span span, Q request, HttpExtractor<Q,P> extractor)
(package private) HttpRequestContext
getNewContext(Span span, TagContext tagContext)
Span
getSpanFromContext(HttpRequestContext context)
RetrievesSpan
from theHttpRequestContext
.(package private) java.lang.String
getSpanName(Q request, HttpExtractor<Q,P> extractor)
void
handleMessageReceived(HttpRequestContext context, long bytes)
Instrument an HTTP span after a message is received.void
handleMessageSent(HttpRequestContext context, long bytes)
Instrument an HTTP span after a message is sent.private static void
putAttributeIfNotEmptyOrNull(Span span, java.lang.String key, java.lang.String value)
(package private) static void
recordMessageEvent(Span span, long id, MessageEvent.Type type, long uncompressedMessageSize, long compressedMessageSize)
A convenience to record aMessageEvent
with given parameters.(package private) void
spanEnd(Span span, int httpStatus, java.lang.Throwable error)
-
-
-
Field Detail
-
extractor
final HttpExtractor<Q,P> extractor
TheHttpExtractor
used 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 aMessageEvent
with given parameters.- Parameters:
span
- the span which thisMessageEvent
will be added to.id
- the id of the event.type
- theMessageEvent.Type
of 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 specificHttpRequestContext
bytes
- 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 specificHttpRequestContext
bytes
- 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)
RetrievesSpan
from theHttpRequestContext
.- Parameters:
context
- request specificHttpRequestContext
- Returns:
Span
associated with the request.- Since:
- 0.19
-
getNewContext
HttpRequestContext getNewContext(Span span, TagContext tagContext)
-
-