Gentoo Archives: gentoo-soc

From: Yanbo Wang <wybb86@×××××.com>
To: gentoo-soc@l.g.o
Subject: Re: [gentoo-soc] Package statistics reporting tool
Date: Sat, 17 Mar 2012 12:08:28
Message-Id: CAPFFmP2m7Nwksn_H5CsNv7KgCRwuTCk_wGCWtOfqfmzOgOvX5Q@mail.gmail.com
In Reply to: Re: [gentoo-soc] Package statistics reporting tool by Rafael Goncalves Martins
1 Thanks for your reply.
2
3 2012/3/17 Rafael Goncalves Martins <rafaelmartins@g.o>:
4 > Hi,
5 >
6 > On Fri, Mar 16, 2012 at 12:59 PM, Corentin Chary
7 > <corentin.chary@×××××.com> wrote:
8 >> Hi,
9 >>
10 >> Ccing Rafael.
11 >>
12 >> On Thu, Mar 15, 2012 at 2:44 PM, Yanbo Wang <wybb86@×××××.com> wrote:
13 >>> Hi everyone,
14 >>>
15 >>> I'm a post graduate student from China. I'm interested in the idea about
16 >>> Package statistics reporting tool and I'd like to take part in this year's GSoc
17 >>> as a student.
18 >>>
19 >>> I have read the code written by Vikraman and deployed the server on my gentoo.
20 >>> The server gathered a lot of information about environment and
21 >>> packages installed.
22 >>> I could get the statistic through web interface or terminal.That's
23 >>> very great, I really want
24 >>> to contribute to the project.
25 >>> Please tell me this year's focus, and I have some ideas to share.
26 >>> 1. Upload more information such as developers' email, whether the packages
27 >>> installed is stable or not,  the crash info.
28 >>> 2. Some statistics like popularity(recently installed packages, least
29 >>> popular packages)
30 >>> or the relationship between packages could be done in a cronjob.
31 >>> 3. Integrate with bugzilla. Developers can easily get the bugs of
32 >>> packages through
33 >>> statistic web interface or terminal, like PyBugz [1]. These will help
34 >>> developers find bugs
35 >>> of their packages easier.
36 >
37 > @Yanbo, thanks for your interest. Some of your ideas are great, but
38 > one of the things that we should keep in mind for this project is
39 > privacy. We should make sure that the user is aware of what data he is
40 > sending for our servers, and disable it if needed. The code should be
41 > able to handle this properly. I think that we shouldn't install a
42 > cronjob automatically, for example.
43 >
44
45 Of course, privacy is an important part of this project. Currently,
46 users can decide what data they want to sending by payload.cfg file
47 and it will be easily extended if we add more features. The client
48 generates a UUID for the host on installation and the server uses UUID
49 to identify the host and packages installed.
50 Maybe my expression was not clear, a cronjob could be installed on the
51 server, not on the host, because the extraction of some interesting
52 statistics, like relationship between packages, will be time-consuming
53 and we should preprocess them with a cronjob. These statistics may be
54 used for recommending related packages or finding bugs between
55 packages.
56
57 >>> About me:
58 >>> I’ve had 3 years’ experience in java development (Java Web and Swing), 2 years'
59 >>> in python development (Django) and also be fimilar with c/c++.  I’ve been using
60 >>> gentoo for over 1 year and I really want to contribute a little to
61 >>> gentoo community.
62 >>>
63 >>> [1] http://www.liquidx.net/pybugz/
64 >>
65 >> I took a quick look at last year code, and I think the project would
66 >> be easier to extend if it was using django. This would avoid writing
67 >> custom SQL queries, etc... And you can probably steal some code from
68 >> euscan to do that.
69 >> Note that I'm not the mentor for this project and it is just an idea.
70 >
71 > @Corentin: During last year's gsoc I talked quickly with Vikraman and
72 > Alec about the web framework being used. I agree that web.py isn't the
73 > better tool for the job, I think I suggested flask that time, don't
74 > recall correctly.
75 >
76
77 Django is okey for me and I can learn something related from euscan.
78 Thanks for Corentin's advice.
79
80 > This topic should be well discussed, because any change of framework
81 > will spend a considerable amount of time, considering that we just
82 > have 3 months.
83 >
84 >> I think this years goals should be:
85 >> - stabilization of the client, and integration with the base system,
86 >> documentation during installation, etc...
87 >> - adding more features to the web interface, like what we can find  on
88 >> http://popcon.debian.org/ (charts, sortable tables, overlays usage,
89 >> etc..)
90 >> - integration with other gentoo webservices (how ?)
91
92 Like PyBugz [1], developers can get bugs through terminal when they
93 query packages, rather than Bugzilla website. In addition, we can add
94 bugs' links to Bugzilla website in packages statistic page.
95
96 >> - putting the project in production of gentoo-infra
97 >>
98 >
99 > @Corentin: I tend to agree with these goals. Thanks for the answer.
100 >
101 > @Yanbo, your ideas are good, but keep security and privacy in mind. I
102 > think that these are the key points of the success of this project.
103 > Also, automatic bug reports are cool, but we need to stabilize the
104 > basic features first.
105 >
106
107 Yes, thanks for yours and Corentin's suggestion, stabilization and
108 adding more features to the web interface are most import to complete.
109 There has been one package named abrt [2], and this tool helps users
110 easily report bugs of packages to Bugzilla. My idea about bug report
111 is reporting package name with some comment to the server with
112 terminal like current gentoostats-send script when the package crashs.
113 On the server side, reports are analysed offline. We can extract the
114 usefull things and help developers find bugs. For example, most of
115 users build one package with the same CFLAG have the same problem or
116 install one package with another package together have the same crash
117 info.
118
119 > Best regards,
120 >
121 > --
122 > Rafael Goncalves Martins
123 > Gentoo Linux developer
124 > http://rafaelmartins.eng.br/
125 >
126
127 [1] http://packages.gentoo.org/package/www-client/pybugz
128 [2] http://packages.gentoo.org/package/app-admin/abrt
129
130 --
131 Thanks,
132 Yanbo Wang