如何分析OSGi部署的执行情况?

时间:2010-03-10 17:01:02

标签: java profiling osgi apache-felix pax-runner

我正在开始为应用程序开发OSGi包,该应用程序将部署在具有某些硬件限制的设备中。我想知道如何分析该bundle的执行情况,以确保它能够适应最终设备中的依赖关系。如果有一个分析器知道每个捆绑包使用多少内存,本地化瓶颈以及比较同一服务的不同实现,那将是一件好事。

是否有任何用于OSGi部署的探查器或者我应该使用通用Java探查器吗?

开发我正在使用Pax runner和Apache felix来运行bundle和maven来管理项目依赖和构建。

1 个答案:

答案 0 :(得分:4)

我公司为嵌入式设备开发OSGi应用程序。不幸的是,我不知道任何具有您正在寻找的所有功能的工具。我可以告诉你我们如何处理你正在寻找的问题。

1)在设备上安装:我们在Eclipse中开发并使用Equinox进行部署。我们在Eclipse中使用.product文件构建。通过这样做,我们可以深入了解我们的程序将在设备上占用的磁盘/ ROM空间量。

2)对于分析,我们通常使用YourKit。还有其他优秀的Java分析器,但我们发现这个适用于我们。

您可以做的一项好技术是构建一个充当真实服务代理的服务版本。代理是插入计时代码的好地方,因此您可以计算对每种服务方法进行的呼叫数量,并确定每次呼叫的时间。您还可以基于这种方式对时序进行分类,以查找性能不佳的边缘情况。然后,当您准备好部署时,您可以取出代理。

祝你好运。