Measure Performance
Moments
Embrace also contains a powerful stopwatch and abandonment tracking feature, which we call moments. This mechanism is the same one used to measure application launch performance, which we covered in the Session Reporting section.
Similar to Logs, moments will immediately make a network request.
The performance of the networking calls that moments make are unrelated to the performance of the moment itself.
Moments are best used for tracking critical user flows that are generally short in nature. For more suggestions on what to measure with moments, see the Best Practices page.
Starting a Moment
Here's how you start a moment.
Embrace.getInstance().startEvent("addItem");
In a sample scenario, this is a moment we're using to measure how quickly an item is added to a ListView
after a user selects the plus button.
You can also start a moment with properties, an identifier, and screenshots. For more on this, check out the API docs.
- Property keys have a limit of 128 characters.
- Property values have a limit of 256 characters.
- You can have up to 100 properties (as of Android SDK 5.14.2 or iOS SDK 5.16.1)
Ending a Moment
Next, here's how you end a moment.
Embrace.getInstance().endEvent("addItem");
A timer is started once you make a call to start a moment. If you end the moment within a configurable threshold, then the timer ends and the client's measurement is used to report performance. You can end the moment from multiple locations in your app, or from multiple threads.
Tracking Abandonment
In addition to measuring performance, moments can also measure abandonment. For more on tracking abandonment, see the Best Practices section.