190 lines
4.5 KiB
C
190 lines
4.5 KiB
C
|
|
#if __has_include(<Sentry/Sentry.h>)
|
||
|
|
# import <Sentry/SentryDefines.h>
|
||
|
|
#else
|
||
|
|
# import <SentryWithoutUIKit/SentryDefines.h>
|
||
|
|
#endif
|
||
|
|
|
||
|
|
NS_ASSUME_NONNULL_BEGIN
|
||
|
|
|
||
|
|
/**
|
||
|
|
* The unit of measurement of a metric value.
|
||
|
|
* @discussion Units augment metric values by giving them a magnitude and semantics. There are
|
||
|
|
* certain types of units that are subdivided in their precision, such as the
|
||
|
|
* @c SentryMeasurementUnitDuration for time measurements. The following unit types are available:
|
||
|
|
* @c SentryMeasurementUnitDuration ,
|
||
|
|
* @c SentryMeasurementUnitInformation , and @c SentryMeasurementUnitFraction .
|
||
|
|
* @note When using the units to custom measurements, Sentry will apply formatting to display
|
||
|
|
* measurement values in the UI.
|
||
|
|
*/
|
||
|
|
NS_SWIFT_NAME(MeasurementUnit)
|
||
|
|
@interface SentryMeasurementUnit : NSObject <NSCopying>
|
||
|
|
SENTRY_NO_INIT
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Returns an initialized SentryMeasurementUnit with a custom measurement unit.
|
||
|
|
* @param unit Your own custom unit without built-in conversion in Sentry.
|
||
|
|
*/
|
||
|
|
- (instancetype)initWithUnit:(NSString *)unit;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* The @c NSString representation of the measurement unit.
|
||
|
|
*/
|
||
|
|
@property (readonly, copy) NSString *unit;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Untyped value without a unit.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnit *none;
|
||
|
|
|
||
|
|
@end
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Time duration units.
|
||
|
|
*/
|
||
|
|
NS_SWIFT_NAME(MeasurementUnitDuration)
|
||
|
|
@interface SentryMeasurementUnitDuration : SentryMeasurementUnit
|
||
|
|
SENTRY_NO_INIT
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Nanosecond, 10^-9 seconds.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitDuration *nanosecond;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Microsecond , 10^-6 seconds.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitDuration *microsecond;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Millisecond, 10^-3 seconds.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitDuration *millisecond;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Full second.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitDuration *second;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Minute, 60 seconds.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitDuration *minute;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Hour, 3600 seconds.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitDuration *hour;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Day, 86,400 seconds.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitDuration *day;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Week, 604,800 seconds.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitDuration *week;
|
||
|
|
|
||
|
|
@end
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Size of information units derived from bytes.
|
||
|
|
* @see https://en.wikipedia.org/wiki/Units_of_information
|
||
|
|
*/
|
||
|
|
NS_SWIFT_NAME(MeasurementUnitInformation)
|
||
|
|
@interface SentryMeasurementUnitInformation : SentryMeasurementUnit
|
||
|
|
SENTRY_NO_INIT
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Bit, corresponding to 1/8 of a byte
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *bit;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Byte.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *byte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Kilobyte, 10^3 bytes
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *kilobyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Kibibyte, 2^10 bytes.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *kibibyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Megabyte, 10^6 bytes
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *megabyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Mebibyte, 2^20 bytes.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *mebibyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Gigabyte, 10^9 bytes
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *gigabyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Gibibyte, 2^30 bytes.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *gibibyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Terabyte, 10^12 bytes
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *terabyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Tebibyte, 2^40 bytes.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *tebibyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Petabyte, 10^15 bytes
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *petabyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Pebibyte, 2^50 bytes.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *pebibyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Exabyte, 10^18 bytes
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *exabyte;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Exbibyte, 2^60 bytes.
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitInformation *exbibyte;
|
||
|
|
|
||
|
|
@end
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Units of fraction.
|
||
|
|
*/
|
||
|
|
NS_SWIFT_NAME(MeasurementUnitFraction) @interface SentryMeasurementUnitFraction
|
||
|
|
: SentryMeasurementUnit
|
||
|
|
SENTRY_NO_INIT
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Floating point fraction of @c 1 . g
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitFraction *ratio;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Ratio expressed as a fraction of @c 100 @c 100% equals a ratio of @c 1.0
|
||
|
|
*/
|
||
|
|
@property (class, readonly, copy) SentryMeasurementUnitFraction *percent;
|
||
|
|
|
||
|
|
@end
|
||
|
|
|
||
|
|
NS_ASSUME_NONNULL_END
|