From ICIHelp8.2
Jump to: navigation, search
(Created page with " = Introduction = To simplify and enhance the troubleshooting process, three new features are introduced.  #Error-handling process standardized   A new error c...")
 
 
Line 1: Line 1:
 +
  
 
= Introduction =
 
= Introduction =
Line 7: Line 8:
  
 
A new error coding mechanism is designed and implemented to help customers report issues substantiated by an error code.  The error code helps determine the severity, origin, source, area, module, and sub-module of the error. ExceptionHandler attribute is introduced, which will have following Origin, Area, Module, Sub Module in the form of code. When an error occurs, the error code is displayed on the error message, see the screenshot below. (ExceptionHandler attribute is introduced, which will have following Origin, Area, Module, Sub Module in the form of code.) 
 
A new error coding mechanism is designed and implemented to help customers report issues substantiated by an error code.  The error code helps determine the severity, origin, source, area, module, and sub-module of the error. ExceptionHandler attribute is introduced, which will have following Origin, Area, Module, Sub Module in the form of code. When an error occurs, the error code is displayed on the error message, see the screenshot below. (ExceptionHandler attribute is introduced, which will have following Origin, Area, Module, Sub Module in the form of code.) 
<div class="image-green-border" paraeid="{90041f2e-8d55-463e-bb13-497c7ad10b26}{186}" paraid="899733458">[[File:Error Message EH01.PNG]]</div> <div class="image-green-border" paraeid="{90041f2e-8d55-463e-bb13-497c7ad10b26}{186}" paraid="899733458">&nbsp;</div> <div class="image-green-border" paraeid="{90041f2e-8d55-463e-bb13-497c7ad10b26}{186}" paraid="899733458">For example – Error Code 50000030021360x8013153&nbsp;</div> <div class="image-green-border" paraeid="{90041f2e-8d55-463e-bb13-497c7ad10b26}{186}" paraid="899733458">&nbsp;</div> <div class="image-green-border" paraeid="{90041f2e-8d55-463e-bb13-497c7ad10b26}{186}" paraid="899733458">
+
<div class="image-green-border">[[File:Error Message EH01.PNG|RTENOTITLE]]</div> <div class="image-green-border">&nbsp;</div> <div class="image-green-border">For example – Error Code 50000030021360x8013153&nbsp;</div> <div class="image-green-border">&nbsp;</div> <div class="image-green-border">
&nbsp;
+
[[File:8.2 EE 01.PNG]]
 
+
{| aria-rowcount="24" border="1" data-tablelook="1184" data-tablestyle="MsoNormalTable" style="width: 614px;"
+
|- aria-rowindex="1" role="row"
+
| colspan="1" data-celllook="69905" role="rowheader" rowspan="2" style="width: 19px;" |
+
'''Bit #&nbsp;'''
+
 
+
| colspan="1" data-celllook="69905" role="columnheader" rowspan="2" style="width: 105px;" |
+
'''Significance&nbsp;'''
+
 
+
| colspan="1" data-celllook="69905" role="columnheader" rowspan="2" style="width: 276px;" |
+
&nbsp;
+
 
+
| data-celllook="69905" role="columnheader" style="width: 205px;" |
+
'''Example&nbsp;'''
+
 
+
|- aria-rowindex="2" role="row"
+
| data-celllook="69905" style="width: 205px;" |
+
'''(50000030021360x8013153)'''&nbsp;
+
 
+
|- aria-rowindex="3" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
1&nbsp;
+
 
+
| data-celllook="69905" style="width: 105px;" |
+
Severity&nbsp;
+
 
+
| data-celllook="69905" style="width: 276px;" |
+
5 - Critical, 4- Error, 3- Warning, 2- Information, 1 –Trace
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
5&nbsp;
+
 
+
|- aria-rowindex="4" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
2&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="2" style="width: 105px;" |
+
Origin&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="2" style="width: 276px;" |
+
00-Core, 01-Plugin, 02-BizApp, 03-Partner, 04-Integration&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
0&nbsp;
+
 
+
|- aria-rowindex="5" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
3&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
0&nbsp;
+
 
+
|- aria-rowindex="6" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
4&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="2" style="width: 105px;" |
+
Source&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="2" style="width: 276px;" |
+
00- Internal, 01-SQLServer,02-Elastic Search,03-Redis,04-Azure, 05-ServiceBus,06-Storage&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
0&nbsp;
+
 
+
|- aria-rowindex="7" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
5&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
0&nbsp;
+
 
+
|- aria-rowindex="8" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
6&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="2" style="width: 105px;" |
+
Area&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="2" style="width: 276px;" |
+
01-ACF, 02-Application, 03-CLM, 04-Digger, 05-Integration&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
0&nbsp;
+
 
+
|- aria-rowindex="9" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
7&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
3&nbsp;
+
 
+
|- aria-rowindex="10" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
8&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="3" style="width: 105px;" |
+
Module&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="3" style="width: 276px;" |
+
Range from 000 to 052 (Code - Projects)&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
0&nbsp;
+
 
+
|- aria-rowindex="11" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
9&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
0&nbsp;
+
 
+
|- aria-rowindex="12" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
10&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
2&nbsp;
+
 
+
|- aria-rowindex="13" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
11&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="3" style="width: 105px;" |
+
SubModule&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="3" style="width: 276px;" |
+
Range from 000 to 290 (Code - Projects/Folders)&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
1&nbsp;
+
 
+
|- aria-rowindex="14" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
12&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
3&nbsp;
+
 
+
|- aria-rowindex="15" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
13&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
6&nbsp;
+
 
+
|- aria-rowindex="16" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
14&nbsp;
+
 
+
| colspan="1" data-celllook="69905" rowspan="9" style="width: 105px;" |
+
Error Code&nbsp;
+
 
+
| data-celllook="69905" style="width: 276px;" |
+
.net framework Hresult Value, which is a standard and can be googled to get the exception details&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
0&nbsp;
+
 
+
|- aria-rowindex="17" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
15&nbsp;
+
 
+
| data-celllook="69905" style="width: 276px;" |
+
Ex.0x8013153&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
x&nbsp;
+
 
+
|- aria-rowindex="18" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
16&nbsp;
+
 
+
| data-celllook="69905" style="width: 276px;" |
+
OR&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
8&nbsp;
+
 
+
|- aria-rowindex="19" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
17&nbsp;
+
 
+
| data-celllook="69905" style="width: 276px;" |
+
ICI Specific Exception Hresult starting from 99100000 to 99100014. This list will grow over the coure of time.&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
0&nbsp;
+
 
+
|- aria-rowindex="20" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
18&nbsp;
+
 
+
| data-celllook="69905" style="width: 276px;" |
+
&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
1&nbsp;
+
 
+
|- aria-rowindex="21" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
19&nbsp;
+
 
+
| data-celllook="69905" style="width: 276px;" |
+
&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
3&nbsp;
+
 
+
|- aria-rowindex="22" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
20&nbsp;
+
 
+
| data-celllook="69905" style="width: 276px;" |
+
&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
1&nbsp;
+
 
+
|- aria-rowindex="23" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
21&nbsp;
+
 
+
| data-celllook="69905" style="width: 276px;" |
+
&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
5&nbsp;
+
 
+
|- aria-rowindex="24" role="row"
+
| data-celllook="69905" role="rowheader" style="width: 19px;" |
+
22&nbsp;
+
 
+
| data-celllook="69905" style="width: 276px;" |
+
&nbsp;
+
 
+
| data-celllook="69905" style="width: 205px;" |
+
3&nbsp;
+
 
+
|}
+
 
+
&nbsp;
+
  
 
&nbsp; &nbsp; &nbsp; 2. AppInSight mapping with Kibana for Error Handling&nbsp;
 
&nbsp; &nbsp; &nbsp; 2. AppInSight mapping with Kibana for Error Handling&nbsp;
Line 256: Line 15:
 
Mapping of AppInsight and Kibana – This will allow tracking of web requests using a single correlation ID, enhancing error handling efficiency and request tracking efficiency.
 
Mapping of AppInsight and Kibana – This will allow tracking of web requests using a single correlation ID, enhancing error handling efficiency and request tracking efficiency.
 
<ol start="3">
 
<ol start="3">
<li>
+
<li>Centralized code for Lap timers for each method &nbsp;</li>
Centralized code for Lap timers for each method &nbsp;
+
</li>
+
 
</ol>
 
</ol>
 
+
Lap timer log statistics will help optimization of methods or will help troubleshooting. Lap Timer attribute is added to Kibana log along with Correlation Id, to get insight of time spent on execution of any method.&nbsp;</div>
Lap timer log statistics will help optimization of methods or will help troubleshooting. Lap Timer attribute is added to Kibana log along with Correlation Id, to get insight of time spent on execution of any method.&nbsp;
+
  
 
= Configuration =
 
= Configuration =

Latest revision as of 11:20, 5 September 2022


Introduction

To simplify and enhance the troubleshooting process, three new features are introduced. 

  1. Error-handling process standardized  

A new error coding mechanism is designed and implemented to help customers report issues substantiated by an error code.  The error code helps determine the severity, origin, source, area, module, and sub-module of the error. ExceptionHandler attribute is introduced, which will have following Origin, Area, Module, Sub Module in the form of code. When an error occurs, the error code is displayed on the error message, see the screenshot below. (ExceptionHandler attribute is introduced, which will have following Origin, Area, Module, Sub Module in the form of code.) 

RTENOTITLE
 
For example – Error Code 50000030021360x8013153 
 

8.2 EE 01.PNG

      2. AppInSight mapping with Kibana for Error Handling 

Mapping of AppInsight and Kibana – This will allow tracking of web requests using a single correlation ID, enhancing error handling efficiency and request tracking efficiency.

  1. Centralized code for Lap timers for each method  
Lap timer log statistics will help optimization of methods or will help troubleshooting. Lap Timer attribute is added to Kibana log along with Correlation Id, to get insight of time spent on execution of any method. 

Configuration

After enabling AppInsight, its operation ID is mapped with ICI Correlation ID. This correlation ID can be used to track ICI web requests, in ICI and AppInsights logs. Same correlation ID is maintained from request start to end. 

Enabling Standardizing Error handling   

By default, ExceptionHandler attribute is always enabled. If user needs to backtrack older entries of exceptions, they can set this attribute to false.  

Update System_DB_Settings 
Set [value] ='{"EnableLaptimer":false,"EnableExceptionHandler":true,"LogParametersOnException":false}' 
where [key] = 'Core.Aspects.Configuration' 

Enabling AppInsight and Kibana mapping  

AppInsight is always enabled. 

User can check Tenant Config key: Core.APMProviderDetails for AppInsight feature running. 

Enabling Lap Timer  

Statistics log is provided to analyze time spent on executing each method. Lap timer can be enabled to help analyzing performance and to help error handling.  

By default, Lap Timer is disabled, user can enable this feature by changing two config key  LoggingVerbosity = "LogAlways" and updating EnableLaptimer = "true" in database key named "'Core.Aspects.Configuration". 

Note: After the enabling Lap timer, olde Kibana entries are maintained as it is. 
</div>