Open dhiaayachi opened 2 months ago
Thank you for your feature request! We understand the need for a comprehensive diagnostic tool within Temporal.
Currently, there isn't a single tdbg
command that fulfills all these requirements. However, you can combine existing tools and techniques to achieve similar results.
To gather the information you need:
temporal-cli describe-workflow
command.temporal-cli describe-workflow
command.temporal-cli list-shards
and temporal-cli describe-shard
commands.temporal-cli describe-task-queue
command.temporal-cli describe-namespace
command.For the "diagnose" part, you can use the following:
temporal-cli list-open-workflows
command to see if the workflow has any pending tasks.temporal-cli describe-workflow
command. You can find the timer events.temporal-cli list-workers
command to confirm the worker is polling the correct task queue.We encourage you to join the Temporal community and submit a feature request for a dedicated tdbg workflow diagnose
command. This will help us prioritize development efforts to improve the debugging experience.
Let me know if you have any other questions!
Thank you for this feature request! It sounds like you are looking for a more comprehensive debugging tool within Temporal. Currently, Temporal doesn't have a single command like tdbg workflow diagnose
to perform all the actions you've outlined.
However, you can achieve most of this functionality by combining existing tools and approaches:
temporalctl workflow describe
command to inspect a workflow's current state. Temporal CLI Reference temporalctl workflow describe
command also includes the workflow history. You can also use the temporalctl history describe
command for a more detailed view of the workflow history. Temporal CLI Reference temporalctl cluster describe
command to obtain information about shards, task queues, and namespaces. Temporal CLI Referencetemporalctl
CLI, or your custom logging solutions to analyze workflow behavior, identify potential issues, and perform additional troubleshooting. Temporal UI, Temporal CLI ReferenceWe appreciate your feedback and will consider it for future enhancements to Temporal's debugging capabilities.
Thank you for the feature request!
Currently, Temporal does not have a tdbg workflow diagnose
command. However, you can use the following commands to achieve similar results:
temporal describe-workflow-execution --workflow-id <workflow-id>
temporal history --workflow-id <workflow-id>
temporal describe-namespace --namespace <namespace>
(Includes information about the namespace, which can be helpful for troubleshooting shards)temporal describe-task-queue --task-queue <task-queue>
temporal history
output.temporal describe-workflow-execution
command to determine if a workflow task should have been scheduled or started, but was not. temporal describe-timers --namespace <namespace>
command to see if there are any timers that should have fired but did not.For more information on using these commands, please refer to the Temporal CLI documentation: https://docs.temporal.io/docs/temporal-cli/
Thank you for the feature request! We appreciate you taking the time to share this.
While we don't currently have a tdbg workflow diagnose
command, you can get the information you need by using a combination of existing tools:
temporalctl workflow describe
to view the mutable state of a workflow.temporalctl workflow describe
to view the workflow history.temporalctl cluster describe
to view shard info.temporalctl taskqueue describe
to view the task queue info.temporalctl namespace describe
to view the namespace info.For the diagnose part of your request, we recommend:
temporalctl workflow describe
to review the history of the workflow. This should show if any tasks have been scheduled or not.temporalctl workflow describe
.temporalctl taskqueue describe
to confirm the task queue the worker is polling. We will consider adding a tdbg workflow diagnose
command in the future.
Thank you for this feature request.
While we don't have a tdbg workflow diagnose
command at this time, you can achieve some of the same functionality using existing tools:
temporalctl workflow describe
command can be used to view the current mutable state of a workflow. https://docs.temporal.io/docs/temporalctl/commands/workflow temporalctl workflow history
command. https://docs.temporal.io/docs/temporalctl/commands/workflow temporalctl cluster describe
command with the --shard
, --taskQueue
and --namespace
options to get detailed information about those entities. https://docs.temporal.io/docs/temporalctl/commands/cluster To check for potential issues with task scheduling, timers, and worker polling, you can use the following:
temporalctl namespace describe
command and look for any active timers to verify they are working correctly. https://docs.temporal.io/docs/temporalctl/commands/namespacetemporalctl worker describe
command to check that workers are polling the correct task queues. https://docs.temporal.io/docs/temporalctl/commands/worker We appreciate your feedback, and we'll consider adding a tdbg workflow diagnose
command in the future.
We need a tdbg command that could help dump all relevant information and do some basic analysis.
tdbg workflow diagnose
Information includes: 1) Mutable state 2) Workflow History 3) Shard info (ack level, read level for all queues) 4) Task queue info (including all partitions, backlog size etc) 5) Namespace info
Diagnose part: Check if there should have workflow task scheduled or started, but didn't happen. Check if there is any timer that should already fired but did not happen. Check if there is worker polling the right task queue.