Skip to content

Commit 4b57862

Browse files
authored
Add ml sdk version to logs. (#2368)
1 parent b6d8cd4 commit 4b57862

File tree

6 files changed

+23
-6
lines changed

6 files changed

+23
-6
lines changed

firebase-ml-modeldownloader/src/main/java/com/google/firebase/ml/modeldownloader/internal/FirebaseMlLogEvent.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ public static Builder builder() {
100100

101101
public abstract String getFirebaseProjectId();
102102

103+
public abstract String getMlSdkVersion();
104+
103105
/** Builder for {@link SystemInfo}. */
104106
@AutoValue.Builder
105107
public abstract static class Builder {
@@ -115,6 +117,9 @@ public abstract static class Builder {
115117
@NonNull
116118
public abstract Builder setFirebaseProjectId(String value);
117119

120+
@NonNull
121+
public abstract Builder setMlSdkVersion(String value);
122+
118123
@NonNull
119124
public abstract SystemInfo build();
120125
}

firebase-ml-modeldownloader/src/main/java/com/google/firebase/ml/modeldownloader/internal/FirebaseMlLogger.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import androidx.annotation.WorkerThread;
2424
import com.google.android.datatransport.TransportFactory;
2525
import com.google.firebase.FirebaseApp;
26+
import com.google.firebase.ml.modeldownloader.BuildConfig;
2627
import com.google.firebase.ml.modeldownloader.CustomModel;
2728
import com.google.firebase.ml.modeldownloader.internal.FirebaseMlLogEvent.EventName;
2829
import com.google.firebase.ml.modeldownloader.internal.FirebaseMlLogEvent.ModelDownloadLogEvent;
@@ -223,6 +224,7 @@ private SystemInfo getSystemInfo() {
223224
.setAppId(appPackageName)
224225
.setAppVersion(appVersion)
225226
.setApiKey(apiKey)
227+
.setMlSdkVersion(BuildConfig.VERSION_NAME)
226228
.build();
227229
}
228230

firebase-ml-modeldownloader/src/test/java/com/google/firebase/ml/modeldownloader/internal/DataTransportMlEventSenderTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public class DataTransportMlEventSenderTest {
4242
.setAppVersion("0.1.0")
4343
.setApiKey("fakeKey5645")
4444
.setFirebaseProjectId("FakeFirebaseId")
45+
.setMlSdkVersion("3.4.5")
4546
.build();
4647

4748
@Before

firebase-ml-modeldownloader/src/test/java/com/google/firebase/ml/modeldownloader/internal/FirebaseMlLogEventTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import static com.google.common.truth.extensions.proto.ProtoTruth.assertThat;
1818
import static com.google.firebase.ml.modeldownloader.internal.FirebaseMlLogEvent.FIREBASE_ML_JSON_ENCODER;
1919

20+
import com.google.firebase.ml.modeldownloader.BuildConfig;
2021
import com.google.firebase.ml.modeldownloader.internal.FirebaseMlLogEvent.ModelDownloadLogEvent.DownloadStatus;
2122
import com.google.firebase.ml.modeldownloader.proto.ErrorCode;
2223
import com.google.firebase.ml.modeldownloader.proto.EventName;
@@ -57,6 +58,7 @@ public void testLogRequest_jsonToProto() throws InvalidProtocolBufferException {
5758
.setAppVersion(APP_VERSION)
5859
.setFirebaseProjectId(PROJECT_ID)
5960
.setApiKey(API_KEY)
61+
.setMlSdkVersion(BuildConfig.VERSION_NAME)
6062
.build())
6163
.setModelDownloadLogEvent(
6264
com.google.firebase.ml.modeldownloader.internal.FirebaseMlLogEvent
@@ -91,6 +93,7 @@ public void testLogRequest_jsonToProto() throws InvalidProtocolBufferException {
9193
.setAppVersion(APP_VERSION)
9294
.setFirebaseProjectId(PROJECT_ID)
9395
.setApiKey(API_KEY)
96+
.setMlSdkVersion(BuildConfig.VERSION_NAME)
9497
.build();
9598

9699
ModelDownloadLogEvent modelDownloadLogEvent =

firebase-ml-modeldownloader/src/test/java/com/google/firebase/ml/modeldownloader/internal/FirebaseMlLoggerTest.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.google.firebase.FirebaseApp;
3131
import com.google.firebase.FirebaseOptions;
3232
import com.google.firebase.FirebaseOptions.Builder;
33+
import com.google.firebase.ml.modeldownloader.BuildConfig;
3334
import com.google.firebase.ml.modeldownloader.CustomModel;
3435
import com.google.firebase.ml.modeldownloader.FirebaseMlException;
3536
import com.google.firebase.ml.modeldownloader.internal.FirebaseMlLogEvent.EventName;
@@ -60,7 +61,7 @@ public class FirebaseMlLoggerTest {
6061
.setApiKey(API_KEY)
6162
.build();
6263

63-
private SystemInfo SYSTEM_INFO;
64+
private SystemInfo systemInfo;
6465

6566
private static final String MODEL_NAME = "MODEL_NAME_1";
6667
private static final String MODEL_HASH = "dsf324";
@@ -86,11 +87,12 @@ public void setUp() throws NameNotFoundException {
8687
FirebaseApp.initializeApp(ApplicationProvider.getApplicationContext(), FIREBASE_OPTIONS);
8788

8889
mlLogger = new FirebaseMlLogger(app, mockSharedPreferencesUtil, mockStatsSender);
89-
SYSTEM_INFO =
90+
systemInfo =
9091
SystemInfo.builder()
9192
.setFirebaseProjectId(TEST_PROJECT_ID)
9293
.setAppId(app.getApplicationContext().getOpPackageName())
9394
.setApiKey(API_KEY)
95+
.setMlSdkVersion(BuildConfig.VERSION_NAME)
9496
.setAppVersion(
9597
String.valueOf(
9698
app.getApplicationContext()
@@ -132,7 +134,7 @@ public void logDownloadFailureWithReason() {
132134
.setDownloadStatus(DownloadStatus.FAILED)
133135
.setDownloadFailureStatus(405)
134136
.build())
135-
.setSystemInfo(SYSTEM_INFO)
137+
.setSystemInfo(systemInfo)
136138
.build()));
137139
verify(mockSharedPreferencesUtil, timeout(1)).getModelDownloadCompleteTimeMs(any());
138140
verify(mockSharedPreferencesUtil, timeout(1)).getModelDownloadBeginTimeMs(any());
@@ -156,7 +158,7 @@ public void logDownloadFailureWithReason_getModelDownloadBeginTimeMsNull() {
156158
.setDownloadStatus(DownloadStatus.FAILED)
157159
.setDownloadFailureStatus(405)
158160
.build())
159-
.setSystemInfo(SYSTEM_INFO)
161+
.setSystemInfo(systemInfo)
160162
.build()));
161163
verify(mockSharedPreferencesUtil, timeout(1)).getModelDownloadBeginTimeMs(any());
162164
verify(mockSharedPreferencesUtil, times(1)).getCustomModelStatsCollectionFlag();
@@ -179,7 +181,7 @@ public void logDownloadEventWithExactDownloadTime() {
179181
.setErrorCode(ErrorCode.NO_ERROR)
180182
.setDownloadStatus(DownloadStatus.SUCCEEDED)
181183
.build())
182-
.setSystemInfo(SYSTEM_INFO)
184+
.setSystemInfo(systemInfo)
183185
.build()));
184186
verify(mockStatsSender, Mockito.times(1)).sendEvent(any());
185187
verify(mockSharedPreferencesUtil, timeout(1)).setModelDownloadCompleteTimeMs(any(), eq(2500L));
@@ -204,7 +206,7 @@ public void logDownloadEventWithExactDownloadTime_getModelDownloadBeginTimeMsNul
204206
.setErrorCode(ErrorCode.NO_ERROR)
205207
.setDownloadStatus(DownloadStatus.SUCCEEDED)
206208
.build())
207-
.setSystemInfo(SYSTEM_INFO)
209+
.setSystemInfo(systemInfo)
208210
.build()));
209211
verify(mockSharedPreferencesUtil, timeout(1)).getModelDownloadBeginTimeMs(any());
210212
verify(mockSharedPreferencesUtil, times(1)).getCustomModelStatsCollectionFlag();

firebase-ml-modeldownloader/src/test/proto/firebase/ml/modeldownloader/firebase_ml_log_sdk.proto

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ message SystemInfo {
3838
// a valid Firebase Project ID.
3939
string firebase_project_id = 3;
4040

41+
// Firebase ML SDK version. This is the library version of
42+
// //java/com/google/android/gmscore/integ/client/firebase_ml/common/library.bzl
43+
string ml_sdk_version = 4;
44+
4145
// The API key of the firebase project.
4246
string api_key = 7 ;
4347

0 commit comments

Comments
 (0)