67 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
#if __has_include(<Sentry/PrivatesHeader.h>)
 | 
						|
#    import <Sentry/PrivatesHeader.h>
 | 
						|
#else
 | 
						|
#    import "PrivatesHeader.h"
 | 
						|
#endif
 | 
						|
 | 
						|
#if SENTRY_UIKIT_AVAILABLE
 | 
						|
 | 
						|
NS_ASSUME_NONNULL_BEGIN
 | 
						|
 | 
						|
/** An array of dictionaries that each contain a start and end timestamp for a rendered frame. */
 | 
						|
#    if SENTRY_TARGET_PROFILING_SUPPORTED
 | 
						|
typedef NSArray<NSDictionary<NSString *, NSNumber *> *> SentryFrameInfoTimeSeries;
 | 
						|
#    endif // SENTRY_TARGET_PROFILING_SUPPORTED
 | 
						|
 | 
						|
/**
 | 
						|
 * @warning This feature is not available in @c DebugWithoutUIKit and @c ReleaseWithoutUIKit
 | 
						|
 * configurations even when targeting iOS or tvOS platforms.
 | 
						|
 */
 | 
						|
@interface SentryScreenFrames : NSObject
 | 
						|
#    if SENTRY_TARGET_PROFILING_SUPPORTED
 | 
						|
                                <NSCopying>
 | 
						|
#    endif // SENTRY_TARGET_PROFILING_SUPPORTED
 | 
						|
SENTRY_NO_INIT
 | 
						|
 | 
						|
- (instancetype)initWithTotal:(NSUInteger)total frozen:(NSUInteger)frozen slow:(NSUInteger)slow;
 | 
						|
 | 
						|
#    if SENTRY_TARGET_PROFILING_SUPPORTED
 | 
						|
- (instancetype)initWithTotal:(NSUInteger)total
 | 
						|
                       frozen:(NSUInteger)frozen
 | 
						|
                         slow:(NSUInteger)slow
 | 
						|
          slowFrameTimestamps:(SentryFrameInfoTimeSeries *)slowFrameTimestamps
 | 
						|
        frozenFrameTimestamps:(SentryFrameInfoTimeSeries *)frozenFrameTimestamps
 | 
						|
          frameRateTimestamps:(SentryFrameInfoTimeSeries *)frameRateTimestamps;
 | 
						|
#    endif // SENTRY_TARGET_PROFILING_SUPPORTED
 | 
						|
 | 
						|
@property (nonatomic, assign, readonly) NSUInteger total;
 | 
						|
@property (nonatomic, assign, readonly) NSUInteger frozen;
 | 
						|
@property (nonatomic, assign, readonly) NSUInteger slow;
 | 
						|
 | 
						|
#    if SENTRY_TARGET_PROFILING_SUPPORTED
 | 
						|
/**
 | 
						|
 * Array of dictionaries describing slow frames' timestamps. Each dictionary has a start and end
 | 
						|
 * timestamp for every such frame, keyed under @c start_timestamp and @c end_timestamp.
 | 
						|
 */
 | 
						|
@property (nonatomic, copy, readonly) SentryFrameInfoTimeSeries *slowFrameTimestamps;
 | 
						|
 | 
						|
/**
 | 
						|
 * Array of dictionaries describing frozen frames' timestamps. Each dictionary has a start and end
 | 
						|
 * timestamp for every such frame, keyed under @c start_timestamp and @c end_timestamp.
 | 
						|
 */
 | 
						|
@property (nonatomic, copy, readonly) SentryFrameInfoTimeSeries *frozenFrameTimestamps;
 | 
						|
 | 
						|
/**
 | 
						|
 * Array of dictionaries describing the screen refresh rate at all points in time that it changes,
 | 
						|
 * which can happen when modern devices e.g. go into low power mode. Each dictionary contains keys
 | 
						|
 * @c timestamp and @c frame_rate.
 | 
						|
 */
 | 
						|
@property (nonatomic, copy, readonly) SentryFrameInfoTimeSeries *frameRateTimestamps;
 | 
						|
#    endif // SENTRY_TARGET_PROFILING_SUPPORTED
 | 
						|
 | 
						|
@end
 | 
						|
 | 
						|
NS_ASSUME_NONNULL_END
 | 
						|
 | 
						|
#endif // SENTRY_UIKIT_AVAILABLE
 |