langgenius / langgenius/dify

Add a workflow run comparison view for debugging and performance analysis

Open
#41,864 1 comment 1 reaction 0 assignees View on GitHub
💪 enhancement
Dominant language
TypeScript
Stars
156k
Forks
24.6k
Avg merge
22h 9m
Merged PRs (30d)
610

Description

### Self Checks

- [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542).
- [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones.
- [x] I confirm that I am using English to submit this report, otherwise it will be closed.
- [x] Please do not modify this template :) and fill in all the required fields.

### 1. Is this request related to a challenge you're experiencing? Tell me about your story.

When developing and debugging complex Dify workflows, it is common to run the same workflow multiple times after changing a prompt, model, node configuration, or input.

Currently, investigating the difference between two executions can require opening each run separately and manually comparing node outputs, execution times, and other information. This becomes increasingly difficult for workflows with many nodes or multiple branches.

A dedicated **Compare Runs** feature would make it much easier to understand what changed between two executions.

### 2. Additional context or comments

I propose adding a **Compare Runs** action to the workflow execution history.

Users could select two completed workflow runs and view a comparison such as:

```text
Run A Run B Difference
-------------------------------------------------------------
Total time 8.42 s 6.17 s -2.25 s
LLM tokens 4,820 3,910 -910
Nodes executed 14 14 0
Final status Success Success -
```

The comparison could also highlight differences at the node level:

```text
Node: Generate Summary

Run A output:
"Longer generated summary..."

Run B output:
"Shorter generated summary..."

Latency:
Run A: 2.41 s
Run B: 1.72 s

Token usage:
Run A: 1,240
Run B: 890
```

For workflow branches, the UI could highlight nodes whose execution status, output, latency, or token usage changed between the two runs.

Useful comparison categories could include:

* Node execution status
* Node outputs
* Execution duration
* Token usage
* Model/provider information
* Errors and warnings
* Branches taken
* Overall workflow duration

The comparison should avoid exposing sensitive values unnecessarily and could provide an option to hide or mask node outputs.

This would be particularly useful when evaluating prompt changes, switching models, optimizing workflows, or investigating performance regressions.

### 3. Can you help us with this feature?

I am interested in contributing to this feature.

### 2. Additional context or comments

_No response_

### 3. Can you help us with this feature?

- [ ] I am interested in contributing to this feature.

Contributor guide

Open the contributing guide

Research direction

No files or tests are named in the issue. Start at the workflow execution history and trace how completed runs expose node outputs, status, timing, and token data. Done should be a defined comparison view for two runs, including the agreed overall and node-level differences while protecting sensitive outputs.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.