30
Copyright © 2014 Splunk Inc. Kostas Polychronis, George Taskos Mint Team, Splunk Splunk Mint SDK

Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

Copyright  ©  2014  Splunk  Inc.  

Kostas  Polychronis,  George  Taskos  Mint  Team,  Splunk  

Splunk  Mint  SDK  

Page 2: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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.  

Page 3: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

A  liTle  bit  of  history  

Page 4: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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  

Page 5: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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!  

Page 6: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

splunk  +  BugSense  

Page 7: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

Splunk  Mint  

7  

 +  

Can  you  imagine  the  possibiliDes?  

Page 8: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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  

 

Page 9: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

Introducing  Mint  

Page 10: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

Good  old  funcDonality  

10  

SDll  there!  

Page 11: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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"];  

Page 12: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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   -­‐  

Page 13: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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  

Page 14: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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  ;)  

Page 15: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

Breadcrumbs  

15  

Show  me  the  path  of  the  user  through  the  applicaDon  

Android   Mint.leaveBreadcrumb(“Login  Screen”);  

iOS   [[Mint  sharedInstance]  leaveBreadcrumb:@”Login  Screen”];  

Page 16: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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]”;  

Page 17: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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.  

Page 18: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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!  

Page 19: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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!  

Page 20: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

New  features!  

20  

Page 21: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

Splunk  MINT  Data  Types  

21

Crashes   Sessions  

Errors   Events  

Crashes   Sessions  

Errors   Events  

Network   TransacDons  

LocaDon  SemanDc  Logs  

Tons  of  Metadata  

Page 22: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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”]];  

Page 23: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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.  

Page 24: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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.  

Page 25: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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"];  

Page 26: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

Network  Monitoring  

26  

AutomaDcally  keep  track  of  all  your  applicaDon’s  network  requests!  

Android   -­‐  

iOS   -­‐  

Page 27: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

Everything  available  on  splunk  

27  

You  have  raw  access  to  all  the  data  through  splunk,  you  can  create  your  own  dashboards  and  alerts  

Page 28: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

Dashboard  Live  Demo  

Page 29: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

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  

Page 30: Splunk*MintSDK* · splunk*Mintitbecame!* 5 September*16,*2013*the*day*Splunk*acquired*BugSense* • Team*moved*to*splunk’s*HQ* • New*productline* • Combined BugSense’s*data

THANK  YOU