Skip to content

Commit 368f06f

Browse files
committed
Remove MSAL perf telemetry as it's causing issue after SSO extension broker first strategy change
1 parent 694b410 commit 368f06f

10 files changed

+6
-298
lines changed

IdentityCore/src/broker_operation/response/MSIDBrokerNativeAppOperationResponse.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,6 @@ NS_ASSUME_NONNULL_BEGIN
5353
- (instancetype)init NS_UNAVAILABLE;
5454
+ (instancetype)new NS_UNAVAILABLE;
5555

56-
#if !EXCLUDE_FROM_MSALCPP
57-
58-
- (void)trackPerfTelemetryWithLastRequest:(MSIDLastRequestTelemetry *)telemetry
59-
requestStartDate:(NSDate *)requestStartDate
60-
telemetryType:(NSString *)telemetryType;
61-
62-
#endif
63-
64-
6556
@end
6657

6758
NS_ASSUME_NONNULL_END

IdentityCore/src/broker_operation/response/MSIDBrokerNativeAppOperationResponse.m

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -124,29 +124,4 @@ - (NSDictionary *)jsonDictionary
124124
return json;
125125
}
126126

127-
#if !EXCLUDE_FROM_MSALCPP
128-
129-
- (void)trackPerfTelemetryWithLastRequest:(MSIDLastRequestTelemetry *)telemetry
130-
requestStartDate:(NSDate *)requestStartDate
131-
telemetryType:(NSString *)telemetryType
132-
{
133-
if (!requestStartDate)
134-
{
135-
MSID_LOG_WITH_CTX(MSIDLogLevelError, nil, @"trackPerfTelemetryWithLastRequest called with nil request start date");
136-
return;
137-
}
138-
139-
NSDate *responseDate = [NSDate date];
140-
NSTimeInterval totalTime = [responseDate timeIntervalSinceDate:requestStartDate];
141-
NSTimeInterval ipcRequestTime = self.requestReceivedTimeStamp ? [self.requestReceivedTimeStamp timeIntervalSinceDate:requestStartDate] : 0;
142-
NSTimeInterval ipcResponseTime = self.responseGenerationTimeStamp ? [responseDate timeIntervalSinceDate:self.responseGenerationTimeStamp] : 0;
143-
144-
[telemetry trackSSOExtensionPerformanceWithType:telemetryType
145-
totalPerfNumber:totalTime
146-
ipcRequestPerfNumber:ipcRequestTime
147-
ipcResponsePerfNumber:ipcResponseTime];
148-
}
149-
150-
#endif
151-
152127
@end

IdentityCore/src/requests/broker/MSIDSSOExtensionGetAccountsRequest.m

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,6 @@ - (nullable instancetype)initWithRequestParameters:(MSIDRequestParameters *)requ
103103

104104
__typeof__(self) strongSelf = weakSelf;
105105

106-
#if !EXCLUDE_FROM_MSALCPP
107-
[operationResponse trackPerfTelemetryWithLastRequest:strongSelf.lastRequestTelemetry
108-
requestStartDate:strongSelf.requestSentDate
109-
telemetryType:MSID_PERF_TELEMETRY_GETACCOUNTS_TYPE];
110-
#endif
111-
112106
MSIDGetAccountsRequestCompletionBlock completionBlock = strongSelf.requestCompletionBlock;
113107
strongSelf.requestCompletionBlock = nil;
114108

IdentityCore/src/requests/broker/MSIDSSOExtensionGetDeviceInfoRequest.m

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,6 @@ - (nullable instancetype)initWithRequestParameters:(MSIDRequestParameters *)requ
9191

9292
__typeof__(self) strongSelf = weakSelf;
9393

94-
#if !EXCLUDE_FROM_MSALCPP
95-
[operationResponse trackPerfTelemetryWithLastRequest:strongSelf.lastRequestTelemetry
96-
requestStartDate:strongSelf.requestSentDate
97-
telemetryType:MSID_PERF_TELEMETRY_GETDEVICEINFO_TYPE];
98-
#endif
99-
10094
MSIDGetDeviceInfoRequestCompletionBlock completionBlock = strongSelf.requestCompletionBlock;
10195
strongSelf.requestCompletionBlock = nil;
10296

IdentityCore/src/requests/broker/MSIDSSOExtensionSignoutRequest.m

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,6 @@ - (nullable instancetype)initWithRequestParameters:(nonnull MSIDInteractiveReque
9898

9999
__typeof__(self) strongSelf = weakSelf;
100100

101-
#if !EXCLUDE_FROM_MSALCPP
102-
[operationResponse trackPerfTelemetryWithLastRequest:strongSelf.lastRequestTelemetry
103-
requestStartDate:strongSelf.requestSentDate
104-
telemetryType:MSID_PERF_TELEMETRY_SIGNOUT_TYPE];
105-
#endif
106-
107101
MSIDSignoutRequestCompletionBlock completionBlock = strongSelf.requestCompletionBlock;
108102
strongSelf.requestCompletionBlock = nil;
109103

IdentityCore/src/requests/broker/MSIDSSOExtensionSilentTokenRequest.m

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,6 @@ - (instancetype)initWithRequestParameters:(MSIDRequestParameters *)parameters
9393
strongSelf.ssoTokenResponseHandler.externalCacheSeeder = strongSelf.externalCacheSeeder;
9494
#endif
9595

96-
#if !EXCLUDE_FROM_MSALCPP
97-
[operationResponse trackPerfTelemetryWithLastRequest:strongSelf.lastRequestTelemetry
98-
requestStartDate:strongSelf.requestSentDate
99-
telemetryType:MSID_PERF_TELEMETRY_SILENT_TYPE];
100-
#endif
101-
10296
[strongSelf.ssoTokenResponseHandler handleOperationResponse:operationResponse
10397
requestParameters:strongSelf.requestParameters
10498
tokenResponseValidator:strongSelf.tokenResponseValidator

IdentityCore/src/telemetry/request_telemetry/MSIDLastRequestTelemetry.h

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,8 @@
3434

3535
@end
3636

37-
@interface MSIDRequestPerformanceInfo : NSObject <NSSecureCoding>
38-
39-
@property (nonatomic, nullable) NSMutableArray<NSNumber *> *totalNumbers;
40-
@property (nonatomic, nullable) NSMutableArray<NSNumber *> *ipcRequestNumbers;
41-
@property (nonatomic, nullable) NSMutableArray<NSNumber *> *ipcResponseNumbers;
42-
43-
@end
44-
4537
NS_ASSUME_NONNULL_BEGIN
4638

47-
extern NSString * _Nonnull const MSID_PERF_TELEMETRY_SILENT_TYPE;
48-
extern NSString * _Nonnull const MSID_PERF_TELEMETRY_SIGNOUT_TYPE;
49-
extern NSString * _Nonnull const MSID_PERF_TELEMETRY_GETACCOUNTS_TYPE;
50-
extern NSString * _Nonnull const MSID_PERF_TELEMETRY_GETDEVICEINFO_TYPE;
51-
5239
@class MSIDCurrentRequestTelemetrySerializedItem;
5340

5441
@interface MSIDLastRequestTelemetry : NSObject <MSIDTelemetryStringSerializable, NSSecureCoding>
@@ -69,11 +56,6 @@ extern NSString * _Nonnull const MSID_PERF_TELEMETRY_GETDEVICEINFO_TYPE;
6956

7057
- (void)increaseSilentSuccessfulCount;
7158

72-
- (void)trackSSOExtensionPerformanceWithType:(NSString *)type
73-
totalPerfNumber:(NSTimeInterval)totalPerfNumber
74-
ipcRequestPerfNumber:(NSTimeInterval)ipcRequestPerfNumber
75-
ipcResponsePerfNumber:(NSTimeInterval)ipcResponsePerfNumber;
76-
7759
@end
7860

7961
NS_ASSUME_NONNULL_END

IdentityCore/src/telemetry/request_telemetry/MSIDLastRequestTelemetry.m

Lines changed: 4 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -29,39 +29,6 @@
2929
#import "NSKeyedUnarchiver+MSIDExtensions.h"
3030
#import "MSIDRequestTelemetryConstants.h"
3131

32-
@implementation MSIDRequestPerformanceInfo
33-
34-
#define kTotalNumbers @"totalNumbers"
35-
#define kIpcRequestNumbers @"ipcRequestNumbers"
36-
#define kIpcResponseNumbers @"ipcResponseNumbers"
37-
38-
- (void)encodeWithCoder:(NSCoder *)encoder
39-
{
40-
[encoder encodeObject:self.totalNumbers forKey:kTotalNumbers];
41-
[encoder encodeObject:self.ipcRequestNumbers forKey:kIpcRequestNumbers];
42-
[encoder encodeObject:self.ipcResponseNumbers forKey:kIpcResponseNumbers];
43-
}
44-
45-
- (instancetype)initWithCoder:(NSCoder *)decoder
46-
{
47-
self = [super init];
48-
if (self)
49-
{
50-
NSSet *classes = [NSSet setWithObjects:[NSMutableArray class], [NSNumber class], nil];
51-
self.totalNumbers = [decoder decodeObjectOfClasses:classes forKey:kTotalNumbers];
52-
self.ipcRequestNumbers = [decoder decodeObjectOfClasses:classes forKey:kIpcRequestNumbers];
53-
self.ipcResponseNumbers = [decoder decodeObjectOfClasses:classes forKey:kIpcResponseNumbers];
54-
}
55-
return self;
56-
}
57-
58-
+ (BOOL)supportsSecureCoding
59-
{
60-
return YES;
61-
}
62-
63-
@end
64-
6532
@implementation MSIDRequestTelemetryErrorInfo
6633

6734
#define kApiId @"apiId"
@@ -108,17 +75,11 @@ - (nonnull id)copyWithZone:(nullable NSZone *)zone
10875

10976
@end
11077

111-
NSString * _Nonnull const MSID_PERF_TELEMETRY_SILENT_TYPE = @"silent";
112-
NSString * _Nonnull const MSID_PERF_TELEMETRY_SIGNOUT_TYPE = @"signout";
113-
NSString * _Nonnull const MSID_PERF_TELEMETRY_GETACCOUNTS_TYPE = @"accounts";
114-
NSString * _Nonnull const MSID_PERF_TELEMETRY_GETDEVICEINFO_TYPE = @"deviceinfo";
115-
11678
@interface MSIDLastRequestTelemetry()
11779

11880
@property (nonatomic) NSMutableArray<MSIDRequestTelemetryErrorInfo *> *errorsInfo;
11981
@property (nonatomic) NSInteger schemaVersion;
12082
@property (nonatomic) NSInteger silentSuccessfulCount;
121-
@property (nonatomic) NSMutableDictionary<NSString *, MSIDRequestPerformanceInfo *> *perfTelemetry;
12283
@property (nonatomic) NSMutableArray<NSString *> *platformFields;
12384
@property (nonatomic) dispatch_queue_t synchronizationQueue;
12485
@property (nonatomic) MSIDLastRequestTelemetrySerializedItem *telemetrySerializedItem;
@@ -232,61 +193,6 @@ - (void)increaseSilentSuccessfulCount
232193
});
233194
}
234195

235-
- (void)trackSSOExtensionPerformanceWithType:(NSString *)type
236-
totalPerfNumber:(NSTimeInterval)totalPerfNumber
237-
ipcRequestPerfNumber:(NSTimeInterval)ipcRequestPerfNumber
238-
ipcResponsePerfNumber:(NSTimeInterval)ipcResponsePerfNumber
239-
{
240-
dispatch_barrier_async(self.synchronizationQueue, ^{
241-
242-
[self trackSSOExtensionPerformanceWithTypeImpl:type
243-
totalPerfNumber:totalPerfNumber
244-
ipcRequestPerfNumber:ipcRequestPerfNumber
245-
ipcResponsePerfNumber:ipcResponsePerfNumber];
246-
247-
[self saveTelemetryToDisk];
248-
});
249-
}
250-
251-
- (void)trackSSOExtensionPerformanceWithTypeImpl:(NSString *)type
252-
totalPerfNumber:(NSTimeInterval)totalPerfNumber
253-
ipcRequestPerfNumber:(NSTimeInterval)ipcRequestPerfNumber
254-
ipcResponsePerfNumber:(NSTimeInterval)ipcResponsePerfNumber
255-
{
256-
if (!self.perfTelemetry)
257-
{
258-
self.perfTelemetry = [NSMutableDictionary new];
259-
}
260-
261-
MSIDRequestPerformanceInfo *perfInfo = self.perfTelemetry[type];
262-
263-
if (!perfInfo)
264-
{
265-
perfInfo = [MSIDRequestPerformanceInfo new];
266-
}
267-
268-
if (!perfInfo.totalNumbers)
269-
{
270-
perfInfo.totalNumbers = [NSMutableArray new];
271-
}
272-
273-
if (!perfInfo.ipcRequestNumbers)
274-
{
275-
perfInfo.ipcRequestNumbers = [NSMutableArray new];
276-
}
277-
278-
if (!perfInfo.ipcResponseNumbers)
279-
{
280-
perfInfo.ipcResponseNumbers = [NSMutableArray new];
281-
}
282-
283-
[perfInfo.totalNumbers addObject:@(totalPerfNumber)];
284-
[perfInfo.ipcRequestNumbers addObject:@(ipcRequestPerfNumber)];
285-
[perfInfo.ipcResponseNumbers addObject:@(ipcResponsePerfNumber)];
286-
287-
self.perfTelemetry[type] = perfInfo;
288-
}
289-
290196
#pragma mark - MSIDTelemetryStringSerializable
291197

292198
- (NSString *)telemetryString
@@ -304,14 +210,12 @@ - (NSString *)telemetryString
304210
#define kSchemaVersion @"schemaVersion"
305211
#define kSilentSuccessfulCount @"silentSuccessfulCount"
306212
#define kErrorsInfo @"errorsInfo"
307-
#define kPerfTelemetry @"perfTelemetry"
308213

309214
- (void)encodeWithCoder:(NSCoder *)encoder
310215
{
311216
[encoder encodeInteger:_schemaVersion forKey:kSchemaVersion];
312217
[encoder encodeInteger:_silentSuccessfulCount forKey:kSilentSuccessfulCount];
313218
[encoder encodeObject:_errorsInfo forKey:kErrorsInfo];
314-
[encoder encodeObject:_perfTelemetry forKey:kPerfTelemetry];
315219
}
316220

317221
- (instancetype)initWithCoder:(NSCoder *)decoder
@@ -322,10 +226,7 @@ - (instancetype)initWithCoder:(NSCoder *)decoder
322226
NSSet *classes = [NSSet setWithObjects:[NSMutableArray class], [NSString class], [MSIDRequestTelemetryErrorInfo class], nil];
323227
NSMutableArray<MSIDRequestTelemetryErrorInfo *> *errorsInfo = [decoder decodeObjectOfClasses:classes forKey:kErrorsInfo];
324228

325-
NSSet *perfClasses = [NSSet setWithObjects:[NSMutableDictionary class], [NSString class], [MSIDRequestPerformanceInfo class], nil];
326-
NSDictionary *perfTelemetry = [decoder decodeObjectOfClasses:perfClasses forKey:kPerfTelemetry];
327-
328-
return [self initFromDecodedObjectWithSchemaVersion:schemaVersion silentSuccessfulCount:silentSuccessfulCount errorsInfo:errorsInfo perfTelemetry:perfTelemetry];
229+
return [self initFromDecodedObjectWithSchemaVersion:schemaVersion silentSuccessfulCount:silentSuccessfulCount errorsInfo:errorsInfo];
329230
}
330231

331232
+ (BOOL)supportsSecureCoding
@@ -349,47 +250,9 @@ - (MSIDLastRequestTelemetrySerializedItem *)createSerializedItem
349250
NSMutableArray *platformFields = [NSMutableArray new];
350251
[platformFields addObjectsFromArray:self.platformFields];
351252

