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

标签 java profiling osgi apache-felix pax-runner

我开始为将部署在具有某些硬件限制的设备中的应用程序开发 OSGi 包。我想知道如何分析该 bundle 的执行情况,以始终确保它符合其在最终设备中的依赖性。最好有一个分析器来了解每个包使用了多少内存,定位瓶颈并比较同一服务的不同实现。

是否有任何用于 OSGi 部署的分析器,或者我应该使用通用的 Java 分析器?

为了开发,我使用 Pax runner 和 Apache felix 来运行包和 maven 来管理项目依赖和构建。

最佳答案

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

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

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

您可以采用的一项好技术是构建充当实际服务代理的服务版本。代理是插入计时代码的好地方,这样您就可以统计每个服务方法调用了多少次,并确定每次调用的时间。您还可以通过这种方式根据参数对时间进行分类,以找到性能不佳的边缘情况。然后,当您准备好部署时,您可以取出代理。

祝你好运。

关于java - 如何分析 OSGi 部署的执行情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2418844/

相关文章:

java - 使用 IBM JDK 1.7.1 的 zLinux RHEL6 上的 Hive 1.1.0

java - Spring MVC 3 中的直接字段访问

java - 改变 BufferedImage 的颜色

java - 如何从命令行激活 Maven 配置文件(构建子系统)

Linux perf 工具 - 如何同时分析多个进程?如何提取 CPU 周期百分比?

Java:比 String(byte[]) 更快的替代品

performance - 许多项目的 SBT 启动缓慢

intellij-idea - IntelliJ 无法解析 bundle 中的 Kotlin stdlib 成员

java - 如何使用 OSGi 标准功能以编程方式在 SCR 中注册服务?

Eclipse RCP - 所有的 jar /包如何交互?