Re: Build History - 100s/1000s of builds - performance

2015-04-07 Thread Tom Fennelly
I created PR #1641 https://github.com/jenkinsci/jenkins/pull/1641 around 
efforts to address the issue of huge build histories. Hopefully there'll be 
a CI build available soon (from CI PR builder).

It's a WiP but please try it out and let us know what works, doesn't work, 
is missing etc

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/f85e582a-030b-4d63-aef6-44b8141a9016%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Build History - 100s/1000s of builds - performance

2015-01-26 Thread Jesse Glick
On Mon, Jan 26, 2015 at 5:10 AM, Robert Sandell rsand...@cloudbees.com wrote:
 the algorithm for the buildhistory widget on the job page is […]:
 list all queued builds then start listing the history

These are two distinct widgets; the job index page shows both, but a
view page (for example) shows only the queue widget. I think both need
replacing, though the build history widget is a higher priority.

 that would include currently running builds iirc

Yes, build history includes running builds.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr1wMObwyN5fhetS5_J76mfM%3DHc7SJUZuFOYKPp_cv%2Bpfw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: Build History - 100s/1000s of builds - performance

2015-01-26 Thread Surya Gaddipati
Might be slightly off topic but since we are talking about build history. 
I was always confused by why the most important part of the page 'build 
history' is tucked into a corner instead of being ( literally) front and 
center. Paginating that small widget in the corner would be awkward at 
best. 
None of the information on the main page is of much significance if you are 
using git with many branches in a multiuser environment. 

Here is a screenshot of revamped UI that I am working for dotci, that makes 
buildhistory the main focus of the page. 
http://i.imgur.com/qm8BqE8.png 


Surya



On Friday, January 23, 2015 at 9:53:58 AM UTC-6, Tom Fennelly wrote:

 Hi.

 I'm interested in hearing how people would feel about a change to how the 
 BuildHistory widget handles build histories where there are 100s or 1000s 
 of builds. As JENKINS-26445 
 https://issues.jenkins-ci.org/browse/JENKINS-26445 discusses, the 
 performance of this widget can stink if there are a huge number of builds.

 Currently if there are more than 40 or so builds, the widget adds a 
 More... link to the bottom. The user can press that link and Jenkins will 
 attempt to render ALL of the builds on that Job, even if there are 1000s of 
 them. This seems insane to me. I propose changing it to support a 
 pagination type mechanism where you get Prev, Next and Top buttons on 
 the widget and only ever display 40'ish builds at a time.

 This would obviously mean that you will only track the top/head of the 
 build history if you are on page 1. If you move to the next page (e.g. 
 builds 450 down to 400), then you stop tracking the top of the history 
 (similar to how the changelog tracking stops once you move away from the 
 tail). This might seem like the loss of an important feature but as I see 
 it, we can't have it both ways i.e. a responsive BuildHistory widget that 
 can also handle an unlimited number of builds all at once.

 Thoughts...

 Regards,

 Tom.


-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/9caf4ed6-82be-4a26-82f8-b827e8d63b6f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Build History - 100s/1000s of builds - performance

2015-01-26 Thread Robert Sandell
Well, the algorithm for the buildhistory widget on the job page is, put
simply; list all queued builds then start listing the history (that would
include currently running builds iirc).
So if only the history part of the list was paginated, the first page iiuc
would have the queue plus X builds and page 2 would have X builds making
the height of the witget change between page flips. If the first page only
listed queue length - X builds how would it handle transitions between
pages if a build left the queue and started building between page flips?

And what if you have 100s/1000s of builds of that job in the queue?

I'm not saying don't do it, something needs to be done about that widget,
I'm rather lifting some concerns :)

/B

On Mon, Jan 26, 2015 at 9:25 AM, Tom Fennelly tom.fenne...@gmail.com
wrote:

 Hi Bobby.

 What do you mean when you talk about moving it out into a separate widget?
 Move which parts out? Are you saying have 2 widgets, one for
 in-queue/running builds and one for completed builds?

 Perhaps I don't know all the use case but I was thinking (as I said in the
 original email) that once you move away from the top/head of the build
 history, then the widget stops tracking the top/head of the build history
 i.e. doesn't track at all or just tracks the window in the build history
 that they are currently looking at. If you want to track the top/head
 again, just page back to the top (or press the Top) button. Seems to me
 like it's not really humanly possible to look at 100s/1000s of builds all
 at one time anyway.

 On Friday, January 23, 2015 at 6:27:24 PM UTC, Robert Sandell wrote:

 What about the in queue part of the widget?
 I vote for moving it out into a separate widget otherwise tha pagination
 could get tricky if a build has been added or removed from the queue
 between page requests.

 /B

 On Fri, Jan 23, 2015 at 5:31 PM, Jesse Glick jgl...@cloudbees.com
 wrote:

 On Fri, Jan 23, 2015 at 11:11 AM, do...@fortysix.ch do...@fortysix.ch
 wrote:
  I know its not exactly the same thing, but maybe this could also
 create some ideas on how to solve an issue in the timeline widget:
 JENKINS-22008

 I think the implementation work would be mostly unrelated.
 JENKINS-22008 “just” needs someone to sit down and wrestle with the
 JavaScript a little bit to use a lazy iterator.

 --
 You received this message because you are subscribed to the Google
 Groups Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to jenkinsci-de...@googlegroups.com.
 To view this discussion on the web visit https://groups.google.com/d/
 msgid/jenkinsci-dev/CANfRfr3BC%2By2hMAuyC41jf7P5UBfCsf0%
 2BB0LYuDHunrTnRZ9rw%40mail.gmail.com.
 For more options, visit https://groups.google.com/d/optout.




 --
 Robert Sandell
 *Software Engineer*
 *CloudBees Inc.*

  --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/jenkinsci-dev/0f084c3a-f4a9-4fd1-ad22-578697037f9a%40googlegroups.com
 https://groups.google.com/d/msgid/jenkinsci-dev/0f084c3a-f4a9-4fd1-ad22-578697037f9a%40googlegroups.com?utm_medium=emailutm_source=footer
 .

 For more options, visit https://groups.google.com/d/optout.




-- 
Robert Sandell
*Software Engineer*
*CloudBees Inc.*

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CALzHZS2QV3k6PwJkND8Q8vTpROMqNrHau6OJ-s5QJ3h48emUkA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: Build History - 100s/1000s of builds - performance

2015-01-26 Thread Tom Fennelly
Hi Bobby.

What do you mean when you talk about moving it out into a separate widget? 
Move which parts out? Are you saying have 2 widgets, one for 
in-queue/running builds and one for completed builds?

Perhaps I don't know all the use case but I was thinking (as I said in the 
original email) that once you move away from the top/head of the build 
history, then the widget stops tracking the top/head of the build history 
i.e. doesn't track at all or just tracks the window in the build history 
that they are currently looking at. If you want to track the top/head 
again, just page back to the top (or press the Top) button. Seems to me 
like it's not really humanly possible to look at 100s/1000s of builds all 
at one time anyway.

On Friday, January 23, 2015 at 6:27:24 PM UTC, Robert Sandell wrote:

 What about the in queue part of the widget?
 I vote for moving it out into a separate widget otherwise tha pagination 
 could get tricky if a build has been added or removed from the queue 
 between page requests.

 /B

 On Fri, Jan 23, 2015 at 5:31 PM, Jesse Glick jgl...@cloudbees.com 
 javascript: wrote:

 On Fri, Jan 23, 2015 at 11:11 AM, do...@fortysix.ch javascript: 
 do...@fortysix.ch javascript: wrote:
  I know its not exactly the same thing, but maybe this could also create 
 some ideas on how to solve an issue in the timeline widget: JENKINS-22008

 I think the implementation work would be mostly unrelated.
 JENKINS-22008 “just” needs someone to sit down and wrestle with the
 JavaScript a little bit to use a lazy iterator.

 --
 You received this message because you are subscribed to the Google Groups 
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-de...@googlegroups.com javascript:.
 To view this discussion on the web visit 
 https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3BC%2By2hMAuyC41jf7P5UBfCsf0%2BB0LYuDHunrTnRZ9rw%40mail.gmail.com
 .
 For more options, visit https://groups.google.com/d/optout.




 -- 
 Robert Sandell
 *Software Engineer*
 *CloudBees Inc.*
  

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/0f084c3a-f4a9-4fd1-ad22-578697037f9a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Build History - 100s/1000s of builds - performance

2015-01-26 Thread Tom Fennelly
Okay, thanks Bobby. Let me have a closer look at it to see can I come up 
with something that might work within a single widget.

On Monday, January 26, 2015 at 10:10:50 AM UTC, Robert Sandell wrote:

 Well, the algorithm for the buildhistory widget on the job page is, put 
 simply; list all queued builds then start listing the history (that would 
 include currently running builds iirc).
 So if only the history part of the list was paginated, the first page iiuc 
 would have the queue plus X builds and page 2 would have X builds making 
 the height of the witget change between page flips. If the first page only 
 listed queue length - X builds how would it handle transitions between 
 pages if a build left the queue and started building between page flips?

 And what if you have 100s/1000s of builds of that job in the queue?

 I'm not saying don't do it, something needs to be done about that widget, 
 I'm rather lifting some concerns :)

 /B

 On Mon, Jan 26, 2015 at 9:25 AM, Tom Fennelly tom.fe...@gmail.com 
 javascript: wrote:

 Hi Bobby.

 What do you mean when you talk about moving it out into a separate 
 widget? Move which parts out? Are you saying have 2 widgets, one for 
 in-queue/running builds and one for completed builds?

 Perhaps I don't know all the use case but I was thinking (as I said in 
 the original email) that once you move away from the top/head of the build 
 history, then the widget stops tracking the top/head of the build history 
 i.e. doesn't track at all or just tracks the window in the build history 
 that they are currently looking at. If you want to track the top/head 
 again, just page back to the top (or press the Top) button. Seems to me 
 like it's not really humanly possible to look at 100s/1000s of builds all 
 at one time anyway.

 On Friday, January 23, 2015 at 6:27:24 PM UTC, Robert Sandell wrote:

 What about the in queue part of the widget?
 I vote for moving it out into a separate widget otherwise tha pagination 
 could get tricky if a build has been added or removed from the queue 
 between page requests.

 /B

 On Fri, Jan 23, 2015 at 5:31 PM, Jesse Glick jgl...@cloudbees.com 
 wrote:

 On Fri, Jan 23, 2015 at 11:11 AM, do...@fortysix.ch do...@fortysix.ch 
 wrote:
  I know its not exactly the same thing, but maybe this could also 
 create some ideas on how to solve an issue in the timeline widget: 
 JENKINS-22008

 I think the implementation work would be mostly unrelated.
 JENKINS-22008 “just” needs someone to sit down and wrestle with the
 JavaScript a little bit to use a lazy iterator.

 --
 You received this message because you are subscribed to the Google 
 Groups Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send 
 an email to jenkinsci-de...@googlegroups.com.
 To view this discussion on the web visit https://groups.google.com/d/
 msgid/jenkinsci-dev/CANfRfr3BC%2By2hMAuyC41jf7P5UBfCsf0%
 2BB0LYuDHunrTnRZ9rw%40mail.gmail.com.
 For more options, visit https://groups.google.com/d/optout.




 -- 
 Robert Sandell
 *Software Engineer*
 *CloudBees Inc.*
  
  -- 
 You received this message because you are subscribed to the Google Groups 
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-de...@googlegroups.com javascript:.
 To view this discussion on the web visit 
 https://groups.google.com/d/msgid/jenkinsci-dev/0f084c3a-f4a9-4fd1-ad22-578697037f9a%40googlegroups.com
  
 https://groups.google.com/d/msgid/jenkinsci-dev/0f084c3a-f4a9-4fd1-ad22-578697037f9a%40googlegroups.com?utm_medium=emailutm_source=footer
 .

 For more options, visit https://groups.google.com/d/optout.




 -- 
 Robert Sandell
 *Software Engineer*
 *CloudBees Inc.*
  

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/ea2964b7-d045-4cb5-9048-03f7707675b4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Build History - 100s/1000s of builds - performance

2015-01-23 Thread Robert Sandell
What about the in queue part of the widget?
I vote for moving it out into a separate widget otherwise tha pagination
could get tricky if a build has been added or removed from the queue
between page requests.

/B

