Skip to content

Commit 3cbe00c

Browse files
authored
Fixes and corrections in telemetry logging (#7525)
* Restores ML Pods after M77. * Fix Package.swift * Re-add catalyst to GHA workflow. * Add model name to all log events + minor logging fixes. * Disable logging in tests * Disable logging in unit test.
1 parent ff18e4a commit 3cbe00c

File tree

6 files changed

+308
-40
lines changed

6 files changed

+308
-40
lines changed

FirebaseMLModelDownloader/Sources/ModelDownloadTask.swift

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,20 @@ extension ModelDownloadTask {
9393
messageCode: .anotherDownloadInProgressError)
9494
telemetryLogger?.logModelDownloadEvent(eventName: .modelDownload,
9595
status: .failed,
96+
model: CustomModel(name: remoteModelInfo.name,
97+
size: remoteModelInfo.size,
98+
path: "",
99+
hash: remoteModelInfo.modelHash),
96100
downloadErrorCode: .downloadFailed)
97101
return
98102
}
99103
downloadStatus = .downloading
100104
telemetryLogger?.logModelDownloadEvent(eventName: .modelDownload,
101105
status: .downloading,
106+
model: CustomModel(name: remoteModelInfo.name,
107+
size: remoteModelInfo.size,
108+
path: "",
109+
hash: remoteModelInfo.modelHash),
102110
downloadErrorCode: .noError)
103111
downloader.downloadFile(with: remoteModelInfo.downloadURL,
104112
progressHandler: { downloadedBytes, totalBytes in
@@ -131,6 +139,10 @@ extension ModelDownloadTask {
131139
self.telemetryLogger?.logModelDownloadEvent(
132140
eventName: .modelDownload,
133141
status: .failed,
142+
model: CustomModel(name: self.remoteModelInfo.name,
143+
size: self.remoteModelInfo.size,
144+
path: "",
145+
hash: self.remoteModelInfo.modelHash),
134146
downloadErrorCode: .noConnection
135147
)
136148
case FileDownloaderError.unexpectedResponseType:
@@ -142,6 +154,10 @@ extension ModelDownloadTask {
142154
self.telemetryLogger?.logModelDownloadEvent(
143155
eventName: .modelDownload,
144156
status: .failed,
157+
model: CustomModel(name: self.remoteModelInfo.name,
158+
size: self.remoteModelInfo.size,
159+
path: "",
160+
hash: self.remoteModelInfo.modelHash),
145161
downloadErrorCode: .downloadFailed
146162
)
147163
default:
@@ -153,6 +169,10 @@ extension ModelDownloadTask {
153169
self.telemetryLogger?.logModelDownloadEvent(
154170
eventName: .modelDownload,
155171
status: .failed,
172+
model: CustomModel(name: self.remoteModelInfo.name,
173+
size: self.remoteModelInfo.size,
174+
path: "",
175+
hash: self.remoteModelInfo.modelHash),
156176
downloadErrorCode: .downloadFailed
157177
)
158178
}
@@ -175,6 +195,10 @@ extension ModelDownloadTask {
175195
telemetryLogger?.logModelDownloadEvent(
176196
eventName: .modelDownload,
177197
status: .failed,
198+
model: CustomModel(name: remoteModelInfo.name,
199+
size: remoteModelInfo.size,
200+
path: "",
201+
hash: remoteModelInfo.modelHash),
178202
downloadErrorCode: .httpError(code: response.statusCode)
179203
)
180204
completion(.failure(.invalidArgument))
@@ -186,6 +210,10 @@ extension ModelDownloadTask {
186210
telemetryLogger?.logModelDownloadEvent(
187211
eventName: .modelDownload,
188212
status: .failed,
213+
model: CustomModel(name: remoteModelInfo.name,
214+
size: remoteModelInfo.size,
215+
path: "",
216+
hash: remoteModelInfo.modelHash),
189217
downloadErrorCode: .urlExpired
190218
)
191219
completion(.failure(.expiredDownloadURL))
@@ -196,6 +224,10 @@ extension ModelDownloadTask {
196224
telemetryLogger?.logModelDownloadEvent(
197225
eventName: .modelDownload,
198226
status: .failed,
227+
model: CustomModel(name: remoteModelInfo.name,
228+
size: remoteModelInfo.size,
229+
path: "",
230+
hash: remoteModelInfo.modelHash),
199231
downloadErrorCode: .httpError(code: response.statusCode)
200232
)
201233
completion(.failure(.permissionDenied))
@@ -207,6 +239,10 @@ extension ModelDownloadTask {
207239
telemetryLogger?.logModelDownloadEvent(
208240
eventName: .modelDownload,
209241
status: .failed,
242+
model: CustomModel(name: remoteModelInfo.name,
243+
size: remoteModelInfo.size,
244+
path: "",
245+
hash: remoteModelInfo.modelHash),
210246
downloadErrorCode: .httpError(code: response.statusCode)
211247
)
212248
completion(.failure(.notFound))
@@ -219,6 +255,10 @@ extension ModelDownloadTask {
219255
telemetryLogger?.logModelDownloadEvent(
220256
eventName: .modelDownload,
221257
status: .failed,
258+
model: CustomModel(name: remoteModelInfo.name,
259+
size: remoteModelInfo.size,
260+
path: "",
261+
hash: remoteModelInfo.modelHash),
222262
downloadErrorCode: .httpError(code: response.statusCode)
223263
)
224264
completion(.failure(.internalError(description: description)))
@@ -239,6 +279,10 @@ extension ModelDownloadTask {
239279
// Downloading the file succeeding but saving failed.
240280
telemetryLogger?.logModelDownloadEvent(eventName: .modelDownload,
241281
status: .succeeded,
282+
model: CustomModel(name: remoteModelInfo.name,
283+
size: remoteModelInfo.size,
284+
path: "",
285+
hash: remoteModelInfo.modelHash),
242286
downloadErrorCode: .downloadFailed)
243287
completion(.failure(.internalError(description: description)))
244288
return
@@ -296,6 +340,10 @@ extension ModelDownloadTask {
296340
// Downloading the file succeeding but saving failed.
297341
telemetryLogger?.logModelDownloadEvent(eventName: .modelDownload,
298342
status: .succeeded,
343+
model: CustomModel(name: remoteModelInfo.name,
344+
size: remoteModelInfo.size,
345+
path: "",
346+
hash: remoteModelInfo.modelHash),
299347
downloadErrorCode: .downloadFailed)
300348
completion(.failure(error))
301349
return
@@ -306,6 +354,10 @@ extension ModelDownloadTask {
306354
// Downloading the file succeeding but saving failed.
307355
telemetryLogger?.logModelDownloadEvent(eventName: .modelDownload,
308356
status: .succeeded,
357+
model: CustomModel(name: remoteModelInfo.name,
358+
size: remoteModelInfo.size,
359+
path: "",
360+
hash: remoteModelInfo.modelHash),
309361
downloadErrorCode: .downloadFailed)
310362
completion(.failure(.internalError(description: error.localizedDescription)))
311363
return

FirebaseMLModelDownloader/Sources/ModelDownloader.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ public class ModelDownloader {
162162
telemetryLogger?.logModelDownloadEvent(
163163
eventName: .modelDownload,
164164
status: .scheduled,
165+
model: CustomModel(name: modelName, size: 0, path: "", hash: ""),
165166
downloadErrorCode: .noError
166167
)
167168
// Update local model in the background.
@@ -191,6 +192,7 @@ public class ModelDownloader {
191192
self?.telemetryLogger?.logModelDownloadEvent(
192193
eventName: .modelDownload,
193194
status: .failed,
195+
model: CustomModel(name: modelName, size: 0, path: "", hash: ""),
194196
downloadErrorCode: .downloadFailed
195197
)
196198
}

0 commit comments

Comments
 (0)