Request Profiler
Form ID: (SM205070)
The Request Profiler is an embedded tool that you can use to troubleshoot performance-related issues in MYOB Acumatica or an MYOB Acumatica Framework-based application. For details, see System Health: Request Profiler.
Form Toolbar
The form toolbar includes only the form-specific buttons listed below.
Button | Description |
---|---|
Refresh Results | Refreshes the log data on the form. |
Clear Log | Clears the log data on the form. If particular requests are pinned on the Requests tab, the log data related to these requests remains on the form, while the log data related to the other requests is cleared. |
Export | Initiates the downloading of a ZIP archive with the logged requests exported to JSON format. |
Import | Open the Upload Logs dialog box, in which you can select a ZIP archive with logs in JSON format. |
Summary Area
In this area, you can review and edit the logging settings for the Request Profiler.
Element | Description |
---|---|
Default Logging (Expensive Requests and Requests with Important Exceptions) |
A check box that indicates (if selected, which is the default state) that the system logs the requests that comply with any of the following criteria:
Tip: By default, the monitoring of expensive requests
and important exceptions is enabled in the system. You may
choose not to perform manual tuning of requirements and to leave
the default settings in the Summary area of the form. By
default, this check box is selected, and the following check
boxes are cleared: Log Requests (Apply
Filter), Log SQL (Apply
Filter), Log Exceptions,
and Log Events (Apply Filter).
|
Element | Description |
---|---|
Log Requests (Apply Filter) | A check box that indicates (if selected) that URL requests in MYOB Acumatica should be stored in the database. You can log all URL requests, or you can use the other elements in this section to filter the requests that are logged. The system displays the list of the logged requests on the Requests tab of the form. |
Server Time Threshold | The server time threshold (in milliseconds) above which the
profiler records a request. You can use this setting to monitor long
URL requests. The threshold in this box is ignored if the Log Requests (Apply Filter) check box is cleared. |
SQL Count Threshold | The SQL count threshold above which the profiler records a
request. You can use this setting to monitor the URL requests that
execute many SQL queries. The threshold in this box is ignored if the Log Requests (Apply Filter) check box is cleared. |
URL | A substring that must be present in the URL for the profiler to
record a request. The substring in this box is ignored if the Log Requests (Apply Filter) check box is cleared. |
Username | A substring that must be present in the username for the profiler
to record requests. The substring in this box is ignored if the Log Requests (Apply Filter) check box is cleared. |
Element | Description |
---|---|
Log SQL (Apply Filter) | A check box that indicates (if selected) that the SQL queries
within the monitored URL requests should be stored in the database.
You can log all SQL queries, or you can use the other elements in
this section to filter the SQL requests that are logged. The system
displays the list of the logged SQL queries on the
SQL tab of the form. The selection of this check box is ignored if neither the Log Requests (Apply Filter) check box nor the Default Logging (Expensive Requests and Requests with Important Exceptions) check box is selected. Attention: We recommend that you activate the
logging of SQL queries by selecting the Log SQL (Apply Filter)
check box for only a limited period, because leaving this check box selected can degrade
system performance. |
Row Count Threshold | The threshold for the number of records processed by an SQL query
above which the profiler records a query. You can use this selection
criterion to monitor SQL queries that process many rows from the
database. The threshold in this box is ignored if the Log SQL (Apply Filter) check box is cleared. |
SQL Time Threshold | The SQL time threshold (in milliseconds) above which the profiler
records a query. You can use this selection criterion to monitor
long SQL queries. The threshold in this box is ignored if the Log SQL (Apply Filter) check box is cleared. |
Executed by Method | A substring (such as a method name) that must be present in the
stack trace for the profiler to record queries. The substring in this box is ignored if the Log SQL (Apply Filter) check box is cleared. |
Include Cached SQL Results | A check box that indicates (if selected) that the system includes
SQL queries that obtain results from a query cache (that is, not
from the database) in the log. The selection of this check box is ignored if the Log SQL (Apply Filter) check box is cleared. |
Element | Description |
---|---|
Log Exceptions | A check box that indicates (if selected) that the system logs exceptions. The system displays the list of the logged exceptions on the Exceptions tab of the form. |
Element | Description |
---|---|
Log Events (Apply Filter) | A check box that indicates (if selected) that the system logs
events. You can log all events, or you can use the other elements in
this section to filter the events that are logged. The system
displays the list of the logged events on the Event
Log tab of the form. Attention: We recommend that you activate the
logging of events by selecting the Log Events (Apply Filter)
check box for only a limited period, because leaving this check box selected can degrade
system performance. |
Log Level | The severity level of the events that should be logged. The box contains the following options, which are listed from the most to least severe:
|
Category | The category of the events that should be logged. You can select any number of the following options:
|
Requests Tab
The tab contains the list of URL requests saved by the profiler in the database. To update the table, click Refresh Results on the form toolbar. To clear the table, click Clear Log on the form toolbar.
Button | Description |
---|---|
View SQL | Opens the View SQL dialog box, which displays detailed information about the SQL queries within the particular URL request that is currently selected in the table. The profiler creates the lists for each log record if the Log SQL (Apply Filter) check box is selected in the SQL Logging section of the form. |
View Event Log | Opens the View Event Log dialog box, where you can review detailed information about the events that occurred within the particular URL request that is currently selected in the table. The profiler creates the lists for each URL request if the Log Events (Apply Filter) check box is selected in the Event Logging section of the form. |
Open URL | Opens the MYOB Acumatica form specified in the URL column of the URL request that is selected in the table. |
Pin/Unpin | Pins the URL request that is selected in the table to keep it for further review or unpins the pinned request. If you clear the log by clicking Clear Log on the form toolbar, the pinned requests remain in the list. |
Column | Description |
---|---|
Is Pinned | An icon that is displayed if the row is pinned; otherwise, the column is left empty for the row. |
Request Start Time | The date and time of the start of the URL request. |
Username | The username of the user who performed the URL request. |
URL | The URL of the request. You can click this URL to open the MYOB Acumatica form specified in the URL. |
Screen | The MYOB Acumatica form where the request was executed. You can click the link to open the form in a new browser tab. |
Request Type |
The type of the request. The request type can be one of the following:
|
Status | The status of the URL request. |
Command Target | The identifier of the control that created the URL request. |
Command Name | The type of the command that created the URL request. |
Client Time | The duration of the request execution in a browser on the client side (in milliseconds). |
Server Time, ms | The aggregate duration of the URL request execution on the server (in milliseconds). |
SQL Time, ms | The aggregate duration of execution of all the SQL queries in the URL request (in milliseconds). |
Server CPU, ms | The aggregate duration of CPU usage during the URL request (in milliseconds). |
SQL Count | The count of the SQL queries to the database in the URL request. This count is the difference between the total number of SQL queries in the URL request and the number of requests to the cache. |
Logged SQL Count | The count of the logged SQL queries in the URL request. If you click a link in this column, the system opens the View SQL dialog box with details about the logged SQL queries. |
SQL Rows | The number of records processed in the SQL query. |
Exceptions Count | The number of exceptions occurred during the URL request. |
Logged Exceptions Count | The number of exceptions logged during the URL request. If you click a link in this column, the system opens the Exception Profiler dialog box with details on the logged exceptions. |
Events Count | The number of events that occurred during the URL request. |
Logged Events Count | The number of events that were logged during the URL request. If you click a link in this column, the system opens the View Event Log dialog box with details on the logged events. |
Managed Memory | The memory volume used by MYOB Acumatica at the start time of the URL request (in megabytes). |
Managed Memory Bytes | The memory volume used by MYOB Acumatica at the start time of the URL request (in bytes). |
Peak Memory Bytes | The maximum excess of the memory volume (in bytes) used by MYOB Acumatica during the execution of the URL request above the memory volume
at the start time of the URL request (see the Managed
Memory Bytes column). Tip: The peak
memory byte value depends on other processes being performed on
the machine in the same period of time. |
Wait Time | The wait time, which is calculated by the following formula:
Server Time, ms - Server CPU, ms -
SQL Time, ms . |
Column | Description |
---|---|
Order | The order number of the statement execution within the URL request. |
Statement ID | The ID of the SQL query. |
Tables | The database tables used in the SQL query. |
Query Hash | The hash code for the SQL query. |
Row Count | The number of records processed in the SQL query. |
Start Time | The time that has passed from the start time of the URL request to the start time of the SQL query (in milliseconds). |
SQL Time, ms | The duration of the SQL query (in milliseconds). |
Parameters | The parameters of the SQL query, if available. |
From Cache | The check box that indicates (if selected) that the SQL query processed data from the query cache, not from the database. |
Column | Description |
---|---|
Start Time | The time that has passed from the start time of the URL request to the start time of the event (in milliseconds). |
Source | The source of the event. |
Event Type | The type of the event. |
Message | The text of the message assigned to the event. |
Column | Description |
---|---|
Start Time | The time that has passed from the start time of the URL request to the start time of the exception (in milliseconds). |
Source | The source of the exception. |
Exception Type | The type of the exception. |
Message | The text of the exception. |
SQL Tab
By using the SQL tab, you can review the logged SQL queries that comply with the specified filters. The same SQL query may be triggered by multiple URL requests with different parameters. The table displays aggregated information for each query.
The table toolbar includes only standard buttons. For the list of standard buttons, see Table Toolbar.
Column | Description |
---|---|
Statement ID | The ID of the SQL query. If you click a link in this column, the system opens the SQL Details dialog box with the details of the SQL query. |
Tables | The database tables used in the SQL query. |
SQL Text | The text of the SQL query. |
Query Hash |
The hash code for the SQL query. |
Total SQL Time, ms | The total duration for all executions of the SQL query (in milliseconds). |
Executions | The total number of SQL query executions. |
Total Rows | The total number of records processed in the SQL query. |
Element | Description |
---|---|
The Summary area has the following elements. | |
Statement ID | The ID of the SQL query. |
Total SQL Time, ms | The total duration for all executions of the SQL query (in milliseconds). |
Executions | The total number of SQL query executions. |
Total Row Count | The total number of records processed in the SQL queries. |
The table has the following columns. | |
Start Time | The time that has passed from the start time of the URL request to the start time of the SQL query (in milliseconds). |
Params | The parameters of the SQL query, if available. |
SQL Time, ms | The duration of the SQL query (in milliseconds). |
Row Count | The number of records processed in the SQL query. |
URL | The URL of the request that executed the SQL query. |
Command Target | The identifier of the control that executed the SQL query. |
Command Name | The type of the command that executed the SQL query. |
Stack Trace | The application stack trace at the moment of the SQL query. |
Exceptions Tab
By using the Exceptions tab, you can review the list of exceptions that have occurred during the processing of requests.
Button | Description |
---|---|
View Exception Details | Opens the View Exception Details dialog box with detailed information about the exception that is selected in the table. |
Column | Description |
---|---|
Tenant | The tenant to which the user was signed in when the exception occurred. |
Exception Type | The type of the exception. |
Exception Message | The text message of the exception. |
Count | The number of times the exception occurred. |
Last Occurred | The date and time of the latest occurrence of the exception. |
Last Screen | The ID of the MYOB Acumatica form on which the exception last occurred. |
Last Command Target | For the latest exception occurrence, the identifier of the control that created the URL request with the exception. |
Last Command Name | For the latest exception occurrence, the type of the command that created the URL request with the exception. |
Last Stack Trace | For the latest exception occurrence, the application stack trace at the moment of the URL request with the exception. |
Element | Description |
---|---|
Start Time | The date and time when the exception occurred. |
Screen | The ID of the MYOB Acumatica form on which the exception occurred. |
URL | The URL of the request whose execution caused the exception. |
Command Target | The identifier of the control that created the URL request with the exception. |
Command Name | The type of the command that created the URL request with the exception. |
Stack Trace | The application stack trace at the moment of the URL request with the exception. |
Event Log Tab
By using the Event Log tab, you review the list of events that occurred during request processing.
Button | Description |
---|---|
View Event Details | Opens the View Event Details dialog box with detailed information about the event that is selected in the table. |
Column | Description |
---|---|
Start Time | The date and time when the event occurred. |
Event Type | The type of the event. |
Username | The name of the user who performed the URL request that caused the event. |
Tenant | The tenant to which the user was signed in when the event occurred. |
Source | The source of the event. |
Screen | The ID of the MYOB Acumatica form on which the event occurred. |
Message | The text message of the event. |
Stack Trace | The application stack trace at the moment of the URL request that caused the event. |
URL | The URL of the request whose execution caused the event. Click this URL to open the MYOB Acumatica form specified in the URL. |
Command Target | The identifier of the control that created the URL request with the event. |
Command Name | The type of the command that created the URL request with the event. |
Element | Description |
---|---|
Start Time | The date and time when the event occurred. |
Event Type | The type of the event. |
Event Details | The event details in JSON format. |
Stack Trace | The application stack trace at the moment of the URL request that caused the event. |