public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Igor <lanthruster@gmail.com>
To: Alec Warner <gentoo-dev@lists.gentoo.org>
Subject: Re: [gentoo-dev] Portage QOS
Date: Thu, 9 Jan 2014 16:44:02 +0400	[thread overview]
Message-ID: <52ce9994.24f5980a.0660.342e@mx.google.com> (raw)
In-Reply-To: <CAAr7Pr9a_BRZji8LTJb7rE53ASgyA4nP2ysVGkr+5m5JRjnYDw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 8116 bytes --]

Hello Alec,

Thursday, January 9, 2014, 12:12:18 PM, you wrote:


On Wed, Jan 8, 2014 at 11:24 PM, LTHR <lanthruster@gmail.com> wrote:
Hi All,


I want to start off by discussing your premise, before embarking on the overall goals.

You wrote:
"I'm with Gentoo for many years. For various reasons many techs were not implemented and now Gentoo is in a kind of stagnation. But we can give Gentoo a new birth with relatively little efforts and bring the distro to the whole new level. "

I don't actually believe your premise of stagnation. But I can put aside my disagreement for now.


True. There is no data to tell what happens with Gentoo (to give that data is one of the goals of the 
project). We only have some formal esteems from unreliable sources. 

According to distro watch: 

http://web.archive.org/web/20130701000000*/http://distrowatch.com/dwres.php?resource=popularity

In February 2012, Gentoo distro was in 19th place. 
In December 2012, Gentoo went to 22nd place. 
In December 2013, Gentoo is down to 32nd place 

According to Linux Counter 
http://web.archive.org/web/20120101000000*/http://linuxcounter.net/distributions/stats.html

In January 2012, Gentoo distro had 5.32%
In January 2012, Gentoo had 4.04%
In November 2013, Gentoo had 4,21% 

And from my experience of Gentoo forums, gentoo.wiki - I vote for Gentoo at least not gaining new users.
If in several years the number of users is not increased - we can tell about stagnation. 

Why new users are not with Gentoo and how to get them - good question, let's find out!


 Lets talk about how the overall goal of 'bringing the distro to a whole new level' and how 'Portage QoS' will help us get there. I don't think you covered these points well in your post (I will talk about the goals more below...)


I'll re-phrase the goals. 

It's all not very well thought after at this stage but immediate goals are like this: 


* Knowledge of the number of Gentoo distros installed world wide - knowing the trend how many users choose 
  Gentoo and where Gentoo is really going down|up|stands still. 
  
  You can then try different features and see how a feature is met - if the number of systems increase 
  then this feature is probably useful. It's a strategical job, somebody at the very top of the project should 
  analyze databases and make conclusions. 

* Knowledge of the ebuild popularity - what ebuilds are popular and what are not - what ebuild to give an extra focus 
  and what ebuild could wait

* Knowledge of ebuild quality. If some ebuilds fail on many systems - something is wrong and ebuild and may be portage 
  need fixing. It's especially useful to make sure that all ebuilds have correct dependencies, missing dependencies, etc.

* A formal esteem of portage quality 
  PortageQ = (the number of successful ebuilds/the number of all ebuild attempts)

  Portage speed efficiency:  
  Average time before build starts (or download starts)

  How many times portage fails itself. 

* Immediate problem detection. If the number of PortageQ went down last day - there is some problem. 
  (then you go to ebuild stats and see what is failing)

* Reducing load on bugtracker folks - the build problems will be detected automatically and solved according 
  to their importance. There will be no need to supply bug tracker with ebuild logs and emerge --info if 
  somebody wants to report a problem. 

* Team efficiency esteem. The stats will tell what ebuilds are failing most often. 

* Team automated info. When failure rate of a certain ebuild increase the maintainer is automatically 
  informed and he can login in web-interface and see details how exactly ebuild failed. 
  The same for the portage itself. Next day a maintainer could push a new ebuild in the portage and the 
  problem might be solved.

  It's not possible not to make mistakes. But it's possible to react on their consequences fast. 

* Knowledge what kernels are used by Gentoo users, how often they update their systems, what flags 
  are used 

2nd turn goals: 

* to integrate forums.gentoo.org and bug tracker. People are offering great workarounds and solutions. But 
  they're not known to the majority of Gentoo users. 

  If a e-build fails - may be there is already a solution - and we can offer the solutions automatically from 
  portage. Like:

  There might be some work-arounds on this problem: 
  [Gentoo Forum - qt-core ebuild fails - SOLVED] 
  htpp://forums.gentoo.org/..... 

  There is a known bug on this ebuild: 
  [Gentoo Bug - qt-core ebuild fails] 
  htpp://forums.gentoo.org/..... 

* to make Bug Tracker almost unmanned. We can use gathered infromation on failed e-builds to 
  create bugs in Bug Tracker automatically and automatically set priorities according to the 
  severity. 

  The severity could be assigned automatically from package popularity and failure rate stats.

  The users with the problems could receive e-mail automatically to follow up the quick arounds
  and solutions. 

  No need to change bug-tracker version, you just need a robot who would maintain bug-tracker 
  analyazing PortageQOS databases. 


I'm sure there could be more applications of the system. 



Back to the premise of bringing the distro to a whole new level. Some of the items above I think have merits on their own, but they still don't guide me to your ultimate goal. You outlined some of what I presume to be defects in Gentoo today.


