Apptim gives users the ability to create custom marks while running a test, in two different ways:

1. Single Marks: A graphical identification of single time marks in test results timeline (charts and videos).

Single Marks can be used to identify when a user taps, clicks or does any similar action.

2. Time taken: Measuring different event duration times during a test (using START | STOP flags)

Time taken marks allow to measure the response time of any event, for example, the Login to the app, a screen transition or load time, from the end user perspective. It can also be used to split certain part of the test session, in order to be analyzed in more detailed or to be compared with a similar test, but run in a different app version.

To get more details on how to use Apptim Marks and analyze end user response times, click and expand the video below:

How to enable Apptim Marks for an Android app

Users can take advantage of this functionality by adding a single line of code in their Android app's code.

Single Mark (timestamp)

Add a log entry when the event happens:

Log.i("{APPTIM_EVENT}", "event-name")

Time taken per Event

Add a log entry both at the beginning and the end of an event:

Log.i("{APPTIM_EVENT}:", "event-name, START") 
...
Log.i("{APPTIM_EVENT}:", "event-name, STOP")

How to enable Apptim Marks for an iOS app

Users can take advantage of this functionality by just logging events information using iOS syslog:

import os.log

Single Mark (timestamp)

Add a log entry when the event happens:

let log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "apptim") os_log("{APPTIM_EVENT}: %{public}@", log, "event-name")

Time taken per Event

Add a log entry both at the beginning and the end of an event:

let log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "apptim") 
os_log("{APPTIM_EVENT}: %{public}@", log, "event-name, START")
...
os_log("{APPTIM_EVENT}: %{public}@", log, "event-name, STOP")

General Considerations

Precision (ms)

All marks will be stored with precision down to the millisecond relative to the test session start time.

Event naming

Event names can be any string without comma ,

Duplicate events in time-taken

When using START | STOP marks, Apptim will assume that the first STOP corresponds with the first START of the same event-name to have a deterministic way of correlation.

For example, if the event sequence is the following:

Log.i("{APPTIM_EVENT}:", "Event A, START") // A1 sleep (10 ms) 
Log.i("{APPTIM_EVENT}:", "Event A, START") // A2 sleep (20 ms)
Log.i("{APPTIM_EVENT}:", "Event A, STOP") // A1 sleep (30 ms)
Log.i("{APPTIM_EVENT}:", "Event A, STOP") // A2

Apptim will assume that the first STOP corresponds with the first START of the same event-name, resulting in:

  • Event A(1) time taken: 30 ms
  • Event A(2) time taken: 50 ms

📒 To avoid this confusion you can always add ID's on event names.

Logs

All Apptim Marks can be found at events.tsv file inside Logs section.

Support

If you have any questions on how to enable and use Apptim Marks, please contact our team at [email protected] and we'll help you get started.

Did this answer your question?