From ICIHelp8.2
Revision as of 09:53, 5 September 2022 by WikiSysop (Talk | contribs) (Created page with " = Introduction = To simplify and enhance the troubleshooting process, three new features are introduced.  #Error-handling process standardized   A new error c...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.) 

Error Message EH01.PNG
 
For example – Error Code 50000030021360x8013153 
 

 

Bit # 

Significance 

 

Example 

(50000030021360x8013153) 

Severity 

5 - Critical, 4- Error, 3- Warning, 2- Information, 1 –Trace

Origin 

00-Core, 01-Plugin, 02-BizApp, 03-Partner, 04-Integration 

Source 

00- Internal, 01-SQLServer,02-Elastic Search,03-Redis,04-Azure, 05-ServiceBus,06-Storage 

Area 

01-ACF, 02-Application, 03-CLM, 04-Digger, 05-Integration 

Module 

Range from 000 to 052 (Code - Projects) 

10 

11 

SubModule 

Range from 000 to 290 (Code - Projects/Folders) 

12 

13 

14 

Error Code 

.net framework Hresult Value, which is a standard and can be googled to get the exception details 

15 

Ex.0x8013153 

16 

OR 

17 

ICI Specific Exception Hresult starting from 99100000 to 99100014. This list will grow over the coure of time. 

18 

 

19 

 

20 

 

21 

 

22 

 

 

      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.