2 // CKKSLaunchSequence.h
4 // Takes a sequence of events and report their time relative from the starting point
5 // Duplicate events are counted.
9 #import <Foundation/Foundation.h>
11 NS_ASSUME_NONNULL_BEGIN
13 @interface CKKSLaunchSequence
: NSObject
14 @
property (readonly
) bool launched
;
15 @
property (assign
) bool firstLaunch
;
17 - (instancetype
)init NS_UNAVAILABLE
;
19 // name should be dns reverse notation, com.apple.label
20 - (instancetype
)initWithRocketName
:(NSString
*)name
;
22 // value must be a valid JSON compatible type
23 - (void)addAttribute
:(NSString
*)key value
:(id
)value
;
24 - (void)addEvent
:(NSString
*)eventname
;
28 - (void)addDependantLaunch
:(NSString
*)name child
:(CKKSLaunchSequence
*)child
;
30 // For including in human readable diagnostics
31 - (NSArray
<NSString
*> *)eventsByTime
;