Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename the watchdog option and integration #2513

Merged
merged 2 commits into from
Dec 12, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ This version adds a dependency on Swift.
- Rename `SentryOptions.enableCoreDataTracking` to `enableCoreDataTracing`
- SentrySDK.close calls flush, which is a blocking call (#2453)
- Bump minimum Xcode version to 13 (#2483)
- Rename `SentryOptions.enableOutOfMemoryTracking` to `SentryOptions.enableWatchdogTerminationsTracking` (#2499)
- Rename `SentryOptions.enableOutOfMemoryTracking` to `SentryOptions.enableWatchdogTerminationTracking` (#2499)

## 8.0.0-beta.4

Expand Down
64 changes: 32 additions & 32 deletions Sentry.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions Sources/Sentry/Public/SentryOptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,9 @@ NS_SWIFT_NAME(Options)
@property (nonatomic, assign) BOOL enableAutoSessionTracking;

/**
* Whether to enable Watchdog Terminations tracking or not. Default is YES.
* Whether to enable Watchdog Termination tracking or not. Default is YES.
*/
@property (nonatomic, assign) BOOL enableWatchdogTerminationsTracking;
@property (nonatomic, assign) BOOL enableWatchdogTerminationTracking;

/**
* The interval to end a session if the App goes to the background.
Expand Down
6 changes: 3 additions & 3 deletions Sources/Sentry/SentryBaseIntegration.m
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ - (BOOL)shouldBeEnabledWithOptions:(SentryOptions *)options
return NO;
}

if ((integrationOptions & kIntegrationOptionEnableWatchdogTerminationsTracking)
&& !options.enableWatchdogTerminationsTracking) {
[self logWithOptionName:@"enableWatchdogTerminationsTracking"];
if ((integrationOptions & kIntegrationOptionEnableWatchdogTerminationTracking)
&& !options.enableWatchdogTerminationTracking) {
[self logWithOptionName:@"enableWatchdogTerminationTracking"];
return NO;
}

Expand Down
2 changes: 1 addition & 1 deletion Sources/Sentry/SentryClient.m
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
#import "SentryUIDeviceWrapper.h"
#import "SentryUser.h"
#import "SentryUserFeedback.h"
#import "SentryWatchdogTerminationsTracker.h"
#import "SentryWatchdogTerminationTracker.h"

#if SENTRY_HAS_UIKIT
# import <UIKit/UIKit.h>
Expand Down
12 changes: 6 additions & 6 deletions Sources/Sentry/SentryCrashIntegration.m
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#import "SentrySDK+Private.h"
#import "SentryScope+Private.h"
#import "SentrySessionCrashedHandler.h"
#import "SentryWatchdogTerminationsLogic.h"
#import "SentryWatchdogTerminationLogic.h"
#import <SentryAppStateManager.h>
#import <SentryClient+Private.h>
#import <SentryCrashScopeObserver.h>
Expand Down Expand Up @@ -70,13 +70,13 @@ - (BOOL)installWithOptions:(nonnull SentryOptions *)options

SentryAppStateManager *appStateManager =
[SentryDependencyContainer sharedInstance].appStateManager;
SentryWatchdogTerminationsLogic *logic =
[[SentryWatchdogTerminationsLogic alloc] initWithOptions:options
crashAdapter:self.crashAdapter
appStateManager:appStateManager];
SentryWatchdogTerminationLogic *logic =
[[SentryWatchdogTerminationLogic alloc] initWithOptions:options
crashAdapter:self.crashAdapter
appStateManager:appStateManager];
self.crashedSessionHandler =
[[SentrySessionCrashedHandler alloc] initWithCrashWrapper:self.crashAdapter
watchdogTerminationsLogic:logic];
watchdogTerminationLogic:logic];

self.scopeObserver =
[[SentryCrashScopeObserver alloc] initWithMaxBreadcrumbs:options.maxBreadcrumbs];
Expand Down
4 changes: 2 additions & 2 deletions Sources/Sentry/SentryOptions.m
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ - (void)setMeasurement:(SentryMeasurementValue *)measurement
#endif
@"SentryFramesTrackingIntegration", @"SentryAutoBreadcrumbTrackingIntegration",
@"SentryAutoSessionTrackingIntegration", @"SentryAppStartTrackingIntegration",
@"SentryWatchdogTerminationsTrackingIntegration",
@"SentryWatchdogTerminationTrackingIntegration",
@"SentryPerformanceTrackingIntegration", @"SentryNetworkTrackingIntegration",
@"SentryFileIOTrackingIntegration", @"SentryCoreDataTrackingIntegration"
]
Expand All @@ -65,7 +65,7 @@ - (instancetype)init
_defaultSampleRate = @1;
self.sampleRate = _defaultSampleRate;
self.enableAutoSessionTracking = YES;
self.enableWatchdogTerminationsTracking = YES;
self.enableWatchdogTerminationTracking = YES;
self.sessionTrackingIntervalMillis = [@30000 unsignedIntValue];
self.attachStacktrace = YES;
self.stitchAsyncCode = NO;
Expand Down
10 changes: 5 additions & 5 deletions Sources/Sentry/SentrySessionCrashedHandler.m
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,32 @@
#import "SentryFileManager.h"
#import "SentryHub.h"
#import "SentrySDK+Private.h"
#import "SentryWatchdogTerminationsLogic.h"
#import "SentryWatchdogTerminationLogic.h"

@interface
SentrySessionCrashedHandler ()

@property (nonatomic, strong) SentryCrashWrapper *crashWrapper;
@property (nonatomic, strong) SentryWatchdogTerminationsLogic *watchdogTerminationsLogic;
@property (nonatomic, strong) SentryWatchdogTerminationLogic *watchdogTerminationLogic;

@end

@implementation SentrySessionCrashedHandler

- (instancetype)initWithCrashWrapper:(SentryCrashWrapper *)crashWrapper
watchdogTerminationsLogic:(SentryWatchdogTerminationsLogic *)watchdogTerminationsLogic;
watchdogTerminationLogic:(SentryWatchdogTerminationLogic *)watchdogTerminationLogic;
{
self = [self init];
self.crashWrapper = crashWrapper;
self.watchdogTerminationsLogic = watchdogTerminationsLogic;
self.watchdogTerminationLogic = watchdogTerminationLogic;

return self;
}

- (void)endCurrentSessionAsCrashedWhenCrashOrOOM
{
if (self.crashWrapper.crashedLastLaunch ||
[self.watchdogTerminationsLogic isWatchdogTermination]) {
[self.watchdogTerminationLogic isWatchdogTermination]) {
SentryFileManager *fileManager = [[[SentrySDK currentHub] getClient] fileManager];

if (nil == fileManager) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,22 @@
#import <SentryCrashWrapper.h>
#import <SentryOptions.h>
#import <SentrySDK+Private.h>
#import <SentryWatchdogTerminationsLogic.h>
#import <SentryWatchdogTerminationLogic.h>

#if SENTRY_HAS_UIKIT
# import <UIKit/UIKit.h>
#endif

@interface
SentryWatchdogTerminationsLogic ()
SentryWatchdogTerminationLogic ()

@property (nonatomic, strong) SentryOptions *options;
@property (nonatomic, strong) SentryCrashWrapper *crashAdapter;
@property (nonatomic, strong) SentryAppStateManager *appStateManager;

@end

@implementation SentryWatchdogTerminationsLogic
@implementation SentryWatchdogTerminationLogic

- (instancetype)initWithOptions:(SentryOptions *)options
crashAdapter:(SentryCrashWrapper *)crashAdapter
Expand All @@ -35,7 +35,7 @@ - (instancetype)initWithOptions:(SentryOptions *)options

- (BOOL)isWatchdogTermination
{
if (!self.options.enableWatchdogTerminationsTracking) {
if (!self.options.enableWatchdogTerminationTracking) {
return NO;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#import "SentryWatchdogTerminationsScopeObserver.h"
#import "SentryWatchdogTerminationScopeObserver.h"
#import <SentryBreadcrumb.h>
#import <SentryFileManager.h>
#import <SentryLog.h>

@interface
SentryWatchdogTerminationsScopeObserver ()
SentryWatchdogTerminationScopeObserver ()

@property (strong, nonatomic) SentryFileManager *fileManager;
@property (strong, nonatomic) NSFileHandle *fileHandle;
Expand All @@ -14,7 +14,7 @@

@end

@implementation SentryWatchdogTerminationsScopeObserver
@implementation SentryWatchdogTerminationScopeObserver

- (instancetype)initWithMaxBreadcrumbs:(NSInteger)maxBreadcrumbs
fileManager:(SentryFileManager *)fileManager
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,35 +13,35 @@
#import <SentryMessage.h>
#import <SentryOptions.h>
#import <SentrySDK+Private.h>
#import <SentryWatchdogTerminationsLogic.h>
#import <SentryWatchdogTerminationsTracker.h>
#import <SentryWatchdogTerminationLogic.h>
#import <SentryWatchdogTerminationTracker.h>

#if SENTRY_HAS_UIKIT
# import <UIKit/UIKit.h>
#endif

@interface
SentryWatchdogTerminationsTracker ()
SentryWatchdogTerminationTracker ()

@property (nonatomic, strong) SentryOptions *options;
@property (nonatomic, strong) SentryWatchdogTerminationsLogic *watchdogTerminationsLogic;
@property (nonatomic, strong) SentryWatchdogTerminationLogic *watchdogTerminationLogic;
@property (nonatomic, strong) SentryDispatchQueueWrapper *dispatchQueue;
@property (nonatomic, strong) SentryAppStateManager *appStateManager;
@property (nonatomic, strong) SentryFileManager *fileManager;

@end

@implementation SentryWatchdogTerminationsTracker
@implementation SentryWatchdogTerminationTracker

- (instancetype)initWithOptions:(SentryOptions *)options
watchdogTerminationsLogic:(SentryWatchdogTerminationsLogic *)watchdogTerminationsLogic
watchdogTerminationLogic:(SentryWatchdogTerminationLogic *)watchdogTerminationLogic
appStateManager:(SentryAppStateManager *)appStateManager
dispatchQueueWrapper:(SentryDispatchQueueWrapper *)dispatchQueueWrapper
fileManager:(SentryFileManager *)fileManager
{
if (self = [super init]) {
self.options = options;
self.watchdogTerminationsLogic = watchdogTerminationsLogic;
self.watchdogTerminationLogic = watchdogTerminationLogic;
self.appStateManager = appStateManager;
self.dispatchQueue = dispatchQueueWrapper;
self.fileManager = fileManager;
Expand All @@ -55,7 +55,7 @@ - (void)start
[self.appStateManager start];

[self.dispatchQueue dispatchAsyncWithBlock:^{
if ([self.watchdogTerminationsLogic isWatchdogTermination]) {
if ([self.watchdogTerminationLogic isWatchdogTermination]) {
SentryEvent *event = [[SentryEvent alloc] initWithLevel:kSentryLevelFatal];
// Set to empty list so no breadcrumbs of the current scope are added
event.breadcrumbs = @[];
Expand Down Expand Up @@ -91,7 +91,7 @@ - (void)start
}];
#else
SENTRY_LOG_INFO(
@"NO UIKit -> SentryWatchdogTerminationsTracker will not track Watchdog Terminations.");
@"NO UIKit -> SentryWatchdogTerminationTracker will not track Watchdog Terminations.");
return;
#endif
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,24 @@
#import <SentryHub.h>
#import <SentryOptions+Private.h>
#import <SentrySDK+Private.h>
#import <SentryWatchdogTerminationsLogic.h>
#import <SentryWatchdogTerminationsScopeObserver.h>
#import <SentryWatchdogTerminationsTracker.h>
#import <SentryWatchdogTerminationsTrackingIntegration.h>
#import <SentryWatchdogTerminationLogic.h>
#import <SentryWatchdogTerminationScopeObserver.h>
#import <SentryWatchdogTerminationTracker.h>
#import <SentryWatchdogTerminationTrackingIntegration.h>

NS_ASSUME_NONNULL_BEGIN

@interface
SentryWatchdogTerminationsTrackingIntegration ()
SentryWatchdogTerminationTrackingIntegration ()

@property (nonatomic, strong) SentryWatchdogTerminationsTracker *tracker;
@property (nonatomic, strong) SentryWatchdogTerminationTracker *tracker;
@property (nonatomic, strong) SentryANRTracker *anrTracker;
@property (nullable, nonatomic, copy) NSString *testConfigurationFilePath;
@property (nonatomic, strong) SentryAppStateManager *appStateManager;

@end

@implementation SentryWatchdogTerminationsTrackingIntegration
@implementation SentryWatchdogTerminationTrackingIntegration

- (instancetype)init
{
Expand Down Expand Up @@ -57,16 +57,16 @@ - (BOOL)installWithOptions:(SentryOptions *)options
SentryAppStateManager *appStateManager =
[SentryDependencyContainer sharedInstance].appStateManager;
SentryCrashWrapper *crashWrapper = [SentryDependencyContainer sharedInstance].crashWrapper;
SentryWatchdogTerminationsLogic *logic =
[[SentryWatchdogTerminationsLogic alloc] initWithOptions:options
crashAdapter:crashWrapper
appStateManager:appStateManager];
SentryWatchdogTerminationLogic *logic =
[[SentryWatchdogTerminationLogic alloc] initWithOptions:options
crashAdapter:crashWrapper
appStateManager:appStateManager];

self.tracker = [[SentryWatchdogTerminationsTracker alloc] initWithOptions:options
watchdogTerminationsLogic:logic
appStateManager:appStateManager
dispatchQueueWrapper:dispatchQueueWrapper
fileManager:fileManager];
self.tracker = [[SentryWatchdogTerminationTracker alloc] initWithOptions:options
watchdogTerminationLogic:logic
appStateManager:appStateManager
dispatchQueueWrapper:dispatchQueueWrapper
fileManager:fileManager];

[self.tracker start];

Expand All @@ -76,8 +76,8 @@ - (BOOL)installWithOptions:(SentryOptions *)options

self.appStateManager = appStateManager;

SentryWatchdogTerminationsScopeObserver *scopeObserver =
[[SentryWatchdogTerminationsScopeObserver alloc]
SentryWatchdogTerminationScopeObserver *scopeObserver =
[[SentryWatchdogTerminationScopeObserver alloc]
initWithMaxBreadcrumbs:options.maxBreadcrumbs
fileManager:[[[SentrySDK currentHub] getClient] fileManager]];

Expand All @@ -89,7 +89,7 @@ - (BOOL)installWithOptions:(SentryOptions *)options

- (SentryIntegrationOption)integrationOptions
{
return kIntegrationOptionEnableWatchdogTerminationsTracking;
return kIntegrationOptionEnableWatchdogTerminationTracking;
}

- (void)uninstall
Expand Down
2 changes: 1 addition & 1 deletion Sources/Sentry/include/SentryBaseIntegration.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ NS_ASSUME_NONNULL_BEGIN
typedef NS_OPTIONS(NSUInteger, SentryIntegrationOption) {
kIntegrationOptionNone = 0,
kIntegrationOptionEnableAutoSessionTracking = 1 << 0,
kIntegrationOptionEnableWatchdogTerminationsTracking = 1 << 1,
kIntegrationOptionEnableWatchdogTerminationTracking = 1 << 1,
kIntegrationOptionEnableAutoPerformanceTracing = 1 << 2,
kIntegrationOptionEnableUIViewControllerTracing = 1 << 3,
kIntegrationOptionAttachScreenshot = 1 << 4,
Expand Down
4 changes: 2 additions & 2 deletions Sources/Sentry/include/SentrySessionCrashedHandler.h
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
#import <Foundation/Foundation.h>

@class SentryCrashWrapper, SentryDispatchQueueWrapper, SentryWatchdogTerminationsLogic;
@class SentryCrashWrapper, SentryDispatchQueueWrapper, SentryWatchdogTerminationLogic;

@interface SentrySessionCrashedHandler : NSObject

- (instancetype)initWithCrashWrapper:(SentryCrashWrapper *)crashWrapper
watchdogTerminationsLogic:(SentryWatchdogTerminationsLogic *)watchdogTerminationsLogic;
watchdogTerminationLogic:(SentryWatchdogTerminationLogic *)watchdogTerminationLogic;

/**
* When a crash happened the current session is ended as crashed, stored at a different
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

NS_ASSUME_NONNULL_BEGIN

@interface SentryWatchdogTerminationsLogic : NSObject
@interface SentryWatchdogTerminationLogic : NSObject
SENTRY_NO_INIT

- (instancetype)initWithOptions:(SentryOptions *)options
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@

NS_ASSUME_NONNULL_BEGIN

/// This scope observer is used by the Watchdog Terminations integration to write breadcrumbs to
/// This scope observer is used by the Watchdog Termination integration to write breadcrumbs to
/// disk. The overhead is ~0.015 seconds for 1000 breadcrumbs.
@interface SentryWatchdogTerminationsScopeObserver : NSObject <SentryScopeObserver>
@interface SentryWatchdogTerminationScopeObserver : NSObject <SentryScopeObserver>
SENTRY_NO_INIT

- (instancetype)initWithMaxBreadcrumbs:(NSInteger)maxBreadcrumbs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#import "SentryDefines.h"

@class SentryOptions, SentryWatchdogTerminationsLogic, SentryDispatchQueueWrapper,
@class SentryOptions, SentryWatchdogTerminationLogic, SentryDispatchQueueWrapper,
SentryAppStateManager, SentryFileManager;

NS_ASSUME_NONNULL_BEGIN
Expand All @@ -15,11 +15,11 @@ static NSString *const SentryWatchdogTerminationMechanismType = @"watchdog_termi
* https://engineering.fb.com/2015/08/24/ios/reducing-fooms-in-the-facebook-ios-app/ If a OOM is
* detected, the SDK sends it as crash event. Only works for iOS, tvOS and macCatalyst.
*/
@interface SentryWatchdogTerminationsTracker : NSObject
@interface SentryWatchdogTerminationTracker : NSObject
SENTRY_NO_INIT

- (instancetype)initWithOptions:(SentryOptions *)options
watchdogTerminationsLogic:(SentryWatchdogTerminationsLogic *)watchdogTerminationsLogic
watchdogTerminationLogic:(SentryWatchdogTerminationLogic *)watchdogTerminationLogic
appStateManager:(SentryAppStateManager *)appStateManager
dispatchQueueWrapper:(SentryDispatchQueueWrapper *)dispatchQueueWrapper
fileManager:(SentryFileManager *)fileManager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

NS_ASSUME_NONNULL_BEGIN

@interface SentryWatchdogTerminationsTrackingIntegration
@interface SentryWatchdogTerminationTrackingIntegration
: SentryBaseIntegration <SentryIntegrationProtocol, SentryANRTrackerDelegate>

@end
Expand Down
Loading