Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflow Log Enhancements #946

Closed
rabollin opened this issue Nov 1, 2023 · 2 comments · Fixed by #978
Closed

Workflow Log Enhancements #946

rabollin opened this issue Nov 1, 2023 · 2 comments · Fixed by #978
Assignees
Milestone

Comments

@rabollin
Copy link

rabollin commented Nov 1, 2023

Improve the debuggability of Dapr Workflows by (a) identifying gaps in logging and improving them, and (b) making the error reporting consistent across.

Explore structured logging like TIME LEVEL WORKFLOW_ID SOURCE MESSAGE where SOURCE can be Dapr Client or DTF (can have subcategories which we MAY consider including worker/client/task - mostly not required from Python SDK POV). Also requires setting up logger formatter in DTF Clients for each SDK.

Logs grouping for Starting the DTF worker, successful connection to gRPC server etc.. Currently it shows just this one statement.

== APP - WorkflowConsoleApp == INFO: Durable Task worker is connecting to sidecar at 127.0.0.1:61659.

Workflow Execution: The logs are capturing only very superficial as Workflow started, waiting for activity as shown here (logs from Python SDK). Capture Workflow Name, Workflow ID too in the messages below.

== APP - order-processor == 2023-10-20 18:24:48.276 durabletask-worker INFO: Starting gRPC worker that connects to 127.0.0.1:61723

== APP - order-processor == 2023-10-20 18:24:48.285 durabletask-worker INFO: Successfully connected to 127.0.0.1:61723. Waiting for work items...

== APP - order-processor == start_resp = daprClient.start_workflow(workflow_component=workflow_component,

== APP - order-processor == Starting order workflow, purchasing 10 of cars

Workflow Activity level logging: The logs below show as waiting for tasks and events, but nothing beyond that. Should capture Parent ID (Workflow ID), Task ID, Task name, Task status, event ID, event status as relevant in each log message.

== APP - order-processor == 2023-10-20 18:24:52.332 durabletask-worker INFO: 57044fb1-5f7b-4912-ad6e-f87595cb6ec2: Waiting for 1 task(s) and 0 event(s).

18:24:52.402 durabletask-worker INFO: 57044fb1-5f7b-4912-ad6e-f87595cb6ec2: Waiting for 1 task(s) and 1 event(s).

Categorization of log levels for Workflow logs for ease – Warning, Info & Debug

Debug logs to contain more finer details about activities: Make sure that SDKs support disabling Debug logs to not bombard app logs with too many logs

@addjuarez
Copy link
Contributor

/assign

@addjuarez addjuarez removed their assignment Dec 11, 2023
@RyanLettieri
Copy link
Contributor

/assign

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants