Skip to content

Instantly share code, notes, and snippets.

@yangl
Last active January 12, 2017 03:45
Show Gist options
  • Save yangl/e47ad3fc87a8c609033a to your computer and use it in GitHub Desktop.
Save yangl/e47ad3fc87a8c609033a to your computer and use it in GitHub Desktop.
Java性能监控开源方案
<!-- 1.将如下内容加入pom.xml -->
<javasimon.version>3.5.0</javasimon.version>
<sirona.version>0.2-incubating</sirona.version>
<!-- Monitor begin -->
<!-- javasimon -->
<!-- Core JAR is absolutely necessary to use Simons (Stopwatch, etc.) -->
<dependency>
<groupId>org.javasimon</groupId>
<artifactId>javasimon-core</artifactId>
<version>${javasimon.version}</version>
</dependency>
<!-- This one allows monitoring JDBC calls (proxy driver), Java 6 version -->
<dependency>
<groupId>org.javasimon</groupId>
<artifactId>javasimon-jdbc4</artifactId>
<version>${javasimon.version}</version>
</dependency>
<!-- The same for JDBC 4.1 (Java 7) -->
<dependency>
<groupId>org.javasimon</groupId>
<artifactId>javasimon-jdbc4</artifactId>
<version>${javasimon.version}</version>
</dependency>
<!-- JavaEE support, servlet filter, EJB/CDI interceptor -->
<dependency>
<groupId>org.javasimon</groupId>
<artifactId>javasimon-javaee</artifactId>
<version>${javasimon.version}</version>
</dependency>
<!-- Spring support, AOP interceptor, MVC handler interceptor -->
<dependency>
<groupId>org.javasimon</groupId>
<artifactId>javasimon-spring</artifactId>
<version>${javasimon.version}</version>
</dependency>
<!-- Embedded Java Simon web console -->
<dependency>
<groupId>org.javasimon</groupId>
<artifactId>javasimon-console-embed</artifactId>
<version>${javasimon.version}</version>
</dependency>
<!-- javamelody -->
<dependency>
<groupId>net.bull.javamelody</groupId>
<artifactId>javamelody-core</artifactId>
<version>1.50.0</version>
</dependency>
<!-- sirona dependencies -->
<dependency>
<groupId>org.apache.sirona</groupId>
<artifactId>sirona-core</artifactId>
<version>${sirona.version}</version>
</dependency>
<dependency>
<groupId>org.apache.sirona</groupId>
<artifactId>sirona-reporting</artifactId>
<version>${sirona.version}</version>
<classifier>classes</classifier>
</dependency>
<!-- Monitor end -->
<!-- 2.将如下内容加入web.xml -->
<!-- javamelody 系统监控-->
<filter>
<filter-name>monitoring</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>monitoring</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>
<!-- javasimon 方法性能监控-->
<servlet>
<servlet-name>SimonConsoleServlet</servlet-name>
<servlet-class>org.javasimon.console.SimonConsoleServlet</servlet-class>
<init-param>
<param-name>url-prefix</param-name>
<param-value>/javasimon</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SimonConsoleServlet</servlet-name>
<url-pattern>/javasimon/*</url-pattern>
</servlet-mapping>
<!-- activated per default -->
<context-param>
<param-name>org.apache.sirona.reporting.activated</param-name>
<param-value>true</param-value>
</context-param>
<!-- path in the application default is /sirona -->
<context-param>
<param-name>org.apache.sirona.reporting.mapping</param-name>
<param-value>/monitoring</param-value>
</context-param>
<!-- Druid数据源监控 -->
<filter>
<filter-name>DruidWebStatFilter</filter-name>
<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
<init-param>
<param-name>exclusions</param-name>
<param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*,/public/*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>DruidWebStatFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment