【问题标题】:to get start and end time of application hosted in tomcat using javaagent使用 javaagent 获取托管在 tomcat 中的应用程序的开始和结束时间
【发布时间】:2013-04-15 11:50:31
【问题描述】:

我编写了一个 javaagent 应用程序来获取 java 应用程序的执行时间,它工作正常。我尝试使用此应用程序来获取托管在 tomcat 服务器中的应用程序的执行时间。我没有得到所需的输出。我的 javaagent 代码来自 "http://www.ibm.com/developerworks/java/library/j-jip/" 。 我有两个疑问 1.如何使用javaagent过滤掉tomcat和profile中托管的特定应用程序。 2. javaagent如何检测tomcat中应用的开始和结束。

【问题讨论】:

    标签: java profiling bytecode instrumentation javaagents


    【解决方案1】:

    为什么这需要一个 java 代理?使用ServletContextListener 并在contextInitialized() 和contextDestroyed() 中记录时间。

    来自 servlet 3.0 规范

    javax.servlet.ServletContextListener 的实现在 它们的 contextInitialized 方法按它们的顺序 声明,并在他们的 contextDestroyed 方法中以相反的顺序。

    【讨论】:

    • 可能有时对contextDestroyed 的调用会被某些容器跳过!!!
    • 我有时说过,如果您在本地托管 tomcat 7 并使用 Eclipse 启动和停止它,您将面临这样的模棱两可;)虽然它与 prod env 无关!
    猜你喜欢
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 2022-11-05
    • 2020-11-09
    • 2019-08-24
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    相关资源
    最近更新 更多