Package io.grpc.internal
Class TransportTracer
java.lang.Object
io.grpc.internal.TransportTracer
A class for gathering statistics about a transport. This is an experimental feature.
Can only be called from the transport thread unless otherwise noted.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic interfaceAn interface for reading the local and remote flow control windows of the transport.static final classA container that holds the local and remote flow control window sizes. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final TransportTracer.Factoryprivate longprivate longprivate longprivate longprivate longprivate final LongCounterprivate longprivate longprivate longprivate longprivate final TimeProvider -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic TransportTracer.FactorygetStats()Returns a read only set of current stats.voidReports that a keep alive message was sent.voidCalled by the client to report a stream has started.voidReports that a message was successfully received.voidreportMessageSent(int numMessages) Reports that some messages were successfully sent.voidCalled by the server to report a stream has started.voidreportStreamClosed(boolean success) Reports that a stream closed with the specified Status.voidsetFlowControlWindowReader(TransportTracer.FlowControlReader flowControlWindowReader) Registers aTransportTracer.FlowControlReaderthat can be used to read the local and remote flow control window sizes.
-
Field Details
-
DEFAULT_FACTORY
-
timeProvider
-
streamsStarted
private long streamsStarted -
lastLocalStreamCreatedTimeNanos
private long lastLocalStreamCreatedTimeNanos -
lastRemoteStreamCreatedTimeNanos
private long lastRemoteStreamCreatedTimeNanos -
streamsSucceeded
private long streamsSucceeded -
streamsFailed
private long streamsFailed -
keepAlivesSent
private long keepAlivesSent -
flowControlWindowReader
-
messagesSent
private long messagesSent -
lastMessageSentTimeNanos
private long lastMessageSentTimeNanos -
messagesReceived
-
lastMessageReceivedTimeNanos
private volatile long lastMessageReceivedTimeNanos
-
-
Constructor Details
-
TransportTracer
public TransportTracer() -
TransportTracer
-
-
Method Details
-
getStats
Returns a read only set of current stats. -
reportLocalStreamStarted
public void reportLocalStreamStarted()Called by the client to report a stream has started. -
reportRemoteStreamStarted
public void reportRemoteStreamStarted()Called by the server to report a stream has started. -
reportStreamClosed
public void reportStreamClosed(boolean success) Reports that a stream closed with the specified Status. -
reportMessageSent
public void reportMessageSent(int numMessages) Reports that some messages were successfully sent.numMessagesmust be at least 0. -
reportMessageReceived
public void reportMessageReceived()Reports that a message was successfully received. This method is thread safe. -
reportKeepAliveSent
public void reportKeepAliveSent()Reports that a keep alive message was sent. -
setFlowControlWindowReader
Registers aTransportTracer.FlowControlReaderthat can be used to read the local and remote flow control window sizes. -
getDefaultFactory
-