Splunk MINT SDK for iOS  5.2.6
Mint.h
Go to the documentation of this file.
1 //
2 // Mint.h
3 // SplunkMint
4 //
5 // Copyright (c) 2016 Splunk. All rights reserved.
6 
7 #import <Foundation/Foundation.h>
8 #import <CoreLocation/CoreLocation.h>
9 #include <pthread.h>
10 #import "MintLimitedExtraData.h"
11 #import "MintEnums.h"
12 #import "MintUtilities.h"
13 
14 
15 
25 #define MintLogException(exception, extradata) [[Mint sharedInstance] logException:exception extraData:extradata];
26 
31 #define MINT_METHOD_TRACE_START \
32 NSMutableDictionary *mintTraceInfo = [[NSMutableDictionary alloc] init];\
33 [mintTraceInfo setObject:[NSString stringWithFormat:@"%s", __FUNCTION__] forKey:@"method"];\
34 [mintTraceInfo setObject:@(getCurrentTimeInNanos()) forKey:@"startTime"];\
35 [mintTraceInfo setObject:@(pthread_mach_thread_np(pthread_self())) forKey:@"threadID"];\
36 
37 
38 #define MINT_METHOD_TRACE_STOP \
39 [mintTraceInfo setObject:@(getCurrentTimeInNanos()) forKey:@"endTime"];\
40 [[Mint sharedInstance] logMethodTrace:mintTraceInfo];\
41 
42 #define MINT_NONARC_METHOD_TRACE_STOP \
43 [mintTraceInfo setObject:@(getCurrentTimeInNanos()) forKey:@"endTime"];\
44 [[Mint sharedInstance] logMethodTrace:mintTraceInfo];\
45 [mintTraceInfo release];\
46 mintTraceInfo = nil;\
47 
48 
52 extern NSString * const SPLAppEnvRelease;
53 extern NSString * const SPLAppEnvStaging;
54 extern NSString * const SPLAppEnvUserAcceptanceTesting;
55 extern NSString * const SPLAppEnvTesting;
56 extern NSString * const SPLAppEnvDevelopment;
57 
58 
66 @interface Mint : NSObject
67 
74 + (Mint*) sharedInstance;
75 
76 
80 - (BOOL) isInitialized;
81 
85 - (BOOL) isSessionActive;
86 
93 - (void)enableDebugLog:(BOOL) enable;
94 
98 @property (nonatomic, strong) NSString* userIdentifier;
99 
100 
112 @property (nonatomic, strong) NSString* applicationEnvironment;
113 
114 
118 - (void) flush;
119 
125 - (void) disableCrashReporter;
126 
127 
132 - (void) disableNetworkMonitoring;
133 
139 - (void) disableViewMonitoring;
140 
147 
148 
149 
150 #pragma mark *** Initialize Mint SDK ***
151 
160 - (void) initAndStartSessionWithAPIKey:(NSString*)apiKey;
161 
172 - (void) initAndStartSessionWithHECUrl:(NSString*)url token:(NSString*)token;
173 
179 - (void) leaveBreadcrumb: (NSString*)crumb;
180 
184 - (void) clearBreadcrumbs;
185 
186 
191 - (void) startSession;
192 
197 - (void) closeSession;
198 
199 
205 - (void) logException: (NSException*)exception;
206 
214 - (void) logException: (NSException*)exception extraDataKey: (NSString*)key extraDataValue: (NSString*)value;
215 
222 - (void) logException: (NSException*)exception extraData: (MintLimitedExtraData*)extraDataDictionary;
223 
224 
230 - (NSDictionary*) getDevSettings;
231 
238 - (void) enableMintLoggingCache:(BOOL)enable;
239 
245 - (void) enableLogging:(BOOL)enable;
246 
252 - (void) enableFlushOnlyOverWiFi:(BOOL)enable;
253 
259 - (void) setLogging:(NSInteger)linesCount;
260 
268 - (NSString*) transactionStart:(NSString*)transactionName;
269 
278 - (NSString*) transactionStart:(NSString*)transactionName extraDataKey: (NSString*)key extraDataValue: (NSString*)value;
279 
287 - (NSString*) transactionStart:(NSString*)transactionName extraData: (MintLimitedExtraData*)extraDataDictionary;
288 
294 - (void) transactionStop:(NSString*)transactionID;
295 
303 - (void) transactionStop:(NSString*)transactionID extraDataKey: (NSString*)key extraDataValue: (NSString*)value;
304 
311 - (void) transactionStop:(NSString*)transactionID extraData: (MintLimitedExtraData*)extraDataDictionary;
312 
319 - (void) transactionCancel:(NSString*)transactionID reason:(NSString*)aReason;
320 
329 - (void) transactionCancel:(NSString*)transactionID reason:(NSString*)aReason extraDataKey: (NSString*)key extraDataValue: (NSString*)value;
330 
338 - (void) transactionCancel:(NSString*)transactionID reason:(NSString*)aReason extraData: (MintLimitedExtraData*)extraDataDictionary;
339 
345 - (void) addURLToBlackList:(NSString*)url;
346 
352 - (NSMutableArray*) blacklistUrls;
353 
354 
360 - (void) logEventWithName: (NSString*)name;
361 
368 - (void) logEventWithName:(NSString*)name logLevel:(MintLogLevel)logLevel;
369 
378 - (void) logEventWithName:(NSString *)name logLevel:(MintLogLevel)logLevel extraDataKey: (NSString*)key extraDataValue: (NSString*)value;
379 
387 - (void) logEventWithName:(NSString*)name logLevel:(MintLogLevel)logLevel extraData: (MintLimitedExtraData*)extraDataDictionary;
388 
394 - (void)enableUserOptOut:(BOOL)userOptOut;
395 
401 - (NSString*)getMintUUID;
402 
408 - (NSString*)getSessionID;
409 
416 - (void)logViewWithCurrentViewName:(NSString*)currentViewName;
417 
425 - (void)logViewWithCurrentViewName:(NSString*)currentViewName extraDataKey: (NSString*)key extraDataValue: (NSString*)value;
426 
433 - (void)logViewWithCurrentViewName:(NSString*)currentViewName extraData: (MintLimitedExtraData*)extraDataDictionary;
434 
440 - (void)setSessionInterval:(NSInteger)intervalInSeconds;
441 
447 
454 void MintLog(MintLogLevel logLevel, NSString* message, ...) NS_FORMAT_FUNCTION(2,3);
455 
462 - (void)addExtraData:(NSString*)value forKey:(NSString *)key;
463 
469 - (void)addExtraData:(MintLimitedExtraData*)extraDataDictionary;
470 
477 - (NSString*)extraDataForKey:(NSString *)key;
478 
484 - (void)removeExtraDataForKey:(NSString*)key;
485 
489 - (void)removeAllExtraData;
490 
494 - (NSDictionary*)extraData;
495 
501 - (NSString*)startTimerWithName:(NSString*)timerName;
502 
507 - (void)stopTimerWithId:(NSString*)timerId;
508 
513 - (void)logMethodTrace:(NSDictionary*)traceInfo;
514 
520 - (void)logMemoryWarningWithClassName:(NSString*)className;
521 
528 - (void)setLocation:(CLLocation*)location;
529 
536 - (void)setAutoFlushMinimumInterval:(NSTimeInterval)interval;
537 
538 /*
539  * Disable auto flush, should be called before SDK initialization.
540  *
541  */
542 
543 - (void)disableAutoFlush;
544 
545 @end
SPLAppEnvUserAcceptanceTesting
NSString *const SPLAppEnvUserAcceptanceTesting
-[Mint disableAutoFlush]
void disableAutoFlush()
-[Mint MintLog]
void MintLog(MintLogLevel logLevel, NSString *message,...) NS_FORMAT_FUNCTION(2
SPLAppEnvRelease
NSString *const SPLAppEnvRelease
-[Mint isHTTPEventCollectorEnabled]
BOOL isHTTPEventCollectorEnabled()
Mint
Definition: Mint.h:66
-[Mint disableCrashReporter]
void disableCrashReporter()
-[Mint disableNetworkMonitoring]
void disableNetworkMonitoring()
-[Mint isInitialized]
BOOL isInitialized()
-[Mint removeAllExtraData]
void removeAllExtraData()
SPLAppEnvDevelopment
NSString *const SPLAppEnvDevelopment
-[Mint disableViewMonitoring]
void disableViewMonitoring()
-[Mint extraData]
NSDictionary * extraData()
Mint::userIdentifier
NSString * userIdentifier
Definition: Mint.h:98
-[Mint closeSession]
void closeSession()
-[Mint clearBreadcrumbs]
void clearBreadcrumbs()
Mint::applicationEnvironment
NSString * applicationEnvironment
Definition: Mint.h:112
-[Mint isSessionActive]
BOOL isSessionActive()
MintLimitedExtraData
Definition: MintLimitedExtraData.h:14
-[Mint getSessionID]
NSString * getSessionID()
SPLAppEnvStaging
NSString *const SPLAppEnvStaging
-[Mint flush]
void flush()
MintLimitedExtraData.h
-[Mint getDevSettings]
NSDictionary * getDevSettings()
-[Mint blacklistUrls]
NSMutableArray * blacklistUrls()
-[Mint startSession]
void startSession()
-[Mint disableMemoryWarningMonitoring]
void disableMemoryWarningMonitoring()
SPLAppEnvTesting
NSString *const SPLAppEnvTesting
-[Mint getMintUUID]
NSString * getMintUUID()
+[Mint sharedInstance]
Mint * sharedInstance()