Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-22008

buildTimeTrend only shows the last 20 builds

    XMLWordPrintable

Details

    Description

      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

      Attachments

        Issue Links

          Activity

            jglick 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).

            jglick 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).
            jglick Jesse Glick added a comment - fbelzunc JENKINS-19828
            fbelzunc 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?

            fbelzunc 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?
            jglick 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.

            jglick 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.

            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.

            fbelzunc 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.

            jglick Thanks so much for your clue.

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

            Requires some JavaScript hacking I think.

            jglick Jesse Glick added a comment - Requires some JavaScript hacking I think.
            jglick 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.

            jglick 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.

            People

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

              Dates

                Created:
                Updated: