Skip to content

Commit d03a08e

Browse files
Open source Fireperf. (#2361)
1 parent ef85b50 commit d03a08e

File tree

160 files changed

+37458
-6
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

160 files changed

+37458
-6
lines changed

buildSrc/build.gradle

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ plugins {
1818
}
1919

2020
repositories {
21+
mavenLocal()
2122
maven {
2223
url 'https://maven.google.com/'
2324
}
@@ -29,7 +30,17 @@ repositories {
2930
}
3031
}
3132

33+
// Refer latest "perf-plugin" released version on https://maven.google.com/web/index.html?q=perf-plugin#com.google.firebase:perf-plugin
34+
// The System property allows us to integrate with an unreleased version from https://bityl.co/3oYt.
35+
// Refer go/fireperf-plugin-test-on-head for more details.
36+
def perfPluginVersion = System.getenv("FIREBASE_PERF_PLUGIN_VERSION") ?: "1.3.4"
37+
3238
dependencies {
39+
// Firebase performance plugin, it should be added here because of how gradle dependency
40+
// resolution works, otherwise it breaks Fireperf Test Apps.
41+
// See https://github.com/gradle/gradle/issues/12286
42+
implementation "com.google.firebase:perf-plugin:$perfPluginVersion"
43+
3344
implementation 'org.jsoup:jsoup:1.11.2'
3445
implementation 'digital.wup:android-maven-publish:3.6.2'
3546
implementation 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72'

firebase-perf/.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/build
2+
/gradle
3+
gradlew
4+
gradlew.bat
5+
6+
**/google-services.json

firebase-perf/CHANGELOG.md

Lines changed: 265 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,265 @@
1+
# Firebase Performance Monitoring SDK (aka `firebase-perf` and `firebase-perf-ktx`)
2+
3+
Refer [GMaven](https://maven.google.com/web/index.html?q=firebase-perf#com.google.firebase:firebase-perf) for the release artifacts and [Firebase Android Release Notes](https://firebase.google.com/support/release-notes/android) for the release info.
4+
5+
## Example Changelog
6+
7+
```
8+
## vX.Y.Z (MXX)
9+
10+
#### Android library / Kotlin extensions
11+
12+
* {{feature}} You can now do this cool new thing. For more details, refer to the [documentation](docs/path).
13+
14+
* {{fixed}} Fixed the `methodFoo` warning.
15+
16+
* {{changed}} You need to do _this_ instead of _that_.
17+
18+
```
19+
20+
> **Note:** Refer go/firebase-android-release for `MXX` info.
21+
22+
## Unreleased
23+
24+
## Released
25+
26+
## v19.1.0 (M87)
27+
28+
#### Android library
29+
30+
* {{changed}} Removed GMS dependency from {{perfmon}}. Google Play services
31+
installation is no longer required to use firebase performance.
32+
33+
* {{changed}} Improved performance event dispatch wait time from 2 hours to
34+
30 seconds.
35+
36+
#### Kotlin extensions
37+
38+
The Kotlin extensions library transitively includes the updated
39+
`firebase-performance` library. The Kotlin extensions library has no additional
40+
updates.
41+
42+
## v19.0.11 (M85)
43+
44+
#### Android library
45+
46+
* {{fixed}} Upgraded protobuf dependency to the latest released version
47+
([GitHub Issue #2158](//github.com/firebase/firebase-android-sdk/issues/2158))
48+
49+
#### Kotlin extensions
50+
51+
The Kotlin extensions library transitively includes the updated
52+
`firebase-performance` library. The Kotlin extensions library has no additional
53+
updates.
54+
55+
## v19.0.10 (M83)
56+
57+
#### Android library
58+
Note: We recommend using {{perfmon}} Gradle plugin version v1.3.4 or above with
59+
this version of SDK.
60+
61+
* {{changed}} Integrated with the `firebase-datatransport` library for
62+
performance log dispatch mechanism.
63+
64+
* {{fixed}} Synchronized the access to fix a race condition that was causing a
65+
`NullPointerException` when making network requests.
66+
([GitHub Issue #2096](//github.com/firebase/firebase-android-sdk/issues/2096))
67+
68+
#### Kotlin extensions
69+
70+
The Kotlin extensions library transitively includes the updated
71+
`firebase-performance` library. The Kotlin extensions library has no additional
72+
updates.
73+
74+
## v19.0.9 (M80)
75+
76+
#### Android library
77+
78+
* {{fixed}} Created lazy dependency on {{firebase_remote_config}} to avoid
79+
main thread contention issue. ([GitHub Issue #1810](//github.com/firebase/firebase-android-sdk/issues/1810))
80+
81+
* {{changed}} Updated the protocol buffer dependency to the
82+
`protobuf-javalite` artifact to allow for backward compatibility.
83+
84+
* {{changed}} Removed Guava dependency from the SDK to avoid symbol collision with any other SDKs.
85+
86+
* {{changed}} Removed proguarding for SDK; logcat messages will show original class paths for debugging.
87+
88+
* {{changed}} Improved build configurations and dependencies to reduce SDK size.
89+
90+
#### Kotlin extensions
91+
92+
* {{feature}} The {{firebase_perfmon}} Android library with Kotlin
93+
extensions is now available. The Kotlin extensions library transitively
94+
includes the base `firebase-performance` library. To learn more, visit the
95+
[{{perfmon}} KTX documentation](/docs/reference/kotlin/com/google/firebase/perf/ktx/package-summary).
96+
97+
## v19.0.8 (M75)
98+
99+
#### Android library
100+
101+
* {{changed}} Updated the
102+
[logging message](/docs/perf-mon/get-started-android#view-log-messages)
103+
for performance events.
104+
105+
* {{fixed}} Silenced {{firebase_remote_config}} logging triggered by
106+
{{firebase_perfmon}}.
107+
([GitHub Issue #403](//github.com/firebase/firebase-android-sdk/issues/403))
108+
109+
* {{fixed}} Removed unnecessary logging. {{perfmon}} now only logs debug
110+
information if the `firebase_performance_logcat_enabled` setting is `true` in
111+
`AndroidManifest.xml`. Visit the documentation for details about
112+
explicitly [enabling debug logging](/docs/perf-mon/get-started-android#view-log-messages).
113+
114+
* {{changed}} Migrated to use the {{firebase_installations}} service _directly_
115+
instead of using an indirect dependency via the Firebase Instance ID SDK.
116+
117+
## v19.0.7 (M69)
118+
119+
#### Android library
120+
121+
* {{changed}} Updated dependency on the Firebase Instance ID library to v20.1.5,
122+
which is a step towards a direct dependency on the {{firebase_installations}}
123+
service in a future release.
124+
125+
This update to `firebase-iid` v20.1.5 fixed the following GitHub issues:
126+
[#1454](//github.com/firebase/firebase-android-sdk/issues/1454),
127+
[#1397](//github.com/firebase/firebase-android-sdk/issues/1397), and
128+
[#1339](//github.com/firebase/firebase-android-sdk/issues/1339).
129+
130+
## v19.0.6 (M68)
131+
132+
#### Android library
133+
134+
* {{fixed}} Fixed an NPE crash when calling `trace.stop()`.
135+
([GitHub Issue #1383](//github.com/firebase/firebase-android-sdk/issues/1383))
136+
137+
## v19.0.5 (M62)
138+
139+
#### Android library
140+
141+
* {{fixed}} Muted logcat logging for {{firebase_perfmon}} when
142+
`firebase_performance_logcat_enabled` is not set or set to false.
143+
([#403](//github.com/firebase/firebase-android-sdk/issues/403))
144+
* {{fixed}} Skipped automatic performance event creation when
145+
`firebase_performance_collection_enabled` is set to false.
146+
* {{changed}} Internal infrastructure improvements.
147+
148+
## v19.0.4 (M61)
149+
150+
#### Android library
151+
152+
* {{changed}} Improved internal infrastructure to work better with
153+
{{firebase_remote_config}}.
154+
155+
----
156+
157+
**NOTE:** For some historical reasons below internal versions may or may not correlate to an externally released version. However, this document keeps track of what internal version was released as an external version so that its easier to figure out what version of the SDK we were dealing with (and whether it was publicly released). Unfortunately, we did not keep records of what internal version correlated to an external version until `v16.2.0`, and so the values before that were procured as a result of manually going through history and correlating release dates.
158+
159+
## 19.0.3 (M60.1): 1.0.0.282466371
160+
161+
#### Android library
162+
163+
* {{changed}} Internal infrastructure improvements.
164+
165+
## 19.0.2 (M59): 1.0.0.277188197
166+
167+
#### Android library
168+
169+
* {{changed}} Internal infrastructure improvements.
170+
171+
## 19.0.1 (M57): 1.0.0.272275548
172+
173+
#### Android library
174+
175+
* {{changed}} Internal infrastructure improvements.
176+
177+
## 19.0.0 (M53):
178+
179+
#### Android library
180+
181+
* {{changed}} Versioned to add nullability annotations to improve the Kotlin
182+
developer experience. No other changes.
183+
184+
## 18.0.1 (M50): 1.0.0.252929170
185+
186+
#### Android library
187+
188+
* {{fixed}} Fixed an `IllegalStateException` that was thrown when an activity
189+
with hardware acceleration disabled was stopped.
190+
191+
## 18.0.0 (Android X - Clone of 17.0.2): 1.0.0.249530108
192+
193+
## 17.0.2 (M48): 1.0.0.249530108
194+
195+
#### Android library
196+
197+
* {{fixed}} Fixed a `Null Pointer Exception` that was being observed on certain Android 7.0 devices.
198+
199+
* {{fixed}} Updates to make {{perfmon}} work better with the latest version of
200+
{{firebase_remote_config}}.
201+
202+
## 17.0.1 (Unreleased): 1.0.0.242580265
203+
204+
## 17.0.0 (M47): 1.0.0.242580265
205+
206+
#### Android library
207+
208+
* {{removed}} Removed the deprecated counter API. Use metrics API going forward.
209+
210+
## 16.2.5 (M46): 1.0.0.240228580
211+
212+
#### Android library
213+
214+
* {{fixed}} Fixed a bug that was causing apps using multiple processses to
215+
throw an `IllegalStateException` in the non-main processes.
216+
217+
## 16.2.4 (M44): 1.0.0.233854359
218+
219+
#### Android library
220+
221+
* {{fixed}} Fixed a bug that was causing a `NoClassDefFoundError` to be thrown
222+
which resulted in intermittent app crashes.
223+
224+
* {{fixed}} Updates to make {{perfmon}} work better with the latest version of
225+
{{firebase_remote_config}}.
226+
227+
* {{changed}} {{firebase_perfmon}} no longer depends on {{firebase_analytics}}.
228+
229+
## 16.2.3 (M40): 1.0.0.225053256
230+
231+
#### Android library
232+
233+
* {{fixed}} Bug fixes.
234+
235+
## 16.2.2 (M38.1): 1.0.0.221486272
236+
237+
## 16.2.1 (M38): 1.0.0.221486272
238+
239+
#### Android library
240+
241+
* {{fixed}} SDK size is now smaller.
242+
243+
## 16.2.0 (M36): 1.0.0.217212991
244+
245+
#### Android library
246+
247+
* {{feature}} Introduces the Sessions feature, which gives developers access to actionable insights about data captured using {{perfmon}}.
248+
249+
* {{fixed}} Minor bug fixes and improvements.
250+
251+
## 16.1.1 (EAP): 1.0.0.212694509
252+
253+
## 16.1.0 (M30): 1.0.0.206222422
254+
255+
#### Android library
256+
257+
* {{fixed}} Fixed a `SecurityException` crash on certain devices that do not have Google Play Services on them.
258+
259+
## 16.0.0: 1.0.0.196558987
260+
261+
## 15.2.0: 1.0.0.194951622
262+
263+
## 15.1.0: 1.0.0.194607773
264+
265+
## 15.0.0: 1.0.0.184862077

0 commit comments

Comments
 (0)