How to Test Barcode Reading Performance Using Dynamsoft's Daemon and BatchDecode Tools
This guide introduces how to use the BatchDecodeProjectGuardian daemon and the BatchDecode program by Dynamosoft for barcode reading performance testing.
How to use BatchDecodeProjectGuardian to call BatchDecode for barcode performance testing
GuardianConfig.iniand configure the settings. The default settings are shown as below.
ApplicationArgumentfield to the file directory of the barcode images to be processed. The default directory is the Images folder under the installation folder of Dynamsoft Barcode Reader.
Save the settings and double click
You can then check the program log in
GuardianLog_BatchDecode_xxxxx.csvin the same directly of
BatchDecodeProjectGuardian.exe. You can check the performance results in
DBR_T_xxxx_xxxxx.csvin the directory of
How to Use BatchDecodeProjectGuardian daemon tool
BatchDecodeProjectGuardian.exe is an auxiliary tool provided by Dynamsoft. The tool can monitor a specified program, restart it when the program crashes or becomes unresponsive, and keep a log of running records.
The configuration file
GuardianConfig.ini is the configuration file for
Fields in the configuration file:
- ApplicationPath: Specifies the program to be guarded.
- ApplicationArgument: Sets the input parameters of the guarded program, separated by spaces.
- ApplicationLogDir: Sets output folder of the guarded program.
- TimeOutMin: Sets the daemon timeout value. When the guarded program has no new output for the specified time, the program will be restarted. The default timeout value is 2 minutes. Time unit: minutes.
The log file
BatchDecodeProjectGuardian.exe, a csv file with the name "GuardianLog_" + daemon name + runtime will be created in the same directory. The file records the working status of the daemon. Each time the guarded program is started or restarted, a new record will be registered in the log file.
Fields in the log file:
- Application_ID: Marks the name of the program being guarded, distinguished by time.
- Running_Status: Indicates the status of the daemon, including: running, finished, timeout, and crashed.
- Start_Time: Indicates the start time of the run.
- End_Time: Indicates the end time of the run.
- Latest_Log: Logs the information when the program times out or exits abnormally. The log content consists of result file path plus the last line of the result content.
How to use BatchDecodeProjectGuardian
You can follow the steps below to use the daemon tool:
BatchDecodeProjectGuardian.exeand it will open a console window as follows (take BatchDecode as an example):
Figure 1 daemon execution interface
Once the tool is started, it will output a record every 10 seconds to report the current running status of the guarded program. The tool will exit when the program finishes the execution and exits successfully.
If the guarded program crashes or times out during the running,
BatchDecodeProjectGuardian.exe is running, the daemon tool will actively restart the program and display the corresponding restart information in the console interface as well as record it in the GuardianLog file.
How to use the performance testing tool - BatchDecode
BatchDecode is a tool to help you evaluate the performane of Dynamsoft Barcode Reader (DBR). This tool provides performance testing data by calling DBR to decode barcodes from a batch of images in a specified folder.
How to use BatchDecode
Start up and Configuration
1) Command line startup parameters
> BatchDecode.exe[-i] [-o]
-i: Sets the directory where the barcode files to be evaluated is located, for example:
The default is the directory where BatchDecode.exe exists.
-o: Sets the directory to output the evaluation results, for example:
The default is the directory where BatchDecode.exe exists.
If the program is started without any command line parameters or you run it by double clicking, the following interface will be displayed:
You can follow the interface prompts. After setting the parameters, input
r to automatically starts the performance evaluation of your barcode files.
You can find the performance result in the output directory you specified, with the name of
DBR_T_DEFULT_xxxxx.csv. There is an additional file
DBR_T_DEFULT_xxxxx_original.txt storing the original barcode decoding results which cannot be displayed in the csv file.
Using template files (optional)
If you want to use the template file, please create a new
templates subdirectory in the directory where the
BatchDecode.exe exists, then place the template file into the newly created templates directory.
After the performance testing program has started, it will automatically take the barcode reading settings in the DBR template file, decode barcodes, and output the results.
If the directory contains multiple template files, the performance testing program will evaluate all the templates and exists automatically once done.
Interpretation of Results
After the program has executed, you will see
DBR_T_DEFULT_xxxxx.csv, the performance testing result file, in the output directory. Open the file and you can see the following fields:
|No.||ID of the barcode file.|
|Image Source||Path of the source image files.|
|Read Duration (ms)||The time spent reading barcodes in the file. Unit in ms.|
|Barcode Count||Count of barcodes decoded in the file.|
|Barcode Hex||Hex encoding of all the decoded barcode content decoded. Mainly used for comparing different identification results.|
|Barcode Text||The content of the barcode identified. If the recognition result cannot be full displayed due to the output format and word count limit, the field 'Original' will be set to No.|
|Original||If the value of this field is No, you can refer to the 'Note' section at the bottom of the file to see the details of the barcode.|
The statistics section of the document:
|Total Image Count||Number of image files processed|
|Images with Barcodes Recognized||Number of image files with barcodes recognized|
|Total Barcode Count||Total barcodes recognized|
|Time Cost of All Images (ms)||Total time spent on reading barcodes from all images|
|Recognition Rate||Percentage of images with barcodes recognized, i.e., Images with Barcodes Recognized / Total Image Count|
|Avg Time of Total Scan Per Image (ms)||The average time spent for decoding an image file, i.e., Total Time Spent for Recognition / Total Image Count|
|Avg Time of Total Scan Per Barcode (ms)||The average time spent decoding a barcode, i.e., Total Time Cost of All Images / Total Barcode Count.|
|Time Cost of Images with Barcodes Recognized (ms)||Total time spent decoding images with barcodes recognized|
|Avg Time of Successful Scan Per Image (ms)||The average time spent decoding an image file with barcodes found, i.e., Time Spent for Recognition Images with Barcodes Found / Images with Barcodes Recognized|