811
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
1 .. _statistics:
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
2
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
3
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
4 Statistics
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
5 ==========
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
6
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
7 RhodeCode statistics system is heavy on resources, so in order to keep a
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
8 balance between the usability and performance statistics are cached inside db
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
9 and are gathered incrementally, this is how RhodeCode does this:
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
10
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
11 With Celery disabled
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
12 ++++++++++++++++++++
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
13
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
14 - on each first visit on summary page a set of 250 commits are parsed and
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
15 updates statistics cache
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
16 - this happens on each single visit of statistics page until all commits are
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
17 fetched. Statistics are kept cached until some more commits are added to
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
18 repository, in such case RhodeCode will fetch only the ones added and will
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
19 update it's cache.
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
20
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
21
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
22 With Celery enabled
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
23 +++++++++++++++++++
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
24
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
25 - on first visit on summary page RhodeCode will create task that will execute
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
26 on celery workers, that will gather all stats until all commits are parsed,
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
27 each task will parse 250 commits, and run next task to parse next 250
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
28 commits, until all are parsed.
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
29
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
30 .. note::
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
31 In any time You can disable statistics on each repository in repository edit
|
Marcin Kuzminski <marcin@python-works.com>
parents:
diff
changeset
|
32 form in admin panel, just uncheck the statistics checkbox. |