supercharge*your* mobile*app*delivery* with*splunk*mint* · splunk*mint*itbecame!* 6...

38
Copyright © 2015 Splunk Inc. Kostas Polychronis Head of Mobile MINT, Splunk Supercharge Your Mobile App Delivery With Splunk MINT

Upload: others

Post on 11-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Copyright  ©  2015  Splunk  Inc.  

Kostas  Polychronis  Head  of  Mobile  MINT,  Splunk  

Supercharge  Your  Mobile  App  Delivery  With  Splunk  MINT  

Page 2: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Disclaimer  

2  

During  the  course  of  this  presentaKon,  we  may  make  forward  looking  statements  regarding  future  events  or  the  expected  performance  of  the  company.  We  cauKon  you  that  such  statements  reflect  our  current  expectaKons  and  esKmates  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  presentaKon  are  being  made  as  of  the  Kme  and  date  of  its  live  presentaKon.  If  reviewed  aTer  its  live  presentaKon,  this  presentaKon  may  not  contain  current  or  

accurate  informaKon.  We  do  not  assume  any  obligaKon  to  update  any  forward  looking  statements  we  may  make.    

 In  addiKon,  any  informaKon  about  our  roadmap  outlines  our  general  product  direcKon  and  is  subject  to  change  at  any  Kme  without  noKce.  It  is  for  informaKonal  purposes  only  and  shall  not,  be  incorporated  into  any  contract  or  other  commitment.  Splunk  undertakes  no  obligaKon  either  to  develop  the  features  

or  funcKonality  described  or  to  include  any  such  feature  or  funcKonality  in  a  future  release.  

Page 3: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

A  LiWle  Bit  of  History  

Page 4: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

4  

“How  the  hell  did  that  happen?”    

-­‐  Random  Mobile  Developer  

Page 5: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

BugSense  it  was…  

5  

We  love  developers  and  developers  love  us  back!  

•  12  Person  company  •  Based  in  Greece  •  $100k  Seed  investment  •  SupporKng  Android,  iOS,  HTML5,  

WP7,  WP8,  Windows  8,  Xamarin  •  Running  on  hundreds  of  millions  

of  devices,  probably  including  yours  J  

Page 6: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Splunk  MINT  it  Became!  

6  

September  16,  2013  -­‐  Splunk  acquired  BugSense  

•  Team  moved  to  Splunk’s  HQ  •  New  product  line  •  Combine  BugSense’s  data  

collecKon  with  Splunk’s  capabiliKes  

Page 7: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Splunk  MINT  it  Became!  

7  

September  16,  2013  -­‐  Splunk  acquired  BugSense  

•  Team  moved  to  Splunk’s  HQ  •  New  product  line  •  Combine  BugSense’s  data  

collecKon  with  Splunk’s  capabiliKes  

One  objecKve:  Get  mobile  data  into  Splunk!  

Page 8: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Splunk  MINT  

8  

+  Can  you  imagine  the  possibiliKes?  

Page 9: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Splunk  MINT  Product  Update  

9  

•  Cloud-­‐only  •  Crash  detecKon,  usage  

insights  and  retenKon  informaKon  

•  Not  integrated  with  Splunk  Enterprise  

•  Splunk  MINT  Express:  adds  transacKons  and  network  performance  

•  Splunk  MINT  Enterprise:  connects  to  Splunk  Enterprise,  more  features  and  analyKcs  

•  Correlates  infrastructure,  applicaKon  and  mobile  data  in  Splunk  Enterprise  

BugSense  A  Splunk  Company  

Page 10: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Introducing  Splunk  MINT  

Page 11: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

What  is  a  Splunk  MINT?    

11  

“An  awesome  technology  that  helps  you  gain  insights  about  your  mobile  applicaKon.”    

Page 12: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

12  

Page 13: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

13  

Page 14: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

14  

Page 15: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

15  

How  to  Use  It  

Sign  up  and  download  the  SDK  

Copy  the  file  to  your  project  

Use  1  line  of  code  

Start  collecKng  data!  

Page 16: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Good  Old  FuncKonality  

16  

SKll  There!  

Page 17: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

17  

Crash  ReporKng  •  Track  your  crashes  automaKcally  in  real  Kme.  •  One  line  of  code!  •  That’s  it!  J  

Android   Mint.initAndStartSession(Context,  “APIKEY”);  

iOS   [[Mint  sharedInstance]  initAndStartSession@"API_KEY"];  

Page 18: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

18  

Crash  ReporKng  +  Insights  Track  your  crashes  automaKcally  in  real  Kme.  One  line  of  code!    Full  analyKcs  and  reports  Mobdex  Score    REAL  TIME  ANALYTICS  WITH  ONLY  ONE  LINE  OF  CODE!  

Android   -­‐  

iOS   -­‐  

Page 19: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

19  

Log  Handled  ExcepKons  What  about  Handled  ExcepKons?  We  can  report  them  as  well!  

Android   try{      String  a  =  null;      a.toString();  }  catch(ExcepKon  ex)  {      ex.printStackTrace();  //  in  case  you  want  to  see  the  stacktrace  in  your  log  cat  output      Mint.sendExcepKon(ex);  //OR      Mint.sendExcepKonMessage(“level”,  “2”,  ex);  }  

iOS   MintLogExcepKon(NSExcepKon,  LimitedCrashExtraDataList)  //  More  in  our  website  

Page 20: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Crash  Extra  Data*  

20  

We  offer  the  ability  to  get  more  informaKon  on  your  crashes  and  add  your  custom  data.  

Android   Mint.addCrashExtraData(“level”,”2”);  

iOS   [[Mint  sharedInstance]  addCrashExtraData:[[CrashExtraData  alloc]  initWithKey:@”level”  andValue:@”2”]];  

*  With  a  small  tweak  in  the  new  version  

Page 21: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

21  

Breadcrumbs  Show  me  the  path  of  the  user  through  the  applicaKon.  

Android   Mint.leaveBreadcrumb(“Login  Screen”);  

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

Page 22: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

22  

User  IdenKfier  You  are  able  to  locate  exisKng  users  in  MINT  using  name,  email,  server  ID,  etc.      Find  everything  that  the  specific  user  experienced.  

Android   Mint.setUserIdenKfier(“[email protected]”);  

iOS   [Mint  sharedInstance].userIdenKfier  =  @”[email protected]”;  

Page 23: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Logcat  /  Apple  Logging  System  Support  

Android   Mint.setLogging(true);  Mint.setLogging(lines,  filter);  

iOS   [[Mint  sharedInstance]  enableLogging:YES];  MintLog(DebugLogLevel,  @”%@”,  @”A  debug  log”);  

Lots  of  important  informaKon  is  included  in  the  logcat  output.  Check  there  for  all  your  crashes.    

•  Print  messages  to  the  console  using  the  ALS  (Apple  Logging  System)    

•  In  debug  mode  all  the  messages  will  be  printed  in  the  console  window    

•  In  release  mode  only  NoKce  messages  and  above  will  be  printed  in  the  device  log,  while  all  your  messages  will  forwarded  to  Splunk  server  

23  

Page 24: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

24  

Last  Breath  

Android   public  class  MainAcKvity  extends  AcKvity  implements  ExcepKonCallback  {  }    @Override  public  void  lastBreath(ExcepKon  ex)  {  //do  or  save  stuff  here  }    BugSenseHandler.setExcepKonCallback(this);  

iOS   Due  to  pla~orm  nature  and  restricKons  this  feature  is  not  supported    

You  can  do  important  things  when  you  know  the  applicaKon  will  crash…before  it  crashes!  

Page 25: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

25  

Events  

Android   Mint.logEvent(”buWon1pressed”);  

iOS   [[Mint  sharedInstance]  logEventAsyncWithTag:@”buWon1pressed”  compleKonBlock:nil];  

Get  informed  about  anything  users  are  doing  in  your  mobile  applicaKon  with  events!  

Page 26: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

New  Features  

Page 27: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

27  

Crashes   Sessions  

Errors   Events  

Crashes   Sessions  

Errors   Events  

Network   TransacKons  

LocaKon  SemanKc  Logs  

Tons  of  metadata  

Splunk  MINT  Data  Types  

Page 28: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

28  

Global  Extra  Data  Add  extra  data  to  all  your  acKons  to  get  beWer  informaKon.  

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 29: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

29  

Advanced  Events  

Android   Mint.logEvent(”buWon1pressed”);  

iOS   [[Mint  sharedInstance]  logEventAsyncWithTag:@”buWon1pressed”  compleKonBlock:nil];  

Get  informed  about  anything  users  are  doing  in  your  mobile  applicaKon  with  events!      Break  down  events  by  app  version,  OS  version,  see  the  trend  and  stats.  

Page 30: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

30  

TransacKons  

Android   Mint.transacKonStart(“userLogin”);  //start  transacKon  Mint.transacKonStop(“userLogin”);  //successfully  end  transacKon  Mint.transacKonCancel(“userLogin”,  “user  pressed  back”);  //cancel  transacKon  with  a  reason  

iOS   [[Mint  sharedInstance]  transacKonStart:@”userLogin”  andResultBlock:nil];  [[Mint  sharedInstance]  transacKonStop:@”userLogin”  andResultBlock:nil];  [[Mint  sharedInstance]  transacKonCancel:@”userLogin”  reason:@”user  pressed  back"  andResultBlock:nil];  

A  transacKon  is  used  to  monitor  criKcal  funcKonality  in  your  app  like  a  purchase.  It  is  basically  an  event  with  a  start  and  finish.  

Page 31: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

31  

Developer  Se�ngs  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   [[MINT  sharedInstance]  getDevSe�ngs@”level"];  

Page 32: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

32  

CollecKng  Data  from  Hybrid  Apps  SupporKng  web  components  Collect  crashes,  errors,  events  and  transacKons  from  hybrid  apps.    Watch  the  Collec:ng  Data  From  Hybrid  Applica:ons  presentaKon.  

Android   MINTWebView  webView  =  (MINTWebView)  findViewbyId(R.id.webview);  

iOS   MintUIWebView  *webView  =  [[MintUIWebView  alloc]  init];  

Page 33: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

33  

Network  Monitoring  

33  

AutomaKcally  keep  track  of  all  your  applicaKon’s  network  requests!  

Android   -­‐  

iOS   -­‐  

Page 34: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

34  

Everything  Available  on  Splunk  

34  

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

Page 35: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

35  

“Everything  looks  cool,    can  I  have  a  real  example?”    

-­‐  Random  .conf  aWendee  

Page 36: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

36  

“Of  course,  Sir!”    

-­‐  Kostas  Polychronis  

Page 37: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

Live  Demo  

Page 38: Supercharge*Your* Mobile*App*Delivery* With*Splunk*MINT* · Splunk*MINT*itBecame!* 6 September*16,*2013*Q*Splunk*acquired*BugSense* • Team*moved*to*Splunk’s*HQ* • New*productline*

THANK  YOU