Splunk launched a product suite called Splunk MINT today at its .conf14 event in Las Vegas. "MINT" stands for Mobile INTelligence. Splunk MINT Enterprise brings mobile analytics to Splunk's corporate customers, and Splunk MINT Express gives smaller app developers mobile analytics as a standalone cloud service.
Splunk MINT requires an SDK, configuration changes and custom coding to access advanced functionality. Splunk's MINT SDK is a native coding tool that uses Objective-C for iOS apps and Java for Android apps.
Splunk MINT Features
Splunk MINT gives Apple and Android app developers a platform for monitoring their apps' usage and performance.
Splunk MINT gives developers access to detailed networking performance information. The Splunk MINT SDK automatically monitors all HTTP connections. The cloud dashboard then gives a detailed summary of the volume, latency and status of HTTP connections. Summary information includes the most frequent exceptions, status codes and trends in failed requests. This can help pinpoint where in your infrastructure performance problems are originating.
Splunk MINT gives developers access to the system logs on the user's mobile phones. Splunk MINT accesses NSlog for iOS apps and LogCat for Android apps. Log data is pulled into the Splunk MINT analytics engine and then presented via the cloud-based dashboard. Simple permissions configurations changes are all that is required to turn on this functionality.
Splunk MINT allows app developers to track events and transactions as well. This is useful for apps that need to track ARPU or track users in a mobile device management environment.
App developers define their own specific events, like "clicks on buy button," and complete transactions with longer user paths, like "user successfully signs up for service." Monitoring advanced events may sound complicated, but it is as simple as adding "Mint.logEvent("Button1 pressed");" where it makes business sense to track user activity. Custom code is also required to show where transactions start and stop in the flow of your software code. Once labeled, the information from events and transactions is sent to Splunk, analyzed and presented in the dashboard.
Custom Exception Handling
Developers can add custom data logging to any try/catch block in their code. Splunk MINT makes getting analytics, summaries and details for every exception you care to put in your code as easy as writing "Mint.logException(ex);" at the end of your catch statements.
Detailed information about what caused an app to crash is available as a basic Splunk MINT functionality. This can be enhanced with "breadcrumbs," markers you put in code to create a trail of specific app usage activities that led up to a crash. Developers can add custom data to crash reports as well, similar to the custom exception handling. NSlog and LogCat data can be added to these insights, giving stack traces and other details on crashes.
Is It Secure?
Splunk MINT uses 2,048-bit SSL connections to communicate your data between the users app and Splunk's servers. Dashboards are password protected.
Spunk MINT does not collect personally identifiable information. Instead, it relies on developers to provide any unique identifier required for tracking users. However, Splunk cautions developers to be careful about what they use to identify users, as this information is regularly sent to Splunk.
Will It Hurt App Performance?
From Splunk's documentation:
Does Splunk MINT Express use a lot of resources?
No. Splunk MINT Express installs a special exception handler that consumes almost no resources at all. Splunk MINT Express aggregates small packets (each one varying to approximately 1-2 KB), compresses them, and sends them over the network when a session is initialized or when flush is explicitly called. Memory usage rarely exceeds 0.5 MB. CPU use is negligible because no polling takes place. There are no significant storage requirements. Battery usage is minimal because it occurs only when data is sent over the network.
Splunk MINT vs. BugSense
MINT is more than a just a rebrand of Splunk's previous BugSense product.
Transactions, advanced events and network monitoring are new to the MINT product suite. Developers have to use a new SDK, update config files and change the syntax of their code to migrate to MINT from BugSense and access these features.
Android (Java) Example
• The package name changed from com.bugsense.trace to com.splunk.mint.
• The main class changed from BugSenseHandler to Mint.
• CrashExtraData changed to ExtraData.
Usage of the SDK's main API method “initAndStartSession” changed in this way:
One Line of Code
The classic one line of code to get started is “Mint.initAndStartSession(Context, APIKEY);”. Splunk highlights the fact that just one line of code is needed in its marketing material when talking about how easy it is to get started with the products. What it means is that putting a Mint.initAndStartSession statement in your software, in front of the code that starts your your users' app sessions, will get you started. This code will indeed turn on network monitoring for your app. More advanced features require additional coding.
Splunk Gets Serious About Mobile
Splunk Inc. (NASDAQ: SPLK) is the leading software platform for real-time operational intelligence. Splunk built a $300 million business selling software that collects and analyzes the vast amounts of data generated by the IT operations of major corporations. Splunk focused on enterprise applications, websites and operational software prior to the launch of the Splunk MINT mobile product suite.
Splunk entered the mobile apps market with the acquisition of app analytics firm BugSense in September 2013. BugSense was founded in 2011, and quickly built a strong business providing multiplatform mobile analytics software to corporations and app developers. BugSense served 3.43% of all apps by the time of the acquisition, including those of top companies like Samsung, SoundCloud and Trulio.
“Splunk MINT Enterprise and Splunk MINT Express, the first products from our BugSense acquisition, not only help our customers build more-reliable, better-performing mobile apps but also harness mobile app data for new, strategic IT and business insights,” said Guido Schroeder, senior vice president of products at Splunk. “In a mobile-first world, mobile app performance and quality are mission critical. At the same time, data from mobile apps that provides insights into user behavior and usage characteristics is worth more when combined with data from other channels, including web and laptop applications, to provide full visibility of user interactions across multiple channels.”