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

Improve remoting channel diagnostics in Support Core

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major Major
    • support-core-plugin
    • None

      In order to diagnose a Jenkins master that developed a remoting related problem (such as channel clogging), we want remoting to be able to provide detailed statistics for a channel, and support core plugin to be able to pull this information into a bundle.

          [JENKINS-39150] Improve remoting channel diagnostics in Support Core

          Kohsuke Kawaguchi created issue -

          As a context, this need came up while analyzing a situation developed in one of the CloudBees' customer's Jenkins

          Kohsuke Kawaguchi added a comment - As a context, this need came up while analyzing a situation developed in one of the CloudBees' customer's Jenkins

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          src/main/java/hudson/remoting/Channel.java
          src/test/java/hudson/remoting/ChannelTest.java
          http://jenkins-ci.org/commit/remoting/522a022ae961d31b7b4346f90d04c3d08115e7f7
          Log:
          JENKINS-39150 expose diagnostics across all the channels

          To be used by support-core, we need to be able to enumerate all active
          channels. We do this via WeakHashMap so that references get
          automatically garbage collected.

          Unclosed channel will remain in memory forever, which also helps us find
          those leaks.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: src/main/java/hudson/remoting/Channel.java src/test/java/hudson/remoting/ChannelTest.java http://jenkins-ci.org/commit/remoting/522a022ae961d31b7b4346f90d04c3d08115e7f7 Log: JENKINS-39150 expose diagnostics across all the channels To be used by support-core, we need to be able to enumerate all active channels. We do this via WeakHashMap so that references get automatically garbage collected. Unclosed channel will remain in memory forever, which also helps us find those leaks.
          Kohsuke Kawaguchi made changes -
          Remote Link New: This issue links to "remoting PR #122 (Web Link)" [ 14972 ]

          Fix ready

          Kohsuke Kawaguchi added a comment - Fix ready
          Kohsuke Kawaguchi made changes -
          Remote Link New: This issue links to "support-core PR #78 (Web Link)" [ 14973 ]

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          src/main/java/hudson/remoting/Channel.java
          src/main/java/hudson/remoting/Command.java
          src/test/java/hudson/remoting/ChannelTest.java
          http://jenkins-ci.org/commit/remoting/f9115111174fdac609ce16bb93fb1503b541a918
          Log:
          Merge pull request #122 from jenkinsci/JENKINS-39150

          JENKINS-39150 expose diagnostics across all the channels

          Compare: https://github.com/jenkinsci/remoting/compare/0c7df253043c...f9115111174f

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: src/main/java/hudson/remoting/Channel.java src/main/java/hudson/remoting/Command.java src/test/java/hudson/remoting/ChannelTest.java http://jenkins-ci.org/commit/remoting/f9115111174fdac609ce16bb93fb1503b541a918 Log: Merge pull request #122 from jenkinsci/ JENKINS-39150 JENKINS-39150 expose diagnostics across all the channels Compare: https://github.com/jenkinsci/remoting/compare/0c7df253043c...f9115111174f

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          pom.xml
          src/main/java/com/cloudbees/jenkins/support/impl/RemotingDiagnostics.java
          http://jenkins-ci.org/commit/support-core-plugin/d5b009c20f80839b49641d0419f6475e1cce513f
          Log:
          JENKINS-39150 report remoting diagnostics when it's available

          Since this plugin cannot assume the version of core, access the method
          in question via reflection (and also report the failure to find that
          method, so that we have evidence either way.)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: pom.xml src/main/java/com/cloudbees/jenkins/support/impl/RemotingDiagnostics.java http://jenkins-ci.org/commit/support-core-plugin/d5b009c20f80839b49641d0419f6475e1cce513f Log: JENKINS-39150 report remoting diagnostics when it's available Since this plugin cannot assume the version of core, access the method in question via reflection (and also report the failure to find that method, so that we have evidence either way.)

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          src/main/java/com/cloudbees/jenkins/support/impl/RemotingDiagnostics.java
          http://jenkins-ci.org/commit/support-core-plugin/1f43ffb1e0cdf7de4ab1090aedf2b623f151e006
          Log:
          JENKINS-39150 report remoting diagnostics when it's available

          Since this plugin cannot assume the version of core, access the method
          in question via reflection (and also report the failure to find that
          method, so that we have evidence either way.)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: src/main/java/com/cloudbees/jenkins/support/impl/RemotingDiagnostics.java http://jenkins-ci.org/commit/support-core-plugin/1f43ffb1e0cdf7de4ab1090aedf2b623f151e006 Log: JENKINS-39150 report remoting diagnostics when it's available Since this plugin cannot assume the version of core, access the method in question via reflection (and also report the failure to find that method, so that we have evidence either way.)

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          pom.xml
          src/main/java/hudson/remoting/Channel.java
          http://jenkins-ci.org/commit/remoting/9dc931703eb89ceb7608b88c0dd04da36f528a3b
          Log:
          JENKINS-39150 - API stabilization && compliance with the compatibility policy (#125)

          • JENKINS-39150 - Restrict the newly introduced APIs in stable-2.x branch
          • JENKINS-39150 - Fix error processing in the diagnostics dump API
          • JENKINS-39150 - Even more diagnostics according to comments from @stephenc

          Addresses comments from @oleg-nenashev and @rsandell

          • JENKINS-39150 - Address comment from @oleg-nenashev about conflict with #109

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: pom.xml src/main/java/hudson/remoting/Channel.java http://jenkins-ci.org/commit/remoting/9dc931703eb89ceb7608b88c0dd04da36f528a3b Log: JENKINS-39150 - API stabilization && compliance with the compatibility policy (#125) JENKINS-39150 - Restrict the newly introduced APIs in stable-2.x branch JENKINS-39150 - Fix error processing in the diagnostics dump API JENKINS-39150 - Fix Typos JENKINS-39150 - Even more diagnostics according to comments from @stephenc JENKINS-39150 - Statistic counters are long volatile now Addresses comments from @oleg-nenashev and @rsandell JENKINS-39150 - Address comment from @oleg-nenashev about conflict with #109 JENKINS-39150 - Fix another typo

            kohsuke Kohsuke Kawaguchi
            kohsuke Kohsuke Kawaguchi
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: