Edit

Share via


Debug and manage orchestrations using the Azure Functions Durable Task Scheduler dashboard (preview)

Observe, manage, and debug your task hub or scheduler's orchestrations using the Durable Task Scheduler dashboard. The dashboard is available when you run the Durable Task Scheduler emulator locally or create a scheduler resource on Azure.

Running the emulator locally doesn't require authentication.

Creating a scheduler resource on Azure requires assigning the Durable Task Data Contributor role to your identity. You can then access the dashboard via either:

  • The task hub's dashboard endpoint URL in the Azure portal
  • Navigate to https://dashboard.durabletask.io/ combined with your task hub endpoint.

In this article, you learn how to:

  • Assign one of the Durable Task roles to your developer identity.
  • Access the Durable Task Scheduler dashboard.
  • View orchestration status and history via the Durable Task Scheduler dashboard.

Prerequisites

Before you begin:

Access the Durable Task Scheduler dashboard

Assign the required role to your developer identity (email) to gain access to the Durable Task Scheduler dashboard.

  1. Set the assignee to your developer identity.

    assignee=$(az ad user show --id "[email protected]" --query "id" --output tsv)
    
  2. Set the scope. Granting access on the scheduler scope gives access to all task hubs in that scheduler.

    Task Hub

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/taskHubs/TASK_HUB_NAME"
    

    Scheduler

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"
    
  3. Grant access. Run the following command to create the role assignment and grant access.

    az role assignment create \
      --assignee "$assignee" \
      --role "Durable Task Data Contributor" \
      --scope "$scope"
    

    Expected output

    The following output example shows a developer identity assigned with the Durable Task Data Contributor role on the scheduler level:

    {
      "condition": null,
      "conditionVersion": null,
      "createdBy": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "createdOn": "2024-12-20T01:36:45.022356+00:00",
      "delegatedManagedIdentityResourceId": null,
      "description": null,
      "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME/providers/Microsoft.Authorization/roleAssignments/ROLE_ASSIGNMENT_ID",
      "name": "ROLE_ASSIGNMENT_ID",
      "principalId": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "principalName": "YOUR_EMAIL",
      "principalType": "User",
      "resourceGroup": "YOUR_RESOURCE_GROUP",
      "roleDefinitionId": "/subscriptions/YOUR_SUBSCRIPTION/providers/Microsoft.Authorization/roleDefinitions/ROLE_DEFINITION_ID",
      "roleDefinitionName": "Durable Task Data Contributor",
      "scope": "/subscriptions/YOUR_SUBSCRIPTION/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME",
      "type": "Microsoft.Authorization/roleAssignments",
      "updatedBy": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "updatedOn": "2024-12-20T01:36:45.022356+00:00"
    }
    
  4. After granting access, go to https://dashboard.durabletask.io/ and fill out the required information about your scheduler and task hub to see the dashboard.

Note

The following instruction shows a role assignment scoped to a specific task hub. If you need access to all task hubs in a scheduler, perform the assignment on the scheduler level.

  1. Navigate to the durable task scheduler resource on the portal.

  2. Click on a task hub name.

  3. In the left menu, select Access control (IAM).

  4. Click Add to add a role assignment.

    Screenshot of the adding the role assignment on the Access Control pane in the portal.

  5. Search for and select Durable Task Data Contributor. Click Next.

    Screenshot of selecting the Durable Task Data Contributor role assignment in the portal.

  6. On the Members tab, for Assign access to, select User, group, or service principal.

  7. For Members, click + Select members.

  8. In the Select members pane, search for your name or email:

    Screenshot of selecting the user-assigned managed identity type in the portal.

  9. Pick your email and click the Select button.

  10. Click Review + assign to finish assigning the role.

  11. Once the role is assigned, click Overview on the left menu of the task hub resource and navigate to the dashboard URL located at the top Essentials section.

Monitor orchestration progress and execution history

The dashboard allows you to monitor orchestration progress and review execution history. You can also filter by orchestration metadata, such as state and timestamps.

Screenshot of the dashboard listing orchestration history and status.

View orchestration inputs and outputs:

Screenshot of the dashboard listing orchestration history and status inputs and outputs.

Detailed view of orchestration execution

You can drill into orchestration instances to view execution details and activity progress. This view helps you diagnose problems or gain visibility into the status of an orchestration.

In the following image, the Timeline view of an orchestration execution. In this "ProcessDocument" orchestration, the "WriteDoc" activity retried three times (unsuccessfully) with five seconds in between retry.

Screenshot of the dashboard showing the orchestration execution timeline.

You can also view inputs and outputs of activities in an orchestration:

Screenshot of the dashboard showing activity inputs and outputs.

Other views of orchestration execution sequence

The History view shows detailed event sequence, timestamps, and payload:

Screenshot of the dashboard showing orchestration instance details.

The Sequence view gives another way of visualizing event sequence:

Screenshot of the dashboard showing orchestration sequence view.

Orchestration management

The dashboard includes features for managing orchestrations on demand, such as starting, pausing, resuming, and terminating.

Screenshot of the dashboard showing the buttons you use to manage the orchestration.

Next steps

For Durable Task Scheduler for Durable Functions:

For Durable Task Scheduler for the Durable Task SDKs: