Tracker performance test suite Requirement Analysis ==================== * Ability to clean up environment * Ability to change WatchDir by give parameter * Ability to dump interesting values start trackerd until it finish indexing, these values including: - StartTime : UTC Time when the tool is called. - EndTime : UTC Time when the tool is finished. - InitTime : trackerd init time, including setting up .db files, tracker.cfg. - IndexTime : Trackerd total indexing time for give WatchDir. - SourceDirSize: The whole size of WatchDirSize - Values for each file types: it is like an summary, it is valuable for storage sensitive system like Sunray FileType: The file types among the WatchDir for give file types DocNum: The documents number among the WatchDir for give file type TotalDocSize: The documents total size among the WatchDir for give file type * Ability to dump interesting values during trackerd is running - Time : UTC Time when the tool is called. - CPU : The percentage of recent CPU time by trackerd - Memory : The memory size allocated to trackerd * Ability to dump testing results into a file (to let other tools analyse it) Preliminary Design ==================== We have implement test suites including: * tracker-get-index-time : A tool can get D-Bus message called IndexFinished, get the index time out and print out, written by C. * tracker-cleanup : A tool can cleanup tracker environment, like $HOME/.local/share/tracker, $HOME/.cache/tracker, $HOME/.config/tracker/tracker.cfg, written by shell or python. * tracker-test-init : A tool can get values when start trackerd until it finish indexing, written by shell or python. * tracker-test-monitor : A tool can monitor tracker during running time, record interesting values, written by shell or python. Concept prototype ==================== * tracker-get-index-time * tracker-cleanup #!/bin/sh pkill -9 tracker-applet pkill -9 tracker-preferences pkill trackerd rm -rf $HOME/.local/share/tracker rm -rf $HOME/.cache/tracker rm -rf $HOME/.config/tracker/tracker.cfg * tracker-test-init #!/bin/sh /usr/bin/trackerd -R & index_time=`./get-index-time` echo $index_time >> index_time.log * tracker-test-monitor