Open GoogleCodeExporter opened 9 years ago
Hi,
I think I understand what you mean. The currently implementation is a hard
design decision made from the beginning, please let me explain.
The reason that Rabbit only records the date not the time is to minimize the
size of the XML data files. For example, if Rabbit was to storing the event
data with the time, then each event will have an entry in the files, so 10
events will have 10 entries in the XML file, this will make the file too big
too handle. That is why Rabbit is only storing the event data with the date
only, so that if there are 10 identical events happened at different time of
the same day, they will be stored as a single entry in the XML file with the
total usage. One example is the command events, a user can use the same command
up to a few hundred times a day (like me), so rather than storing a few hundred
entries into the file each with an event time, Rabbit stores the data as a
single entry with the date and the number of times the command has been
executed.
I do see your point, that was also what I wanted to do from the beginning (to
provide more accurate data), but I had to keep a good balance between the size
of the files and the accuracy of the data, so (after a lot of experimenting)
that's why I decided to store data with "date accuracy" not "time accuracy",
which is a good way to maintain the size of the files and still provide a good
level of accuracy. Also the XML files are broken up into each month in order to
make the data more manageable.
I've also been thinking about using a database to store the data which can
handle more data with more accuracy, but I don't think many people would want
to use Rabbit (a small plugin) if they need to keep a database (a big monster)
running...
But I will look for alternatives ways to improve the accuracy of the data to
better suit your needs. One idea could be to add another metrics that shows
when you become active with the workbench and when you become inactive?
Something like:
Become Active at 10:30 AM
Become Inactive at 10:45 AM
Become Active at 11:00 AM
Become Inactive at 12:00 AM
If you have any ideas/suggestions please let me know too.
Thanks for using Rabbit!
;-)
Original comment by llaec...@gmail.com
on 18 Nov 2010 at 4:59
Hi llaechen,
thanks for your explanation. I don't know from experience the cost of using XML
files. Personally I already have mysql-server installed on my PC because of a
dependency of Akonadi (plus now it's required for my work) so I wouldn't mind,
but I agree many people won't like it and in any case it would make
configuration harder to require a database like MySQL. What about SQLite? I
don't know it as a developer but it seems simpler. I know Iceweasel uses it for
its history library.
Otherwise, I guess time precision could be configurable. But looking at the
Commands metrics, I see what you mean. Even with just 15 minutes periods,
storing all of that individually must be heavy. I must say I see no easy good
solution. Personally, of the 15 commands shown there, I don't care about any
one in particular (none helps me tracks time). I imagine this is more useful
for heavy Eclipse users who want to optimize their coding? In which case I
suppose a weekly report would be sufficient to track improvements in their
habbits, if not a monthly one. For me, if I'm not missing some time tracking
use, I would just disable that feature.
Looking at all the "tabs" of Rabbit, the one which I would like to have with
more precision the most is Sessions. In fact I'm not sure what a session is,
but an activity metrics with 15 minutes periods as you describe would also be
very useful.
Thanks to you for making Rabbit.
Original comment by chea...@gmail.com
on 18 Nov 2010 at 5:08
"Session" shows the total amount of time a user spent using eclipse. I should
improve on it with your suggestion so that a user can tell when he/she is
active/inactive. I will look into that.
Thanks.
Original comment by llaec...@gmail.com
on 20 Nov 2010 at 10:08
Have you been thinking to store statistic data to some external storage, like
DB?
Original comment by vpr...@gmail.com
on 1 Feb 2011 at 4:38
@vpr...
Yes I have, but I don't think that will be implemented any time soon (or at
all). :-)
Original comment by llaec...@gmail.com
on 7 Feb 2011 at 8:58
Original issue reported on code.google.com by
chea...@gmail.com
on 16 Nov 2010 at 10:31