Why there are multiple records created in diagnostic log when a client application queries Azure Analysis Services data?

DebLau 0 Reputation points
2023-11-30T13:53:43.5333333+00:00

For an Azure Analysis Services server, I have added a diagnostic setting to send engine logs to a blob container. In the diagnostic setting, I have chosen the logs with engine as the category. The purpose of having this diagnostic setting is to monitor usage and performance of this server. The users of this server usually have queries when they refresh their Power BI reports that use this server as data source.

However, I have questions when understanding the logs. One question is that when a Power BI report is refreshed, I can see there are multiple records created for the user that refreshes that report. In one case, I see that there is one record where the field 'level' equals 2 while other records equal 4. These records all have the same values in the fields, 'RootActivityId', 'SessionID' and 'SPID'.

So what are the meanings of these fields and why there are multiple records created for a user that has only refreshed a Power BI report? This is important for me to understand these in order to identify the root cause when the performance of this server is bad.

Azure Analysis Services
Azure Analysis Services
An Azure service that provides an enterprise-grade analytics engine.
443 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Amira Bedhiafi 18,741 Reputation points
    2023-12-01T15:33:34.5666667+00:00

    RootActivityId is used to correlate all the activities that are part of a single operation. In your case, all log entries generated during the refresh of a Power BI report would share the same RootActivityId, indicating they are part of the same overarching process.

    SessionID is the unique identifier for a user session, a single session can involve multiple operations or queries, each logged separately.

    SPID is the Server Process ID so Different SPIDs may handle different aspects of the same query or operation.

    If I go back to AAS, the 'level' logs typically represents the severity or nature of the log entry. The specific meaning of the numbers can vary, but commonly, lower numbers indicate higher severity

    A 'level' of 2 might indicate a warning or an error, suggesting that something significant, but not necessarily critical, occurred during the process.

    A 'level' of 4 is likely to be informational, indicating routine operations.

    The fact that these logs share the same 'RootActivityId', 'SessionID', and 'SPID' indicates they are part of the same overall operation or session.