mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
Merge branch 'master' of git://github.com/AlibabaTech/druid
This commit is contained in:
@@ -116,8 +116,13 @@ public class StatFilter extends FilterEventAdapter implements StatFilterMBean {
|
||||
public void setMergeSql(boolean mergeSql) {
|
||||
this.mergeSql = mergeSql;
|
||||
}
|
||||
|
||||
|
||||
@Deprecated
|
||||
public String mergeSql(String sql) {
|
||||
return this.mergeSql(sql, dbType);
|
||||
}
|
||||
|
||||
public String mergeSql(String sql, String dbType) {
|
||||
if (!mergeSql) {
|
||||
return sql;
|
||||
}
|
||||
@@ -125,7 +130,7 @@ public class StatFilter extends FilterEventAdapter implements StatFilterMBean {
|
||||
try {
|
||||
sql = ParameterizedOutputVisitorUtils.parameterize(sql, dbType);
|
||||
} catch (Exception e) {
|
||||
LOG.error("merge sql error", e);
|
||||
LOG.error("merge sql error, dbType " + dbType + ", sql : \n" + sql, e);
|
||||
}
|
||||
|
||||
return sql;
|
||||
@@ -612,14 +617,21 @@ public class StatFilter extends FilterEventAdapter implements StatFilterMBean {
|
||||
}
|
||||
|
||||
public JdbcSqlStat createSqlStat(StatementProxy statement, String sql) {
|
||||
JdbcDataSourceStat dataSourceStat = statement.getConnectionProxy().getDirectDataSource().getDataSourceStat();
|
||||
DataSourceProxy dataSource = statement.getConnectionProxy().getDirectDataSource();
|
||||
JdbcDataSourceStat dataSourceStat = dataSource.getDataSourceStat();
|
||||
|
||||
JdbcStatContext context = JdbcStatManager.getInstance().getStatContext();
|
||||
String contextSql = context != null ? context.getSql() : null;
|
||||
if (contextSql != null && contextSql.length() > 0) {
|
||||
return dataSourceStat.createSqlStat(contextSql);
|
||||
} else {
|
||||
sql = mergeSql(sql);
|
||||
String dbType = this.dbType;
|
||||
|
||||
if (dbType == null) {
|
||||
dbType = dataSource.getDbType();
|
||||
}
|
||||
|
||||
sql = mergeSql(sql, dbType);
|
||||
return dataSourceStat.createSqlStat(sql);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -360,10 +360,11 @@ public final class JdbcSqlStat implements JdbcSqlStatMBean {
|
||||
}
|
||||
|
||||
public void addExecuteTime(StatementExecuteType executeType, boolean firstResultSet, long nanoSpan) {
|
||||
addExecuteTime(nanoSpan);
|
||||
|
||||
if (StatementExecuteType.ExecuteQuery != executeType && !firstResultSet) {
|
||||
executeAndResultHoldTimeHistogram.record((nanoSpan) / 1000 / 1000);
|
||||
}
|
||||
addExecuteTime(nanoSpan);
|
||||
}
|
||||
|
||||
public void addExecuteTime(long nanoSpan) {
|
||||
|
||||
@@ -140,7 +140,7 @@ public class WebStatFilter implements Filter {
|
||||
if (uriStat == null) {
|
||||
int status = responseWrapper.getStatus();
|
||||
if (status == HttpServletResponse.SC_NOT_FOUND) {
|
||||
String errorUrl = contextPath + "/error_" + status;
|
||||
String errorUrl = contextPath + "error_" + status;
|
||||
uriStat = webAppStat.getURIStat(errorUrl, true);
|
||||
} else {
|
||||
uriStat = webAppStat.getURIStat(requestURI, true);
|
||||
|
||||
@@ -81,6 +81,14 @@ public class Histogram {
|
||||
return rangeCounters[index].get();
|
||||
}
|
||||
|
||||
public long getSum() {
|
||||
long sum = 0;
|
||||
for (int i = 0; i < rangeCounters.length; ++i) {
|
||||
sum += rangeCounters[i].get();
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
buf.append('[');
|
||||
|
||||
Reference in New Issue
Block a user