Notifications

1481 views

Description

IMPORTANT DISCLAIMER

The contents of this article can be potentially performance impacting to your instance. It is strongly advised to not run these reports during normal business/peak hours.  

Should you observe performance degradation during the running of these reports then you should cancel your transaction. Administrators may cancel the running report via  Navpage > System Diagnostics > Active Transactions (All Nodes).

These reports come with the following additional provision:

As the report runs against the syslog_transaction table, your experience may vary depending on the volume of transactions within the window of time you define for the filter on each report.

Every transaction in the platform will make an entry to this table, therefore querying this table in a long-running report can potentially have a significant impact.

Do not run these reports should you see an impact.

Ensure these reports are not running during any performance debugging investigation.

Therefore you may need to modify the date ranges accordingly to minimize any impact on your instance. You may schedule the reports to run out of hours overnight and email you the results.

See the Documentation link at the end of this article.

Description

There are times when you wish to track changes in performance for certain types of requests, URLs, over a period of time. 
For example, after go-lives, code changes, update sets, etc.   This can be done by building out the following example reports. 

Once built, you can add/modify them to;

  • run weekly on a schedule and email a group of users overnight
  • modify time periods to weekly, monthly, 6 monthly
  • capture specific URLs, eg:  URL STARTS WITH /something.do (It is important to use STARTS WITH in this example, and NOT CONTAINS which can affect your instance's performance)

Other options could be to modify the Aggregation field from 'Client Response Time' to 'Browser Time' or 'Client Script Time', for example, if you're trying to track how long browsers take to render forms, or how much time Client Scripts take to run over your report time period.

Resolution

Attached to this article is the update set - 'sys_remote_update_set_ab24da7a135b1300f1cc70d66144b0ed.xml'
 
 
This contains an update set: 'KB0690914 Performance Report' which contains 4 reports based on the syslog_transaction table;
  • KB0690914 Performance Report - Forms
  • KB0690914 Performance Report - Reports
  • KB0690914 Performance Report - Lists
  • KB0690914 Performance Report - Client Transactions
Please test this in a Sub Prod instance by importing it:
  1. Visit your sub prod instance
  2. Navigate to System Update Sets > Retrieved Update Sets ( or direct: https://<instance-name>.service-now.com/sys_remote_update_set_list.do)
  3. In the Related Links: Import Update Set from XML
  4. Import the attachment.
 
(As these were created on an internal ServiceNow instance, you will need to validate, acknowledge and skip through the update set import errors due to the import set userID not existing within your instance )

 
You can then access them via the following;
 
  • KB0690914 Performance Report - Lists
    • https://<instance-name>.service-now.com/sys_report_template.do?jvar_report_id=45d3d6ba135b1300f1cc70d66144b092
  • KB0690914 Performance Report - Reports
    • https://<instance-name>.service-now.com/sys_report_template.do?jvar_report_id=91c3167a135b1300f1cc70d66144b052
  • KB0690914 Performance Report - Forms
    • https://<instance-name>.service-now.com/sys_report_template.do?jvar_report_id=73a3da7a135b1300f1cc70d66144b01f
  • KB0690914 Performance Report - Client Transactions
    • https://<instance-name>.service-now.com/sys_report_template.do?jvar_report_id=3fe3d6ba135b1300f1cc70d66144b09e
You can create your own homepage or dashboard, then edit the reports and attach them to the homepage or dashboard. You can then also INSERT AND STAY to add new versions of those reports, eg: by modifying the Aggregated field to Browser Time. 
 

Further Suggestions

  • You can also add a date range so that you can then run it week by week (schedule the report).
  • You can also add TYPE = form / list / report / (or none for all client transactions).
  • You could have a report for specific URL starts with /incident.do, /incident_list.do, /change.do, type = report, type = list etc.. so you can track different urls per time window and client transactions

Note: As this data is coming from the transaction log table, 'Client Response Time' is in ms - therefore 14,000 = 14 seconds.

Sample report definitions and output below;

FORMS
Sample FORMS report


LISTS
Sample LISTS Report


REPORTS
Sample REPORTS Report


CLIENT TRANSACTIONS
Sample CLIENT TRANSACTIONS Report




Here are two samples (with output), of Type = FORMS last 7 days, and Type = FORMS, last 30 days


FORMS - Past 7 Days - Sample with Output

Past 7 days report

Past 7 days report output


FORMS - Past 30 Days - Sample with Output

Past 30 days report

Past 7 days report output

Additional Information

Product Documentation:

Related Knowledge:

Article Information

Last Updated:2019-09-10 03:58:16
Published:2019-09-09