We couldn't load all Actvitity tabs. Refresh the page to try again.
If the problem persists, contact your Jira admin.
IMPORTANT: JAC is a Public system and anyone on the internet will be able to view the data in the created JAC tickets. Please don’t include Customer or Sensitive data in the JAC ticket.

    • 69
    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

      Review pages can cause high CPU load. From one client's debugs logs we see that over 13 seconds were spent in rendering review page:

      • ~7-8 seconds spent in preparing data for rendering including 2 calls to FRXDO.mapInlineComments() (2.5 secs each)
      • ~3 seconds spent in lines rendering (~500 diff regions)
      • ~3 seconds spent in comment rendering (~20 comments)

      At least 1 superfluous FRXDO.mapInlineComments() call can be avoided

      Example stacktrace:

      "btpool0-9732" prio=10 tid=0x00007fbe198d3800 nid=0xb74 runnable [0x00007fbdf34ef000]
         java.lang.Thread.State: RUNNABLE
      	at com.cenqua.fisheye.diff.MyersOND.buildPath(MyersOND.java:123)
      	at com.cenqua.fisheye.diff.MyersOND.diff(MyersOND.java:82)
      	at com.cenqua.fisheye.diff.Diff.diff(Diff.java:8)
      	at com.cenqua.fisheye.diff.DiffHelper.getHunkList(DiffHelper.java:26)
      	at com.cenqua.fisheye.diff.DiffHelper.getHunkList(DiffHelper.java:139)
      	at com.cenqua.crucible.revision.source.Source.getHunkList(Source.java:225)
      	at com.cenqua.crucible.view.FRXDO.getHunkList(FRXDO.java:1273)
      	at com.cenqua.crucible.view.FRXDO.getTetrisGrid(FRXDO.java:744)
      	at com.cenqua.crucible.view.FRXDO.mapInlineComments(FRXDO.java:772)
      	at com.cenqua.crucible.view.FRXDO.<init>(FRXDO.java:201)
      	at com.cenqua.crucible.revision.managers.DefaultContentManager.makeFRXDO(DefaultContentManager.java:107)
      	at com.atlassian.crucible.actions.ReviewBaseAction.makeFRXDO(ReviewBaseAction.java:596)
      	at com.atlassian.crucible.actions.ViewFRXAction.execute(ViewFRXAction.java:184)
      

      2nd example stacktrace:

      "btpool0-407" prio=10 tid=0x00002aafc873f000 nid=0x1aac runnable [0x0000000049ba8000]
         java.lang.Thread.State: RUNNABLE
      	at java.io.RandomAccessFile.length(Native Method)
      	at com.cenqua.fisheye.io.BufferedRandomAccessInputStream.length(BufferedRandomAccessInputStream.java:213)
      	at com.cenqua.fisheye.io.Utf16ERandomAccessIoStream.length(Utf16ERandomAccessIoStream.java:32)
      	at com.cenqua.fisheye.io.BufferedCharSequence.<init>(BufferedCharSequence.java:25)
      	at com.cenqua.fisheye.io.BufferedCharSequence.subSequence(BufferedCharSequence.java:52)
      	at com.cenqua.fisheye.diff.RegionListDiffSequences.getCharSequence(RegionListDiffSequences.java:75)
      	at com.cenqua.fisheye.diff.RegionListDiffSequences.equalImpl(RegionListDiffSequences.java:69)
      	at com.cenqua.fisheye.diff.RegionListDiffSequences.equal(RegionListDiffSequences.java:59)
      	at com.cenqua.fisheye.diff.MyersOND.buildPath(MyersOND.java:123)
      	at com.cenqua.fisheye.diff.MyersOND.diff(MyersOND.java:82)
      	at com.cenqua.fisheye.diff.Diff.diff(Diff.java:8)
      	at com.cenqua.fisheye.diff.EDiff.doDiff(EDiff.java:65)
      	at com.cenqua.fisheye.diff.view.DiffPrinter.setupEdiff(DiffPrinter.java:266)
      	at com.cenqua.fisheye.diff.view.DiffPrinter.access$100(DiffPrinter.java:28)
      	at com.cenqua.fisheye.diff.view.DiffPrinter$1.next(DiffPrinter.java:174)
      	at com.cenqua.fisheye.diff.view.DiffPrinter$1.next(DiffPrinter.java:151)
      	at com.cenqua.crucible.view.DiffDO.mapCommentsToDiff(DiffDO.java:38)
      	at com.cenqua.crucible.view.FRXDO.getLines(FRXDO.java:1245)
      	at com.cenqua.crucible.view.FRXDO.isNoChange(FRXDO.java:1216)
      

        1. frx.log
          932 kB
        2. nps-method-time.png
          nps-method-time.png
          399 kB
        3. zipfile.svn.zip
          181 kB

            Loading...
            IMPORTANT: JAC is a Public system and anyone on the internet will be able to view the data in the created JAC tickets. Please don’t include Customer or Sensitive data in the JAC ticket.

              • 69
              • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

                Review pages can cause high CPU load. From one client's debugs logs we see that over 13 seconds were spent in rendering review page:

                • ~7-8 seconds spent in preparing data for rendering including 2 calls to FRXDO.mapInlineComments() (2.5 secs each)
                • ~3 seconds spent in lines rendering (~500 diff regions)
                • ~3 seconds spent in comment rendering (~20 comments)

                At least 1 superfluous FRXDO.mapInlineComments() call can be avoided

                Example stacktrace:

                "btpool0-9732" prio=10 tid=0x00007fbe198d3800 nid=0xb74 runnable [0x00007fbdf34ef000]
                   java.lang.Thread.State: RUNNABLE
                	at com.cenqua.fisheye.diff.MyersOND.buildPath(MyersOND.java:123)
                	at com.cenqua.fisheye.diff.MyersOND.diff(MyersOND.java:82)
                	at com.cenqua.fisheye.diff.Diff.diff(Diff.java:8)
                	at com.cenqua.fisheye.diff.DiffHelper.getHunkList(DiffHelper.java:26)
                	at com.cenqua.fisheye.diff.DiffHelper.getHunkList(DiffHelper.java:139)
                	at com.cenqua.crucible.revision.source.Source.getHunkList(Source.java:225)
                	at com.cenqua.crucible.view.FRXDO.getHunkList(FRXDO.java:1273)
                	at com.cenqua.crucible.view.FRXDO.getTetrisGrid(FRXDO.java:744)
                	at com.cenqua.crucible.view.FRXDO.mapInlineComments(FRXDO.java:772)
                	at com.cenqua.crucible.view.FRXDO.<init>(FRXDO.java:201)
                	at com.cenqua.crucible.revision.managers.DefaultContentManager.makeFRXDO(DefaultContentManager.java:107)
                	at com.atlassian.crucible.actions.ReviewBaseAction.makeFRXDO(ReviewBaseAction.java:596)
                	at com.atlassian.crucible.actions.ViewFRXAction.execute(ViewFRXAction.java:184)
                

                2nd example stacktrace:

                "btpool0-407" prio=10 tid=0x00002aafc873f000 nid=0x1aac runnable [0x0000000049ba8000]
                   java.lang.Thread.State: RUNNABLE
                	at java.io.RandomAccessFile.length(Native Method)
                	at com.cenqua.fisheye.io.BufferedRandomAccessInputStream.length(BufferedRandomAccessInputStream.java:213)
                	at com.cenqua.fisheye.io.Utf16ERandomAccessIoStream.length(Utf16ERandomAccessIoStream.java:32)
                	at com.cenqua.fisheye.io.BufferedCharSequence.<init>(BufferedCharSequence.java:25)
                	at com.cenqua.fisheye.io.BufferedCharSequence.subSequence(BufferedCharSequence.java:52)
                	at com.cenqua.fisheye.diff.RegionListDiffSequences.getCharSequence(RegionListDiffSequences.java:75)
                	at com.cenqua.fisheye.diff.RegionListDiffSequences.equalImpl(RegionListDiffSequences.java:69)
                	at com.cenqua.fisheye.diff.RegionListDiffSequences.equal(RegionListDiffSequences.java:59)
                	at com.cenqua.fisheye.diff.MyersOND.buildPath(MyersOND.java:123)
                	at com.cenqua.fisheye.diff.MyersOND.diff(MyersOND.java:82)
                	at com.cenqua.fisheye.diff.Diff.diff(Diff.java:8)
                	at com.cenqua.fisheye.diff.EDiff.doDiff(EDiff.java:65)
                	at com.cenqua.fisheye.diff.view.DiffPrinter.setupEdiff(DiffPrinter.java:266)
                	at com.cenqua.fisheye.diff.view.DiffPrinter.access$100(DiffPrinter.java:28)
                	at com.cenqua.fisheye.diff.view.DiffPrinter$1.next(DiffPrinter.java:174)
                	at com.cenqua.fisheye.diff.view.DiffPrinter$1.next(DiffPrinter.java:151)
                	at com.cenqua.crucible.view.DiffDO.mapCommentsToDiff(DiffDO.java:38)
                	at com.cenqua.crucible.view.FRXDO.getLines(FRXDO.java:1245)
                	at com.cenqua.crucible.view.FRXDO.isNoChange(FRXDO.java:1216)
                

                  1. frx.log
                    932 kB
                  2. nps-method-time.png
                    nps-method-time.png
                    399 kB
                  3. zipfile.svn.zip
                    181 kB

                        Unassigned Unassigned
                        czawadka@atlassian.com Cezary Zawadka
                        Votes:
                        19 Vote for this issue
                        Watchers:
                        31 Start watching this issue

                          Created:
                          Updated:

                            Unassigned Unassigned
                            czawadka@atlassian.com Cezary Zawadka
                            Votes:
                            19 Vote for this issue
                            Watchers:
                            31 Start watching this issue

                              Created:
                              Updated: