You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Felix Meschberger (Created) (JIRA)" <ji...@apache.org> on 2012/02/06 12:45:59 UTC

[jira] [Created] (FELIX-3339) Consolidate Thread Dump Support

Consolidate Thread Dump Support
-------------------------------

                 Key: FELIX-3339
                 URL: https://issues.apache.org/jira/browse/FELIX-3339
             Project: Felix
          Issue Type: Improvement
          Components: Web Console
    Affects Versions: webconsole-3.1.8
            Reporter: Felix Meschberger


The Felix Web Console currently has an embedded plugin only using traditional Java API. Sling has a Web Console plugin leveraging the Java 5 JMX APIs.

These two should be consolidated and extended such that:
  * Separate bundle (not embedded in the Web Console Bundle)
  * one single plugin in Apache Felix
  * Uses Java 6 JMX API if available
  * Falls back to Java 5 JMX API if not Java 6
  * Falls back to regular Java API as a last step
  * Provide Gogo Shell Commands

The advantage of using Java 6 API is to be able to inject lock information in the thread dumps to be able to followup on deadlock and similar situations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (FELIX-3339) Consolidate Thread Dump Support

Posted by "Valentin Valchev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13274561#comment-13274561 ] 

Valentin Valchev commented on FELIX-3339:
-----------------------------------------

Separate plugin seems too much for me. I think of something else now - in the printer to include first a summary of the threads without the stack traces and then detailed dump
                
> Consolidate Thread Dump Support
> -------------------------------
>
>                 Key: FELIX-3339
>                 URL: https://issues.apache.org/jira/browse/FELIX-3339
>             Project: Felix
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: webconsole-3.1.8
>            Reporter: Felix Meschberger
>
> The Felix Web Console currently has an embedded plugin only using traditional Java API. Sling has a Web Console plugin leveraging the Java 5 JMX APIs.
> These two should be consolidated and extended such that:
>   * Separate bundle (not embedded in the Web Console Bundle)
>   * one single plugin in Apache Felix
>   * Uses Java 6 JMX API if available
>   * Falls back to Java 5 JMX API if not Java 6
>   * Falls back to regular Java API as a last step
>   * Provide Gogo Shell Commands
> The advantage of using Java 6 API is to be able to inject lock information in the thread dumps to be able to followup on deadlock and similar situations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (FELIX-3339) Consolidate Thread Dump Support

Posted by "Justin Edelson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13273944#comment-13273944 ] 

Justin Edelson commented on FELIX-3339:
---------------------------------------

Please don't have the thread dumps *only* in ZIP mode. While the thread dump is a relatively time consuming task, it's far less time consuming (in real time) than me opening up the ZIP file or firing up VisualVM.
                
> Consolidate Thread Dump Support
> -------------------------------
>
>                 Key: FELIX-3339
>                 URL: https://issues.apache.org/jira/browse/FELIX-3339
>             Project: Felix
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: webconsole-3.1.8
>            Reporter: Felix Meschberger
>
> The Felix Web Console currently has an embedded plugin only using traditional Java API. Sling has a Web Console plugin leveraging the Java 5 JMX APIs.
> These two should be consolidated and extended such that:
>   * Separate bundle (not embedded in the Web Console Bundle)
>   * one single plugin in Apache Felix
>   * Uses Java 6 JMX API if available
>   * Falls back to Java 5 JMX API if not Java 6
>   * Falls back to regular Java API as a last step
>   * Provide Gogo Shell Commands
> The advantage of using Java 6 API is to be able to inject lock information in the thread dumps to be able to followup on deadlock and similar situations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (FELIX-3339) Consolidate Thread Dump Support

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13274564#comment-13274564 ] 

Felix Meschberger commented on FELIX-3339:
------------------------------------------

> Separate plugin seems too much for me. 

I may have been unclear, sorry. I was not talking about a separate bundle. What I meant was just registering a Servlet service as a web console plugin exposing thread dump functionality. This would be in the same bundle just a different code path.
                
> Consolidate Thread Dump Support
> -------------------------------
>
>                 Key: FELIX-3339
>                 URL: https://issues.apache.org/jira/browse/FELIX-3339
>             Project: Felix
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: webconsole-3.1.8
>            Reporter: Felix Meschberger
>
> The Felix Web Console currently has an embedded plugin only using traditional Java API. Sling has a Web Console plugin leveraging the Java 5 JMX APIs.
> These two should be consolidated and extended such that:
>   * Separate bundle (not embedded in the Web Console Bundle)
>   * one single plugin in Apache Felix
>   * Uses Java 6 JMX API if available
>   * Falls back to Java 5 JMX API if not Java 6
>   * Falls back to regular Java API as a last step
>   * Provide Gogo Shell Commands
> The advantage of using Java 6 API is to be able to inject lock information in the thread dumps to be able to followup on deadlock and similar situations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (FELIX-3339) Consolidate Thread Dump Support

Posted by "Valentin Valchev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13274471#comment-13274471 ] 

Valentin Valchev commented on FELIX-3339:
-----------------------------------------

You maybe right. I'm changing to include the thread dumps by default.
                
> Consolidate Thread Dump Support
> -------------------------------
>
>                 Key: FELIX-3339
>                 URL: https://issues.apache.org/jira/browse/FELIX-3339
>             Project: Felix
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: webconsole-3.1.8
>            Reporter: Felix Meschberger
>
> The Felix Web Console currently has an embedded plugin only using traditional Java API. Sling has a Web Console plugin leveraging the Java 5 JMX APIs.
> These two should be consolidated and extended such that:
>   * Separate bundle (not embedded in the Web Console Bundle)
>   * one single plugin in Apache Felix
>   * Uses Java 6 JMX API if available
>   * Falls back to Java 5 JMX API if not Java 6
>   * Falls back to regular Java API as a last step
>   * Provide Gogo Shell Commands
> The advantage of using Java 6 API is to be able to inject lock information in the thread dumps to be able to followup on deadlock and similar situations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (FELIX-3339) Consolidate Thread Dump Support

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13274518#comment-13274518 ] 

Felix Meschberger commented on FELIX-3339:
------------------------------------------

How about kind of a compromise ?

We don't include the thread dump in the standard configuration printer page but only in the ZIP (as done by Valentin)

In addition a plain WebConsole Plugin (Servlet) is created which provides the thread dump in a regular plugin page. The plugin is free to format the dump or provide HTML around the dump to prevent the screen from "exploding" while at the same time providing simple and quick access to the information.
                
> Consolidate Thread Dump Support
> -------------------------------
>
>                 Key: FELIX-3339
>                 URL: https://issues.apache.org/jira/browse/FELIX-3339
>             Project: Felix
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: webconsole-3.1.8
>            Reporter: Felix Meschberger
>
> The Felix Web Console currently has an embedded plugin only using traditional Java API. Sling has a Web Console plugin leveraging the Java 5 JMX APIs.
> These two should be consolidated and extended such that:
>   * Separate bundle (not embedded in the Web Console Bundle)
>   * one single plugin in Apache Felix
>   * Uses Java 6 JMX API if available
>   * Falls back to Java 5 JMX API if not Java 6
>   * Falls back to regular Java API as a last step
>   * Provide Gogo Shell Commands
> The advantage of using Java 6 API is to be able to inject lock information in the thread dumps to be able to followup on deadlock and similar situations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Issue Comment Edited] (FELIX-3339) Consolidate Thread Dump Support

Posted by "Valentin Valchev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13274471#comment-13274471 ] 

Valentin Valchev edited comment on FELIX-3339 at 5/14/12 6:32 AM:
------------------------------------------------------------------

You maybe right. I'm changing to include the thread dumps by default it there is just one on the same opinion!

It becomes messy if the thread dumps are included by default. You can barely read the thread info - which thread belongs to which group. And if you need basic overview of the running thread - there is no way to get it this way.
                
      was (Author: v_valchev):
    You maybe right. I'm changing to include the thread dumps by default.
                  
> Consolidate Thread Dump Support
> -------------------------------
>
>                 Key: FELIX-3339
>                 URL: https://issues.apache.org/jira/browse/FELIX-3339
>             Project: Felix
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: webconsole-3.1.8
>            Reporter: Felix Meschberger
>
> The Felix Web Console currently has an embedded plugin only using traditional Java API. Sling has a Web Console plugin leveraging the Java 5 JMX APIs.
> These two should be consolidated and extended such that:
>   * Separate bundle (not embedded in the Web Console Bundle)
>   * one single plugin in Apache Felix
>   * Uses Java 6 JMX API if available
>   * Falls back to Java 5 JMX API if not Java 6
>   * Falls back to regular Java API as a last step
>   * Provide Gogo Shell Commands
> The advantage of using Java 6 API is to be able to inject lock information in the thread dumps to be able to followup on deadlock and similar situations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (FELIX-3339) Consolidate Thread Dump Support

Posted by "Felix Meschberger (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13272522#comment-13272522 ] 

Felix Meschberger commented on FELIX-3339:
------------------------------------------

> I already have a working code, it's just waiting for commit. WDYT? 

Sure.

If you look at the Sling Thread dumper you see it leverage new API [1]. Is your patch integrating that ?

[1] http://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/threaddump
                
> Consolidate Thread Dump Support
> -------------------------------
>
>                 Key: FELIX-3339
>                 URL: https://issues.apache.org/jira/browse/FELIX-3339
>             Project: Felix
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: webconsole-3.1.8
>            Reporter: Felix Meschberger
>
> The Felix Web Console currently has an embedded plugin only using traditional Java API. Sling has a Web Console plugin leveraging the Java 5 JMX APIs.
> These two should be consolidated and extended such that:
>   * Separate bundle (not embedded in the Web Console Bundle)
>   * one single plugin in Apache Felix
>   * Uses Java 6 JMX API if available
>   * Falls back to Java 5 JMX API if not Java 6
>   * Falls back to regular Java API as a last step
>   * Provide Gogo Shell Commands
> The advantage of using Java 6 API is to be able to inject lock information in the thread dumps to be able to followup on deadlock and similar situations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (FELIX-3339) Consolidate Thread Dump Support

Posted by "Valentin Valchev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/FELIX-3339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13272362#comment-13272362 ] 

Valentin Valchev commented on FELIX-3339:
-----------------------------------------

There is another option. We can use the Java 5 Thread.getAllStackTraces() method. This will work for newer JVMs.

What we can do is:
- call the method via reflection, so it will work also in older JVMs
- make Threads printer to be mode aware printer.
- the thread dumps should appear only in ZIP mode, since this is time consuming task

Do you like it this way?

I already have a working code, it's just waiting for commit. WDYT?

                
> Consolidate Thread Dump Support
> -------------------------------
>
>                 Key: FELIX-3339
>                 URL: https://issues.apache.org/jira/browse/FELIX-3339
>             Project: Felix
>          Issue Type: Improvement
>          Components: Web Console
>    Affects Versions: webconsole-3.1.8
>            Reporter: Felix Meschberger
>
> The Felix Web Console currently has an embedded plugin only using traditional Java API. Sling has a Web Console plugin leveraging the Java 5 JMX APIs.
> These two should be consolidated and extended such that:
>   * Separate bundle (not embedded in the Web Console Bundle)
>   * one single plugin in Apache Felix
>   * Uses Java 6 JMX API if available
>   * Falls back to Java 5 JMX API if not Java 6
>   * Falls back to regular Java API as a last step
>   * Provide Gogo Shell Commands
> The advantage of using Java 6 API is to be able to inject lock information in the thread dumps to be able to followup on deadlock and similar situations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira