⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 querystats.jsp

📁 jive的源码
💻 JSP
📖 第 1 页 / 共 2 页
字号:
<%    /**     *	$RCSfile: querystats.jsp,v $     *	$Revision: 1.3 $     *	$Date: 2002/11/23 04:22:30 $     */%><%@ page	import="java.sql.*,            java.text.NumberFormat,            com.jivesoftware.util.ParamUtils,            com.jivesoftware.base.database.*"%><%@ include file="global.jsp" %><%! // page method    /**     * Returns a String representation of a double value in a specific locale's format, limited     * to n decimal places     *     * @param value number to format     * @param n decimal places to allow in output     * @return a String with a max of n decimals     */    private static String buildStringValue(double value, int n) {        NumberFormat nf = NumberFormat.getInstance(Locale.US);        nf.setMaximumFractionDigits(n);        nf.setMinimumFractionDigits(n);        nf.setGroupingUsed(true);        return nf.format(value);    }%><%  // Permission check    if (!isSystemAdmin) {        throw new UnauthorizedException("You don't have admin privileges to perform this operation.");    }    // Get parameters    boolean doClear = ParamUtils.getBooleanParameter(request,"doClear");    boolean sortByTime = ParamUtils.getBooleanParameter(request,"sortByTime",false);    String doLogStr = ParamUtils.getParameter(request,"doLog");    int alternate = 0;    // clear the statistics    if (doClear) {        ProfiledConnection.resetStatistics();    }    if (doLogStr != null && doLogStr.equals("true")) {        ConnectionManager.setProfilingEnabled(true);    }    else if (doLogStr != null && doLogStr.equals("false")) {        ConnectionManager.setProfilingEnabled(false);    }    boolean doLog = ConnectionManager.isProfilingEnabled();%><%@ include file="header.jsp" %><p><%  // Title of this page and breadcrumbs    String title = "Query Statistics";    String[][] breadcrumbs = {        {"Main", "main.jsp"},        {"Datasource Info", "datasource.jsp"},        {"Query Stats", "querystats.jsp"}    };%><%@ include file="title.jsp" %><% if (doLog) { %><font size="-1"><b>Select Query Statistics</b></font><ul><table bgcolor="<%= tblBorderColor %>" cellpadding="0" cellspacing="0" border="0" width="600"><tr><td><table bgcolor="<%= tblBorderColor %>" cellpadding="3" cellspacing="1" border="0" width="100%"><tr bgcolor="#ffffff">    <td><font size="-1">Total # of selects</font></td>    <td><font size="-1"><%= ProfiledConnection.getQueryCount(ProfiledConnection.SELECT) %></font></td></tr><tr bgcolor="#ffffff">    <td><font size="-1">Total time for all selects (ms)</font></td>    <td><font size="-1"><%= ProfiledConnection.getTotalQueryTime(ProfiledConnection.SELECT) %></font></td></tr><tr bgcolor="#ffffff">    <td><font size="-1">Average time for all selects (ms)</font></td>    <td><font size="-1"><%= buildStringValue(ProfiledConnection.getAverageQueryTime(ProfiledConnection.SELECT),3) %></font></td></tr><tr bgcolor="#ffffff">    <td><font size="-1">Selects per second</font></td>    <td><font size="-1"><%= buildStringValue(ProfiledConnection.getQueriesPerSecond(ProfiledConnection.SELECT),3) %></font></td></tr><tr bgcolor="#ffffff">    <td><font size="-1">20 Most common selects</font></td>    <td bgcolor="#ffffff"><%                ProfiledConnectionEntry[] list = ProfiledConnection.getSortedQueries(ProfiledConnection.SELECT, sortByTime);                if (list == null || list.length < 1) {                    out.println("<font size=\"-1\">No queries</font>");                }                else { %>            &nbsp;     </td></tr></table></td></tr></table><br><table bgcolor="<%= tblBorderColor %>" cellpadding="0" cellspacing="0" border="0" width="600"><tr><td><table bgcolor="<%= tblBorderColor %>" cellpadding="3" cellspacing="0" border="0" width="100%"><tr bgcolor="#ffffff"><td><%            out.println("<table width=\"100%\" cellpadding=\"3\" cellspacing=\"1\" border=\"0\" bgcolor=\"" + tblBorderColor + "\"><tr><td bgcolor=\"#ffffff\" align=\"middle\"><font size=\"-1\"><b>Query</b></font></td>");            out.println("<td bgcolor=\"#ffffff\"><font size=\"-1\"><b><a href=\"javascript:location.href='querystats.jsp?sortByTime=false';\">Count</a></b></font></td>");            out.println("<td bgcolor=\"#ffffff\"><font size=\"-1\"><b>Total Time (ms)</b></font></td>");            out.println("<td bgcolor=\"#ffffff\"><font size=\"-1\"><b><a href=\"javascript:location.href='querystats.jsp?sortByTime=true';\">Average Time</a> (ms)</b></font></td></tr>");            for (int i = 0; i < ((list.length > 20) ? 20 : list.length); i++) {                ProfiledConnectionEntry pce = list[i];                out.println("<tr><td bgcolor=\"" + ((alternate%2 == 0) ? "#dddddd" : "#ffffff") + "\"><font size=\"-1\">" + pce.sql + "</font></td>");                out.println("<td bgcolor=\"" + ((alternate%2 == 0) ? "#dddddd" : "#ffffff") + "\"><font size=\"-1\">" + pce.count + "</font></td>");                out.println("<td bgcolor=\"" + ((alternate%2 == 0) ? "#dddddd" : "#ffffff") + "\"><font size=\"-1\">" + pce.totalTime + "</font></td>");                out.println("<td bgcolor=\"" + ((alternate++%2 == 0) ? "#dddddd" : "#ffffff") + "\"><font size=\"-1\">" + pce.totalTime/pce.count + "</font></td></tr>");            }            out.println("</table>");        }    %></td></tr></table></td></tr></table></ul><font size="-1"><b>Insert Query Statistics</b></font><ul><table bgcolor="<%= tblBorderColor %>" cellpadding="0" cellspacing="0" border="0" width="600"><tr><td><table bgcolor="<%= tblBorderColor %>" cellpadding="3" cellspacing="1" border="0" width="100%"><tr bgcolor="#ffffff">    <td><font size="-1">Total # of inserts</font></td>    <td><font size="-1"><%= ProfiledConnection.getQueryCount(ProfiledConnection.INSERT) %></font></td></tr><tr bgcolor="#ffffff">    <td><font size="-1">Total time for all inserts (ms)</font></td>    <td><font size="-1"><%= ProfiledConnection.getTotalQueryTime(ProfiledConnection.INSERT) %></font></td></tr><tr bgcolor="#ffffff">    <td><font size="-1">Average time for all inserts (ms)</font></td>    <td><font size="-1"><%= buildStringValue(ProfiledConnection.getAverageQueryTime(ProfiledConnection.INSERT),3) %></font></td></tr><tr bgcolor="#ffffff">    <td><font size="-1">Inserts per second</font></td>    <td><font size="-1"><%= buildStringValue(ProfiledConnection.getQueriesPerSecond(ProfiledConnection.INSERT),3) %></font></td></tr><tr bgcolor="#ffffff">    <td><font size="-1">10 Most common inserts</font></td>    <td bgcolor="#ffffff"><%                list = ProfiledConnection.getSortedQueries(ProfiledConnection.INSERT, sortByTime);                if (list == null || list.length < 1) {                    out.println("<font size=\"-1\">No queries</font>");                }                else {  %>            &nbsp;     </td></tr></table></td></tr></table><br><table bgcolor="<%= tblBorderColor %>" cellpadding="0" cellspacing="0" border="0" width="600"><tr><td><table bgcolor="<%= tblBorderColor %>" cellpadding="3" cellspacing="0" border="0" width="100%"><tr bgcolor="#ffffff"><td><%            out.println("<table width=\"100%\" cellpadding=\"3\" cellspacing=\"1\" border=\"0\" bgcolor=\"" + tblBorderColor + "\"><tr><td bgcolor=\"#ffffff\" align=\"middle\"><font size=\"-1\"><b>Query</b></font></td>");            out.println("<td bgcolor=\"#ffffff\"><font size=\"-1\"><b><a href=\"javascript:location.href='querystats.jsp?sortByTime=false';\">Count</a></b></font></td>");            out.println("<td bgcolor=\"#ffffff\"><font size=\"-1\"><b>Total Time (ms)</b></font></td>");            out.println("<td bgcolor=\"#ffffff\"><font size=\"-1\"><b><a href=\"javascript:location.href='querystats.jsp?sortByTime=true';\">Average Time</a> (ms)</b></font></td></tr>");            alternate = 0;            for (int i = 0; i < ((list.length > 10) ? 10 : list.length); i++) {                ProfiledConnectionEntry pce = list[i];                out.println("<tr><td bgcolor=\"" + ((alternate%2 == 0) ? "#dddddd" : "#ffffff") + "\"><font size=\"-1\">" + pce.sql + "</font></td>");                out.println("<td bgcolor=\"" + ((alternate%2 == 0) ? "#dddddd" : "#ffffff") + "\"><font size=\"-1\">" + pce.count + "</font></td>");                out.println("<td bgcolor=\"" + ((alternate%2 == 0) ? "#dddddd" : "#ffffff") + "\"><font size=\"-1\">" + pce.totalTime + "</font></td>");                out.println("<td bgcolor=\"" + ((alternate++%2 == 0) ? "#dddddd" : "#ffffff") + "\"><font size=\"-1\">" + pce.totalTime/pce.count + "</font></td></tr>");            }            out.println("</table>");        }    %></td></tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -