Viewing workflow executions in the UI#

The Execution list shows all executions in a project and domain combination. An execution represents a single run of all or part of a workflow (including subworkflows and individual tasks).

This is the default view when you select a project and domain from the Projects list. You can also access it from the Executions link in the left navigation.

Execution list

Domain Settings#

This section displays any domain-level settings that have been configured for this project-domain combination. They are:

  • Security Context

  • Labels

  • Annotations

  • Raw output data config

  • Max parallelism

All Executions in the Project#

For each execution in this project and domain you can see the following:

  • Start time: Select to view the individual execution.

  • Workflow/Task: The individual workflow or individual task that ran in this execution.

  • Version: The version of the workflow or task that ran in this execution.

  • Launch Plan: The Launch Plan that was used to launch this execution.

  • Schedule: The schedule that was used to launch this execution (if any).

  • Execution ID: The ID of the execution.

  • Status: The status of the execution. One of QUEUED, RUNNING, SUCCEEDED, FAILED or UNKNOWN.

  • Duration: The duration of the execution.

Execution view#

The execution view appears when you launch a workflow or task or select an already completed execution.

An execution represents a single run of all or part of a workflow (including subworkflows and individual tasks).

Note

An execution usually represents the run of an entire workflow. But, because workflows are composed of tasks (and sometimes subworkflows) and Union caches the outputs of those independently of the workflows in which they participate, it sometimes makes sense to execute a task or subworkflow independently.

The execution view provides a lot of detailed information about the execution:

In the top bar:

  • Breadcrumb showing:

    • Project: Select the drop down to choose a different project.

    • Domain: Select the drop down to choose a different project.

    • Type of entity (workflow or task): Select the drop down to switch entity types (executions and launch plans are the other two possibilities).

    • Workflow or task name: Select the drop down to see the current version or select a different one.

    • ID of this specific execution: Select the drop down choose a different one.

  • Status badge: One of QUEUED, RUNNING, SUCCEEDED, FAILED or UNKNOWN.

  • View Inputs & Outputs link.

  • Relaunch button.

Below the top bar, details on the execution (domain, cluster, time, etc.) are displayed:

And below that, three tabs provide access to the Nodes, Graph, and Timeline views:

Nodes#

The default tab within the execution view is the Nodes tab. It shows a list of the Flyte nodes that make up this execution (A node in Flyte is either a task or a (sub-)workflow):

Selecting an item in the list opens the right panel showing more details of that specific node:

Within the right panel, we can see

  • Node ID: n0

  • Task name: workflows.diffuse.start_process

  • Success status: SUCCEEDED

  • Caching status: Caching was disabled for this execution

  • Type: Python Task

  • Rerun button

Below that, you have the tabs Executions, Inputs, Outputs, and Task.

Executions#

This tab gives you details on the execution of this particular node.

Task level monitoring#

You can access the task-level monitoring information by selecting View Utilization.

Logs#

You can access logs by clicking the text under Logs. In AWS-based systems this will say CloudWatch Logs. In GCP-based system this will say StackDriver Logs. See Logging.

Inputs#

This tab displays the input to this node.:

Outputs#

This tab displays the output of this node:

Task#

If this node is Task (as opposed to a subworkflow) this tab displays the Task definition:

Graph#

The Graph tab displays a visual representation of the execution as a directed acyclic graph:

Timeline#

The Timeline tab displays a visualization showing the timing of each task in the execution: