Skip to content

MetricKit tvOS xcode13.0 beta1

Manuel de la Pena edited this page Aug 2, 2021 · 3 revisions

#MetricKit.framework https://github.com/xamarin/xamarin-macios/pull/12326

diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXAverage.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXAverage.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXAverage.h	2021-03-16 13:56:14.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXAverage.h	2021-06-02 05:35:06.000000000 -0400
@@ -14,7 +14,7 @@
  @class         MXAverage
  @abstract      A class representing metric data that is averaged.
  */
-API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(13.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXAverage<UnitType: NSUnit *> : NSObject <NSSecureCoding>
 
 /*!
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCPUExceptionDiagnostic.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCPUExceptionDiagnostic.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCPUExceptionDiagnostic.h	2021-03-16 13:56:15.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCPUExceptionDiagnostic.h	2021-06-02 05:35:07.000000000 -0400
@@ -18,7 +18,7 @@
 @discussion    CPU exceptions occur when your application consumes excessive CPU time in a short period of time.
 @discussion    CPU exceptions can be both fatal and non-fatal to your application.
 */
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXCPUExceptionDiagnostic : MXDiagnostic
 
 
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCallStackTree.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCallStackTree.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCallStackTree.h	2021-03-16 13:56:13.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCallStackTree.h	2021-06-02 05:35:05.000000000 -0400
@@ -15,7 +15,7 @@
 @abstract      A data class that encapsulates call stack trees vended by MetricKit.
 @discussion    You should use the JSONRepresentation API to generate human readable call stack trees for symbolication off device.
 */
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXCallStackTree : NSObject <NSSecureCoding>
 
 /*!
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCrashDiagnostic.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCrashDiagnostic.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCrashDiagnostic.h	2021-03-16 13:56:13.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXCrashDiagnostic.h	2021-06-02 05:35:05.000000000 -0400
@@ -17,7 +17,7 @@
 @abstract      An MXDiagnostic subclass that encapsulates crash reports.
 @discussion    See "Analyzing a Crash Report" for more information on crash diagnostics.
 */
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXCrashDiagnostic : MXDiagnostic
 
 
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiagnostic.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiagnostic.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiagnostic.h	2021-03-16 13:56:14.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiagnostic.h	2021-06-02 05:35:05.000000000 -0400
@@ -16,7 +16,7 @@
 @abstract      An abstract class that describes a diagnostic report vended by MetricKit.
 @discussion    All supported diagnostics are subclasses of MXDiagnostic.
 */
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXDiagnostic : NSObject <NSSecureCoding>
 
 @property (readonly, strong, nonnull) MXMetaData* metaData;
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiagnosticPayload.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiagnosticPayload.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiagnosticPayload.h	2021-03-16 13:56:14.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiagnosticPayload.h	2021-06-02 05:35:06.000000000 -0400
@@ -25,7 +25,7 @@
  @discussion    An MXDiagnosticPayload contains diagnostics that cover a 24 hour period of application usage. The properties timeStampBegin and timeStampEnd should be used to determine which time range the payload covers.
  @discussion    It is possible for an MXDiagnosticPayload to cover regions of time where an application was updated, and thus each MXDiagnostic subclass will contain its own application version string. This is in contrast to MXMetricPayload, where only the latest application version string is included as metadata of the payload. Each MXDiagnostic subclass application version string should be inspected prior to processing.
  */
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXDiagnosticPayload : NSObject <NSSecureCoding>
 
 /*!
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiskWriteExceptionDiagnostic.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiskWriteExceptionDiagnostic.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiskWriteExceptionDiagnostic.h	2021-03-16 13:56:13.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXDiskWriteExceptionDiagnostic.h	2021-06-02 05:35:05.000000000 -0400
@@ -17,7 +17,7 @@
 @abstract      An MXDiagnostic subclass that encapsulates disk write exception reports.
 @discussion    Disk write exceptions occur when your application writes data excessively to disk.
 */
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXDiskWriteExceptionDiagnostic : MXDiagnostic
 
 /*!
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXHangDiagnostic.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXHangDiagnostic.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXHangDiagnostic.h	2021-03-16 13:56:14.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXHangDiagnostic.h	2021-06-02 05:35:06.000000000 -0400
@@ -18,7 +18,7 @@
 @discussion    Applications are considered to be "hanging" when they are unable to handle user input responsively.
 @discussion    This generally occurs when your applications main thread is blocked.
 */
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXHangDiagnostic : MXDiagnostic
 
 /*!
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXHistogram.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXHistogram.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXHistogram.h	2021-03-16 13:56:15.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXHistogram.h	2021-06-02 05:35:06.000000000 -0400
@@ -16,7 +16,7 @@
  @discussion    Histogram buckets are sorted in ascending order.
  @discussion    Histogram bucket start and end values are exclusive.
  */
-API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(13.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXHistogramBucket<UnitType: NSUnit *> : NSObject <NSSecureCoding>
 
 /*!
@@ -43,7 +43,7 @@
  @class         MXHistogram
  @abstract      A class representing bucketized histogram data.
  */
-API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(13.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXHistogram<UnitType: NSUnit *>  : NSObject <NSSecureCoding>
 
 /*!
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXMetaData.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXMetaData.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXMetaData.h	2021-03-16 13:56:13.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXMetaData.h	2021-06-02 05:35:05.000000000 -0400
@@ -14,7 +14,7 @@
  @class         MXMetaData
  @abstract      A class that contains miscellaneous metadata about an associated payload.
  */
-API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(13.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXMetaData : NSObject <NSSecureCoding>
 
 /*!
@@ -45,7 +45,7 @@
  @property      platformArchitecture
  @abstract      An NSString designating the current architecture.
  */
-@property (readonly, strong, nonnull) NSString *platformArchitecture API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos);
+@property (readonly, strong, nonnull) NSString *platformArchitecture API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos);
 
 
 /*!
@@ -67,7 +67,7 @@
 @abstract      Convenience method to return a NSDictionary representation of this metadata.
 @result        An NSDictionary object containing the dictionary representation
 */
-- (NSDictionary *)dictionaryRepresentation API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos) NS_REFINED_FOR_SWIFT;
+- (NSDictionary *)dictionaryRepresentation API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos) NS_REFINED_FOR_SWIFT;
 
 @end
 
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXMetricManager.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXMetricManager.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXMetricManager.h	2021-03-16 13:56:14.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXMetricManager.h	2021-06-02 11:06:14.000000000 -0400
@@ -22,20 +22,20 @@
  @discussion    Metrics are not guaranteed to be delivered, but can be expected atleast once per day when conditions permit.
  @discussion    Subscribers to the metric manager can remove themselves using removeSubscriber:subscriber if they no longer wish to receive metrics.
  */
-API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(13.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @interface MXMetricManager : NSObject
 
 /*!
  @property      pastPayloads
  @abstract      A list of past metric payloads received.
  */
-@property (readonly, nonnull, strong) NSArray<MXMetricPayload *> *pastPayloads;
+@property (readonly, nonnull, strong) NSArray<MXMetricPayload *> *pastPayloads API_UNAVAILABLE(macos);
 
 /*!
  @property      pastDiagnosticPayloads
  @abstract      A list of past diagnostic payloads received.
  */
-@property (readonly, nonnull, strong) NSArray<MXDiagnosticPayload *> *pastDiagnosticPayloads API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos);
+@property (readonly, nonnull, strong) NSArray<MXDiagnosticPayload *> *pastDiagnosticPayloads API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos);
 
 /*!
  @property      sharedManager
@@ -76,10 +76,10 @@
  @discussion    In order to receive metric payloads, atleast one object must conform to this protocol and be subscribed   to the metric manager.
  @discussion    Objects which conform to this protocol can be passed to addSubscriber:subscriber and removeSubscriber:subscriber to manage their subscription state.
  */
-API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(13.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos)
 @protocol MXMetricManagerSubscriber <NSObject>
 
-@required
+@optional
 
 /*!
  @method        didReceiveMetricPayloads:payloads
@@ -91,9 +91,7 @@
  @discussion    Atleast one subscriber must be available to receive metrics.
  @discussion    This method is invoked on a background queue.
  */
-- (void)didReceiveMetricPayloads:(NSArray<MXMetricPayload *> * _Nonnull)payloads;
-
-@optional
+- (void)didReceiveMetricPayloads:(NSArray<MXMetricPayload *> * _Nonnull)payloads API_UNAVAILABLE(macos);
 
 /*!
  @method        didReceiveDiagnosticPayloads:payloads
@@ -105,7 +103,7 @@
  @discussion    Atleast one subscriber must be available to receive diagnostics.
  @discussion    This method is invoked on a background queue.
  */
-- (void)didReceiveDiagnosticPayloads:(NSArray<MXDiagnosticPayload *> * _Nonnull)payloads API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, tvos, watchos);
+- (void)didReceiveDiagnosticPayloads:(NSArray<MXDiagnosticPayload *> * _Nonnull)payloads API_AVAILABLE(ios(14.0), macos(12.0)) API_UNAVAILABLE(tvos, watchos);
 
 @end
 
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpost.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpost.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpost.h	2021-03-16 13:53:25.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpost.h	2021-06-01 20:48:50.000000000 -0400
@@ -85,6 +85,34 @@
  * See @c <os/signpost.h> for more detailed discussion.
  */
 #define MXSignpostIntervalBegin(log, event_id, name, ...) _MXSignpostIntervalBegin_guaranteed_args(log, event_id, name, "" __VA_ARGS__)
+
+/*!
+ * @function MXSignpostAnimationIntervalBegin
+ *
+ * @abstract
+ * Begins an os_signpost animation interval with @c os_signpost_animation_interval_begin() and
+ * includes a snapshot of performance metrics of the emitting process.
+ *
+ *
+ * Please refer to @c <os/signpost.h> for more detailed discussion of the
+ * required parameters.
+ *
+ * @param log
+ * Log handle previously created with os_log_create.
+ *
+ * @param interval_id
+ * An ID for the interval. See @c <os/signpost.h> for more detailed discussion.
+ *
+ * @param name
+ * The name of this event. This must be a string literal.
+ *
+ * @param ... (format + arguments)
+ * Additional information to include with this signpost.  This format string
+ * must be a string literal, as with the os_log family of functions.
+ * See @c <os/signpost.h> for more detailed discussion.
+ */
+#define MXSignpostAnimationIntervalBegin(log, event_id, name, ...) _MXSignpostAnimationIntervalBegin_guaranteed_args(log, event_id, name, "" __VA_ARGS__)
+
 /*!
  * @function MXSignpostIntervalEnd
  *
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpostMetric.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpostMetric.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpostMetric.h	2021-03-16 13:56:15.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpostMetric.h	2021-06-02 05:35:07.000000000 -0400
@@ -18,7 +18,7 @@
 /*!
  @class         MXSignpostIntervalData
  @abstract      A class that encapsulates metrics associated with app specific signpost intervals.
- @discussion    These metrics will be collected and aggregated if the associated signposts were emit using the appropriate API.
+ @discussion    These metrics will be collected and aggregated if the associated signposts were emit using MXSignpost or MXSignpostAnimation APIs
  @discussion    To limit on-device overhead, the system will automatically limit the number of signposts (emitted using the MetricKit log handle) processed.
  @discussion    Avoid losing telemetry by limiting usage of signposts (emitted using the MetricKit log handle) to critical sections of code.
  */
@@ -52,6 +52,13 @@
  */
 @property (readonly, strong, nullable)  NSMeasurement<NSUnitInformationStorage *> *cumulativeLogicalWrites;
 
+/*!
+ @property      cumulativeHitchTimeRatio
+ @abstract      Cumulative hitch time ratio aggregated over the MXSignpostAnimation intervals.
+ @discussion    This property is null when signposts with the associated signpostName and signpostCategory contain no interval metric data.
+ */
+@property (readonly, strong, nullable) NSMeasurement<NSUnit *> *cumulativeHitchTimeRatio API_AVAILABLE(ios(15.0)) API_UNAVAILABLE(macos, tvos, watchos);
+
 @end
 
 /*!
diff -ruN /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpost_Private.h /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpost_Private.h
--- /Applications/Xcode_12.5.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpost_Private.h	2021-03-16 13:56:14.000000000 -0400
+++ /Applications/Xcode_13.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MetricKit.framework/Headers/MXSignpost_Private.h	2021-06-02 05:35:06.000000000 -0400
@@ -24,6 +24,7 @@
 
 #define _MXSignpostEventEmit_guaranteed_args(log, event_id, name, format,...)
 #define _MXSignpostIntervalBegin_guaranteed_args(log, event_id, name, format,...)
+#define _MXSignpostAnimationIntervalBegin_guaranteed_args(log, event_id, name, format,...)
 #define _MXSignpostIntervalEnd_guaranteed_args(log, event_id, name, format,...)
 
 #else
@@ -35,6 +36,7 @@
 
 #define _MXSignpostEventEmit_guaranteed_args(log, event_id, name, format,...) os_signpost_event_emit(log, event_id, name, format _MXSIGNPOST_METRICS_SNAPSHOT_FORMAT, ##__VA_ARGS__, _MXSignpostMetricsSnapshot())
 #define _MXSignpostIntervalBegin_guaranteed_args(log, event_id, name, format,...) os_signpost_interval_begin(log, event_id, name, format _MXSIGNPOST_METRICS_SNAPSHOT_FORMAT, ##__VA_ARGS__, _MXSignpostMetricsSnapshot())
+#define _MXSignpostAnimationIntervalBegin_guaranteed_args(log, event_id, name, format,...) os_signpost_interval_begin(log, event_id, name, format "isAnimation=YES" _MXSIGNPOST_METRICS_SNAPSHOT_FORMAT, ##__VA_ARGS__, _MXSignpostMetricsSnapshot())
 #define _MXSignpostIntervalEnd_guaranteed_args(log, event_id, name, format,...) os_signpost_interval_end(log, event_id, name, format _MXSIGNPOST_METRICS_SNAPSHOT_FORMAT, ##__VA_ARGS__, _MXSignpostMetricsSnapshot())
 #endif
 
Clone this wiki locally