352-
NSString *serializedPerfTelemetry = [self serializedPerfTelemetry];
353-
354-
if (![NSString msidIsStringNilOrBlank:serializedPerfTelemetry])
355-
{
356-
[platformFields addObject:[self serializedPerfTelemetry]];
357-
}
358-
359253
return [[MSIDLastRequestTelemetrySerializedItem alloc] initWithSchemaVersion:[NSNumber numberWithInteger:self.schemaVersion] defaultFields:defaultFields errorInfo:self->_errorsInfo platformFields:platformFields];
360254
}
361255

362-
- (NSString *)serializedPerfTelemetry
363-
{
364-
if (![self.perfTelemetry count])
365-
{
366-
return nil;
367-
}
368-
369-
NSString *serializedPerfTelemetry = [NSString stringWithFormat:@"%@;%@;%@;%@;",
370-
[self serializedAverageForType:MSID_PERF_TELEMETRY_SILENT_TYPE],
371-
[self serializedAverageForType:MSID_PERF_TELEMETRY_SIGNOUT_TYPE],
372-
[self serializedAverageForType:MSID_PERF_TELEMETRY_GETACCOUNTS_TYPE],
373-
[self serializedAverageForType:MSID_PERF_TELEMETRY_GETDEVICEINFO_TYPE]];
374-
return serializedPerfTelemetry;
375-
}
376-
377-
- (NSString *)serializedAverageForType:(NSString *)type
378-
{
379-
MSIDRequestPerformanceInfo *perfInfo = self.perfTelemetry[type];
380-
381-
if (!perfInfo)
382-
{
383-
return [NSString stringWithFormat:@"%@:", type];
384-
}
385-
386-
NSNumber *totalAverage = perfInfo.totalNumbers ? [perfInfo.totalNumbers valueForKeyPath:@"@avg.self"] : nil;
387-
NSNumber *ipcRequestAverage = perfInfo.ipcRequestNumbers ? [perfInfo.ipcRequestNumbers valueForKeyPath:@"@avg.self"] : nil;
388-
NSNumber *ipcResponseAverage = perfInfo.ipcResponseNumbers ? [perfInfo.ipcResponseNumbers valueForKeyPath:@"@avg.self"] : nil;
389-
390-
return [NSString stringWithFormat:@"%@:%f:%f:%f", type, [totalAverage doubleValue], [ipcRequestAverage doubleValue], [ipcResponseAverage doubleValue]];
391-
}
392-
393256
#pragma mark - Update object
394257

395258
- (void)addErrorInfo:(MSIDRequestTelemetryErrorInfo *)errorInfo
@@ -421,8 +284,6 @@ - (void)resetTelemetry
421284
{
422285
self->_errorsInfo = nil;
423286
}
424-
425-
self.perfTelemetry = [NSMutableDictionary new];
426287

427288
[self saveTelemetryToDisk];
428289
});
@@ -456,7 +317,9 @@ - (void)saveTelemetryToDisk
456317
}
457318
}
458319

459-
- (instancetype)initFromDecodedObjectWithSchemaVersion:(NSInteger)schemaVersion silentSuccessfulCount:(NSInteger)silentSuccessfulCount errorsInfo:(NSMutableArray<MSIDRequestTelemetryErrorInfo *>*) errorsInfo perfTelemetry:(NSDictionary *)perfTelemetry
320+
- (instancetype)initFromDecodedObjectWithSchemaVersion:(NSInteger)schemaVersion
321+
silentSuccessfulCount:(NSInteger)silentSuccessfulCount
322+
errorsInfo:(NSMutableArray<MSIDRequestTelemetryErrorInfo *>*) errorsInfo
460323
{
461324
self = [super init];
462325
if (self)
@@ -467,7 +330,6 @@ - (instancetype)initFromDecodedObjectWithSchemaVersion:(NSInteger)schemaVersion
467330
_silentSuccessfulCount = silentSuccessfulCount;
468331
_errorsInfo = errorsInfo;
469332
_synchronizationQueue = [self initializeDispatchQueue];
470-
_perfTelemetry = [[NSMutableDictionary alloc] initWithDictionary:perfTelemetry];
471333
_platformFields = [NSMutableArray<NSString *> new];
472334
}
473335
else

0 commit comments

Comments
 (0)