All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dan Rue" <dan.rue@linaro.org>
To: kernelci@groups.io, broonie@kernel.org
Cc: guillaume.tucker@gmail.com, Linus Walleij <linus.walleij@linaro.org>
Subject: Re: Hourly, daily, weekly monitoring
Date: Tue, 5 Mar 2019 16:04:39 -0600	[thread overview]
Message-ID: <20190305220439.bzmsdtpd5gvrr3t6@xps.therub.org> (raw)
In-Reply-To: <20190305121412.GA7513@sirena.org.uk>

On Tue, Mar 05, 2019 at 12:14:12PM +0000, Mark Brown wrote:
> On Mon, Mar 04, 2019 at 01:20:25PM +0000, Guillaume Tucker wrote:
> 
> > I'm not entirely sure how much flexibility Jenkins can offer in
> > that respect, but at least having 3 versions of the monitor job
> > that runs every hour, every day and every week should cover all
> > the cases.  If possible, we may be able to implement something
> > that dynamically schedules the next check for each branch.
> 
> One big concern I have with this is latency.  One of the common cases
> where people don't need builds all the time is when they're mainly
> looking for checks before they submit pull requests.  For those if you
> might have to wait almost a day before we even queue the build it might
> be a bit of an issue.  If it was just a "skip this tree if we built it
> in the past X time" check that wouldn't be such an issue, it's just if
> the daily check runs at some fixed time each day or whatever that it
> might add huge extra latency.
> 
> Another idea I just thought of but I'm not sure is practical would be to
> only check some trees if the Jenkins queue is less than some number of
> builds - that way if we're busy we won't add extra load, but it feels
> like it's more trouble than it's worth to implement fairly.

That's a good point.

I wonder what happens when something doesn't fit in a
hourly/daily/weekly box. It could also cause a daily/weekly bottleneck
if they're all scheduled at the same time.

Perhaps each tree gets a cooling off period defined in e.g. seconds, and
it could be defaulted to current behavior of 1 hour. If a tree is
triggered but its cooling off period hasn't passed, the trigger is
either ignored or deferred. This would also let us increase the
frequency of the build trigger to something like every 5 minutes.

This way, load is evened out a bit (no spikes when 'weekly' or even
'hourly' runs), kernelci is more realtime (to Mark's point), and
configuration is granular and per-tree (we can still offer standard
cool-off periods, of course).

The only state that has to be tracked is the time of the last build per
tree, though I have no idea about the ease of implementation.

Dan

  reply	other threads:[~2019-03-05 22:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-04 13:20 Hourly, daily, weekly monitoring Guillaume Tucker
2019-03-05  1:53 ` Kevin Hilman
2019-03-05 12:14 ` Mark Brown
2019-03-05 22:04   ` Dan Rue [this message]
2019-03-06  9:16     ` Guillaume Tucker
2019-03-06 17:00       ` Mark Brown

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=20190305220439.bzmsdtpd5gvrr3t6@xps.therub.org \
    --to=dan.rue@linaro.org \
    --cc=broonie@kernel.org \
    --cc=guillaume.tucker@gmail.com \
    --cc=kernelci@groups.io \
    --cc=linus.walleij@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.