You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Arjun Panday (JIRA)" <ji...@apache.org> on 2011/09/22 22:42:26 UTC
[jira] [Created] (FELIX-3128) A Service Diagnostics service and
graphical WebConsole plugin
A Service Diagnostics service and graphical WebConsole plugin
-------------------------------------------------------------
Key: FELIX-3128
URL: https://issues.apache.org/jira/browse/FELIX-3128
Project: Felix
Issue Type: New Feature
Components: Web Console
Reporter: Arjun Panday
Priority: Minor
Hi all,
I'd like to suggest/contribute the attached project.
The project aims at easing diagnostics of OSGi services and finding about missing dependencies.
Typically in a large system with many cascading dependencies managed by different trackers such as DeclarativeService, DependencyManager or others, tracking the root cause of a top level service not being started can become very cumbersome. When building service oriented architectures, it is often the case that a single missing requirement will lock a full stack of services, but to find that one requirement is like finding a needle in a haystack!
The basic idea here is to ask each dependency manager instance about its unresolved dependencies, merge all answers and filter the result to keep only the root causes.
Typically, if A depends on B which depends on C which depends on D, and D is nowhere to be found, I need only show the "C -> D" missing requirement; if D is resolved, then the whole stack is unlocked.
Similarly, if D is known by another dependency management system, but unregistered because it depends on E which is missing, then only the "D -> E" requirement is relevant.
The proposed code is composed as follows:
* servicediagnostics: the API package. It holds the main service interface as well as the plugin interface, to extend to other dependency management systems
* servicediagnostics.impl: the implementation package. It contains plugins implementations for org.apache.felix.scr and org.apache.felix.dependencymanager, as well as the main service implementation.
* servicediagnostics.webconsole: a Felix WebConsole plugin that displays a graphical view of the diagnostics result. Alternatively it can also show a graph of all services currently registered in the service registry and the bundles using them. See Screenshot-notavail.png and Screenshot-all.png. Using the Raphael graffle library (http://raphaeljs.com/graffle.html) allows for nice interactive views of the service registry.
The attached package is provided as a maven project, along with a sample runner. Simply untar the files, run mvn install and then run.sh.
Follow the Readme file for details.
It is not perfect and still needs some improvements (in handling service filters for instance) but as such it is already quite useful.
I hope you'll like the idea.
Regards,
Arjun
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
Re: [jira] [Created] (FELIX-3128) A Service Diagnostics service and
graphical WebConsole plugin
Posted by Felix Meschberger <fm...@adobe.com>.
Hi,
Being late here ...
Yes, I very much welcome this.
As for Scala: As long as it is compiled into Java Byte Code, I am fine.
Plus this would finally be something real (and closer to what I do
everyday) to get into that.
And yes, the syntax reminds me of my APL lectures, too ;-)
Regards
Felix
On 23.09.2011 18:27, Arjun Panday wrote:
> Hi Marcel,
>
> Thanks a lot for your feedback.
>
> I agree with you that the interface should be improved.. maybe using
> different shapes for bundles, components and dependencies. For now it's
> essentially the arrow pointing to what's missing.
>
> As for Scala; I originally wrote a Java implementation of this, but it's
> over 3 times longer and therefore not necessarily easier to figure out.
> Scala does take a little bit of getting used to, but in my experience,
> especially when it comes to filtering lists and maps, i find that
> functional programming really is the way to go.
>
> Regards,
> Arjun
>
>
> On 09/23/2011 03:56 PM, Marcel Offermans wrote:
>> Hello Arjun,
>>
>> On Sep 22, 2011, at 10:42 PM, Arjun Panday (JIRA) wrote:
>>
>>> A Service Diagnostics service and graphical WebConsole plugin
>> I very much like the idea of doing diagnostics about (service) dependencies over bundles and across "dependency management" frameworks, hunting for root causes of why things don't come up. I briefly played with your implementation and the graphical plugin for WebConsole.
>>
>> To be honest, I did not find the graphical representation immediately obvious. for example, it's hard to distinguish between components and services, to see if something is a required dependency or not, etc. However, with a bit of extra work, I think that can easily be improved.
>>
>> About the implementation, I'm not the biggest fan of Scala. I can read it if I really apply myself, but if I had to maintain this code, I would rewrite it in Java.
>>
>> That being said, I think this is something very useful and I would like to adopt it (and I'm especially interested in what my fellow committers, especially the ones maintaining Declarative Services and iPOJO, think about this).
>>
>> Thanks for sharing this with us!
>>
>> Greetings, Marcel
>>
>
Re: [jira] [Created] (FELIX-3128) A Service Diagnostics service and
graphical WebConsole plugin
Posted by Arjun Panday <ar...@alcatel-lucent.com>.
Hi Marcel,
Thanks a lot for your feedback.
I agree with you that the interface should be improved.. maybe using
different shapes for bundles, components and dependencies. For now it's
essentially the arrow pointing to what's missing.
As for Scala; I originally wrote a Java implementation of this, but it's
over 3 times longer and therefore not necessarily easier to figure out.
Scala does take a little bit of getting used to, but in my experience,
especially when it comes to filtering lists and maps, i find that
functional programming really is the way to go.
Regards,
Arjun
On 09/23/2011 03:56 PM, Marcel Offermans wrote:
> Hello Arjun,
>
> On Sep 22, 2011, at 10:42 PM, Arjun Panday (JIRA) wrote:
>
>> A Service Diagnostics service and graphical WebConsole plugin
> I very much like the idea of doing diagnostics about (service) dependencies over bundles and across "dependency management" frameworks, hunting for root causes of why things don't come up. I briefly played with your implementation and the graphical plugin for WebConsole.
>
> To be honest, I did not find the graphical representation immediately obvious. for example, it's hard to distinguish between components and services, to see if something is a required dependency or not, etc. However, with a bit of extra work, I think that can easily be improved.
>
> About the implementation, I'm not the biggest fan of Scala. I can read it if I really apply myself, but if I had to maintain this code, I would rewrite it in Java.
>
> That being said, I think this is something very useful and I would like to adopt it (and I'm especially interested in what my fellow committers, especially the ones maintaining Declarative Services and iPOJO, think about this).
>
> Thanks for sharing this with us!
>
> Greetings, Marcel
>
Re: [jira] [Created] (FELIX-3128) A Service Diagnostics service and graphical WebConsole plugin
Posted by Marcel Offermans <ma...@luminis.nl>.
Hello Arjun,
On Sep 22, 2011, at 10:42 PM, Arjun Panday (JIRA) wrote:
> A Service Diagnostics service and graphical WebConsole plugin
I very much like the idea of doing diagnostics about (service) dependencies over bundles and across "dependency management" frameworks, hunting for root causes of why things don't come up. I briefly played with your implementation and the graphical plugin for WebConsole.
To be honest, I did not find the graphical representation immediately obvious. for example, it's hard to distinguish between components and services, to see if something is a required dependency or not, etc. However, with a bit of extra work, I think that can easily be improved.
About the implementation, I'm not the biggest fan of Scala. I can read it if I really apply myself, but if I had to maintain this code, I would rewrite it in Java.
That being said, I think this is something very useful and I would like to adopt it (and I'm especially interested in what my fellow committers, especially the ones maintaining Declarative Services and iPOJO, think about this).
Thanks for sharing this with us!
Greetings, Marcel
Re: [jira] [Commented] (FELIX-3128) A Service Diagnostics service
and graphical WebConsole plugin
Posted by Arjun Panday <ar...@alcatel-lucent.com>.
Hi,
I've received the acknowledgements for both the grant and the ICLA.
-arjun
On 10/04/2011 05:50 PM, Arjun Panday wrote:
> Thanks Carsten, excellent news!
>
> I've sent the forms to the secretary and legal service; awaiting for
> their acknowledgement.
>
> Best regards,
> Arjun
>
> On 10/04/2011 09:07 AM, Carsten Ziegeler (Commented) (JIRA) wrote:
>> [ https://issues.apache.org/jira/browse/FELIX-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119928#comment-13119928 ]
>>
>> Carsten Ziegeler commented on FELIX-3128:
>> -----------------------------------------
>>
>> Arjun, the vote to accept your contribution has passed:
>>
>> http://www.mail-archive.com/dev@felix.apache.org/msg23154.html
>>
>> If you haven't already filed an ICLA and a Software Grant yet, then do so, since that'll be the next requirement for proceeding.
>>
>> For more information see here:
>>
>> As stated in http://incubator.apache.org/ip-clearance/ip-clearance-template.html:
>>
>> A software grant must be provided to the ASF. This grant can either be done by the ASF Corporate CLA (via Schedule B) or the traditional License Agreement. Acceptable methods of sending the grant to the ASF includes:
>>
>> snail-mail to the ASF office and/or ASF officer
>> FAXing to the ASF office and/or an ASF officer
>> Emailing the scanned document to secretary@apache.org and legal-archive@apache.org.
>>
>> Thanks.
>>
>>> A Service Diagnostics service and graphical WebConsole plugin
>>> -------------------------------------------------------------
>>>
>>> Key: FELIX-3128
>>> URL: https://issues.apache.org/jira/browse/FELIX-3128
>>> Project: Felix
>>> Issue Type: New Feature
>>> Components: Web Console
>>> Reporter: Arjun Panday
>>> Assignee: Carsten Ziegeler
>>> Priority: Minor
>>> Attachments: servicediagnostics.tar.gz
>>>
>>>
>>> Hi all,
>>> I'd like to suggest/contribute the attached project.
>>> The project aims at easing diagnostics of OSGi services and finding about missing dependencies.
>>> Typically in a large system with many cascading dependencies managed by different trackers such as DeclarativeService, DependencyManager or others, tracking the root cause of a top level service not being started can become very cumbersome. When building service oriented architectures, it is often the case that a single missing requirement will lock a full stack of services, but to find that one requirement is like finding a needle in a haystack!
>>> The basic idea here is to ask each dependency manager instance about its unresolved dependencies, merge all answers and filter the result to keep only the root causes.
>>> Typically, if A depends on B which depends on C which depends on D, and D is nowhere to be found, I need only show the "C -> D" missing requirement; if D is resolved, then the whole stack is unlocked.
>>> Similarly, if D is known by another dependency management system, but unregistered because it depends on E which is missing, then only the "D -> E" requirement is relevant.
>>> The proposed code is composed as follows:
>>> * servicediagnostics: the API package. It holds the main service interface as well as the plugin interface, to extend to other dependency management systems
>>> * servicediagnostics.impl: the implementation package. It contains plugins implementations for org.apache.felix.scr and org.apache.felix.dependencymanager, as well as the main service implementation.
>>> * servicediagnostics.webconsole: a Felix WebConsole plugin that displays a graphical view of the diagnostics result. Alternatively it can also show a graph of all services currently registered in the service registry and the bundles using them. See Screenshot-notavail.png and Screenshot-all.png. Using the Raphael graffle library (http://raphaeljs.com/graffle.html) allows for nice interactive views of the service registry.
>>> The attached package is provided as a maven project, along with a sample runner. Simply untar the files, run mvn install and then run.sh.
>>> Follow the Readme file for details.
>>> It is not perfect and still needs some improvements (in handling service filters for instance) but as such it is already quite useful.
>>> I hope you'll like the idea.
>>> Regards,
>>> Arjun
>> --
>> 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
>>
>>
Re: [jira] [Commented] (FELIX-3128) A Service Diagnostics service
and graphical WebConsole plugin
Posted by Arjun Panday <ar...@alcatel-lucent.com>.
Thanks Carsten, excellent news!
I've sent the forms to the secretary and legal service; awaiting for
their acknowledgement.
Best regards,
Arjun
On 10/04/2011 09:07 AM, Carsten Ziegeler (Commented) (JIRA) wrote:
> [ https://issues.apache.org/jira/browse/FELIX-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119928#comment-13119928 ]
>
> Carsten Ziegeler commented on FELIX-3128:
> -----------------------------------------
>
> Arjun, the vote to accept your contribution has passed:
>
> http://www.mail-archive.com/dev@felix.apache.org/msg23154.html
>
> If you haven't already filed an ICLA and a Software Grant yet, then do so, since that'll be the next requirement for proceeding.
>
> For more information see here:
>
> As stated in http://incubator.apache.org/ip-clearance/ip-clearance-template.html:
>
> A software grant must be provided to the ASF. This grant can either be done by the ASF Corporate CLA (via Schedule B) or the traditional License Agreement. Acceptable methods of sending the grant to the ASF includes:
>
> snail-mail to the ASF office and/or ASF officer
> FAXing to the ASF office and/or an ASF officer
> Emailing the scanned document to secretary@apache.org and legal-archive@apache.org.
>
> Thanks.
>
>> A Service Diagnostics service and graphical WebConsole plugin
>> -------------------------------------------------------------
>>
>> Key: FELIX-3128
>> URL: https://issues.apache.org/jira/browse/FELIX-3128
>> Project: Felix
>> Issue Type: New Feature
>> Components: Web Console
>> Reporter: Arjun Panday
>> Assignee: Carsten Ziegeler
>> Priority: Minor
>> Attachments: servicediagnostics.tar.gz
>>
>>
>> Hi all,
>> I'd like to suggest/contribute the attached project.
>> The project aims at easing diagnostics of OSGi services and finding about missing dependencies.
>> Typically in a large system with many cascading dependencies managed by different trackers such as DeclarativeService, DependencyManager or others, tracking the root cause of a top level service not being started can become very cumbersome. When building service oriented architectures, it is often the case that a single missing requirement will lock a full stack of services, but to find that one requirement is like finding a needle in a haystack!
>> The basic idea here is to ask each dependency manager instance about its unresolved dependencies, merge all answers and filter the result to keep only the root causes.
>> Typically, if A depends on B which depends on C which depends on D, and D is nowhere to be found, I need only show the "C -> D" missing requirement; if D is resolved, then the whole stack is unlocked.
>> Similarly, if D is known by another dependency management system, but unregistered because it depends on E which is missing, then only the "D -> E" requirement is relevant.
>> The proposed code is composed as follows:
>> * servicediagnostics: the API package. It holds the main service interface as well as the plugin interface, to extend to other dependency management systems
>> * servicediagnostics.impl: the implementation package. It contains plugins implementations for org.apache.felix.scr and org.apache.felix.dependencymanager, as well as the main service implementation.
>> * servicediagnostics.webconsole: a Felix WebConsole plugin that displays a graphical view of the diagnostics result. Alternatively it can also show a graph of all services currently registered in the service registry and the bundles using them. See Screenshot-notavail.png and Screenshot-all.png. Using the Raphael graffle library (http://raphaeljs.com/graffle.html) allows for nice interactive views of the service registry.
>> The attached package is provided as a maven project, along with a sample runner. Simply untar the files, run mvn install and then run.sh.
>> Follow the Readme file for details.
>> It is not perfect and still needs some improvements (in handling service filters for instance) but as such it is already quite useful.
>> I hope you'll like the idea.
>> Regards,
>> Arjun
> --
> 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-3128) A Service Diagnostics service and
graphical WebConsole plugin
Posted by "Carsten Ziegeler (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119928#comment-13119928 ]
Carsten Ziegeler commented on FELIX-3128:
-----------------------------------------
Arjun, the vote to accept your contribution has passed:
http://www.mail-archive.com/dev@felix.apache.org/msg23154.html
If you haven't already filed an ICLA and a Software Grant yet, then do so, since that'll be the next requirement for proceeding.
For more information see here:
As stated in http://incubator.apache.org/ip-clearance/ip-clearance-template.html:
A software grant must be provided to the ASF. This grant can either be done by the ASF Corporate CLA (via Schedule B) or the traditional License Agreement. Acceptable methods of sending the grant to the ASF includes:
snail-mail to the ASF office and/or ASF officer
FAXing to the ASF office and/or an ASF officer
Emailing the scanned document to secretary@apache.org and legal-archive@apache.org.
Thanks.
> A Service Diagnostics service and graphical WebConsole plugin
> -------------------------------------------------------------
>
> Key: FELIX-3128
> URL: https://issues.apache.org/jira/browse/FELIX-3128
> Project: Felix
> Issue Type: New Feature
> Components: Web Console
> Reporter: Arjun Panday
> Assignee: Carsten Ziegeler
> Priority: Minor
> Attachments: servicediagnostics.tar.gz
>
>
> Hi all,
> I'd like to suggest/contribute the attached project.
> The project aims at easing diagnostics of OSGi services and finding about missing dependencies.
> Typically in a large system with many cascading dependencies managed by different trackers such as DeclarativeService, DependencyManager or others, tracking the root cause of a top level service not being started can become very cumbersome. When building service oriented architectures, it is often the case that a single missing requirement will lock a full stack of services, but to find that one requirement is like finding a needle in a haystack!
> The basic idea here is to ask each dependency manager instance about its unresolved dependencies, merge all answers and filter the result to keep only the root causes.
> Typically, if A depends on B which depends on C which depends on D, and D is nowhere to be found, I need only show the "C -> D" missing requirement; if D is resolved, then the whole stack is unlocked.
> Similarly, if D is known by another dependency management system, but unregistered because it depends on E which is missing, then only the "D -> E" requirement is relevant.
> The proposed code is composed as follows:
> * servicediagnostics: the API package. It holds the main service interface as well as the plugin interface, to extend to other dependency management systems
> * servicediagnostics.impl: the implementation package. It contains plugins implementations for org.apache.felix.scr and org.apache.felix.dependencymanager, as well as the main service implementation.
> * servicediagnostics.webconsole: a Felix WebConsole plugin that displays a graphical view of the diagnostics result. Alternatively it can also show a graph of all services currently registered in the service registry and the bundles using them. See Screenshot-notavail.png and Screenshot-all.png. Using the Raphael graffle library (http://raphaeljs.com/graffle.html) allows for nice interactive views of the service registry.
> The attached package is provided as a maven project, along with a sample runner. Simply untar the files, run mvn install and then run.sh.
> Follow the Readme file for details.
> It is not perfect and still needs some improvements (in handling service filters for instance) but as such it is already quite useful.
> I hope you'll like the idea.
> Regards,
> Arjun
--
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] [Resolved] (FELIX-3128) A Service Diagnostics service and
graphical WebConsole plugin
Posted by "Carsten Ziegeler (Resolved) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler resolved FELIX-3128.
-------------------------------------
Resolution: Fixed
Imported the code in revision 1203551
> A Service Diagnostics service and graphical WebConsole plugin
> -------------------------------------------------------------
>
> Key: FELIX-3128
> URL: https://issues.apache.org/jira/browse/FELIX-3128
> Project: Felix
> Issue Type: New Feature
> Components: Web Console
> Reporter: Arjun Panday
> Assignee: Carsten Ziegeler
> Priority: Minor
> Attachments: org.apache.felix.servicediagnostics.tgz, servicediagnostics.tar.gz
>
>
> Hi all,
> I'd like to suggest/contribute the attached project.
> The project aims at easing diagnostics of OSGi services and finding about missing dependencies.
> Typically in a large system with many cascading dependencies managed by different trackers such as DeclarativeService, DependencyManager or others, tracking the root cause of a top level service not being started can become very cumbersome. When building service oriented architectures, it is often the case that a single missing requirement will lock a full stack of services, but to find that one requirement is like finding a needle in a haystack!
> The basic idea here is to ask each dependency manager instance about its unresolved dependencies, merge all answers and filter the result to keep only the root causes.
> Typically, if A depends on B which depends on C which depends on D, and D is nowhere to be found, I need only show the "C -> D" missing requirement; if D is resolved, then the whole stack is unlocked.
> Similarly, if D is known by another dependency management system, but unregistered because it depends on E which is missing, then only the "D -> E" requirement is relevant.
> The proposed code is composed as follows:
> * servicediagnostics: the API package. It holds the main service interface as well as the plugin interface, to extend to other dependency management systems
> * servicediagnostics.impl: the implementation package. It contains plugins implementations for org.apache.felix.scr and org.apache.felix.dependencymanager, as well as the main service implementation.
> * servicediagnostics.webconsole: a Felix WebConsole plugin that displays a graphical view of the diagnostics result. Alternatively it can also show a graph of all services currently registered in the service registry and the bundles using them. See Screenshot-notavail.png and Screenshot-all.png. Using the Raphael graffle library (http://raphaeljs.com/graffle.html) allows for nice interactive views of the service registry.
> The attached package is provided as a maven project, along with a sample runner. Simply untar the files, run mvn install and then run.sh.
> Follow the Readme file for details.
> It is not perfect and still needs some improvements (in handling service filters for instance) but as such it is already quite useful.
> I hope you'll like the idea.
> Regards,
> Arjun
--
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] [Updated] (FELIX-3128) A Service Diagnostics service and
graphical WebConsole plugin
Posted by "Arjun Panday (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Arjun Panday updated FELIX-3128:
--------------------------------
Attachment: servicediagnostics.tar.gz
md5sum servicediagnostics.tar.gz :
8a5cd6b9f86b2d7676cb36bc85760342
> A Service Diagnostics service and graphical WebConsole plugin
> -------------------------------------------------------------
>
> Key: FELIX-3128
> URL: https://issues.apache.org/jira/browse/FELIX-3128
> Project: Felix
> Issue Type: New Feature
> Components: Web Console
> Reporter: Arjun Panday
> Priority: Minor
> Attachments: servicediagnostics.tar.gz
>
>
> Hi all,
> I'd like to suggest/contribute the attached project.
> The project aims at easing diagnostics of OSGi services and finding about missing dependencies.
> Typically in a large system with many cascading dependencies managed by different trackers such as DeclarativeService, DependencyManager or others, tracking the root cause of a top level service not being started can become very cumbersome. When building service oriented architectures, it is often the case that a single missing requirement will lock a full stack of services, but to find that one requirement is like finding a needle in a haystack!
> The basic idea here is to ask each dependency manager instance about its unresolved dependencies, merge all answers and filter the result to keep only the root causes.
> Typically, if A depends on B which depends on C which depends on D, and D is nowhere to be found, I need only show the "C -> D" missing requirement; if D is resolved, then the whole stack is unlocked.
> Similarly, if D is known by another dependency management system, but unregistered because it depends on E which is missing, then only the "D -> E" requirement is relevant.
> The proposed code is composed as follows:
> * servicediagnostics: the API package. It holds the main service interface as well as the plugin interface, to extend to other dependency management systems
> * servicediagnostics.impl: the implementation package. It contains plugins implementations for org.apache.felix.scr and org.apache.felix.dependencymanager, as well as the main service implementation.
> * servicediagnostics.webconsole: a Felix WebConsole plugin that displays a graphical view of the diagnostics result. Alternatively it can also show a graph of all services currently registered in the service registry and the bundles using them. See Screenshot-notavail.png and Screenshot-all.png. Using the Raphael graffle library (http://raphaeljs.com/graffle.html) allows for nice interactive views of the service registry.
> The attached package is provided as a maven project, along with a sample runner. Simply untar the files, run mvn install and then run.sh.
> Follow the Readme file for details.
> It is not perfect and still needs some improvements (in handling service filters for instance) but as such it is already quite useful.
> I hope you'll like the idea.
> Regards,
> Arjun
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (FELIX-3128) A Service Diagnostics service and
graphical WebConsole plugin
Posted by "Carsten Ziegeler (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13146498#comment-13146498 ]
Carsten Ziegeler commented on FELIX-3128:
-----------------------------------------
IP Clearance vote passed successfully
> A Service Diagnostics service and graphical WebConsole plugin
> -------------------------------------------------------------
>
> Key: FELIX-3128
> URL: https://issues.apache.org/jira/browse/FELIX-3128
> Project: Felix
> Issue Type: New Feature
> Components: Web Console
> Reporter: Arjun Panday
> Assignee: Carsten Ziegeler
> Priority: Minor
> Attachments: org.apache.felix.servicediagnostics.tgz, servicediagnostics.tar.gz
>
>
> Hi all,
> I'd like to suggest/contribute the attached project.
> The project aims at easing diagnostics of OSGi services and finding about missing dependencies.
> Typically in a large system with many cascading dependencies managed by different trackers such as DeclarativeService, DependencyManager or others, tracking the root cause of a top level service not being started can become very cumbersome. When building service oriented architectures, it is often the case that a single missing requirement will lock a full stack of services, but to find that one requirement is like finding a needle in a haystack!
> The basic idea here is to ask each dependency manager instance about its unresolved dependencies, merge all answers and filter the result to keep only the root causes.
> Typically, if A depends on B which depends on C which depends on D, and D is nowhere to be found, I need only show the "C -> D" missing requirement; if D is resolved, then the whole stack is unlocked.
> Similarly, if D is known by another dependency management system, but unregistered because it depends on E which is missing, then only the "D -> E" requirement is relevant.
> The proposed code is composed as follows:
> * servicediagnostics: the API package. It holds the main service interface as well as the plugin interface, to extend to other dependency management systems
> * servicediagnostics.impl: the implementation package. It contains plugins implementations for org.apache.felix.scr and org.apache.felix.dependencymanager, as well as the main service implementation.
> * servicediagnostics.webconsole: a Felix WebConsole plugin that displays a graphical view of the diagnostics result. Alternatively it can also show a graph of all services currently registered in the service registry and the bundles using them. See Screenshot-notavail.png and Screenshot-all.png. Using the Raphael graffle library (http://raphaeljs.com/graffle.html) allows for nice interactive views of the service registry.
> The attached package is provided as a maven project, along with a sample runner. Simply untar the files, run mvn install and then run.sh.
> Follow the Readme file for details.
> It is not perfect and still needs some improvements (in handling service filters for instance) but as such it is already quite useful.
> I hope you'll like the idea.
> Regards,
> Arjun
--
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] [Assigned] (FELIX-3128) A Service Diagnostics service and
graphical WebConsole plugin
Posted by "Carsten Ziegeler (Assigned) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler reassigned FELIX-3128:
---------------------------------------
Assignee: Carsten Ziegeler
> A Service Diagnostics service and graphical WebConsole plugin
> -------------------------------------------------------------
>
> Key: FELIX-3128
> URL: https://issues.apache.org/jira/browse/FELIX-3128
> Project: Felix
> Issue Type: New Feature
> Components: Web Console
> Reporter: Arjun Panday
> Assignee: Carsten Ziegeler
> Priority: Minor
> Attachments: servicediagnostics.tar.gz
>
>
> Hi all,
> I'd like to suggest/contribute the attached project.
> The project aims at easing diagnostics of OSGi services and finding about missing dependencies.
> Typically in a large system with many cascading dependencies managed by different trackers such as DeclarativeService, DependencyManager or others, tracking the root cause of a top level service not being started can become very cumbersome. When building service oriented architectures, it is often the case that a single missing requirement will lock a full stack of services, but to find that one requirement is like finding a needle in a haystack!
> The basic idea here is to ask each dependency manager instance about its unresolved dependencies, merge all answers and filter the result to keep only the root causes.
> Typically, if A depends on B which depends on C which depends on D, and D is nowhere to be found, I need only show the "C -> D" missing requirement; if D is resolved, then the whole stack is unlocked.
> Similarly, if D is known by another dependency management system, but unregistered because it depends on E which is missing, then only the "D -> E" requirement is relevant.
> The proposed code is composed as follows:
> * servicediagnostics: the API package. It holds the main service interface as well as the plugin interface, to extend to other dependency management systems
> * servicediagnostics.impl: the implementation package. It contains plugins implementations for org.apache.felix.scr and org.apache.felix.dependencymanager, as well as the main service implementation.
> * servicediagnostics.webconsole: a Felix WebConsole plugin that displays a graphical view of the diagnostics result. Alternatively it can also show a graph of all services currently registered in the service registry and the bundles using them. See Screenshot-notavail.png and Screenshot-all.png. Using the Raphael graffle library (http://raphaeljs.com/graffle.html) allows for nice interactive views of the service registry.
> The attached package is provided as a maven project, along with a sample runner. Simply untar the files, run mvn install and then run.sh.
> Follow the Readme file for details.
> It is not perfect and still needs some improvements (in handling service filters for instance) but as such it is already quite useful.
> I hope you'll like the idea.
> Regards,
> Arjun
--
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] [Updated] (FELIX-3128) A Service Diagnostics service and
graphical WebConsole plugin
Posted by "Arjun Panday (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/FELIX-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Arjun Panday updated FELIX-3128:
--------------------------------
Attachment: org.apache.felix.servicediagnostics.tgz
Please find attached the servicediagnostics code updated with ASF license headers.
Please let me know if I forgot something else.
cksum org.apache.felix.servicediagnostics.tgz
3051510335 53872 org.apache.felix.servicediagnostics.tgz
Regards,
Arjun
> A Service Diagnostics service and graphical WebConsole plugin
> -------------------------------------------------------------
>
> Key: FELIX-3128
> URL: https://issues.apache.org/jira/browse/FELIX-3128
> Project: Felix
> Issue Type: New Feature
> Components: Web Console
> Reporter: Arjun Panday
> Assignee: Carsten Ziegeler
> Priority: Minor
> Attachments: org.apache.felix.servicediagnostics.tgz, servicediagnostics.tar.gz
>
>
> Hi all,
> I'd like to suggest/contribute the attached project.
> The project aims at easing diagnostics of OSGi services and finding about missing dependencies.
> Typically in a large system with many cascading dependencies managed by different trackers such as DeclarativeService, DependencyManager or others, tracking the root cause of a top level service not being started can become very cumbersome. When building service oriented architectures, it is often the case that a single missing requirement will lock a full stack of services, but to find that one requirement is like finding a needle in a haystack!
> The basic idea here is to ask each dependency manager instance about its unresolved dependencies, merge all answers and filter the result to keep only the root causes.
> Typically, if A depends on B which depends on C which depends on D, and D is nowhere to be found, I need only show the "C -> D" missing requirement; if D is resolved, then the whole stack is unlocked.
> Similarly, if D is known by another dependency management system, but unregistered because it depends on E which is missing, then only the "D -> E" requirement is relevant.
> The proposed code is composed as follows:
> * servicediagnostics: the API package. It holds the main service interface as well as the plugin interface, to extend to other dependency management systems
> * servicediagnostics.impl: the implementation package. It contains plugins implementations for org.apache.felix.scr and org.apache.felix.dependencymanager, as well as the main service implementation.
> * servicediagnostics.webconsole: a Felix WebConsole plugin that displays a graphical view of the diagnostics result. Alternatively it can also show a graph of all services currently registered in the service registry and the bundles using them. See Screenshot-notavail.png and Screenshot-all.png. Using the Raphael graffle library (http://raphaeljs.com/graffle.html) allows for nice interactive views of the service registry.
> The attached package is provided as a maven project, along with a sample runner. Simply untar the files, run mvn install and then run.sh.
> Follow the Readme file for details.
> It is not perfect and still needs some improvements (in handling service filters for instance) but as such it is already quite useful.
> I hope you'll like the idea.
> Regards,
> Arjun
--
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