Troubleshoot 3rd-party Player - ActionScript

Troubleshooting the video heartbeat library integration revolves around the extensive tracing/logging mechanism that is in place throughout the entire video tracking stack. Both the video heartbeat library and the underlying data-collection code inside the AppMeasurement library are equipped with this tracing/logging infrastructure.

  1. Activate tracing at runtime.
    Tracing can be activated at run-time via the debugLogging configuration flag:
    // Instantiate the configuration object.
    var heartbeatConfig:VideoHeartbeatConfigData = new VideoHeartbeatConfigData();
     
    // Set this to true to activate the debug tracing
    heartbeatConfig.debugLogging = true;
     
    videoHeartbeat.config(heartbeatConfig);

    But wait, what if I am using the release version of the libraries?

    You can view tracing messages by using the tracking capabilities built-in to the video tracking libraries. The trace() method generates messages in the usual fashion, and at the same time forwards the messages to the developer tools window of your browser (using the External interface). For Flash developers accustomed to viewing trace messages by compiling with the debug flag set, and executing inside the FlashPlayer debugger container: Adobe delivers the video tracking libraries compiled in release mode, so the message tracing capability is built-in.

    Below is a sample trace line for an ActionScript implementation:
    [17:15:31 GMT+0200.463] [DEBUG] [com.adobe.primetime.videoheartbeat.mediafork.realtime.clock::TimerManager] #_onTick() > ------------------- (72)
    Each trace line is made up of the following sections:
    • Current time stamp - This is the current CPU time (time-zoned for GMT)
    • Level - There are 4 message levels defined: DEBUG, INFO, WARN and ERROR
    • The fully qualified class name that issued the trace message
    • The method in which the trace message originated (it starts with the '#' symbol)
    • The actual trace message (following the '>' symbol)
  2. Look at the network calls that are issued by the video heartbeat module.

    One of the configuration options exposed by the AppMeasurement public API is a boolean flag called debugTracking. This flag causes the video heartbeat code to display (on the console) the actual URL that represents the outbound network call. If your browser of choice allows filtering, you can filter for the __job_id string. The result is a very nice view of all the network calls issued by the video heartbeat core engine. Below is a code snippet that demonstrates the activation of the debugTracking configuration flag:

    appMeasurementObject.debugTracking = true;