Files @ bce8e20057e1
Branch filter:

Location: kallithea/docs/usage/statistics.rst

bce8e20057e1 1.2 KiB text/prs.fallenstein.rst Show Annotation Show as Raw Download as Raw
Thomas De Schampheleire
repository summary: avoid table bleed on long commit messages

For commit messages with the first line being very long, the 'latest
changes' table on the repository overview page can 'bleed', so that the
commit number overlaps with the commit status.

Commit 15cb8156b10d732cf39b37a88c656894621c0f54 changed the initial truncate
on 50 characters to a chop at the first newline characters, causing this
issue to pop up more frequently.

Instead of using floating divs for the commit status and number of comments,
use dedicated table columns, as compact as possible.
Additionally, move these new columns to the very left of the table, instead
of cramming them in between the revision and commit message.

The comments-container class gets a new attribute 'white-space: nowrap' to
avoid the comment icon to wrap from the number of comments, when the table
does wrap on a small screen.
Note that the icon currently does not display as it should be renamed from
icon-comment-alt/colored to icon-comment. This will be fixed by Sean Farley.
.. _statistics:

==========
Statistics
==========

The Kallithea statistics system makes heavy demands of the server resources, so
in order to keep a balance between usability and performance, the statistics are
cached inside db and are gathered incrementally, this is how Kallithea does
this:

With Celery disabled
--------------------

- On each first visit to the summary page a set of 250 commits are parsed and
  updates statistics cache.
- This happens on each single visit to the statistics page until all commits are
  fetched. Statistics are kept cached until additional commits are added to the
  repository. In such a case Kallithea will only fetch the new commits when
  updating it's cache.


With Celery enabled
-------------------

- On the first visit to the summary page Kallithea will create tasks that will
  execute on celery workers. This task will gather all of the stats until all
  commits are parsed, each task will parse 250 commits, and run the next task to
  parse next 250 commits, until all of the commits are parsed.

.. note::
   At any time you can disable statistics on each repository via the repository
   edit form in the admin panel. To do this just uncheck the statistics checkbox.