On Fri, Jan 23, 2015 at 5:31 PM, Jesse Glick jgl...@cloudbees.com wrote:

 On Fri, Jan 23, 2015 at 11:11 AM, d...@fortysix.ch d...@fortysix.ch
 wrote:
  I know its not exactly the same thing, but maybe this could also create
 some ideas on how to solve an issue in the timeline widget: JENKINS-22008

 I think the implementation work would be mostly unrelated.
 JENKINS-22008 “just” needs someone to sit down and wrestle with the
 JavaScript a little bit to use a lazy iterator.

 --
 You received this message because you are subscribed to the Google Groups
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3BC%2By2hMAuyC41jf7P5UBfCsf0%2BB0LYuDHunrTnRZ9rw%40mail.gmail.com
 .
 For more options, visit https://groups.google.com/d/optout.




-- 
Robert Sandell
*Software Engineer*
*CloudBees Inc.*

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CALzHZS2ave-NboihpZwBm63ehYQ1RtN%2BA6oZr6Lp2yx%2BUp_4yQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: Build History - 100s/1000s of builds - performance

2015-01-23 Thread Jesse Glick
On Fri, Jan 23, 2015 at 11:11 AM, d...@fortysix.ch d...@fortysix.ch wrote:
 I know its not exactly the same thing, but maybe this could also create some 
 ideas on how to solve an issue in the timeline widget: JENKINS-22008

I think the implementation work would be mostly unrelated.
JENKINS-22008 “just” needs someone to sit down and wrestle with the
JavaScript a little bit to use a lazy iterator.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr3BC%2By2hMAuyC41jf7P5UBfCsf0%2BB0LYuDHunrTnRZ9rw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: Build History - 100s/1000s of builds - performance

2015-01-23 Thread Jesse Glick
On Fri, Jan 23, 2015 at 10:53 AM, Tom Fennelly tom.fenne...@gmail.com wrote:
 I propose changing it to support a pagination type mechanism where you get 
 Prev, Next and Top buttons on the widget

+1 for either pagination or ProgressiveRendering.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr2r4eNu4GzZB1aiG20aF8SxOJKmrsoKa51f0JYT2bECiA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Build History - 100s/1000s of builds - performance

2015-01-23 Thread Tom Fennelly
Hi.

I'm interested in hearing how people would feel about a change to how the 
BuildHistory widget handles build histories where there are 100s or 1000s 
of builds. As JENKINS-26445 
https://issues.jenkins-ci.org/browse/JENKINS-26445 discusses, the 
performance of this widget can stink if there are a huge number of builds.

Currently if there are more than 40 or so builds, the widget adds a 
More... link to the bottom. The user can press that link and Jenkins will 
attempt to render ALL of the builds on that Job, even if there are 1000s of 
them. This seems insane to me. I propose changing it to support a 
pagination type mechanism where you get Prev, Next and Top buttons on 
the widget and only ever display 40'ish builds at a time.

This would obviously mean that you will only track the top/head of the 
build history if you are on page 1. If you move to the next page (e.g. 
builds 450 down to 400), then you stop tracking the top of the history 
(similar to how the changelog tracking stops once you move away from the 
tail). This might seem like the loss of an important feature but as I see 
it, we can't have it both ways i.e. a responsive BuildHistory widget that 
can also handle an unlimited number of builds all at once.

Thoughts...

Regards,

Tom.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/c39157eb-1a73-44ed-9643-08fc81b12bff%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Build History - 100s/1000s of builds - performance

2015-01-23 Thread d...@fortysix.ch
+1 for pagination 
I know its not exactly the same thing, but maybe this could also create some 
ideas on how to solve an issue in the timeline widget: 
https://issues.jenkins-ci.org/browse/JENKINS-22008
Domi

 On 23 Jan 2015, at 17:01, Jesse Glick jgl...@cloudbees.com wrote:
 
 On Fri, Jan 23, 2015 at 10:53 AM, Tom Fennelly tom.fenne...@gmail.com wrote:
 I propose changing it to support a pagination type mechanism where you get 
 Prev, Next and Top buttons on the widget
 
 +1 for either pagination or ProgressiveRendering.
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Jenkins Developers group.
 To unsubscribe from this group and stop receiving emails from it, send an 
 email to jenkinsci-dev+unsubscr...@googlegroups.com.
 To view this discussion on the web visit 
 https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr2r4eNu4GzZB1aiG20aF8SxOJKmrsoKa51f0JYT2bECiA%40mail.gmail.com.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
Jenkins Developers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/1FBA90DA-931F-44B3-88A2-6100B87B74A1%40fortysix.ch.
For more options, visit https://groups.google.com/d/optout.