HttpMetric
public class HttpMetric
Metric used to collect data for network requests/responses. A new object must be used for every request/response. This class is not thread safe.
Summary
Constants |
|
|---|---|
static final int |
Maximum allowed length of the Key of the |
static final int |
Maximum allowed length of the Value of the |
static final int |
Maximum allowed number of attributes allowed in a trace. |
static final int |
MAX_TRACE_NAME_LENGTH = 100Maximum allowed length of the name of the |
Public methods |
|
|---|---|
@Nullable String |
getAttribute(@NonNull String attribute)Returns the value of an attribute. |
@NonNull Map<String, String> |
Returns the map of all the attributes added to this HttpMetric. |
void |
putAttribute(@NonNull String attribute, @NonNull String value)Sets a String value for the specified attribute. |
void |
removeAttribute(@NonNull String attribute)Removes an already added attribute from the HttpMetric. |
void |
setHttpResponseCode(int responseCode)Sets the httpResponse code of the request |
void |
setRequestPayloadSize(long bytes)Sets the size of the request payload |
void |
setResponseContentType(@Nullable String contentType)Content type of the response such as text/html, application/json, etc... |
void |
setResponsePayloadSize(long bytes)Sets the size of the response payload |
void |
start()Marks the start time of the request |
void |
stop()Marks the end time of the response and queues the network request metric on the device for transmission. |
Extension functions |
|
|---|---|
final void |
PerformanceKt.trace(Measures the time it takes to run the |
Constants
MAX_ATTRIBUTE_KEY_LENGTH
public static final int MAX_ATTRIBUTE_KEY_LENGTH = 40
Maximum allowed length of the Key of the Trace attribute
MAX_ATTRIBUTE_VALUE_LENGTH
public static final int MAX_ATTRIBUTE_VALUE_LENGTH = 100
Maximum allowed length of the Value of the Trace attribute
MAX_TRACE_CUSTOM_ATTRIBUTES
public static final int MAX_TRACE_CUSTOM_ATTRIBUTES = 5
Maximum allowed number of attributes allowed in a trace.
MAX_TRACE_NAME_LENGTH
public static final int MAX_TRACE_NAME_LENGTH = 100
Maximum allowed length of the name of the Trace
Public methods
getAttribute
public @Nullable String getAttribute(@NonNull String attribute)
Returns the value of an attribute.
getAttributes
public @NonNull Map<String, String> getAttributes()
Returns the map of all the attributes added to this HttpMetric.
putAttribute
public void putAttribute(@NonNull String attribute, @NonNull String value)
Sets a String value for the specified attribute. Updates the value of the attribute if the attribute already exists. If the HttpMetric has been stopped, this method returns without adding the attribute. The maximum number of attributes that can be added to a HttpMetric are MAX_TRACE_CUSTOM_ATTRIBUTES.
removeAttribute
public void removeAttribute(@NonNull String attribute)
Removes an already added attribute from the HttpMetric. If the HttpMetric has already been stopped, this method returns without removing the attribute.
setHttpResponseCode
public void setHttpResponseCode(int responseCode)
Sets the httpResponse code of the request
| Parameters | |
|---|---|
int responseCode |
valid values are greater than 0. Invalid usage will be logged. |
setRequestPayloadSize
public void setRequestPayloadSize(long bytes)
Sets the size of the request payload
| Parameters | |
|---|---|
long bytes |
valid values are greater than or equal to 0. Invalid usage will be logged. |
setResponseContentType
public void setResponseContentType(@Nullable String contentType)
Content type of the response such as text/html, application/json, etc...
setResponsePayloadSize
public void setResponsePayloadSize(long bytes)
Sets the size of the response payload
| Parameters | |
|---|---|
long bytes |
valid values are greater than or equal to 0. Invalid usage will be logged. |
stop
public void stop()
Marks the end time of the response and queues the network request metric on the device for transmission. Check logcat for transmission info.
Extension functions
PerformanceKt.trace
public final void PerformanceKt.trace(
@NonNull HttpMetric receiver,
@ExtensionFunctionType @NonNull Function1<@NonNull HttpMetric, Unit> block
)
Measures the time it takes to run the block wrapped by calls to start and stop using HttpMetric.