我有一个在tomcat上运行的Spring MVC Web应用程序.我需要监视我的应用程序的性能,记录每个方法调用所花费的时间以及参数的值.我需要对应用程序内所有控制器,服务,util类中的所有方法进行此日志记录.
我在前面已经看过这里发布的问题:如何记录Springframework中方法所花费的时间?
至于针对该问题提出的解决方案,我的案例中有以下问题.
1)使用Spring AOP进行日志记录 - 严格匹配需求,但据我所知,它需要为每个方法添加注释 - 更愿意避免更改当前应用程序.
2)Stagemonitor - 无法遵循安装说明 - 它需要安装docker,因为操作系统限制我无法安装.我正在使用openSUSE 11.3,其中docker可用于openSUSE 12.3+
3)SpringInsight - 这是一个很棒的工具,完全符合我的要求.但问题是,它运行的是vfabric-tc-server实例.我尝试使用Daniel在使用Spring Insight和Tomcat 6中提到的步骤在tomcat 7上设置它,但它没有进行锻炼,因为洞察应用程序中的任何jar都没有类com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader应该从server.xml引用它.尝试添加外部jar但它不起作用.
我想知道是否还有其他工具
- 不需要更改现有应用程序 - 简单配置应该是可接受的.
- 将提供方法级别的性能监控.
- 严格来说,不需要将现有应用程序迁移到其他服务器.
提前致谢 :)
我正在研究有根设备。我创建了一个应用程序作为系统应用程序运行。在以 su 用户身份从 adb shell 挂载 /system 目录后,我已将 apk 文件复制到 SD 卡,然后复制到 /system/priv-app。清单文件如下所示
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="abc.def.settings"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.STATUS_BAR" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<service
android:name="abc.def.settings.service.SystemSettingsService" >
</service>
<receiver android:name="abc.def.settings.boot.DeviceBootReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="abc.def.settings.start_after_reinstall"/>
</intent-filter> …Run Code Online (Sandbox Code Playgroud)