On Thu, Apr 28, 2011 at 2:23 PM, Martyn Russell <[email protected]> wrote:
> On 28/04/11 20:55, Niels Mayer wrote:
>> Although I intend to investigate all the features tracker provides in
>> MeeGo, I don't want to do it right now. And it was unpredictably
>> taking up precious CPU cycles on this wee Atom N455, every drop of
>> which is needed for processing multimedia happening "right now."
> [...]
> Well, you can expect it to return out of date search results when looking up
> files in your applications. Especially if those files are the multimedia
> you're wanting to process.
Which applications would be affected? How do I invoke tracker search
on the MeeGo 1.2 netbook (other than command-line)?
> Depending on your version on the device, this situation has been improved
> recently.
>
> We've added some measures like: [...]
Thanks. I will definitely look into these once I begin to explore and
better understand tracker's role in various different MeeGo platform
offerings. My comments were about the MeeGo 1.2 Netbook UX on
kernel-adaptation-pinetrail-2.6.38.2-8.2.
> I am concerned about your report of ill performance from Tracker though.
> It's not what we've experienced in Harmattan for some time now. Can you
> provide more details (perhaps in a bug report) to try to improve the
> situation?
In some recent updates of tracker, I've found the fan running at times
when I expected the netbook to be silent (it has SSD). Or when it's on
battery. Or using some multimedia apps (e.g. qtractor with various
plugins), openshot, xbmc, that need all of the CPU. That's what
prompted me to disable tracker, until I decide to start using it
explicitly.
Furthermore, I notice it running when I mount external memory cards
and/or network disks (sshfs?), perhaps indexing external disks and
causing unexpected network and processor load.
It may need some "throttling" on a MeeGo netbook with SSD-based
filesystem, because the processor has less time to do other tasks
while waiting on the last set of tracker disk I/O requests. And
consequently, higher load associated with the increased disk system
data-rate, than what might be seen on with slower disks. Similar
issues may exist when indexing fast external network disks, alongside
network loading.
IMHO, it shouldn't run automatically at all when on battery. The user
should be given a GUI option to control when it runs, or run manually.
For resource-intensive programs, or those manipulating the very data
tracker needs to index, something like pasuspender(1) might be useful,
to wrap the invocation of some resource-needing program to prevent
competition for resources. It could also manually run the
tracker-update on completion of the program -- e.g., after the media
being captured or edited can be guaranteed quiescent on disk.
Alternately, as mentioned, an interface that starts/stops tracker
whenever the computer is "idle." I like the idea of a visualizing
screensaver as I like the computer/GUI to have some kind of
representation of what it's doing "under the hood" when some special
resource-consuming process is running. Even better, to have the
"screensaver" provide a visualization of what it's adding to the
information repository, which may help in serendipitous discovery.
> What version of Tracker are you using there?
tracker-utils-0.10.6-1.23.i586
libqttracker-devel-6.12.6-2.105.i586
libqtsparql-tracker-extensions-0.0.7-1.13.i586
libqtsparql-tracker-0.0.21-1.6.i586
qtcontacts-tracker-4.11.8.1-1.5.i586
libqtcontacts-tracker-extensions-4.11.8.1-1.5.i586
libqttracker-6.12.6-2.105.i586
tracker-0.10.6-1.23.i586
libqtsparql-tracker-direct-0.0.21-1.6.i586
libqtsparql-tracker-extensions-devel-0.0.7-1.13.i586
libqtcontacts-tracker-extensions-devel-4.11.8.1-1.5.i586
it appears that the following hasn't been installed by default,
| tracker-upnp | UPnP miner for Tracker
| package
> What makes you think it is Tracker which is causing the problems and not
> some other process?
top(1).
powertop(1)
> Hope this helps,
Thank you for the information on tracker. I am not trying to "beat up"
on tracker, it's just that my current usage of MeeGo doesn't seem to
require it, and I don't understand it well enough to control it. So it
was easier to just shut it off.
Perhaps due to all the other parts of 1.2 that have been postponed or
removed, it appears that tracker needs better integration into the
current MeeGo 1.2 Netbook UX, and I was too busy getting other stuff
working to notice tracker on the Handset. I do think that "semantic
desktop" and "semantic search" support is a good idea and perhaps some
ideas for "user experience" integration of semantic search/tracking
into the netbook/tablet environment can be taken from KDE's Contour
(Confession -- as a KDE user, I better understand and use its
Tracker-similar facilities, but that's because there's a variety of
apps which make use of its well integrated facilities).
http://transloid.blogspot.com/2011/04/contour-joins-plasma-active-track-get.html
/////////////////
New open source projects have been launched by KDE developers aimed at
bringing a consistent user interface across a varied of touch screen
interfaces like tablets and entertainment devices and take data
integration to a new level.
The new Plasma Active and Contour projects were developed for a new
user experience for tablets, smartphones and set top boxes.
According to its developers, the overall goal is to create a
“data-centric user interface which is not concerned with applications
but rather offers intelligently combined data through a
context-sensitive recommendation manager”.
[...]
MeeGo will be an initial target platform for the Contour interface.
[...]
The aim of Contour is to integrate what a user it doing on the device,
what “resources” like files and contacts are open, how they are
relevant to running tasks and what applications might be relevant to a
running task.
[...]
///////////////// (see also
http://community.kde.org/Plasma/Active/Contour/Screenshots )
Countour uses Nepomuk (
http://community.kde.org/Plasma/Active/Contour/Technologies#Location_Storage
) and Akonadi for contact management (
http://community.kde.org/Plasma/Active/Contour/Technologies#Akonadi ).
And these are driven by the user from the recommendation manager,
which is the "tie it all together" part that is lacking in MeeGo's
tracker usage: (
http://community.kde.org/Plasma/Active/Contour/Technologies#Recommendation_Manager
):
/////////////////
[...] the recommendation manager, constantly updates recommendations
based on usage patterns, the current context, and recently taken
actions.
Recommendations are passive propositions for actions or information
that are there all the time. Recommendations change over time based on
the changing context and detected patterns. Recommendations are not to
be confused with system notifications for incoming calls, text
messages, or events. They are non-intrusive and can either be accepted
(activated) or ignored by the user. Ignoring a recommendation means to
simply not react on it. Recommendations are specifically not yes-no
questions.
Examples include Contact person X, Open file Y, Start playing music
(this will take into account preferences of the user), Take note about
the phone call just received, Open presentation for the meeting which
you just entered, The next bus to X goes in 10 minutes (When in the
office late at night).
/////////////////
For meego, I also think it would be useful to actually make processes
like tracker running on MeeGo more "direct manipulation" in that
there's a simple way for the user to see that tracker is running, a
simple way to turn it off/on explicitly, and options for automating
whether tracker runs when the computer is "non-idle," or "on battery."
Looking around on the MeeGo netbook, one of the few places tracker is
explicitly used, is in installing the netbook's "sample" media
(copy_file() with the btrfs-clone && tracker-sparql insert looks like
a pretty interesting MeeGo coding snippet):
.......................
meegolem-125-~> ty ~/.config/autostart/sample-media-install.desktop
[Desktop Entry]
Name=Sample Media Install
meegolem-126-~> ty /etc/xdg/autostart/sample-media-install.desktop
[Desktop Entry]
Name=Sample Media Install
Exec=/usr/bin/sample-media-install.sh
meegolem-127-~> ty /usr/bin/sample-media-install.sh
#!/bin/bash
#
# Copy sample media to the user's homedir
#
# This script will copy sample media over to the user's
# properly localized template XDG folders using xdg-user-dir.
#
# Written for MeeGo by Auke Kok <[email protected]>
set -e
DATA_DIR=/usr/share/sample-media
get_screen_vsize() {
# call/parse xrandr output, abort if we can't open display
xr=`xrandr`
if [ $? -ne 0 ] ; then
exit 1
fi
xrandr |awk ' ($2 == "connected" && $3 ~ /[0-9]/) {print $3}'
| sed 's/.*x\([0-9]*\)+.*/\1/'
}
copy_file() {
# copy one file $1 to dest $2. folders are created when needed
if [ ! -d "$2/`dirname $1`" ] ; then
mkdir -p "$2/`dirname $1`"
fi
type -p btrfs-clone &> /dev/null && btrfs-clone "$1" "$2/$1" # && \
tracker-sparql -u -q "INSERT { _:x a nie:DataObject ;
nie:url 'file://$2/$1' . }"
}
copy_dir() {
# recursively 'copy' content from $1 to $2
# params:
# $1 - name of the folder under sample media root
# $2 - is unmapped through ${XDG_${2}_DIRS} using xdg-user-dir
USERDIR=`xdg-user-dir $2`
cd "$1"
mkdir -p $USERDIR
# use find . -type f here rather than cp - we can't use cp
# here for 2 reasons: First, there may be subfolders in the
# samples (so we need to preserve those), and second, cp *
# won't work on possible .dotfiles, like pregenerated
# thumbnail dbs etc. Use install -D to properly create
# all path components needed.
IFS=$'\n'
for f in `find . -type f` ; do
copy_file "$f" "$USERDIR"
done
}
# get screen size from xrandr
VSIZE=$(get_screen_vsize)
# walk down all possible xdg-user-dirs and see if there's content
for DIR in DESKTOP DOWNLOAD TEMPLATES PUBLICSHARE \
DOCUMENTS MUSIC PICTURES VIDEOS; do
# copy size-specific data
if [ "$VSIZE" -ge 720 -a -d "$DATA_DIR/$DIR-720p" ]; then
copy_dir "$DATA_DIR/$DIR-720p" "$DIR"
elif [ "$VSIZE" -ge 640 -a -d "$DATA_DIR/$DIR-480p" ]; then
copy_dir "$DATA_DIR/$DIR-480p" "$DIR"
elif [ -d "$DATA_DIR/$DIR-240p" ]; then
copy_dir "$DATA_DIR/$DIR-240p" "$DIR"
fi
# copy all size-inspecific data
if [ -d "$DATA_DIR/$DIR" ]; then
copy_dir "$DATA_DIR/$DIR" "$DIR"
fi
done
# create 'blocker' autostart file - this will prevent this script from
# being run again for this user only.
mkdir -p $HOME/.config/autostart
cat > $HOME/.config/autostart/sample-media-install.desktop <<EOF
[Desktop Entry]
Name=Sample Media Install
EOF
/usr/bin/sample-media-install.sh lines 43-85/85 (END)
.......................
-- Niels
http://nielsmayer.com
_______________________________________________
MeeGo-dev mailing list
[email protected]
http://lists.meego.com/listinfo/meego-dev
http://wiki.meego.com/Mailing_list_guidelines