{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":48801,"path":"servicenow-platform/service-catalog/c_ItemDiagnostic.md","title":"Item diagnostic report","bundle":null,"doc_type":null,"release":"australia","body":"\n# Item diagnostic report\n\nFor a catalog item data and configuration, you can identify possible violations from the ServiceNow recommended practices.\n\nThe item diagnostic report includes a score that measures the health of the item, and a list of diagnostic result entries. These entries consist of a rule, a document \\(record that violates the rule\\), and a count \\(the number of violations in the record\\).\n\nCorrect violations for best performance and to maintain expected behavior.\n\nThe lower the score, the better \\(0 is ideal\\). A higher score means that an item has more violations from the ServiceNow recommended practices. Each rule has a different weight and level of importance. For example, a violation of duplicate variables is more likely to result in user issues. An AJAX usage violation is less likely to cause issues since the result could simply cause a delay in the UI.\n\n## Default diagnostic rules\n\nThese diagnostic rules are designed according to ServiceNow recommended practices.\n\n<table id=\"table_zks_hbc_mv\"><thead><tr><th>\n\nRule\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\ncheckUserCriteriaUsage\n\n</td><td>\n\nIdentifies if the item is using entitlements instead of user criteria\n\n</td></tr><tr><td>\n\ncheckBalancedContainers\n\n</td><td>\n\nChecks if the Container Start and Container End variables are balanced.\n\n</td></tr><tr><td>\n\ncheckDuplicateVariables\n\n</td><td>\n\nIdentifies variables with the same name associated to a catalog item \\(or an associated variable set\\).\n\n</td></tr><tr><td>\n\ncheckDOMManipulation\n\n</td><td>\n\nIdentifies any DOM violation in catalog client scripts. The DOM is not guaranteed to be the same between releases and can affect catalog client scripts during upgrades. Therefore, it is not recommended for customers to do any kind of DOM manipulation. You can view detailed information for each client script by clicking the information icon.\n\n</td></tr><tr><td>\n\ncheckLookupVariableRowCount\n\n</td><td>\n\nChecks if the Lookup variable is run on tables with many records as it can lead to slower load times.\n\n</td></tr><tr><td>\n\ncheckAJAX\n\n</td><td>\n\nIdentifies all AJAX calls in catalog client scripts because, although AJAX calls in catalog client scripts are allowed, they must be asynchronous. All AJAX calls are listed because even asynchronous calls can cause some delay.You can view detailed information for each client script by clicking the information icon.\n\n</td></tr><tr><td>\n\ncheckSelectBoxUnique\n\n</td><td>\n\nIdentifies Select Box type variables that have the attribute enabled to show only unique entries in the select box.\n\n</td></tr><tr><td>\n\ncheckOrderGuideRuleBaseCount\n\n</td><td>\n\nChecks for high number of active rule bases in an order guide as higher number of rule bases can lead to slower load times\n\n</td></tr><tr><td>\n\ncheckFormatterVariablesUsage\n\n</td><td>\n\nChecks if the item has the following variable types:-   Macro\n-   Macro with label\n-   UI Page\n\n For information on the variable availability across various channels, see [Variable support in various channels](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/servicenow-platform/service-catalog/variables-availability.md).\n\n</td></tr></tbody>\n</table>-   **[Run the Item Diagnostic Results report](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/servicenow-platform/service-catalog/run-item-diag-results.md)**  \nIdentify the catalog items that are not designed per ServiceNow recommended practices to run your catalog efficiently.\n\n**Parent Topic:**[Debugging Service Catalog](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/servicenow-platform/service-catalog/debugging-service-catalog.md)\n\n"}}