public class TrafficStats
extends Object
java.lang.Object | |
↳ | android.net.TrafficStats |
Class that provides network traffic statistics. These statistics include bytes transmitted and received and network packets transmitted and received, over all interfaces, over the mobile interface, and on a per-UID basis.
These statistics may not be available on all platforms. If the statistics are not supported by this device, UNSUPPORTED
will be returned.
Note that the statistics returned by this class reset and start from zero after every reboot. To access more robust historical network statistics data, use NetworkStatsManager
instead.
Constants |
|
---|---|
int |
UNSUPPORTED The return value to indicate that the device does not support the statistic. |
Public constructors |
|
---|---|
TrafficStats() |
Public methods |
|
---|---|
static void |
clearThreadStatsTag() Clear any active tag set to account |
static long |
getMobileRxBytes() Return number of bytes received across mobile networks since device boot. |
static long |
getMobileRxPackets() Return number of packets received across mobile networks since device boot. |
static long |
getMobileTxBytes() Return number of bytes transmitted across mobile networks since device boot. |
static long |
getMobileTxPackets() Return number of packets transmitted across mobile networks since device boot. |
static int |
getThreadStatsTag() Get the active tag used when accounting |
static long |
getTotalRxBytes() Return number of bytes received since device boot. |
static long |
getTotalRxPackets() Return number of packets received since device boot. |
static long |
getTotalTxBytes() Return number of bytes transmitted since device boot. |
static long |
getTotalTxPackets() Return number of packets transmitted since device boot. |
static long |
getUidRxBytes(int uid) Return number of bytes received by the given UID since device boot. |
static long |
getUidRxPackets(int uid) Return number of packets received by the given UID since device boot. |
static long |
getUidTcpRxBytes(int uid) This method was deprecated in API level 18. Starting in |
static long |
getUidTcpRxSegments(int uid) This method was deprecated in API level 18. Starting in |
static long |
getUidTcpTxBytes(int uid) This method was deprecated in API level 18. Starting in |
static long |
getUidTcpTxSegments(int uid) This method was deprecated in API level 18. Starting in |
static long |
getUidTxBytes(int uid) Return number of bytes transmitted by the given UID since device boot. |
static long |
getUidTxPackets(int uid) Return number of packets transmitted by the given UID since device boot. |
static long |
getUidUdpRxBytes(int uid) This method was deprecated in API level 18. Starting in |
static long |
getUidUdpRxPackets(int uid) This method was deprecated in API level 18. Starting in |
static long |
getUidUdpTxBytes(int uid) This method was deprecated in API level 18. Starting in |
static long |
getUidUdpTxPackets(int uid) This method was deprecated in API level 18. Starting in |
static void |
incrementOperationCount(int operationCount) Increment count of network operations performed under the accounting tag currently active on the calling thread. |
static void |
incrementOperationCount(int tag, int operationCount) Increment count of network operations performed under the given accounting tag. |
static void |
setThreadStatsTag(int tag) Set active tag to use when accounting |
static void |
tagDatagramSocket(DatagramSocket socket) Tag the given |
static void |
tagSocket(Socket socket) Tag the given |
static void |
untagDatagramSocket(DatagramSocket socket) Remove any statistics parameters from the given |
static void |
untagSocket(Socket socket) Remove any statistics parameters from the given |
Inherited methods |
|
---|---|
![]() java.lang.Object
|
int UNSUPPORTED
The return value to indicate that the device does not support the statistic.
Constant Value: -1 (0xffffffff)
void clearThreadStatsTag ()
Clear any active tag set to account Socket
traffic originating from the current thread.
See also:
long getMobileRxBytes ()
Return number of bytes received across mobile networks since device boot. Counts packets across all mobile network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Returns | |
---|---|
long |
long getMobileRxPackets ()
Return number of packets received across mobile networks since device boot. Counts packets across all mobile network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Returns | |
---|---|
long |
long getMobileTxBytes ()
Return number of bytes transmitted across mobile networks since device boot. Counts packets across all mobile network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Returns | |
---|---|
long |
long getMobileTxPackets ()
Return number of packets transmitted across mobile networks since device boot. Counts packets across all mobile network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Returns | |
---|---|
long |
int getThreadStatsTag ()
Get the active tag used when accounting Socket
traffic originating from the current thread. Only one active tag per thread is supported. tagSocket(Socket)
.
Returns | |
---|---|
int |
See also:
long getTotalRxBytes ()
Return number of bytes received since device boot. Counts packets across all network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Returns | |
---|---|
long |
long getTotalRxPackets ()
Return number of packets received since device boot. Counts packets across all network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Returns | |
---|---|
long |
long getTotalTxBytes ()
Return number of bytes transmitted since device boot. Counts packets across all network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Returns | |
---|---|
long |
long getTotalTxPackets ()
Return number of packets transmitted since device boot. Counts packets across all network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Returns | |
---|---|
long |
long getUidRxBytes (int uid)
Return number of bytes received by the given UID since device boot. Counts packets across all network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Starting in N
this will only report traffic statistics for the calling UID. It will return UNSUPPORTED
for all other UIDs for privacy reasons. To access historical network statistics belonging to other UIDs, use NetworkStatsManager
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
long getUidRxPackets (int uid)
Return number of packets received by the given UID since device boot. Counts packets across all network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Starting in N
this will only report traffic statistics for the calling UID. It will return UNSUPPORTED
for all other UIDs for privacy reasons. To access historical network statistics belonging to other UIDs, use NetworkStatsManager
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
long getUidTcpRxBytes (int uid)
This method was deprecated in API level 18.
Starting in JELLY_BEAN_MR2
, transport layer statistics are no longer available, and will always return UNSUPPORTED
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
See also:
long getUidTcpRxSegments (int uid)
This method was deprecated in API level 18.
Starting in JELLY_BEAN_MR2
, transport layer statistics are no longer available, and will always return UNSUPPORTED
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
See also:
long getUidTcpTxBytes (int uid)
This method was deprecated in API level 18.
Starting in JELLY_BEAN_MR2
, transport layer statistics are no longer available, and will always return UNSUPPORTED
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
See also:
long getUidTcpTxSegments (int uid)
This method was deprecated in API level 18.
Starting in JELLY_BEAN_MR2
, transport layer statistics are no longer available, and will always return UNSUPPORTED
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
See also:
long getUidTxBytes (int uid)
Return number of bytes transmitted by the given UID since device boot. Counts packets across all network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Starting in N
this will only report traffic statistics for the calling UID. It will return UNSUPPORTED
for all other UIDs for privacy reasons. To access historical network statistics belonging to other UIDs, use NetworkStatsManager
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
long getUidTxPackets (int uid)
Return number of packets transmitted by the given UID since device boot. Counts packets across all network interfaces, and always increases monotonically since device boot. Statistics are measured at the network layer, so they include both TCP and UDP usage.
Before JELLY_BEAN_MR2
, this may return UNSUPPORTED
on devices where statistics aren't available.
Starting in N
this will only report traffic statistics for the calling UID. It will return UNSUPPORTED
for all other UIDs for privacy reasons. To access historical network statistics belonging to other UIDs, use NetworkStatsManager
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
long getUidUdpRxBytes (int uid)
This method was deprecated in API level 18.
Starting in JELLY_BEAN_MR2
, transport layer statistics are no longer available, and will always return UNSUPPORTED
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
See also:
long getUidUdpRxPackets (int uid)
This method was deprecated in API level 18.
Starting in JELLY_BEAN_MR2
, transport layer statistics are no longer available, and will always return UNSUPPORTED
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
See also:
long getUidUdpTxBytes (int uid)
This method was deprecated in API level 18.
Starting in JELLY_BEAN_MR2
, transport layer statistics are no longer available, and will always return UNSUPPORTED
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
See also:
long getUidUdpTxPackets (int uid)
This method was deprecated in API level 18.
Starting in JELLY_BEAN_MR2
, transport layer statistics are no longer available, and will always return UNSUPPORTED
.
Parameters | |
---|---|
uid |
int
|
Returns | |
---|---|
long |
See also:
void incrementOperationCount (int operationCount)
Increment count of network operations performed under the accounting tag currently active on the calling thread. This can be used to derive bytes-per-operation.
Parameters | |
---|---|
operationCount |
int : Number of operations to increment count by. |
void incrementOperationCount (int tag, int operationCount)
Increment count of network operations performed under the given accounting tag. This can be used to derive bytes-per-operation.
Parameters | |
---|---|
tag |
int : Accounting tag used in setThreadStatsTag(int) . |
operationCount |
int : Number of operations to increment count by. |
void setThreadStatsTag (int tag)
Set active tag to use when accounting Socket
traffic originating from the current thread. Only one active tag per thread is supported.
Changes only take effect during subsequent calls to tagSocket(Socket)
.
Tags between 0xFFFFFF00
and 0xFFFFFFFF
are reserved and used internally by system services like DownloadManager
when performing traffic on behalf of an application.
Parameters | |
---|---|
tag |
int
|
See also:
void tagDatagramSocket (DatagramSocket socket)
Tag the given DatagramSocket
with any statistics parameters active for the current thread. Subsequent calls always replace any existing parameters. When finished, call untagDatagramSocket(DatagramSocket)
to remove statistics parameters.
Parameters | |
---|---|
socket |
DatagramSocket
|
Throws | |
---|---|
SocketException |
See also:
void tagSocket (Socket socket)
Tag the given Socket
with any statistics parameters active for the current thread. Subsequent calls always replace any existing parameters. When finished, call untagSocket(Socket)
to remove statistics parameters.
Parameters | |
---|---|
socket |
Socket
|
Throws | |
---|---|
SocketException |
See also:
void untagDatagramSocket (DatagramSocket socket)
Remove any statistics parameters from the given DatagramSocket
.
Parameters | |
---|---|
socket |
DatagramSocket
|
Throws | |
---|---|
SocketException |
void untagSocket (Socket socket)
Remove any statistics parameters from the given Socket
.
Parameters | |
---|---|
socket |
Socket
|
Throws | |
---|---|
SocketException |