Snap Statistics tab

The Snap Statistics tab provides information about each Snap in the pipeline. As a pipeline executes, the Snap statistics update periodically.

Owners of child pipelines can only view Snap statistics for the parent if at least one of the following is true:

  • They also own the parent pipeline.
  • They have read permission for the project that contains the parent pipeline.

Snap Statistics table

By default, the Snaps display in the order they appear in the pipeline in Designer, from left to right. If two or more of the same Snaps are at the same depth, they can appear in any order. Click the Snap column to sort them alphabetically by name.

As shown above, table columns include:

  • Duration: Reports time in milliseconds, fractional seconds, or fractional minutes. For instance, in the Pipeline Execute3 Snap shown above, the .05 fraction of minutes equals .05*60 seconds or 3 seconds. The total execution time for the Snap is 15 minutes and 3 seconds.
  • View: Snap views accept documents to be processed or they output documents. Each view has its own statistics for the number of documents processed and the rate at which the documents flow through the view.
  • Bytes: Only populated for Snaps with Binary views. Values indicate the quantity of data that passed through the view.
  • Documents: The number of structured or binary documents that passed through the view. Binary views can process multiple documents, for example, the ZipFile Reader Snap outputs a binary document for each file in the ZIP archive.
  • Rate: An approximate calculation of how many documents pass through the view per second. For Snaps with binary views, the byte rate is also displayed.

With the Snap Statistics tab selected, you can:

  • Click the refresh button next to the search box to refresh the Snap statistics manually.
  • Click any column except View to sort alphabetically or numerically.
  • Click ERROR or WARN to filter the list for Snaps with those statuses.
  • Hover over a Snap to open a panel with its status and more information about that Snap, such as execution time, Snap ID, and the Snap Pack build number:
    Snap execution details

    Fields include:
    • Input time: The amount of time this Snap waited for the previous Snap to provide input. This field doesn't display for Snaps that don't receive input from another Snap.
    • Execution time: The amount of time this Snap spent processing.
    • Output time: The amount of time this Snap spent sending data to the next Snap.
    • Total time: The elapsed time from when the Snap waited for input to when it finished sending output.
    • Snap ID: This is the Class FQID that you can find on the Info tab of the Snap in Designer.
    • CPU time: The amount of CPU processing the Snap used.
    • Wait time: The amount of time the Snap waited for input, output, or internal processes.
    • Memory alloc: The number of bytes that the Snap allocated to process all of the documents. For example, with a value of 5MB for 32 documents, the Snap allocated approximately 164KB per document. When combined with other statistics, this number can help you identify the potential causes of performance issues.
    • JVM GC time: The amount of time for JVM garbage collection.
    • Snap Pack Build: The Snap Pack build number.

Snap warnings and errors

Warnings display for Snaps when the system detects a potential issue that you can address. For example, pipelines that use a deprecated version of the Join Snap display a warning. Pipeline executions with warnings show up in the execution table with a warning icon. Warnings include:

  • Deprecated Snap: Snaps that are no longer supported should be replaced with newer versions of the Snap to avoid any potential issues.
  • Passing a string to the toLocaleDateTimeString(), toLocaleDateString(), and toLocaleTimeString() methods: Early versions of these methods would only accept a JSON-encoded string for the format argument. More recent versions accept an object literal, which is significantly faster and compliant with the ECMAScript standard.
  • Passing a JSON-Path to the hasOwnProperty() method: The hasOwnProperty() incorrectly treated its argument as a JSON-Path instead of a plain property name.