new draft blog post: sources.d.n news
[homepage.git] / blog / posts / 2014 / 02 / moar_stats_for_sources.debian.net.mdwn
1 # Debian: watch your stats!
2
3 Over the past few weeks, myself and Matthieu Caneill have worked quite a bit on
4 [**Debsources**](http://anonscm.debian.org/gitweb/?p=qa/debsources.git). As we
5 have now deployed most of them on <http://sources.debian.net>, it's time for
6 another "what's new with Debsources?" post. Here is what's new:
7
8 * Debsources now knows about **suites**, i.e. it knows which package is in
9   which Debian "release" (stable, testing, unstable, ...). This knowledge is
10   already used by some of the features below and will be used more in the
11   future.
12
13 * [[since last summer|2013/09/sources.debian.net_-_advanced_search_and_other_news]]
14   Debsources has been running **sloccount** on all unpacked source packages
15   (together with ctags and du), but the resulting information wasn't exposed on
16   the Web. This is now fixed. Each package now has an **infobox**
17   ([example](http://sources.debian.net/src/linux/3.2.54-2)) which shows: disk
18   usage, archive area, suites, and sloccount with per-language breakdown. The
19   new infobox also subsumes the old puny list of package links.
20
21 * we now gather and plot accurate
22   [**statistics**](http://sources.debian.net/stats/), both overall and
23   per-suite, about both the current content of Debsources and its **historical
24   trends**. (Yeah, I know, the charts are not particularly good looking ATM,
25   but that's easy to change without impacting the rest. If you're a
26   [matplotlib](http://matplotlib.org/) artist willing to help, please step
27   forward!)
28
29 * many changes have been going on also on the **plumbing** layer to make the
30   service less resource hungry, in view of a migration to the official Debian
31   infrastructure (which I've in the meantime started discussing with DSA), in
32   particular:
33
34   * the updater is now much faster (about 2x) and might require, in
35     pathological cases, 10x *less* memory than before. Memory usage now caps at
36     around 300MB when injecting ctags for large packages like linux, chromium,
37     and libreoffice.
38
39   * the DB schema went through various refactoring cycles, and most notably now
40     uses a **separate file table** to index all known source file paths. In the
41     past path information was duplicated throughout the checksums and ctags
42     tables, not only wasting DB space, but also making the presence of file
43     information conditional on the enablement of at least one of the two
44     corresponding plugins. This is now fixed---and migrating the full DB has
45     been quite "fun". Unfortunately, we've also added quite a few large-ish
46     indexes, resulting in no significant changes in DB size (currently at
47     ~50GB), but at least in much faster queries :-) The next step on this front
48     will be the addition of path-based searches, using the excellent Postgres
49     [trigram indexes](http://www.postgresql.org/docs/9.1/static/pgtrgm.html).
50
51 Want more? Sure, we'll be happy to! But it'll happen faster if you
52 [help](http://anonscm.debian.org/gitweb/?p=qa/debsources.git;a=blob;f=BUGS;hb=refs/heads/bugs). Speaking
53 of which: we've got Debsources into the
54 [**new contributors game**](https://wiki.debian.org/DebianFrance/NewContributorGame#Debsources_Improvements)
55 (see
56 [announcement](https://lists.debian.org/debian-devel-announce/2014/02/msg00009.html))
57 and we're looking forward to mentor new contributors.
58
59 [[!tag lang/english planet-debian debian qa debsources draft]]