Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* •...
Transcript of Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* •...
Copyright © 2014 Splunk Inc.
Kostas Polychronis, George Taskos Mint Team, Splunk
Splunk Mint SDK
Disclaimer
2
During the course of this presentaDon, we may make forward-‐looking statements regarding future events or the expected performance of the company. We cauDon you that such statements reflect our current expectaDons and esDmates based on factors currently known to us and that actual events or results could differ materially. For important factors that may cause actual results to differ from those contained in our forward-‐looking statements, please review our filings with the SEC. The forward-‐looking statements made in the this presentaDon are being made as of the Dme and date of its live presentaDon. If reviewed aQer its live presentaDon, this presentaDon may not contain current or accurate informaDon. We do not assume any obligaDon to update any forward looking statements we may make. In addiDon, any informaDon about our roadmap outlines our general product direcDon and is subject to change at any Dme without noDce. It is for informaDonal purposes only, and shall not be incorporated into any contract or other commitment. Splunk undertakes no obligaDon either to develop the features or funcDonality described or to include any such feature or funcDonality in a future release.
A liTle bit of history
BugSense it was…
4
We love developers and developers love us back!
• 12 person company • Based in Greece • $100k seed investment • SupporDng Android, iOS, HTML5,
WP7, WP8, Windows 8, Xamarin • Running on hundreds of millions of
devices, probably including yours J
splunk Mint it became!
5
September 16, 2013 the day Splunk acquired BugSense
• Team moved to splunk’s HQ • New product line • Combined BugSense’s data
collecDon with splunk’s capabiliDes
One target:
Get mobile data into splunk!
splunk + BugSense
Splunk Mint
7
+
Can you imagine the possibiliDes?
Splunk MINT Product Update
8
• Cloud-‐only • Crash detecDon, usage
insights and retenDon informaDon
• Not integrated with Splunk Enterprise
BUGSENSE A Splunk Company • Splunk MINT Express: adds
transacDons and network performance
• Splunk MINT Enterprise (Beta): connects to Splunk Enterprise, more features and analyDcs
• Correlates infrastructure, applicaDon and mobile data in Splunk Enterprise
Introducing Mint
Good old funcDonality
10
SDll there!
Crash ReporDng
11
Track your crashes automaDcally in real Dme.
One line of code!
That’s it :)
Android Mint.initAndStartSession(Context, “APIKEY”);
iOS [[Mint sharedInstance] initAndStartSession@"API_KEY"];
Crash ReporDng + Insights
12
Track your crashes automaDcally in real Dme.
One line of code!
Full analyDcs and reports
Mobdex Score
REAL TIME ANALYTICS
WITH ONLY ONE LINE OF CODE!
Android -‐
iOS -‐
Log Handled ExcepDons
13
What about Handled ExcepDons?
We can report them as well!
Android try{ String a = null; a.toString(); } catch(ExcepDon ex) { ex.printStackTrace(); // in case you want to see the stacktrace in your log cat output Mint.sendExcepDon(ex); //OR Mint.sendExcepDonMessage(“level”, “2”, ex); }
iOS MintLogExcepDon(NSExcepDon, LimitedCrashExtraDataList) // More in our website
Crash Extra Data*
14
We offer the ability to get more informaDon on your crashes, add your own data.
Android Mint.addCrashExtraData(“level”,”2”);
iOS [[Mint sharedInstance] addCrashExtraData:[[CrashExtraData alloc] initWithKey:@”level” andValue:@”2”]];
* With a small twist in the new version ;)
Breadcrumbs
15
Show me the path of the user through the applicaDon
Android Mint.leaveBreadcrumb(“Login Screen”);
iOS [[Mint sharedInstance] leaveBreadcrumb:@”Login Screen”];
User IdenDfier
16
If you know your user, you should be able to find him at
Mint as well.
You can use a name, email, server id, etc.
Find everything that the specific user experienced
Android Mint.setUserIdenDfier(“[email protected]”);
iOS [Mint sharedInstance].userIdenDfier = @”[email protected]”;
Logcat / Apple Logging System Support
17
Android Mint.setLogging(true); Mint.setLogging(lines, filter);
iOS [[Mint sharedInstance] enableLogging:YES]; MintLog(DebugLogLevel, @”%@”, @”A debug log”);
Lots of important informaDon are included in the logcat output. Check the logcat output with all your crashes You can print messages to the console using the ALS (Apple Logging System). When in debug mode, all the messages will be printed in the console window but when in release mode only noDce messages and above will be printed in the device log, while all your messages will forwarded to the splunk server.
Last Breath
18
Android public class MainAcDvity extends AcDvity implements ExcepDonCallback { } @Override public void lastBreath(ExcepDon ex) { //do or save stuff here } BugSenseHandler.setExcepDonCallback(this);
iOS Due to pla}orm nature and restricDons this feature is not supported
You can do important things when you know the applicaDon will crash,
just before it crashes!
Events
19
Android Mint.sendEvent(”buTon1pressed”);
iOS [[Mint sharedInstance] logEventAsyncWithTag:@”buTon1pressed” compleDonBlock:nil];
Get informed about anything users are
doing in your applicaDon with events!
New features!
20
Splunk MINT Data Types
21
Crashes Sessions
Errors Events
Crashes Sessions
Errors Events
Network TransacDons
LocaDon SemanDc Logs
Tons of Metadata
Global Extra Data
22
Add extra data to all your acDons to get beTer informaDon
Android Mint.addExtraData(“level”,”2”); //or Map<String, String> map = new HashMap<String,String>(); map.put(“level”,”2”); Map.put(“character”,”warrior”); Mint.addExtraData(map);
iOS [[Mint sharedInstance] addCrashExtraData:[[CrashExtraData alloc] initWithKey:@”level” andValue:@”2”]];
Advanced Events
23
Android Mint.sendEvent(”buTon1pressed”);
iOS [[Mint sharedInstance] logEventAsyncWithTag:@”buTon1pressed” compleDonBlock:nil];
Get informed about anything users are
doing in your applicaDon with events!
Break down events by app version, OS
version, see the trend and stats.
TransacDons
24
Android Mint.transacDoStart(“userLogin”); //start transacDon Mint.transacDonStop(“userLogin”); //successfully end transacDon Mint.transacDonCancel(“userLogin”, “user pressed back”); //cancel transacDon with a reason
iOS [[Mint sharedInstance] transacDonStart:@”userLogin” andResultBlock:nil]; [[Mint sharedInstance] transacDonStop:@”userLogin” andResultBlock:nil]; [[Mint sharedInstance] transacDonCancel:@”userLogin” reason:@”user pressed back" andResultBlock:nil];
A transacDon is used to monitor criDcal funcDonality in your app like a purchase. It is basically an event with start and finish.
Developer Se�ngs
25
What if you could change your variables remotely?
Set the difficulty of your game at Mint, retrieve the variable when the
app starts.
Android int level = Integer.parseInt(Mint.getDevSe�ngs(“level”));
iOS [[Splunk sharedInstance] initAndStartSession@"API_KEY"];
Network Monitoring
26
AutomaDcally keep track of all your applicaDon’s network requests!
Android -‐
iOS -‐
Everything available on splunk
27
You have raw access to all the data through splunk, you can create your own dashboards and alerts
Dashboard Live Demo
Special Offer: Try Splunk MINT Express for Free! Splunk MINT offers a fast path to mobile intelligence. How fast?
Find out with a 6-‐month trial*
• Register for your free trial: hTp://mint.splunk.com/conf2014offer
• Download the Splunk MINT SDKs • Add the Splunk MINT line of SDK code and publish**
• Start ge�ng digital intelligence at your fingerDps!
*Offer valid for .conf2014 a5endees and coworkers of a5endees only.
**Trial allows monitoring of up to 750,000 monthly acDve users (MAUs).
29
THANK YOU