Skip to content

Commit fae6b5e

Browse files
committed
update
1 parent 5555bc4 commit fae6b5e

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

articles/azure-functions/durable/durable-functions-troubleshooting-guide.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Use the following steps to troubleshoot stuck orchestrations:
5454

5555
1. Try restarting the function app. This step can help if the orchestration gets stuck due to a transient bug or deadlock in either the app or the extension code.
5656

57-
2. Check the Azure Storage account control queues to see if any queues are growing continuously. [This query](./durable-functions-troubleshooting-guide.md#azure-storage-messaging) could indicate a problem with dequeuing orchestration messages. If the problem impacts only a single control queue, it might indicate a problem that exists only on a specific app instance, in which case scaling up or down to move off the unhealthy VM instance could help.
57+
2. Check the Azure Storage account control queues to see if any queues are growing continuously. [This Azure Storage messaging KQL query](./durable-functions-troubleshooting-guide.md#azure-storage-messaging) can help identify problems with dequeuing orchestration messages. If the problem impacts only a single control queue, it might indicate a problem that exists only on a specific app instance, in which case scaling up or down to move off the unhealthy VM instance could help.
5858

5959
3. Use the Application Insights query in the [Azure Storage Messaging section](./durable-functions-troubleshooting-guide.md#azure-storage-messaging) to filter on that queue name as the Partition ID and look for any problems related to that control queue partition.
6060

@@ -83,11 +83,11 @@ When using the default storage provider, all Durable Functions behavior is drive
8383

8484
Starting in v2.3.0 of the Durable Functions extension, you can have these Durable Task Framework logs published to your Application Insights instance by updating your logging configuration in the host.json file. See the [Durable Task Framework logging article](./durable-functions-diagnostics.md) for information and instructions on how to do this.
8585

86-
The following query is for inspecting end-to-end Azure Storage interactions for a specific orchestration instance. Edit `start` and `queryInstanceId` to filter by time range and instance ID.
86+
The following query is for inspecting end-to-end Azure Storage interactions for a specific orchestration instance. Edit `start` and `orchestrationInstanceID` to filter by time range and instance ID.
8787

8888
```kusto
8989
let start = datetime(XXXX-XX-XXTXX:XX:XX); // edit this
90-
let queryInstanceId = "XXXXXXX"; //edit this
90+
let orchestrationInstanceID = "XXXXXXX"; //edit this
9191
traces
9292
| where timestamp > start and timestamp < start + 1h
9393
| where customDimensions.Category == "DurableTask.AzureStorage"
@@ -108,17 +108,17 @@ traces
108108
| extend pid = customDimensions["ProcessId"]
109109
| extend appName = cloud_RoleName
110110
| extend newEvents = customDimensions["prop__NewEvents"]
111-
| where instanceId == queryInstanceId
111+
| where instanceId == orchestrationInstanceID
112112
| sort by timestamp asc
113113
| project timestamp, appName, severityLevel, pid, taskName, eventType, message, details, messageId, partitionId, instanceId, executionId, age, latencyMs, dequeueCount, eventCount, newEvents, taskHub, account, extendedSession, sdkVersion
114114
```
115115

116116
### Trace Errors/Warnings
117117

118-
The following query searches for errors and warnings for a given orchestration instance. You'll need to provide a value for `queryInstanceId`.
118+
The following query searches for errors and warnings for a given orchestration instance. You'll need to provide a value for `orchestrationInstanceID`.
119119

120120
```kusto
121-
let queryInstanceId = "XXXXXX"; // edit this
121+
let orchestrationInstanceID = "XXXXXX"; // edit this
122122
let start = datetime(XXXX-XX-XXTXX:XX:XX);
123123
traces
124124
| where timestamp > start and timestamp < start + 1h
@@ -129,22 +129,22 @@ traces
129129
| extend details = customDimensions["prop__Details"]
130130
| extend reason = customDimensions["prop__reason"]
131131
| where severityLevel > 1 // to see all logs of severity level "Information" or greater.
132-
| where instanceId == queryInstanceId
132+
| where instanceId == orchestrationInstanceID
133133
| sort by timestamp asc
134134
```
135135

136136
### Control queue / Partition ID logs
137-
The following query searches for activity associated with an instanceId's control queue. You'll need to provide the value for the instanceID in `queryInstanceId` as well as the query's start time in `start`.
137+
The following query searches for activity associated with an instanceId's control queue. You'll need to provide the value for the instanceID in `orchestrationInstanceID` as well as the query's start time in `start`.
138138

139139
```kusto
140-
let queryInstanceId = "XXXXXX"; // edit this
140+
let orchestrationInstanceID = "XXXXXX"; // edit this
141141
let start = datetime(XXXX-XX-XXTXX:XX:XX); // edit this
142142
traces // determine control queue for this orchestrator
143143
| where timestamp > start and timestamp < start + 1h
144144
| extend instanceId = customDimensions["prop__TargetInstanceId"]
145145
| extend partitionId = tostring(customDimensions["prop__PartitionId"])
146146
| where partitionId contains "control"
147-
| where instanceId == queryInstanceId
147+
| where instanceId == orchestrationInstanceID
148148
| join (
149149
traces
150150
| where timestamp > start and timestamp < start + 1h
@@ -171,14 +171,15 @@ traces
171171
| project timestamp, appName, severityLevel, pid, taskName, eventType, message, details, messageId, partitionId, instanceId, executionId, age, latencyMs, dequeueCount, eventCount, newEvents, taskHub, account, extendedSession, sdkVersion
172172
```
173173

174+
### Application Insights column reference
174175
Below is a list of the columns projected by the queries above and their respective descriptions.
175176

176177
|Column |Description |
177178
|-------|------------|
178179
|pid|Process ID of the function app instance. This is useful for determining if the process was recycled while an orchestration was executing.|
179180
|taskName|The name of the event being logged.|
180181
|eventType|The type of message, which usually represents work done by an orchestrator. A full list of its possible values, and their descriptions, is [here](https://github.com/Azure/durabletask/blob/main/src/DurableTask.Core/History/EventType.cs)|
181-
|extendedSession|Boolean value indicating whether [ExtendedSessions](durable-functions-azure-storage-provider.md#extended-sessions) is enabled.|
182+
|extendedSession|Boolean value indicating whether [extended sessions](durable-functions-azure-storage-provider.md#extended-sessions) is enabled.|
182183
|account|The storage account used by the app.|
183184
|details|Additional information about a particular event, if available.|
184185
|instanceId|The ID for a given orchestration or entity instance.|

0 commit comments

Comments
 (0)