You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rejestrowanie wydajności aplikacji zachodzi na tzw. trasach (`traces`), które opisane są między dwoma miejscami: punktem startowym i końcowym. Automatyczna trasa dla działania aplikacji w tle (`App in background`) rozpoczyna się od momentu kiedy ostatnia Aktywność (`Activity`) będąca w `foreground` wywoła `onStop`, a zakończy się w momencie wywołania `onResume` przez pierwszą Aktywność przechodzącą z trybu `background` do `foreground`. Podobnie rzecz ma się z trasami własnymi, które dotyczą wybranego przez programistę przedziału cyklu życia.
18
18
19
-
//TODO
20
19
{% highlight kotlin %}
21
-
val myTrace = FirebasePerformance.getInstance().newTrace("test_trace")
22
-
myTrace.start()
23
-
myTrace.stop()
20
+
class MainActivity : AppCompatActivity() {
21
+
22
+
lateinit var trace: Trace
23
+
24
+
override fun onCreate(savedInstanceState: Bundle?) {
addIteaTrace.putAttribute("item", item) //avoid personal info
54
+
55
+
//update UI
56
+
val text = textViewItems.text
57
+
textViewItems.text = "$text \n $item"
58
+
59
+
//stop trace
60
+
addItemTrace.stop()
35
61
}
36
62
{% endhighlight %}
37
63
38
64
Dodanie adnotacji `@AddTrace` do metody wraz z jej nazwą powoduje rejestrowanie wydajności podczas wykonywania funkcji (trasa rozpoczyna się na początku metody, a kończy kiedy zostanie wykonana). Jednakże tak stworzone trasy nie mają możliwości dodawania metryk.
override fun onCreate(savedInstanceState: Bundle?) {
44
-
super.onCreate(savedInstanceState)
67
+
//use instead of addItem method if extra info no needed
68
+
@AddTrace(name = "add_item_trace")
69
+
private fun addItemWithoutMetrics(item: String) {
70
+
val text = textViewItems.text
71
+
textViewItems.text = "$text \n $item"
45
72
}
46
73
{% endhighlight %}
47
74
48
75
## Zapytania sieciowe
49
-
Wysyłane żądania sieciowe `HTTP/S` są przechwytywane i przetwarzane do postaci raportów zawierających informacje takie jak: czas odpowiedzi, rozmiar wysłanych żądań i otrzymanych odpowiedzi, wskaźnik sukcesu oraz metadane urządzenia. Ze względu na zachowanie polityki prywatności Performance Monitoring pomija parametry `URL` w procesie budowania anonimowych wzorców adresów wyświetlanych w `konsoli Firebase`. Rejestrowanie zdarzeń sieciowych wspierane jest tylko dla żądań stworzony przy użyciu `OkHttp3`.
76
+
Wsyłane żądania sieciowe `HTTP/S` są w większośći automatycznie przechwytywane i przetwarzane do postaci raportów zawierających informacje takie jak: czas odpowiedzi, rozmiar wysłanych żądań i otrzymanych odpowiedzi, wskaźnik sukcesu oraz metadane urządzenia. Ze względu na zachowanie polityki prywatności Performance Monitoring pomija parametry `URL` w procesie budowania anonimowych wzorców adresów wyświetlanych w `konsoli Firebase`. Rejestrowanie zdarzeń sieciowych wspierane jest tylko dla żądań stworzony przy użyciu `OkHttp3`. W przypadku personalizacji raportowania zapytań sieciowych lub ich ręcznego wywołania można wykorzystać kod na poniższym listingu.
50
77
51
-
//TODO
52
78
{% highlight kotlin %}
53
-
val metric = FirebasePerformance.getInstance().newHttpMetric("https://www.google.com",
54
-
FirebasePerformance.HttpMethod.GET)
55
-
val url = URL("https://www.google.com")
56
-
metric.start()
57
-
val conn = url.openConnection() as HttpURLConnection
0 commit comments