Meta Tracker: Initial Thoughts

I installed [Tracker][1] yesterday (via a simple sudo apt-get install tracker) and let it index all my files and have performed a few searches with it.

Here's my initial findings:

Resource Usage and Indexing

Memory usage was very good, although not as good as the advertised 3 – 9MB. During the initial indexing memory usage gradually climbed up to nearly 30MB. Since the rise was a gradual increase as the number of files indexed increased, I assume this is due to either a memory leak (they are using C after all) or from keeping indexed information in memory.

After the initial indexing, the memory usage hasn't gone past 8MB (it's currently on 7.4MB after having my laptop on all day). This could just be because I haven't been editing many files so not much re-indexing has taken place.

CPU usage is a similar story to the memory usage: it occasionally climbed pretty high (~30%) during the initial indexing but since then has been basically sitting on 0%. Again, this could be because I haven't been doing much.

An interesting thing to note is that the helper programs actually used up more resources than Tracker itself. pdftotext, for example, would instantly jump to 50% CPU usage and around 25MB of memory usage. From this it seems that the number of files of a certain type will have a direct influence on how much of your system's resources get stolen.

I did notice from the stderr output of the initial indexing that Tracker was unable to set up inotify watches on any of the files being indexed. Apparently it compensates by adding files to a list that will be periodically polled to check to changes. Not exactly a good thing when inotify should be available so I'll have to look into the matter – it could just be an issue with the kernel supplied with Ubuntu.

Searching

Search results are fairly relevant, even if Tracker chooses different top results to Google Desktop. For a generic search term ("haruhi", which returns an awful lot of results on my laptop!) Google Desktop seemed to favour files with "haruhi" in the file name itself, whereas Tracker didn't care whether the search term was in the file name or the file path. To it's credit, it did return a result that had the search term in both the path and file name as the top result.

Since I haven't yet found a desktop-based search interface, I've done all my searches from the terminal. The results are returned extremely quickly (~ 1 second) but all the search results are displayed, which means the top ones are instantly scrolled out of site. For a terminal program, this is probably the best behaviour as you can simply pipe the results into head to get the top results. Here's what I use for searches:

tracker-search searchterm | head

For those interested (and who don't know much about Unix shells), this will return the first 10 results. If you wanted to get the number of results, you'd do this:

tracker-search searchterm | wc -l

Getting a different number of results (not 10) would be done thusly:

tracker-search searchterm | head -n 5 (or whatever number of results you want)

All-in-all searching is fairly simple and having a shell version makes for a great deal of flexibility. For desktop users though, it's far from ideal so I'm going to keep looking for a nice graphical interface.

Overall Thoughts

Since I haven't tried out any of the advanced/interesting features I haven't yet found anything to get too excited about. The resources uage is kept to a minimum, which is great, and the searching is about as easy as locate so there's not a whole lot I can find to complain about at least. One thing that is cool is that Tracker provides the tracker-stats program, which will (shockingly) give you statistics about it's index of files. So you can see how many you have indexed and how many of each types (video, music, etc) there are.

I'm sure I'll have to spend quite a bit more time learning how to use things like tagging and metadata so you can expect another post at a later date.

[1]: http://www.chnorton.com.au/2007/07/07/meta-tracker-the-ultimate-file-organiser/