Projects/Skrooge: Difference between revisions
(Rephrased here and there) |
(More rephrasing) |
||
Line 9: | Line 9: | ||
|} | |} | ||
This page is dedicated to developpers or advanced users who wish to have a deeper understanding of Skrooge. | This page is dedicated to developpers or advanced users who wish to have a deeper understanding of Skrooge. | ||
== Debugging == | == Debugging == | ||
Line 16: | Line 16: | ||
To activate traces, you need to export an environment variable in your console: | To activate traces, you need to export an environment variable in your console: | ||
<blockquote> | <blockquote>'''export SKGTRACE=XX''' </blockquote> | ||
'''export SKGTRACE=XX''' | |||
</blockquote> | |||
''XX is the level of traces you want. It should be an integer between 0 and 20. The higher the number, the higher the quantity of information you get. 10 is good compromise.'' | ''XX is the level of traces you want. It should be an integer between 0 and 20. The higher the number, the higher the quantity of information you get. 10 is good compromise.'' | ||
Then, start Skrooge from this console. This will display a lot of information in your terminal, giving you hints as to what could be going wrong if you face issues. | Then, start Skrooge from this console. This will display a lot of information in your terminal, giving you hints as to what could be going wrong if you face issues. | ||
=== Profiling === | === Profiling === | ||
To activate the basic profiling mechanism included in Skrooge, you need to export an environment variable in your console: | To activate the basic profiling mechanism included in Skrooge, you need to export an environment variable in your console: | ||
<blockquote> | <blockquote>'''export SKGTRACEPERFO=1''' </blockquote> | ||
'''export SKGTRACEPERFO=1''' | Once Skrooge is started from this console, you can find two new commands: | ||
</blockquote> | |||
*'''Restart profiling''' (CTRL+Pause) to initialize the profiling | *'''Restart profiling''' (CTRL+Pause) to initialize the profiling | ||
*'''Open profiling''' (ALT+Pause) to open the result of the profiling | *'''Open profiling''' (ALT+Pause) to open the result of the profiling | ||
Profiling results look like this: | |||
<blockquote><sub>method , nb call , millisecondes , average , min , max , '''own time''' , average own time SKGMainPanel::setNewTabContent-addTab , 1 , 38.26897848 , 38.26897848 , 38.26897848 , 38.26897848 , '''25.6370585''' , 25.6370585<br> SKGObjectModelBase::refresh , 2 , 8.741794825 , 4.370897412 , 0.9698964357 , 7.771898389 , 8.147958875 , 4.073979437 <br> SKGMainPanel::setNewTabContent , 1 , 49.36599612 , 49.36599612 , 49.36599612 , 49.36599612 , 3.772916079 , 3.772916079 <br> SKGOperationBoardWidget::SKGOperationBoardWidget , 1 , 3.179117203 , 3.179117203 , 3.179117203 , 3.179117203 , 2.963078141 , 2.963078141 <br> SKGMainPanel::onOpenContext , 1 , 50.43999612 , 50.43999612 , 50.43999612 , 50.43999612 , 1.074000001 , 1.074000001<br> ...</sub></blockquote> | <blockquote><sub>method , nb call , millisecondes , average , min , max , '''own time''' , average own time SKGMainPanel::setNewTabContent-addTab , 1 , 38.26897848 , 38.26897848 , 38.26897848 , 38.26897848 , '''25.6370585''' , 25.6370585<br> SKGObjectModelBase::refresh , 2 , 8.741794825 , 4.370897412 , 0.9698964357 , 7.771898389 , 8.147958875 , 4.073979437 <br> SKGMainPanel::setNewTabContent , 1 , 49.36599612 , 49.36599612 , 49.36599612 , 49.36599612 , 3.772916079 , 3.772916079 <br> SKGOperationBoardWidget::SKGOperationBoardWidget , 1 , 3.179117203 , 3.179117203 , 3.179117203 , 3.179117203 , 2.963078141 , 2.963078141 <br> SKGMainPanel::onOpenContext , 1 , 50.43999612 , 50.43999612 , 50.43999612 , 50.43999612 , 1.074000001 , 1.074000001<br> ...</sub></blockquote> | ||
'''Remark:''' If '''SKGTRACE''' is set then you will be able to find the execution time of each methods in traces. | '''Remark:''' If '''SKGTRACE''' is set then you will be able to find the execution time of each methods in traces. | ||
To profile only sql | To profile only sql instructions, you can export an environment variable in your console: | ||
<blockquote> | |||
'''export SKGTRACESQL=XX''' | '''export SKGTRACESQL=XX''' | ||
</blockquote> | |||
''Only sql order with an execution time greater then XX ms will be displayed in console.'' | ''Only sql order with an execution time greater then XX ms will be displayed in console.'' | ||
Revision as of 12:26, 6 October 2009
Skrooge
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文
Skrooge is a personal finances manager for KDE4, aiming at being simple and intuitive. It allows you to keep track of your expenses and incomes, categorize them, and build reports of them.
Skrooge is a part of KDE Extragear, in the Office module |
This page is dedicated to developpers or advanced users who wish to have a deeper understanding of Skrooge.
Debugging
Trace activation
To activate traces, you need to export an environment variable in your console:
export SKGTRACE=XX
XX is the level of traces you want. It should be an integer between 0 and 20. The higher the number, the higher the quantity of information you get. 10 is good compromise.
Then, start Skrooge from this console. This will display a lot of information in your terminal, giving you hints as to what could be going wrong if you face issues.
Profiling
To activate the basic profiling mechanism included in Skrooge, you need to export an environment variable in your console:
export SKGTRACEPERFO=1
Once Skrooge is started from this console, you can find two new commands:
- Restart profiling (CTRL+Pause) to initialize the profiling
- Open profiling (ALT+Pause) to open the result of the profiling
Profiling results look like this:
method , nb call , millisecondes , average , min , max , own time , average own time SKGMainPanel::setNewTabContent-addTab , 1 , 38.26897848 , 38.26897848 , 38.26897848 , 38.26897848 , 25.6370585 , 25.6370585
SKGObjectModelBase::refresh , 2 , 8.741794825 , 4.370897412 , 0.9698964357 , 7.771898389 , 8.147958875 , 4.073979437
SKGMainPanel::setNewTabContent , 1 , 49.36599612 , 49.36599612 , 49.36599612 , 49.36599612 , 3.772916079 , 3.772916079
SKGOperationBoardWidget::SKGOperationBoardWidget , 1 , 3.179117203 , 3.179117203 , 3.179117203 , 3.179117203 , 2.963078141 , 2.963078141
SKGMainPanel::onOpenContext , 1 , 50.43999612 , 50.43999612 , 50.43999612 , 50.43999612 , 1.074000001 , 1.074000001
...
Remark: If SKGTRACE is set then you will be able to find the execution time of each methods in traces.
To profile only sql instructions, you can export an environment variable in your console:
export SKGTRACESQL=XX
Only sql order with an execution time greater then XX ms will be displayed in console.
In the console, you will get something like:
executeSqliteOrder :SELECT t_name, t_TYPENLS, f_CURRENTAMOUNT, t_close from v_account_display WHERE (t_type='C' OR t_type='D' OR t_type='I' OR t_type='O') ORDER BY t_TYPENLS, t_name TIME=441 ms