diff --git a/firebase-sessions/test-app/src/main/kotlin/com/google/firebase/testing/sessions/FirstFragment.kt b/firebase-sessions/test-app/src/main/kotlin/com/google/firebase/testing/sessions/FirstFragment.kt
index f5a965da7d4..c151b56a68f 100644
--- a/firebase-sessions/test-app/src/main/kotlin/com/google/firebase/testing/sessions/FirstFragment.kt
+++ b/firebase-sessions/test-app/src/main/kotlin/com/google/firebase/testing/sessions/FirstFragment.kt
@@ -30,7 +30,10 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope
import com.google.firebase.crashlytics.FirebaseCrashlytics
import com.google.firebase.perf.FirebasePerformance
+import com.google.firebase.perf.trace
import com.google.firebase.testing.sessions.databinding.FragmentFirstBinding
+import java.net.HttpURLConnection
+import java.net.URL
import java.util.Date
import java.util.Locale
import kotlinx.coroutines.Dispatchers
@@ -52,7 +55,7 @@ class FirstFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
- savedInstanceState: Bundle?
+ savedInstanceState: Bundle?,
): View? {
_binding = FragmentFirstBinding.inflate(inflater, container, false)
@@ -79,6 +82,28 @@ class FirstFragment : Fragment() {
performanceTrace.stop()
}
}
+ binding.createTrace2.setOnClickListener {
+ lifecycleScope.launch(Dispatchers.IO) {
+ val performanceTrace = performance.newTrace("test_trace_2")
+ performanceTrace.start()
+ delay(1200)
+ performanceTrace.stop()
+ }
+ }
+ binding.createNetworkTrace.setOnClickListener {
+ lifecycleScope.launch(Dispatchers.IO) {
+ val url = URL("https://www.google.com")
+ val metric =
+ performance.newHttpMetric("https://www.google.com", FirebasePerformance.HttpMethod.GET)
+ metric.trace {
+ val conn = url.openConnection() as HttpURLConnection
+ val content = conn.inputStream.bufferedReader().use { it.readText() }
+ setHttpResponseCode(conn.responseCode)
+ setResponsePayloadSize(content.length.toLong())
+ conn.disconnect()
+ }
+ }
+ }
binding.buttonForegroundProcess.setOnClickListener {
if (binding.buttonForegroundProcess.getText().startsWith("Start")) {
ForegroundService.startService(requireContext(), "Starting service at ${getDateText()}")
diff --git a/firebase-sessions/test-app/src/main/res/layout/fragment_first.xml b/firebase-sessions/test-app/src/main/res/layout/fragment_first.xml
index af08e7e317e..b40bee65a09 100644
--- a/firebase-sessions/test-app/src/main/res/layout/fragment_first.xml
+++ b/firebase-sessions/test-app/src/main/res/layout/fragment_first.xml
@@ -55,13 +55,30 @@
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/button_anr" />
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@id/create_network_trace" />