mO SharemO Share

How To: Enable performance tracing in POS

This article will help you understand how to enable performance tracing in POS invoicing. Enabling tracing will help the technical support department analyse performance issues reported by customers in a better way. Conceptually, tracing means generating output from various strategic locations in code into a file with relevant message along with a time-stamp. By looking at the messages and their time-stamps, the user or personnel from the technical support department can identify potential areas which are taking longer than usual. It can then be analysed that whether the delay is due to local system issues, third-party integrations or a low performing code. In case it is suspected that the issue is due to low performing code, the issue along with the log will be reported to the development team for further analysis.

Applicable Version

This feature is available from GINESYS POS version 1.112.0 and above.


Step-by-step guide

  1. Right click on  the POS icon / shortcut on your desktop. Click on the Open file location option from the menu.

  2. Locate the GinApps.config file.

  3. Add the following setting starting with <system.diagnostics> and ending with </system.diagnostics> both inclusive, at the end of the structure but inside the </configuration> tag.

    <configuration>
    	... 
    	... existing settings
    	... existing settings
    	...
    	<system.diagnostics>
    		<trace autoflush="true"/>
    		<sources>
    			<source name="Performance" switchName="PerformanceSwitch">
    				<listeners>
    					<add name="PerformanceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="D:\PerformanceLog\Performance.log">
    					</add>
    					<remove name="Default"/>
    				</listeners>
    			</source>
    		</sources>
    		<switches>
    			<add name="PerformanceSwitch" value="Off"/>
    		</switches>
    	</system.diagnostics>
    </configuration>
  4. To set the trace log location change the value mentioned in initializeData parameter to a suitable location and file name. The value "D:\PerformanceLog\Performance.log" is a sample which you should change according to your need. Make sure that the user has enough permission to write in that location.

    Alert

    The path mentioned here in the value must exist in both Server and Terminals for the POS tracing to be successful.

  5. To enable tracing set the value of the PerformanceSwitch parameter to "All" in place of "Off". This parameter acts as a switch for writing trace outputs. Once you set it to "Off" no further trace outputs will be generated.

  6. Now start GINESYS POS and do billing. All performance trace outputs will be dumped into the file mentioned in the initializeData parameter. Analyse the log for performance issues.

    Alert

    Once performance tracing is enabled, GINESYS will start writing substantial data into the file mentioned in the initializeData parameter. If you forget to switch off the PerformanceSwitch the output file size will keep increasing and eventually cause decreased performance and high disk space consumption. Hence, it is recommended that you should enable trace as and when needed and once the trace file is generated with desired results, please switch off the trace without fail.

    Generate trace output from the terminal where performance problem is reported and not from any other terminal.