Linking Activity to Orchestrator logging

Koos van Strien 1 Reputation point
2020-10-07T15:30:55.15+00:00

I have an Azure Durable Functions app using Python.
There is some logging going on inside my activity functions, but I'm currently not able to join them to any orchestrator who could have called it.

According to Microsoft Learn, the tracking data for a single instance can be found using a relatively simple Kusto query, such as:

   let targetInstanceId = "738d35af29844603b4e68bfc6698b38f";  
   let start = datetime(2020-09-23T09:50:00);  
   traces  
   | where timestamp > start and timestamp < start + 30m  
   | where customDimensions.Category == "Host.Triggers.DurableTask"  
   | extend functionName = customDimensions["prop__functionName"]  
   | extend instanceId = customDimensions["prop__instanceId"]  
   | extend state = customDimensions["prop__state"]  
   | extend isReplay = tobool(tolower(customDimensions["prop__isReplay"]))  
   | extend sequenceNumber = tolong(customDimensions["prop__sequenceNumber"])  
   | where isReplay != true  
   | where instanceId == targetInstanceId  
   | sort by timestamp asc, sequenceNumber asc  
   | project timestamp, functionName, state, instanceId, sequenceNumber, appName = cloud_RoleName  

Although this does report back the activities that were started, it doesn't show the logging from my Python app.
However, I can find the logging when directly digging into traces - for example:

   let start = datetime(2020-09-23T09:50:00);  
   traces  
   | where operation_Name == 'NAME_OF_MY_ACTIVITY'  
   | where timestamp >= start and timestamp < start + 30m  
   | limit 20  

This does in fact yield my logging, but doesn't provide me with any clues to which orchestrator instance this activity "belonged":

  • customDimensions['prop__instanceId'] is empty
  • operation_ParentId points to the id inside the requests table
  • .... which is where the trail ends

So basically I see the two pieces:

  • Orchestrator on the one side, with activity status but without activity logging
  • Activity logging on the other side, without any clues (as far as I can see) how to link this to the accompanying orchestrator

How can I see which activity-level logging belongs to which orchestration?

Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
4,907 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Chris Gillum 1 Reputation point
    2020-10-08T00:53:14.267+00:00

    I think this is a gap in our logging capabilities right now. We're working on a broader end-to-end correlation feature that I think would help here, but it's not yet available. Would you mind opening an issue in our GitHub repo to track adding support for making it easy to view the framework traces together with the app traces, like what you're trying to accomplish? https://github.com/Azure/azure-functions-durable-python


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.