ESL Profiler is a tool that enables:

  • information acquisition about the running of ESL script actions within their interpreter (EVH, HIS, SEE process),
  • to save these information to CSV files.

The tool ESL_Profiler.xls makes next processing of CSV files easier. It supports the reading of generated CSV files and gathering data into one table.

The process of creating and processing the statistics includes:

  1. Generating the input CSV files
  2. Generating the report from input CSV files

1. Generating the input CSV files


For analyzes of ESL action, the two condition must be fulfilled - data acquisition and generating the statistics. The generating the statistics can be done only for ESL scripts which had been activated for the first time when the debug variable DBG.ACTIONS.ENABLE_PROFILE_INFO was running. Usually, this variable is switched off. It can be activated by the parameter /E+DBG.ACTIONS.ENABLE_PROFILE_INFO on the command line or by D2000 System Console at runtime.

The function %ESLProfileStart(BOOL in init) initiates (@TRUE) or stops (@FALSE) the mode "profile" and writes the obtained data.

Warning: Data acquisition can be stopped also by closing the script that initiated this activity.

Process of data acquisition:

  • As soon as the function %ESLProfileStart(@TRUE) is called in some script, each executed line is recorded in all the running ESL scripts,
  • After calling the function %ESLProfileStart(@FALSE), the data, obtained from the scripts, are inserted into the file Esl.<script_name>_<instance_id>.csv in directory \Log, which is a subdirectory of the installation directory.
  • If some script is stopped or the picture is closed before the calling of %ESLProfileStart(@FALSE), *.csv file is generated immediately.

*.csv file format:

line Line number.
count Number of repeat line.
line duration Duration of line executing.
action duration Duration of passive waiting to execute the action.
action status Signalizes the status of action.
line text Text of executed line.
ActionType Filled, if the synchronous action %HI_* is executed on the line.
Use Pragma Filled, if the action PRAGMA was used.
DataSize Data size that had not been copied among the procedures in one ESL script when using PRAGMA.
Use PragmaRPC Filled, if PRAGMA was used for RPC procedures.
DataSizeRPC Data size that had not been copied among the RPC procedures of ESL scripts on the same event handler, when using PRAGMA for RPC procedures.

2. Generating the report from input CSV files


After opening ESL_Profiler.xls, start macro to generate the report by clicking on the button "Generate report" on "MainForm" sheet. A dialog window opens to select the directory that contains csv files. The report will be generated from those files. The files are loaded into "FileList" sheet. The following sheets will be created:

  • the sheet which will contain data from csv files. Its name is in the format [yymmddhhmmss] (it represents a generating time).
  • the sheet which will contain a demo table involving the data with predefined aggregation columns (i.e. contingent table). Its name is in the format [yymmddhhmmss]P.

Each generating of the new report replaces the sheet "FileList" by a new list of csv files. The sheets with new data are added after this sheet.

You can modify the "contingent table" to your requirements. You can do this in the "contingent table" editor. Right-click over the table and choose Show Field List. It opens the editor window.

Napíšte komentár