Report Server Execution Log and the ExecutionLog3 View
The report server execution log contains information about the reports that execute on the server or on multiple servers in a native mode scale-out deployment or a SharePoint farm. You can use the report execution log to find out how often a report is requested, what output formats are used the most, and how many milliseconds of processing time is spent on each processing phase. The log contains information on the length of time spent executing a report's dataset query and the time spent processing the data. If you are a report server administrator, you can review the log information and identify long running tasks and make suggestions to the report authors on the areas of the report (dataset or processing) they may be able to improve.
Report servers configured for SharePoint mode, can also utilize the SharePoint ULS logs. For more information, see Turn on Reporting Services events for the SharePoint trace log (ULS)
Viewing Log Information
The report server execution logs data about report execution into an internal database table. The information from the table is available from SQL Server views.
The report execution log is stored in the report server database that by default is named ReportServer. The SQL views provide the execution log information. The “2” and “3” views were added in more recent releases and contain new fields or they contain fields with friendlier names than the previous releases. The older views remain in the product so custom applications that depend on them are not impacted. If you do not have a dependence on an older view, for example ExecutionLog, it is recommended you use the most recent view, ExecutionLog3.
In this topic:
Configuration Settings for a SharePoint mode Report Server
Configuration Settings for a Native Mode Report Server
ExecutionLog3
The AdditionalInfo field
ExecutionLog2
ExecutionLog
Top
Configuration Settings for a SharePoint mode Report Server
You can turn report execution logging on or off from the system settings of a Reporting Services service application.
By default, log entries are kept 60 days. Entries that exceed this date are removed at 2:00 A.M. every day. On a mature installation, only 60 days of information will be available at any given time.
You cannot set limits on the number of rows or on the type of entries that are logged.
To enable execution logging:
From SharePoint Central Administration, click Manage service applications in the Application Management group.
Click the name of the Reporting Services service application you want to configure.
Click System Settings.
Select Enable Execution Logging in the Logging section.
Click OK.
To enable verbose logging:
You need to enable logging as described in the previous steps and then complete the following:
From the System Settings page of your Reporting Services services application, find the User-defined section.
Change the ExecutionLogLevel to verbose. This field is a text entry field and the two possible values are verbose and normal.
Top
Configuration Settings for a Native Mode Report Server
You can turn report execution logging on or off from the Server Properties page in SQL Server Management Studio. The EnableExecutionLogging is and Advanced property.
By default, log entries are kept 60 days. Entries that exceed this date are removed at 2:00 A.M. every day. On a mature installation, only 60 days of information will be available at any given time.
You cannot set limits on the number of rows or on the type of entries that are logged.
To enable execution logging:
Start SQL Server Management Studio with administrative privileges. For example right-click the Management Studio icon and click ‘Run as administrator’.
Connect to the desired report server.
Right-click the server name and click Properties. If the Properties option is disabled, verify you ran SQL Server Management Studio with administrative privileges.
Click the Logging page.
Select Enable report execution Logging.
To enable verbose logging:
You need to enable logging as described in the previous steps and then complete the following:
From the Server Properties dialog, click the Advanced page.
In the User-defined section, change the ExecutionLogLevel to verbose. This field is a text entry field and the two possible values are verbose and normal.
Top
Log Fields (ExecutionLog3)
This view added additional performance diagnostics node inside the XML based AdditionalInfo column. The AdditionalInfo column contains an XML structure of 1 to many additional fields of information. The following is a sample Transact SQL statement to retrieve rows from the view ExecutionLog3. The sample assumes the report server database is named ReportServer:
Use ReportServer
select * from ExecutionLog3 order by TimeStart DESC
The following table describes the data that is captured in the report execution log
Column |
Description |
---|---|
InstanceName |
Name of the report server instance that handled the request. If your environment has more than one report server, you can analyze the InstanceName distribution to monitor and determine if your network-load balancer distributes requests across report servers as expected. |
ItemPath |
Path of where a report or report item is stored. |
UserName |
User identifier. |
ExecutionID |
The internal identifier associated with a request. Requests on the same user sessions share the same execution id. |
RequestType |
Possible Values:
Analyzing log data filtered by RequestType=Subscription and sorted by TimeStart may reveal periods of heavy subscription usage and you may want to modify some of the report subscriptions to a different time. |
Format |
Rendering format. |
Parameters |
Parameter values used for a report execution. |
ItemAction |
Possible values:
|
TimeStart |
Start and stop times that indicate the duration of a report process. |
TimeEnd |
|
TimeDataRetrieval |
Number of milliseconds spent retrieving the data. |
TimeProcessing |
Number of milliseconds spent processing the report. |
TimeRendering |
Number of milliseconds spent rendering the report. |
Source |
Source of the report execution. Possible values:
Cache: Iindicates a cached execution, for example, dataset queries are not executed live. AdHoc: Indicates either a dynamically generated report model based drill through report, or a Report Builder report that is previewed on a client utilizing the report server for processing and rendering. Session: Indicates a follow up request within an already established session. For example the initial request is to view page 1, and the follow up request is to export to Excel with the current session state. Rdce Indicates a Report Definition Customization Extension. An RDCE custom extension can dynamically customize a report definition before it is passed to the processing engine upon report execution. |
Status |
Status (either rsSuccess or an error code; if multiple errors occur, only the first error is recorded). |
ByteCount |
Size of rendered reports in bytes. |
RowCount |
Number of rows returned from queries. |
AdditionalInfo |
An XML property bag containing additional information about the execution. The contents can be different for each row. |
Top
The AdditionalInfo Field
The AdditionalInfo field is an XML property bag or structure containing additional information about the execution. The contents can be different for each row in the log.
The following tables are examples of the contents of the AddtionalInfo field for both standard and verbose logging:
Standard logging example of AddtionalInfo |
---|
|
Verbose logging example of AdditionalInfo |
---|
|
The following table describes some of the values you will see in the AdditionalInfo field:
Property |
Notes |
---|---|
ProcessingEngine |
1=SQL Server 2005, 2=The new On-demand Processing Engine. If you a majority of your reports are still showing the value of 1, you may investigate how to redesign them so they utilize the newer and more efficient on-demand processing engine. <ProcessingEngine>2</ProcessingEngine> |
ScalabilityTime |
The number of milliseconds spent performing scale related operations in the processing engine. A value of 0 indicates that no additional time was spent on scale operations and a 0 also indicates the request was not under memory pressure.
|
EstimatedMemoryUsageKB |
An estimate of the peak amount of memory, in kilobytes, consumed by each component during a particular request.
|
DataExtension |
The types of data extensions or data sources used in the report. The number is a count of the number of occurrences of the particular data source.
|
ExternalImages |
Added in SQL Server 2012 The value is in miliseconds. This data can be used to diagnose performance issues. The time needed to retrieve images from an external webserver may slow the overall report execution.
|
Connections |
Added in SQL Server 2012 A multi-leveled structure
|
Top
Log Fields (ExecutionLog2)
This view added a few new fields and renamed a few others. The following is a sample Transact SQL statement to retrieve rows from the view ExecutionLog2. The sample assumes the report server database is named ReportServer:
Use ReportServer
select * from ExecutionLog2 order by TimeStart DESC
The following table describes the data that is captured in the report execution log
Column |
Description |
---|---|
InstanceName |
Name of the report server instance that handled the request. |
ReportPath |
The path structure to the report. For example a report named ”test” which is the in root folder in Report Manager, would have a ReportPath of “/test”. A report named “test” that is saved in the folder “samples” on Report Manager , will have a ReportPath of “/Samples/test/” |
UserName |
User identifier. |
ExecutionID |
|
RequestType |
Request type (either user or system). |
Format |
Rendering format. |
Parameters |
Parameter values used for a report execution. |
ReportAction |
Possible values: Render, Sort, BookMarkNavigation, DocumentNavigation, GetDocumentMap, Findstring |
TimeStart |
Start and stop times that indicate the duration of a report process. |
TimeEnd |
|
TimeDataRetrieval |
Number of milliseconds spent retrieving the data, processing the report, and rendering the report. |
TimeProcessing |
|
TimeRendering |
|
Source |
Source of the report execution (1=Live, 2=Cache, 3=Snapshot, 4=History). |
Status |
Status (either rsSuccess or an error code; if multiple errors occur, only the first error is recorded). |
ByteCount |
Size of rendered reports in bytes. |
RowCount |
Number of rows returned from queries. |
AdditionalInfo |
An XML property bag containing additional information about the execution. |
Top
Log Fields (ExecutionLog)
The following is a sample Transact SQL statement to retrieve rows from the view ExecutionLog. The sample assumes the report server database is named ReportServer:
Use ReportServer
select * from ExecutionLog order by TimeStart DESC
The following table describes the data that is captured in the report execution log
Column |
Description |
---|---|
InstanceName |
Name of the report server instance that handled the request. |
ReportID |
Report identifier. |
UserName |
User identifier. |
RequestType |
Possible values: True = A Subscription request False= An Interactive request |
Format |
Rendering format. |
Parameters |
Parameter values used for a report execution. |
TimeStart |
Start and stop times that indicate the duration of a report process. |
TimeEnd |
|
TimeDataRetrieval |
Number of milliseconds spent retrieving the data, processing the report, and rendering the report. |
TimeProcessing |
|
TimeRendering |
|
Source |
Source of the report execution. Possible values: (1=Live, 2=Cache, 3=Snapshot, 4=History, 5=Adhoc, 6=Session, 7=RDCE). |
Status |
Possible values: rsSuccess, rsProcessingAborted, or an error code. If multiple errors occur, only the first error is recorded. |
ByteCount |
Size of rendered reports in bytes. |
RowCount |
Number of rows returned from queries. |
Top
See Also
Tasks
Turn on Reporting Services events for the SharePoint trace log (ULS)