Package io.grpc.internal
Class TransportTracer
- java.lang.Object
-
- io.grpc.internal.TransportTracer
-
public final class TransportTracer extends java.lang.ObjectA 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 Classes Modifier and Type Class Description static classTransportTracer.Factorystatic interfaceTransportTracer.FlowControlReaderAn interface for reading the local and remote flow control windows of the transport.static classTransportTracer.FlowControlWindowsA container that holds the local and remote flow control window sizes.
-
Field Summary
Fields Modifier and Type Field Description private static TransportTracer.FactoryDEFAULT_FACTORYprivate TransportTracer.FlowControlReaderflowControlWindowReaderprivate longkeepAlivesSentprivate longlastLocalStreamCreatedTimeNanosprivate longlastMessageReceivedTimeNanosprivate longlastMessageSentTimeNanosprivate longlastRemoteStreamCreatedTimeNanosprivate LongCountermessagesReceivedprivate longmessagesSentprivate longstreamsFailedprivate longstreamsStartedprivate longstreamsSucceededprivate TimeProvidertimeProvider
-
Constructor Summary
Constructors Modifier Constructor Description TransportTracer()privateTransportTracer(TimeProvider timeProvider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static TransportTracer.FactorygetDefaultFactory()InternalChannelz.TransportStatsgetStats()Returns a read only set of current stats.voidreportKeepAliveSent()Reports that a keep alive message was sent.voidreportLocalStreamStarted()Called by the client to report a stream has started.voidreportMessageReceived()Reports that a message was successfully received.voidreportMessageSent(int numMessages)Reports that some messages were successfully sent.voidreportRemoteStreamStarted()Called 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 Detail
-
DEFAULT_FACTORY
private static final TransportTracer.Factory DEFAULT_FACTORY
-
timeProvider
private final TimeProvider 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
private TransportTracer.FlowControlReader flowControlWindowReader
-
messagesSent
private long messagesSent
-
lastMessageSentTimeNanos
private long lastMessageSentTimeNanos
-
messagesReceived
private final LongCounter messagesReceived
-
lastMessageReceivedTimeNanos
private volatile long lastMessageReceivedTimeNanos
-
-
Constructor Detail
-
TransportTracer
public TransportTracer()
-
TransportTracer
private TransportTracer(TimeProvider timeProvider)
-
-
Method Detail
-
getStats
public InternalChannelz.TransportStats 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
public void setFlowControlWindowReader(TransportTracer.FlowControlReader flowControlWindowReader)
Registers aTransportTracer.FlowControlReaderthat can be used to read the local and remote flow control window sizes.
-
getDefaultFactory
public static TransportTracer.Factory getDefaultFactory()
-
-