It's hard to see more goals at this stage. It's like when you're building a hammer to set a nail and 
then when you have it you discover that you may use it to pull a nail too. It's for the future developers 
to decide. 

Knowledge: So I think in general I agree, insofar as more information can be helpful in making decisions. I think you should take note that there are at least 4-5 'gentoo stats' projects that have been tried and my understanding is that none of them are in operation today.

True, one of the reasons - the whole system planning shouldn't be apart from Gentoo developers. 

I could write the whole system on paper, with tools, soft used and the system design not narrowing to the table structures.
Then everyone could contribute his experience to it or see a problem at design time. 

I know how to design the system to make handling significant load. It has a good chance 
to work fast and to be scalable. 


With the design approved by others, programming is easy. 

It's not going to be very complex.
I estimate the whole system as 10 000 - 15 000 lines max in different languages. The most difficult part would 
be to make it scalable and fast as we don't know how many ebuilds are done world wide per second and we 
have to be prepared to hot-plug hardware at any time not redesigning the system. And the system shouldn't get 
overloaded/loose functionality. 



Package blocks that portage does not resolve automatically
Slot conflicts that portage does not resolve automatically
Compile failures
...What else?

So part of the Portage QoS system is that users will submit their failures and Portage QoS will serve as a knowledge base of known issues. To me, that is still a pretty bad User Experience. Can't we just get portage to handle these issues transparently, as per http://forums.gentoo.org/viewtopic-t-977936.html




If we ask users about questions they don't know answers to it will result in users loss. But it's totally 
out of my expertise if the portage interaction is GOOD 

Users are not doing anything usual than they do right now. The reports are sent transparently by 
portage to the PorageQOS load balancer and the suggestions are received.



Just a brief question - does anyone know how many ebuilds are assembled world 
wide each second?

I bet you more apks are installed per second ;)

-A
 
-- 
Best regards,
 LTHR                          mailto:lanthruster@gmail.com




-- 
Best regards,
 Igor                            mailto:lanthruster@gmail.com

[-- Attachment #2: Type: text/html, Size: 11794 bytes --]

  reply	other threads:[~2014-01-09 12:44 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-09  7:24 [gentoo-dev] Portage QOS LTHR
2014-01-09  8:12 ` Alec Warner
2014-01-09 12:44   ` Igor [this message]
2014-01-09 14:12     ` Christopher Schwan
2014-01-09 15:26       ` Igor
2014-01-09 15:55         ` Jeroen Roovers
2014-01-09 16:37           ` Igor
2014-01-10  0:27             ` heroxbd
2014-01-10 12:41               ` Igor
2014-01-10 13:51                 ` Rich Freeman
2014-01-10  0:16         ` heroxbd
2014-01-10  0:31           ` Patrick Lauer
2014-01-10  1:19             ` Tom Wijsman
2014-01-10  1:52               ` Patrick McLean
2014-01-10  2:40                 ` Tom Wijsman
2014-01-10  6:17                 ` Brian Dolbec
2014-01-10 18:14                 ` Ciaran McCreesh
2014-01-10  7:54             ` heroxbd
2014-01-10 18:11             ` Ciaran McCreesh
2014-01-11  3:57               ` Patrick Lauer
2014-01-10  1:02           ` Tom Wijsman
2014-01-10  9:10             ` heroxbd
2014-01-10 14:54               ` Tom Wijsman
2014-01-10 12:23           ` Igor
2014-01-10 12:30             ` René Neumann
2014-01-10 12:30           ` Igor
2014-01-10 12:39             ` Patrick Lauer
2014-01-10 13:05               ` Igor
2014-01-10 13:18                 ` René Neumann
2014-01-10 18:19                   ` Ciaran McCreesh
2014-01-10 19:06                     ` René Neumann
2014-01-10 14:05                 ` heroxbd
2014-01-12 10:47                 ` [gentoo-dev] " Steven J. Long
2014-01-10 13:10               ` [gentoo-dev] " Igor
2014-01-10 14:02                 ` Rich Freeman
2014-01-10 15:16                   ` Tom Wijsman
2014-01-10 18:12           ` Ciaran McCreesh
2014-01-09 15:49     ` Ben Kohler
2014-01-09 16:11       ` Igor
2014-01-09 17:59     ` [gentoo-dev] " Duncan
2014-01-09 20:42       ` Igor
2014-01-09 21:08         ` Chris Reffett
2014-01-10 12:10           ` Igor
2014-01-10 12:26             ` René Neumann
2014-01-10 12:52               ` Igor
2014-01-10 12:57                 ` René Neumann
2014-01-10 15:39                 ` Tom Wijsman
2014-01-10 16:36             ` Mike Frysinger
2014-01-10 18:17             ` Greg KH
2014-01-10 19:38           ` Duncan
2014-01-10 22:36             ` heroxbd
2014-01-11  1:28               ` Duncan
2014-01-09 19:35 ` [gentoo-dev] " yac
2014-01-11 15:00 ` Naohiro Aota
2014-01-12 10:28   ` Igor
2014-01-12 19:31   ` Igor
2014-01-12 19:31   ` Igor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52ce9994.24f5980a.0660.342e@mx.google.com \
    --to=lanthruster@gmail.com \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox