From 4387507fc969e3df01815ea9300b222db9612465 Mon Sep 17 00:00:00 2001 From: jason Date: Tue, 29 Oct 2024 10:40:36 +0000 Subject: [PATCH] chore(okhttp): added a TrafficStats tag to the OkHttp delivery --- .../bugsnag/android/okhttp/OkHttpDelivery.kt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/bugsnag-plugin-android-okhttp/src/main/java/com/bugsnag/android/okhttp/OkHttpDelivery.kt b/bugsnag-plugin-android-okhttp/src/main/java/com/bugsnag/android/okhttp/OkHttpDelivery.kt index fcd43c2d28..85f9c6cdc3 100644 --- a/bugsnag-plugin-android-okhttp/src/main/java/com/bugsnag/android/okhttp/OkHttpDelivery.kt +++ b/bugsnag-plugin-android-okhttp/src/main/java/com/bugsnag/android/okhttp/OkHttpDelivery.kt @@ -1,5 +1,6 @@ package com.bugsnag.android.okhttp +import android.net.TrafficStats import com.bugsnag.android.Delivery import com.bugsnag.android.DeliveryParams import com.bugsnag.android.DeliveryStatus @@ -32,8 +33,13 @@ class OkHttpDelivery @JvmOverloads constructor( } val call = client.newCall(requestBuilder.build()) - val response = call.execute() - return DeliveryStatus.forHttpResponseCode(response.code) + try { + TrafficStats.setThreadStatsTag(1) + val response = call.execute() + return DeliveryStatus.forHttpResponseCode(response.code) + } finally { + TrafficStats.clearThreadStatsTag() + } } override fun deliver(payload: EventPayload, deliveryParams: DeliveryParams): DeliveryStatus { @@ -51,9 +57,14 @@ class OkHttpDelivery @JvmOverloads constructor( } val call = client.newCall(requestBuilder.build()) - val response = call.execute() - return DeliveryStatus.forHttpResponseCode(response.code) + try { + TrafficStats.setThreadStatsTag(1) + val response = call.execute() + return DeliveryStatus.forHttpResponseCode(response.code) + } finally { + TrafficStats.clearThreadStatsTag() + } } catch (oom: OutOfMemoryError) { // attempt to persist the payload on disk. This approach uses streams to write to a // file, which takes less memory than serializing the payload into a ByteArray, and