Add dotnet-stack tool
[platform/core/dotnet/launcher.git] / tools / README
1 README file for performance test of dotnet launcher
2
3
4 [*] SUMMARY
5 -------------------------------------------------------------------------------
6 Performance test is a tool to calcuate launching time.
7 This tool is performed on the host where the device is connected with sdb
8
9 [*] PREPARATIONS
10 -------------------------------------------------------------------------------
11 The test consists of two files.
12     - performance_test.sh : main executable script
13     - timestamp.sh        : used by "performance_test.sh"
14 The files should be in the same directory in host.
15
16 For running automatic test, you have to locate ".tpk" files in specific directory
17 More detail, it describes in "USAGE" section.
18
19 This test need below package
20     - inotify-tools
21 If the package is not exist, it will try to install the package.
22
23 The host can connect device with sdb.
24
25
26 [*] TEST MODES
27 -------------------------------------------------------------------------------
28 There are two modes in performance test
29     - auto test mode
30     - manual test mode
31
32 Each mode has the following characteristics.
33 [Auto test mode]
34     This mode automatically installs applications and measures and records performance.
35     This mode need ".tpk" packaged dotnet application. It should located in "tpk" directory.
36     So, files locates likes below.
37         .
38         ├── performance_test.sh
39         ├── README
40         ├── timestamp.sh
41         └── tpk
42             └── <tpk_application_file_name>.tpk
43     There can be several tpk files. And tpk files can be freely added or deleted by the user.
44 [Manual test mode]
45     This mode measures the execution time when the user executes the installed applications.
46     After executing this mode, the user runs and terminates the application.
47     And then, result of launching time and making report file.
48
49
50 [*] USAGE
51 -------------------------------------------------------------------------------
52 The test has two modes.
53     - automatic test
54     - manual test
55
56 Each test can be run through shell below options.
57     -a --auto   : execute automatic test
58     -m --manual : execute manual test
59
60 In the auto test mode does not require user input.
61 In the manual test mode, the user executes / terminates the application after executing the test.
62
63
64 [*] TEST RESULT
65 -------------------------------------------------------------------------------
66 Test results are generated as files in the "result/" directory.
67 The resulting file name is determined by the date and time, likes "result/result_YYYYMMDD_HHmm.log"
68
69 Test results consist of launching time(ms) and applicatoin id.
70 example of result :
71     T(ms)       APP ID
72     680     org.tizen.example.BasicSampleXamarine.Tizen
73     710     org.tizen.example.XamarinApplication1.Tizen
74     1460        org.tizen.example.EmailUI.Tizen
75     770     org.tizen.example.FormsTizenGallery.Tizen
76     2390        org.tizen.example.SNSUI.Tizen
77
78
79 [*] ERROR CASE
80 -------------------------------------------------------------------------------
81 Some system can be occur error with some points.
82 In this section, we would like to share some solutions to solve the problems.
83
84 [>] Inotify-tools - 'max_user_watchers' error
85
86     [ERROR CASE]
87     Failed to watch stream.log; upper limit on inotify watches reached!
88     Please increase the amount of inotify watches allowed per user via `/proc/sys/fs/inotify/max_user_watches'.
89
90     execute below command for expand max_user_watchers for inotify-tool
91
92     [SOLVE]
93     echo 32768 | sudo tee /proc/sys/fs/inotify/max_user_watches
94     echo fs.inotify.max_user_watches=32768 | sudo tee -a /etc/sysctl.conf
95     sudo sysctl -p