Merge pull request #6047 from vector-im/andy/6046_uisi_context

Log decryption error details as context in AnalyticsEvent
This commit is contained in:
Anderas 2022-04-21 12:29:14 +01:00 committed by GitHub
commit 31842809af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 13 deletions

View file

@ -261,12 +261,10 @@ extension Analytics {
/// Track an E2EE error that occurred /// Track an E2EE error that occurred
/// - Parameters: /// - Parameters:
/// - reason: The error that occurred. /// - reason: The error that occurred.
/// - count: The number of times that error occurred. /// - context: Additional context of the error that occured
func trackE2EEError(_ reason: DecryptionFailureReason, count: Int) { func trackE2EEError(_ reason: DecryptionFailureReason, context: String) {
for _ in 0..<count { let event = AnalyticsEvent.Error(context: context, domain: .E2EE, name: reason.errorName)
let event = AnalyticsEvent.Error(context: nil, domain: .E2EE, name: reason.errorName) capture(event: event)
capture(event: event)
}
} }
/// Track when a user becomes unauthenticated without pressing the `sign out` button. /// Track when a user becomes unauthenticated without pressing the `sign out` button.

View file

@ -45,9 +45,12 @@ import AnalyticsEvents
let ts: TimeInterval = Date().timeIntervalSince1970 let ts: TimeInterval = Date().timeIntervalSince1970
/// Decryption failure reason. /// Decryption failure reason.
let reason: DecryptionFailureReason let reason: DecryptionFailureReason
/// Additional context of failure
let context: String
init(failedEventId: String, reason: DecryptionFailureReason) { init(failedEventId: String, reason: DecryptionFailureReason, context: String) {
self.failedEventId = failedEventId self.failedEventId = failedEventId
self.reason = reason self.reason = reason
self.context = context
} }
} }

View file

@ -115,8 +115,10 @@ NSString *const kDecryptionFailureTrackerAnalyticsCategory = @"e2e.failure";
break; break;
} }
NSString *context = [NSString stringWithFormat:@"code: %ld, description: %@", event.decryptionError.code, event.decryptionError.localizedDescription];
reportedFailures[event.eventId] = [[DecryptionFailure alloc] initWithFailedEventId:failedEventId reportedFailures[event.eventId] = [[DecryptionFailure alloc] initWithFailedEventId:failedEventId
reason:reason]; reason:reason
context:context];
} }
- (void)dispatch - (void)dispatch
@ -158,14 +160,10 @@ NSString *const kDecryptionFailureTrackerAnalyticsCategory = @"e2e.failure";
for (DecryptionFailure *failure in failuresToTrack) for (DecryptionFailure *failure in failuresToTrack)
{ {
failuresCounts[@(failure.reason)] = @(failuresCounts[@(failure.reason)].unsignedIntegerValue + 1); failuresCounts[@(failure.reason)] = @(failuresCounts[@(failure.reason)].unsignedIntegerValue + 1);
[self.delegate trackE2EEError:failure.reason context:failure.context];
} }
MXLogDebug(@"[DecryptionFailureTracker] trackFailures: %@", failuresCounts); MXLogDebug(@"[DecryptionFailureTracker] trackFailures: %@", failuresCounts);
for (NSNumber *reason in failuresCounts)
{
[self.delegate trackE2EEError:reason.integerValue count:failuresCounts[reason].integerValue];
}
} }
} }

View file

@ -0,0 +1 @@
Analytics: Log decryption error details as context in AnalyticsEvent