• Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • core

      The buildTimeTrend currently only shows the last 20 build, this is caused by an other change made with JENKINS-20892 (related to lazy loading).
      To fix this issues, >20 builds should handled by using a lazy iterator from the build widget.

      the issue can be seen here:
      https://ci.jenkins-ci.org/computer/remote-slave-6/builds

          [JENKINS-22008] buildTimeTrend only shows the last 20 builds

          Jesse Glick added a comment -

          Should also stop firing off ~40 AJAX requests in parallel the way it does now, which probably saturates request handling threads, and may increase contention.

          Jesse Glick added a comment - Should also stop firing off ~40 AJAX requests in parallel the way it does now, which probably saturates request handling threads, and may increase contention.

          Jesse Glick added a comment -

          Requires some JavaScript hacking I think.

          Jesse Glick added a comment - Requires some JavaScript hacking I think.

          jglick Thanks so much for your clue.

          Manuel Recena Soto added a comment - jglick Thanks so much for your clue.

          recena Do you plan to customize the number of builds of buildTimeTrend as well? '0' would mean that you don't want to use the graph so you are sure you don't face any Lazyloading issue.

          Félix Belzunce Arcos added a comment - recena Do you plan to customize the number of builds of buildTimeTrend as well? '0' would mean that you don't want to use the graph so you are sure you don't face any Lazyloading issue.

          Jesse Glick added a comment -

          I do not think the user should be forced to pick a number, it should just show information from builds in the currently displayed time window. If you do not scroll, no more work is performed.

          Jesse Glick added a comment - I do not think the user should be forced to pick a number, it should just show information from builds in the currently displayed time window. If you do not scroll, no more work is performed.

          Félix Belzunce Arcos added a comment - - edited

          jglick If auto refresh is enabled, then it will be all the time doing the costly operation, right?

          Félix Belzunce Arcos added a comment - - edited jglick If auto refresh is enabled, then it will be all the time doing the costly operation, right?

          Jesse Glick added a comment -

          Jesse Glick added a comment - fbelzunc JENKINS-19828

          Jesse Glick added a comment -

          See related JENKINS-23244. It is a little complicated since the node build history page shows both a textual table, which is rendered incrementally; and a graphical timeline, which is not rendered incrementally (blocks a handler thread getting data), and which only shows 20 records (if it ever gets that many!) as a partial workaround.

          Even if everything is rendered incrementally (and, in the case of the timeline, also on demand by scrolling), leaving the page open (or scrolling) could impose a burden on the server, though at least there is no risk that some runaway thread will freeze the server indefinitely: you just need to navigate away. Maybe UIs like this could impose some kind of throttling, so that only up to 10 build records per seconds could be loaded in the entire system in response to UI navigation (batch processes could be exempted).

          Jesse Glick added a comment - See related JENKINS-23244 . It is a little complicated since the node build history page shows both a textual table, which is rendered incrementally; and a graphical timeline, which is not rendered incrementally (blocks a handler thread getting data), and which only shows 20 records (if it ever gets that many!) as a partial workaround. Even if everything is rendered incrementally (and, in the case of the timeline, also on demand by scrolling), leaving the page open (or scrolling) could impose a burden on the server, though at least there is no risk that some runaway thread will freeze the server indefinitely: you just need to navigate away. Maybe UIs like this could impose some kind of throttling, so that only up to 10 build records per seconds could be loaded in the entire system in response to UI navigation (batch processes could be exempted).

            Unassigned Unassigned
            domi Dominik Bartholdi
            Votes:
            12 Vote for this issue
            Watchers:
            16 Start watching this issue

              Created:
              Updated: