Understanding the performance of ArcGIS Data Reviewer-based attribute rules in ArcGIS Server can be challenging, particularly when evaluating large volumes of data. This tool was developed in response to a series of user troubleshooting engagements where users were trying to understand where time is actually being spent during validation attribute rule evaluation. By helping users analyze and break down the time for Data Reviewer attribute rule execution, the tool provides greater visibility into validation rule performance, making it easier to identify bottlenecks, troubleshoot issues, and optimize enterprise workflows.
Complete the following steps to run the log parser tool:
At a high level, every evaluation consists of three phases: reading, validation, and writing. Reading includes the time spent syncing geodatabase features into the temporary SQLite tables preparing them for processing. Validation encompasses the running of Data Reviewer attribute rules. Writing represents the tasks needed to update the geodatabase with results, such as recording new errors, updating fixed errors, updating existing errors, and updating the validation status field.
When Data Reviewer-based validation attribute rules are evaluated, ArcGIS Server uses several optimizations to process rules more efficiently. One of these optimizations is the creation of a temporary SQLite database that contains only those features and fields needed for the evaluation, allowing multiple Data Reviewer attribute rules in the same evaluation to use the same cached data. Similar evaluations can also be combined to improve overall processing efficiency.
The Reviewer Log Parser helps determine where time is being spent during the evaluation process. It reads ArcGIS Server log files from a selected folder and looks for Data Reviewer validation messages written by the ReviewerUtilities method. The tool then groups related messages by request ID, allowing each validation to be analyzed separately. For every log message, the tool captures the message text, timestamp, elapsed time, source log file, and line number. It also calculates a Unix timestamp to support chronological sorting and downstream analysis.
To support general awareness and deeper troubleshooting, the tool produces two outputs. The first is a CSV file that contains the output details of each log message as described above. The second is an Excel workbook that summarizes each validation run in a more readable format. The workbook opens with a README worksheet that explains the report assumptions, followed by one worksheet per request ID (named using the first 31 characters of the request ID). Each run worksheet lists the parsed operations, describes what each operation represents, breaks elapsed time into Reading, Validation, and Writing time in seconds, and includes phase totals formatted as hours, minutes, and seconds.
Note: When building the run worksheets, the parser tries to avoid double-counting sync time. If a sync operation occurs during a validation operation, the tool subtracts that sync time from the validation total and reports it separately as Reading Time.
If you need additional detail, the CSV output lets you trace a summarized operation back to the original log message. Start with the worksheet name, which is based on the first 31 characters of the request ID. Then open the CSV, find the matching request ID, and compare the operation text from the workbook to the message field in the CSV. Because the CSV also includes the source log path and line number, you can use it to locate the original message in the ArcGIS Server log file.
With this tool come some important items to be aware of. They are as follows:
This is the first version of the tool, and we welcome your feedback. Whether you’re using it to troubleshoot performance issues or just better understand validation behavior, we’d like to hear your experience. Feedback, enhancement ideas, and bug reports will help guide future improvements and help make the tools even more valuable.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.