我正在开始为一个应用程序开发OSGi捆绑包,该应用程序将部署在具有一些硬件限制的设备中。我想知道如何分析该包的执行,以始终确保它将与最终设备中的依赖项相匹配。如果能有一个分析器来了解每个包使用了多少内存,来定位瓶颈,并比较同一服务的不同实现,那就太好了。
有没有适用于OSGi部署的分析器,或者我应该使用通用的Java分析器?
对于开发,我使用Pax runner和Apache felix来运行包,使用maven来管理项目依赖项和构建。
发布于 2010-03-16 08:13:33
我的公司为嵌入式设备开发OSGi应用程序。不幸的是,我不知道有任何工具具有您正在寻找的所有功能。我可以告诉您我们是如何处理您正在寻找的问题的。
1)在设备上安装:我们在Eclipse中开发,并使用Equinox进行部署。我们在Eclipse中使用.product文件进行构建。通过这样做,我们对我们的程序将在设备上占用的磁盘/ROM空间量有了一个明确的概念。
2)对于性能分析,我们通常使用YourKit。外面还有其他优秀的Java分析器,但我们发现这个分析器非常适合我们。
您可以使用的一种好技术是构建一个服务版本,该版本充当实际服务的代理。代理是插入计时代码的好地方,这样您就可以计算对每个服务方法进行了多少次调用,并确定每次调用的时间。您还可以根据参数对计时进行分类,以此方式查找性能不佳的边缘情况。然后,当您准备好部署时,您可以删除代理。
祝好运。
https://stackoverflow.com/questions/2418844
复制相似问题