This commit is contained in:
wenshao
2013-07-03 21:59:39 +08:00
2 changed files with 388 additions and 385 deletions
@@ -1,348 +1,351 @@
$.namespace("druid.lang");
druid.lang = function() {
var LANG_EN = 0;
var LANG_CN = 1;
var lang = {
'Index' : ['Index','首页'],
'DataSource' : ['DataSource', '数据源'],
'SQL' : ['SQL','SQL监控'],
'Wall' : ['Wall' , 'SQL防火墙'],
'WebApp' : ['WebApp' , 'Web应用'],
'WebURI' : ['WebURI' , 'URI监控'],
'Web Session' : ['Web Session' , 'Session监控'],
'Spring' : ['Spring' , 'spring监控'],
'JSON API' : ['JSON API' , 'JSON API'],
'ResetAll' : ['Reset All' , '重置'],
'StatIndex' : ['Stat Index', '统计索引'],
'ViewJSONAPI' : ['View JSON API','查看JSON API'],
'Version' : ['Version' , '版本'],
'Drivers' : ['Drivers' , '驱动'],
'ResetEnable' : ['ResetEnable' , '是否允许重置'],
'ResetCount' : ['ResetCount' , '重置次数'],
'JavaVersion' : ['JavaVersion' , 'java版本'],
'JavaVMName' : ['JavaVMName' , 'jvm名称'],
'JavaClassPath' : ['JavaClassPath' , 'classpath路径'],
'StartTime' : ['StartTime' , '启动时间'],
'DataSourceStatList' : ['DataSourceStat List' , '数据源列表'],
'UserName' : ['UserName', '用户名'],
'URL' : ['URL', '连接地址'],
'DbType' : ['DbType', '数据库类型'],
'DriverClassName' : ['DriverClassName', '驱动类名'],
'FilterClassNames' : ['FilterClassNames', 'filter类名'],
'TestOnBorrow' : ['TestOnBorrow', '获取连接时检测'],
'TestWhileIdle' : ['TestWhileIdle', '空闲时检测'],
'TestOnReturn' : ['TestOnReturn', '连接放回连接池时检测'],
'InitialSize' : ['InitialSize', '初始化连接大小'],
'MinIdle' : ['MinIdle', '最小空闲连接数'],
'MaxActive' : ['MaxActive', '最大连接数'],
'QueryTimeout' : ['QueryTimeout', '查询超时时间'],
'TransactionQueryTimeout' : ['TransactionQueryTimeout', '事务查询超时时间'],//
'LoginTimeout' : ['LoginTimeout', '登录超时时间'],//
'ValidConnectionCheckerClassName' : ['ValidConnectionCheckerClassName', '连接有效性检查类名'],
'ExceptionSorterClassName' : ['ExceptionSorterClassName', 'ExceptionSorter类名'],//
'DefaultAutoCommit' : ['DefaultAutoCommit', '默认autocommit设置'],
'DefaultReadOnly' : ['DefaultReadOnly', '默认只读设置'],
'DefaultTransactionIsolation' : ['DefaultTransactionIsolation', '默认事务隔离'],//
'NotEmptyWaitCount' : ['NotEmptyWaitCount', '等待次数'],//
'NotEmptyWaitMillis' : ['NotEmptyWaitMillis', '等待最大时长'],//
'WaitThreadCount' : ['WaitThreadCount', '等待线程数量'],
'StartTransactionCount' : ['StartTransactionCount', '事务启动数'],//
'TransactionHistogram' : ['TransactionHistogram', '事务时间分布'],//
'PoolingCount' : ['PoolingCount', '池中连接数'],//
'PoolingPeak' : ['PoolingPeak', '池中连接数峰值'],//
'PoolingPeakTime' : ['PoolingPeakTime', '池中连接数峰值时间'],////
'ActiveCount' : ['ActiveCount', '活跃连接数'],
'ActivePeak' : ['ActivePeak', '活跃连接数峰值'],//
'ActivePeakTime' : ['ActivePeakTime', '活跃连接数峰值时间'],
'LogicConnectCount' : ['LogicConnectCount', '逻辑连接打开次数'],
'LogicCloseCount' : ['LogicCloseCount', '逻辑连接关闭次数'],
'LogicConnectErrorCount' : ['LogicConnectErrorCount', '逻辑连接错误次数'],
'PhysicalConnectCount' : ['PhysicalConnectCount', '物理连接打开次数'],
'PhysicalCloseCount' : ['PhysicalCloseCount', '物理关闭数量'],
'PhysicalConnectErrorCount' : ['PhysicalConnectErrorCount', '物理连接错误次数'],
'ExecuteCount' : ['ExecuteCount', '执行数'],
'ErrorCount' : ['ErrorCount', '错误数'],
'CommitCount' : ['CommitCount', '提交数'],
'RollbackCount' : ['RollbackCount', '回滚数'],
'PSCacheAccessCount' : ['PSCacheAccessCount', 'PSCache访问次数'],
'PSCacheHitCount' : ['PSCacheHitCount', 'PSCache命中次数'],
'PSCacheMissCount' : ['PSCacheMissCount', 'PSCache丢失次数'],//
'ConnectionHoldTimeHistogram' : ['ConnectionHoldTimeHistogram', '连接持有时间分布'],
'ClobOpenCount' : ['ClobOpenCount', 'Clob打开次数'],
'BlobOpenCount' : ['BlobOpenCount', 'Blob打开次数'],
'UserNameDesc' : ['Specify the username used when creating a new connection.', '指定建立连接是使用的用户名'],
'URLDesc' : ['The JDBC driver connection URL', 'jdbc连接字符串'],
'DbTypeDesc' : ['database type', '数据库类型'],
'DriverClassNameDesc' : ['The fully qualifed name of the JDBC driver class', 'jdbc驱动的类名'],
'FilterClassNamesDesc' : ['All the fully qualifed name of the filter classes', 'filter的类名'],
'TestOnBorrowDesc' : [' Test or not when borrow a connection', '是否在获得连接后检测其可用性'],
'TestWhileIdleDesc' : ['Test or not when a connection is idle for a while', '是否在连接空闲一段时间后检测其可用性'],
'TestOnReturnDesc' : ['Test or not when return a connection', '是否在连接放回连接池后检测其可用性'],
'InitialSizeDesc' : ['The size of datasource connections to create when initial a datasource', '连接池建立时创建的初始化连接数'],
'MinIdleDesc' : ['The minimum number of connections a pool should hold. ', '连接池中最小的活跃连接数'],
'MaxActiveDesc' : ['The maximum number of connections for a pool', '连接池中最大的活跃连接数'],
'QueryTimeoutDesc' : ['', '查询超时时间'],
'TransactionQueryTimeoutDesc' : ['', '事务查询超时时间'],
'LoginTimeoutDesc' : ['', ''],///
'ValidConnectionCheckerClassNameDesc' : ['', ''],
'ExceptionSorterClassNameDesc' : ['', ''],
'DefaultAutoCommitDesc' : ['', ''],
'DefaultReadOnlyDesc' : ['', ''],
'DefaultTransactionIsolationDesc' : ['', ''],
'NotEmptyWaitCountDesc' : ['Total times for wait to get a connection', '获取连接时最多等待多少次'],//
'NotEmptyWaitMillisDesc' : ['Total millins for wait to get a connection', '获取连接时最多等待多长时间'],
'WaitThreadCountDesc' : ['The current waiting thread count', '当前等待获取连接的线程数'],
'StartTransactionCountDesc' : ['The count of start transaction', '事务开始的个数'],
'TransactionHistogramDesc' : ['The histogram values of transaction time, [0-10 ms, 10-100 ms, 100-1 s, 1-10 s, 10-100 s, >100 s]', '事务运行时间分布,分布区间为[0-10 ms, 10-100 ms, 100-1 s, 1-10 s, 10-100 s, >100 s]'],
'PoolingCountDesc' : ['The current usefull connection count', '当前连接池中的数目'],//
'PoolingPeakDesc' : ['The usefull connection peak count', '连接池中数目的峰值'],
'PoolingPeakTimeDesc' : ['The usefull connection peak time', '连接池数目峰值出现的时间'],
'ActiveCountDesc' : ['The current active connection count', '当前连接池中活跃连接数'],
'ActivePeakDesc' : ['The current active connection peak count', '连接池中活跃连接数峰值'],
'ActivePeakTimeDesc' : ['The active connection peak time', '活跃连接池峰值出现的时间'],
'LogicConnectCountDesc' : ['Total connect times from datasource', '产生的逻辑连接建立总数'],
'LogicCloseCountDesc' : ['Total close connect times from datasource', '产生的逻辑连接关闭总数'],
'LogicConnectErrorCountDesc' : ['Total connect error times', '产生的逻辑连接出错总数'],
'PhysicalConnectCountDesc' : ['Create physical connnection count', '产生的物理连接建立总数'],
'PhysicalCloseCountDesc' : ['Close physical connnection count', '产生的物理关闭总数'],
'PhysicalConnectErrorCountDesc' : ['Total physical connect error times', '产生的物理连接失败总数'],
'ExecuteCountDesc' : ['', ''],
'ErrorCountDesc' : ['', ''],
'CommitCountDesc' : ['', ''],
'RollbackCountDesc' : ['', ''],
'PSCacheAccessCountDesc' : ['PerpareStatement access count', 'PSCache访问总数'],
'PSCacheHitCountDesc' : ['PerpareStatement hit count', 'PSCache命中次数'],
'PSCacheMissCountDesc' : ['PerpareStatement miss count', 'PSCache丢失次数'],//
'ConnectionHoldTimeHistogramDesc' : ['The histogram values of connection hold time, [0-1 ms, 1-10 ms, 10-100 ms, 100ms-1s, 1-10 s, 10-100 s, 100-1000 s, >1000 s]', '连接持有时间分布,分布区间为[0-1 ms, 1-10 ms, 10-100 ms, 100ms-1s, 1-10 s, 10-100 s, 100-1000 s, >1000 s]'],
'ClobOpenCountDesc' : ['', 'Clob打开数'],
'BlobOpenCountDesc' : ['', 'Blob打开数'],
/**spring-detail*/
'Class' : ['Class', 'Class'],
'Method' : ['Method', 'Method'],
'ExecuteErrorCount' : ['ExecuteErrorCount', '执行出错数'],
'ExecuteTimeMillis' : ['ExecuteTimeMillis', '执行时间'],
'RunningCount' : ['RunningCount', '执行中'],
'ConcurrentMax' : ['ConcurrentMax', '最大并发'],
'JdbcExecuteCount' : ['JdbcExecuteCount', 'Jdbc执行数'],
'JdbcExecuteErrorCount' : ['JdbcExecuteErrorCount', 'Jdbc出错数'],
'JdbcExecuteTimeMillis' : ['JdbcExecuteTimeMillis', 'Jdbc时间'],
'JdbcCommitCount' : ['JdbcCommitCount', '事务提交数'],
'JdbcRollbackCount' : ['JdbcRollbackCount', '事务回滚数'],
'JdbcFetchRowCount' : ['JdbcFetchRowCount', '读取行数'],
'JdbcUpdateCount' : ['JdbcUpdateCount', '更新行数'],
'JdbcPoolConnectionOpenCount' : ['JdbcPoolConnectionOpenCount', '连接池获取连接次数'],
'JdbcPoolConnectionCloseCount' : ['JdbcPoolConnectionCloseCount', '连接池关闭连接次数'],
'JdbcResultSetOpenCount' : ['JdbcResultSetOpenCount', 'ResultSet打开次数'],
'JdbcResultSetCloseCount' : ['JdbcResultSetCloseCount', 'ResultSet关闭次数'],
/**sql-detail*/
'ParseView' : ['ParseView', '解析信息'],//
'Tables' : [' Tables', '表'],
'Fields' : ['Fields', '字段'],
'Coditions' : ['Coditions', '条件'],
'Relationships' : ['Relationships', '关联'],
'OrderByColumns' : ['OrderByColumns', '排序字段'],
'LastSlowView' : ['LastSlowView', '最后慢查询'],
'MaxTimespan' : ['MaxTimespan', '最慢'],
'MaxTimespanOccurTime' : ['MaxTimespanOccurTime', '最慢发生时间'],
'LastSlowParameters' : ['LastSlowParameters', '最后慢查询参数'],
'LastErrorView' : ['LastErrorView', '最后错误视图'],
'LastErrorMessage' : ['LastErrorMessage', '最后错误信息'],
'LastErrorClass' : ['LastErrorClass', '最后错误类'],
'LastErrorTime' : ['LastErrorTime', '最后错误时间'],
'LastErrorStackTrace' : ['LastErrorStackTrace', '最后错误堆栈'],
'OtherView' : ['OtherView', '其他信息'],
'BatchSizeMax' : ['BatchSizeMax', '批处理最大值'],////
'BatchSizeTotal' : ['BatchSizeTotal', '批处理总数'],//
'ReaderOpenCount' : ['ReaderOpenCount', 'reader打开次数'],//
'InputStreamOpenCount' : ['InputStreamOpenCount', 'inputstream打开次数'],
'ReadStringLength' : ['ReadStringLength', '读取字符串长度'],//
'ReadBytesLength' : ['ReadBytesLength', '读取字节长度'],//
'ExecHisto':['ExecHisto','执行时间分布'],
'ExecRsHisto':['ExecRsHisto','执行+RS时分布'],
'FetchRowHisto':['FetchRowHisto','读取行数分布'],
'UpdateHisto':['UpdateHisto','更新行数分布'],
'count1ms':['count of 0-1 ms','0-1毫秒次数'],
'count10ms':['count of 1-10 ms','1-10毫秒次数'],
'count100ms':['count of 10-100 ms','10-100毫秒次数'],
'count1s':['count of 100ms-1s','100-1000毫秒次数'],
'count10s':['count of 1-10 s','1-10秒次数'],
'count100s':['count of 10-100 s','10-100秒次数'],
'count1000s':['count of 100-1000 s','100-1000秒次数'],
'countBg1000s':['count of >1000 s','大于1000秒次数'],
'fetch0':['count of 0 FetchRow','读取行数为0'],
'fetch9':['count of 1-9 FetchRow','读取行数1-9'],
'fetch99':['count of 10-99 FetchRow','读取行数10-99'],
'fetch999':['count of 100-999 FetchRow','读取行数100-999'],
'fetch9999':['count of 1000-9999 FetchRow','读取行数1000-9999'],
'fetch99999':['count of >9999 FetchRow','读取行数大于9999'],
'update0':['count of 0 UpdateCount','更新行数为0'],
'update9':['count of 1-9 UpdateCount','更新行数1-9'],
'update99':['count of 10-99 UpdateCount','更新行数10-99'],
'update999':['count of 100-999 UpdateCount','更新行数100-999'],
'update9999':['count of 1000-9999 UpdateCount','更新行数1000-9999'],
'update99999':['count of >9999 UpdateCount','更新行数大于9999'],
/**wall*/
'CheckCount':['CheckCount', '检查次数'],
'HardCheckCount':['HardCheckCount', '硬检查次数'],
'ViolationCount':['ViolationCount', '非法次数'],
'BlackListHitCount':['BlackListHitCount', '黑名单命中次数'],
'BlackListSize':['BlackListSize', '黑名单长度'],
'WhiteListHitCount':['WhiteListHitCount', '白名单命中次数'],
'WhiteListSize':['WhiteListSize', '白名单长度'],
'SyntaxErrrorCount':['SyntaxErrrorCount', '语法错误次数'],
'TableName':['TableName', '表名'],
'SelectCount':['SelectCount', 'Select数'],
'InsertCount':['InsertCount', 'Insert数'],
'UpdateCount':['UpdateCount', 'Update数'],
'DeleteCount':['DeleteCount', 'Delete数'],
'TruncateCount':['TruncateCount', 'Truncate数'],
'CreateCount':['CreateCount', 'Create数'],
'AlterCount':['AlterCount', 'Alter数'],
'DropCount':['DropCount', 'Drop数'],
'ReplaceCount':['ReplaceCount', 'Replace数'],
'DeleteDataCount':['DeleteDataCount', '删除数据行数'],
'UpdateDataCount':['UpdateDataCount', '更新数据行数'],
'FetchRowCount':['FetchRowCount', '读取行数'],
/**session-detail*/
'SESSIONID':['SESSIONID', 'SESSIONID'],
'UserAgent':['UserAgent', 'UserAgent'],
'Principal':['Principal', 'Principal'],
'CreateTime':['CreateTime', '创建时间'],
'LastAccessTime':['LastAccessTime', '最后访问时间'],
'RemoteAddress':['RemoteAddress', '访问ip地址'],
'RequestCount':['RequestCount', '请求次数'],
'RequestTimeMillisTotal':['RequestTimeMillisTotal', '总共请求时间'],
'RequestInterval':['RequestInterval', '请求间隔'],
/**weburi-detail*/
'RequestTimeMillis':['RequestTimeMillis', '请求时间'],
'JdbcExecutePeak':['JdbcExecutePeak', 'jdbc执行峰值'],
'JdbcFetchRowPeak':['JdbcFetchRowPeak', 'jdbc查询取回行数峰值'],
'JdbcUpdatePeak':['JdbcUpdatePeak', 'jdbc更新峰值']
};
var COOKIE_LANG_NAME = "cookie_lang";
function log(str) {
if (typeof (console) != 'undefined' && typeof(console.log) != 'undefined') {
console.log(str);
} else {
$('body').append('<input type="hidden" value="' + str + " />");
}
}
function setCookie(name,value,expires,path,domain,secure)
{
var expDays = expires*24*60*60*1000;
var expDate = new Date();
expDate.setTime(expDate.getTime()+expDays);
var expString = ((expires==null) ? "": (";expires="+expDate.toGMTString()));
var pathString = ((path==null) ? "": (";path="+path));
var domainString = ((domain==null) ? "": (";domain="+domain));
var secureString = ((secure==true) ? ";secure": "");
document.cookie = name + "="+ escape(value) + expString + pathString + domainString + secureString;
}
function getCookie(name)
{
var result = null;
var myCookie = document.cookie + ";";
var searchName = name + "=";
var startOfCookie = myCookie.indexOf(searchName);
var endOfCookie;
if (startOfCookie != -1)
{
startOfCookie += searchName.length;
endOfCookie = myCookie.indexOf(";",startOfCookie);
result = unescape(myCookie.substring(startOfCookie,endOfCookie));
}
return result;
}
function setText($obj) {
var key = $obj.attr('langKey');
if (typeof(lang[key]) != 'undefined') {
var text = lang[key][druid.lang.langNow];
$obj.text(lang[key][druid.lang.langNow]);
} else {
log('key [' + key + '] not found');
}
}
function setTitle($obj) {
var key = $obj.attr('langKey');
if (typeof(lang[key]) != 'undefined') {
var title = lang[key][druid.lang.langNow];
$obj.attr('title', title);
} else {
log('key [' + key + '] not found');
}
}
return {
langNow : LANG_CN,
EVENT_LOAD_FINISHED : 'loadFinished',
init : function(langNow) {
if (typeof(langNow) != 'undefined') {
this.setLangType(langNow);
} else {
var langInCookie = getCookie(COOKIE_LANG_NAME);
if (langInCookie == LANG_CN || langInCookie == LANG_EN) {
this.setLangType(langInCookie);
}
}
$(document).on(this.EVENT_LOAD_FINISHED, '.lang', function() {
log('load lang');
setText($(this));
});
$(document).on(this.EVENT_LOAD_FINISHED, '.langTitle', function() {
log('load title');
setTitle($(this));
});
this.trigger();
$(document).on('click','.langSelector',function() {
var langSelected = $(this).attr('langNow');
druid.lang.setLangType(langSelected);
druid.lang.trigger();
return false;
});
},
setLangType : function (langNow) {
this.langNow = langNow;
setCookie(COOKIE_LANG_NAME,langNow,30,'/');
},
getLangType : function () {
return this.langNow;
},
show : function($parent) {
var $obj;
var $objTitle;
if ($parent) {
$obj = $parent.find('.lang');
$objTitle = $parent.find('.langTitle');
} else {
$obj = $('.lang');
$objTitle = $('.langTitle');
}
$obj.each(function() {
setText($(this));
});
$objTitle.each(function() {
setTitle($(this));
});
},
trigger : function() {
log('to load lang now');
$('.lang').trigger(this.EVENT_LOAD_FINISHED);//触发语言显示事件
$('.langTitle').trigger(this.EVENT_LOAD_FINISHED);//触发语言显示事件
}
}
}();
$.namespace("druid.lang");
druid.lang = function() {
var LANG_EN = 0;
var LANG_CN = 1;
var lang = {
'Index' : ['Index','首页'],
'DataSource' : ['DataSource', '数据源'],
'SQL' : ['SQL','SQL监控'],
'Wall' : ['Wall' , 'SQL防火墙'],
'WebApp' : ['WebApp' , 'Web应用'],
'WebURI' : ['WebURI' , 'URI监控'],
'Web Session' : ['Web Session' , 'Session监控'],
'Spring' : ['Spring' , 'spring监控'],
'JSON API' : ['JSON API' , 'JSON API'],
'ResetAll' : ['Reset All' , '重置'],
'StatIndex' : ['Stat Index', '统计索引'],
'ViewJSONAPI' : ['View JSON API','查看JSON API'],
'Version' : ['Version' , '版本'],
'Drivers' : ['Drivers' , '驱动'],
'ResetEnable' : ['ResetEnable' , '是否允许重置'],
'ResetCount' : ['ResetCount' , '重置次数'],
'JavaVersion' : ['JavaVersion' , 'java版本'],
'JavaVMName' : ['JavaVMName' , 'jvm名称'],
'JavaClassPath' : ['JavaClassPath' , 'classpath路径'],
'StartTime' : ['StartTime' , '启动时间'],
'DataSourceStatList' : ['DataSourceStat List' , '数据源列表'],
'UserName' : ['UserName', '用户名'],
'URL' : ['URL', '连接地址'],
'DbType' : ['DbType', '数据库类型'],
'DriverClassName' : ['DriverClassName', '驱动类名'],
'FilterClassNames' : ['FilterClassNames', 'filter类名'],
'TestOnBorrow' : ['TestOnBorrow', '获取连接时检测'],
'TestWhileIdle' : ['TestWhileIdle', '空闲时检测'],
'TestOnReturn' : ['TestOnReturn', '连接放回连接池时检测'],
'InitialSize' : ['InitialSize', '初始化连接大小'],
'MinIdle' : ['MinIdle', '最小空闲连接数'],
'MaxActive' : ['MaxActive', '最大连接数'],
'QueryTimeout' : ['QueryTimeout', '查询超时时间'],
'TransactionQueryTimeout' : ['TransactionQueryTimeout', '事务查询超时时间'],//
'LoginTimeout' : ['LoginTimeout', '登录超时时间'],//
'ValidConnectionCheckerClassName' : ['ValidConnectionCheckerClassName', '连接有效性检查类名'],
'ExceptionSorterClassName' : ['ExceptionSorterClassName', 'ExceptionSorter类名'],//
'DefaultAutoCommit' : ['DefaultAutoCommit', '默认autocommit设置'],
'DefaultReadOnly' : ['DefaultReadOnly', '默认只读设置'],
'DefaultTransactionIsolation' : ['DefaultTransactionIsolation', '默认事务隔离'],//
'NotEmptyWaitCount' : ['NotEmptyWaitCount', '等待次数'],//
'NotEmptyWaitMillis' : ['NotEmptyWaitMillis', '等待最大时长'],//
'WaitThreadCount' : ['WaitThreadCount', '等待线程数量'],
'StartTransactionCount' : ['StartTransactionCount', '事务启动数'],//
'TransactionHistogram' : ['TransactionHistogram', '事务时间分布'],//
'PoolingCount' : ['PoolingCount', '池中连接数'],//
'PoolingPeak' : ['PoolingPeak', '池中连接数峰值'],//
'PoolingPeakTime' : ['PoolingPeakTime', '池中连接数峰值时间'],////
'ActiveCount' : ['ActiveCount', '活跃连接数'],
'ActivePeak' : ['ActivePeak', '活跃连接数峰值'],//
'ActivePeakTime' : ['ActivePeakTime', '活跃连接数峰值时间'],
'LogicConnectCount' : ['LogicConnectCount', '逻辑连接打开次数'],
'LogicCloseCount' : ['LogicCloseCount', '逻辑连接关闭次数'],
'LogicConnectErrorCount' : ['LogicConnectErrorCount', '逻辑连接错误次数'],
'PhysicalConnectCount' : ['PhysicalConnectCount', '物理连接打开次数'],
'PhysicalCloseCount' : ['PhysicalCloseCount', '物理关闭数量'],
'PhysicalConnectErrorCount' : ['PhysicalConnectErrorCount', '物理连接错误次数'],
'ExecuteCount' : ['ExecuteCount', '执行数'],
'ErrorCount' : ['ErrorCount', '错误数'],
'CommitCount' : ['CommitCount', '提交数'],
'RollbackCount' : ['RollbackCount', '回滚数'],
'PSCacheAccessCount' : ['PSCacheAccessCount', 'PSCache访问次数'],
'PSCacheHitCount' : ['PSCacheHitCount', 'PSCache命中次数'],
'PSCacheMissCount' : ['PSCacheMissCount', 'PSCache丢失次数'],//
'ConnectionHoldTimeHistogram' : ['ConnectionHoldTimeHistogram', '连接持有时间分布'],
'ClobOpenCount' : ['ClobOpenCount', 'Clob打开次数'],
'BlobOpenCount' : ['BlobOpenCount', 'Blob打开次数'],
'UserNameDesc' : ['Specify the username used when creating a new connection.', '指定建立连接是使用的用户名'],
'URLDesc' : ['The JDBC driver connection URL', 'jdbc连接字符串'],
'DbTypeDesc' : ['database type', '数据库类型'],
'DriverClassNameDesc' : ['The fully qualifed name of the JDBC driver class', 'jdbc驱动的类名'],
'FilterClassNamesDesc' : ['All the fully qualifed name of the filter classes', 'filter的类名'],
'TestOnBorrowDesc' : [' Test or not when borrow a connection', '是否在获得连接后检测其可用性'],
'TestWhileIdleDesc' : ['Test or not when a connection is idle for a while', '是否在连接空闲一段时间后检测其可用性'],
'TestOnReturnDesc' : ['Test or not when return a connection', '是否在连接放回连接池后检测其可用性'],
'InitialSizeDesc' : ['The size of datasource connections to create when initial a datasource', '连接池建立时创建的初始化连接数'],
'MinIdleDesc' : ['The minimum number of connections a pool should hold. ', '连接池中最小的活跃连接数'],
'MaxActiveDesc' : ['The maximum number of connections for a pool', '连接池中最大的活跃连接数'],
'QueryTimeoutDesc' : ['', '查询超时时间'],
'TransactionQueryTimeoutDesc' : ['', '事务查询超时时间'],
'LoginTimeoutDesc' : ['', ''],///
'ValidConnectionCheckerClassNameDesc' : ['', ''],
'ExceptionSorterClassNameDesc' : ['', ''],
'DefaultAutoCommitDesc' : ['', ''],
'DefaultReadOnlyDesc' : ['', ''],
'DefaultTransactionIsolationDesc' : ['', ''],
'NotEmptyWaitCountDesc' : ['Total times for wait to get a connection', '获取连接时最多等待多少次'],//
'NotEmptyWaitMillisDesc' : ['Total millins for wait to get a connection', '获取连接时最多等待多长时间'],
'WaitThreadCountDesc' : ['The current waiting thread count', '当前等待获取连接的线程数'],
'StartTransactionCountDesc' : ['The count of start transaction', '事务开始的个数'],
'TransactionHistogramDesc' : ['The histogram values of transaction time, [0-10 ms, 10-100 ms, 100-1 s, 1-10 s, 10-100 s, >100 s]', '事务运行时间分布,分布区间为[0-10 ms, 10-100 ms, 100-1 s, 1-10 s, 10-100 s, >100 s]'],
'PoolingCountDesc' : ['The current usefull connection count', '当前连接池中的数目'],//
'PoolingPeakDesc' : ['The usefull connection peak count', '连接池中数目的峰值'],
'PoolingPeakTimeDesc' : ['The usefull connection peak time', '连接池数目峰值出现的时间'],
'ActiveCountDesc' : ['The current active connection count', '当前连接池中活跃连接数'],
'ActivePeakDesc' : ['The current active connection peak count', '连接池中活跃连接数峰值'],
'ActivePeakTimeDesc' : ['The active connection peak time', '活跃连接池峰值出现的时间'],
'LogicConnectCountDesc' : ['Total connect times from datasource', '产生的逻辑连接建立总数'],
'LogicCloseCountDesc' : ['Total close connect times from datasource', '产生的逻辑连接关闭总数'],
'LogicConnectErrorCountDesc' : ['Total connect error times', '产生的逻辑连接出错总数'],
'PhysicalConnectCountDesc' : ['Create physical connnection count', '产生的物理连接建立总数'],
'PhysicalCloseCountDesc' : ['Close physical connnection count', '产生的物理关闭总数'],
'PhysicalConnectErrorCountDesc' : ['Total physical connect error times', '产生的物理连接失败总数'],
'ExecuteCountDesc' : ['', ''],
'ErrorCountDesc' : ['', ''],
'CommitCountDesc' : ['', ''],
'RollbackCountDesc' : ['', ''],
'PSCacheAccessCountDesc' : ['PerpareStatement access count', 'PSCache访问总数'],
'PSCacheHitCountDesc' : ['PerpareStatement hit count', 'PSCache命中次数'],
'PSCacheMissCountDesc' : ['PerpareStatement miss count', 'PSCache丢失次数'],//
'ConnectionHoldTimeHistogramDesc' : ['The histogram values of connection hold time, [0-1 ms, 1-10 ms, 10-100 ms, 100ms-1s, 1-10 s, 10-100 s, 100-1000 s, >1000 s]', '连接持有时间分布,分布区间为[0-1 ms, 1-10 ms, 10-100 ms, 100ms-1s, 1-10 s, 10-100 s, 100-1000 s, >1000 s]'],
'ClobOpenCountDesc' : ['', 'Clob打开数'],
'BlobOpenCountDesc' : ['', 'Blob打开数'],
/**spring-detail*/
'Class' : ['Class', 'Class'],
'Method' : ['Method', 'Method'],
'ExecuteErrorCount' : ['ExecuteErrorCount', '执行出错数'],
'ExecuteTimeMillis' : ['ExecuteTimeMillis', '执行时间'],
'RunningCount' : ['RunningCount', '执行中'],
'ConcurrentMax' : ['ConcurrentMax', '最大并发'],
'JdbcExecuteCount' : ['JdbcExecuteCount', 'Jdbc执行数'],
'JdbcExecuteErrorCount' : ['JdbcExecuteErrorCount', 'Jdbc出错数'],
'JdbcExecuteTimeMillis' : ['JdbcExecuteTimeMillis', 'Jdbc时间'],
'JdbcCommitCount' : ['JdbcCommitCount', '事务提交数'],
'JdbcRollbackCount' : ['JdbcRollbackCount', '事务回滚数'],
'JdbcFetchRowCount' : ['JdbcFetchRowCount', '读取行数'],
'JdbcUpdateCount' : ['JdbcUpdateCount', '更新行数'],
'JdbcPoolConnectionOpenCount' : ['JdbcPoolConnectionOpenCount', '连接池获取连接次数'],
'JdbcPoolConnectionCloseCount' : ['JdbcPoolConnectionCloseCount', '连接池关闭连接次数'],
'JdbcResultSetOpenCount' : ['JdbcResultSetOpenCount', 'ResultSet打开次数'],
'JdbcResultSetCloseCount' : ['JdbcResultSetCloseCount', 'ResultSet关闭次数'],
/**sql-detail*/
'ParseView' : ['ParseView', '解析信息'],//
'Tables' : [' Tables', '表'],
'Fields' : ['Fields', '字段'],
'Coditions' : ['Coditions', '条件'],
'Relationships' : ['Relationships', '关联'],
'OrderByColumns' : ['OrderByColumns', '排序字段'],
'LastSlowView' : ['LastSlowView', '最后慢查询'],
'MaxTimespan' : ['MaxTimespan', '最慢'],
'MaxTimespanOccurTime' : ['MaxTimespanOccurTime', '最慢发生时间'],
'LastSlowParameters' : ['LastSlowParameters', '最后慢查询参数'],
'LastErrorView' : ['LastErrorView', '最后错误视图'],
'LastErrorMessage' : ['LastErrorMessage', '最后错误信息'],
'LastErrorClass' : ['LastErrorClass', '最后错误类'],
'LastErrorTime' : ['LastErrorTime', '最后错误时间'],
'LastErrorStackTrace' : ['LastErrorStackTrace', '最后错误堆栈'],
'OtherView' : ['OtherView', '其他信息'],
'BatchSizeMax' : ['BatchSizeMax', '批处理最大值'],////
'BatchSizeTotal' : ['BatchSizeTotal', '批处理总数'],//
'ReaderOpenCount' : ['ReaderOpenCount', 'reader打开次数'],//
'InputStreamOpenCount' : ['InputStreamOpenCount', 'inputstream打开次数'],
'ReadStringLength' : ['ReadStringLength', '读取字符串长度'],//
'ReadBytesLength' : ['ReadBytesLength', '读取字节长度'],//
'ExecHisto':['ExecHisto','执行时间分布'],
'ExecRsHisto':['ExecRsHisto','执行+RS时分布'],
'FetchRowHisto':['FetchRowHisto','读取行数分布'],
'UpdateHisto':['UpdateHisto','更新行数分布'],
'InTransactionCount' : ['InTransactionCount','事务中次数'],
'MaxTimespanDesc' : ['Execute Time Millis Max','最长的执行时间'],
'InTransactionCountDesc' : ['Execute In Transaction Count','在事务中运行的次数'],
'count1ms':['count of 0-1 ms','0-1毫秒次数'],
'count10ms':['count of 1-10 ms','1-10毫秒次数'],
'count100ms':['count of 10-100 ms','10-100毫秒次数'],
'count1s':['count of 100ms-1s','100-1000毫秒次数'],
'count10s':['count of 1-10 s','1-10秒次数'],
'count100s':['count of 10-100 s','10-100秒次数'],
'count1000s':['count of 100-1000 s','100-1000秒次数'],
'countBg1000s':['count of >1000 s','大于1000秒次数'],
'fetch0':['count of 0 FetchRow','读取行数为0'],
'fetch9':['count of 1-9 FetchRow','读取行数1-9'],
'fetch99':['count of 10-99 FetchRow','读取行数10-99'],
'fetch999':['count of 100-999 FetchRow','读取行数100-999'],
'fetch9999':['count of 1000-9999 FetchRow','读取行数1000-9999'],
'fetch99999':['count of >9999 FetchRow','读取行数大于9999'],
'update0':['count of 0 UpdateCount','更新行数为0'],
'update9':['count of 1-9 UpdateCount','更新行数1-9'],
'update99':['count of 10-99 UpdateCount','更新行数10-99'],
'update999':['count of 100-999 UpdateCount','更新行数100-999'],
'update9999':['count of 1000-9999 UpdateCount','更新行数1000-9999'],
'update99999':['count of >9999 UpdateCount','更新行数大于9999'],
/**wall*/
'CheckCount':['CheckCount', '检查次数'],
'HardCheckCount':['HardCheckCount', '硬检查次数'],
'ViolationCount':['ViolationCount', '非法次数'],
'BlackListHitCount':['BlackListHitCount', '黑名单命中次数'],
'BlackListSize':['BlackListSize', '黑名单长度'],
'WhiteListHitCount':['WhiteListHitCount', '白名单命中次数'],
'WhiteListSize':['WhiteListSize', '白名单长度'],
'SyntaxErrrorCount':['SyntaxErrrorCount', '语法错误次数'],
'TableName':['TableName', '表名'],
'SelectCount':['SelectCount', 'Select数'],
'InsertCount':['InsertCount', 'Insert数'],
'UpdateCount':['UpdateCount', 'Update数'],
'DeleteCount':['DeleteCount', 'Delete数'],
'TruncateCount':['TruncateCount', 'Truncate数'],
'CreateCount':['CreateCount', 'Create数'],
'AlterCount':['AlterCount', 'Alter数'],
'DropCount':['DropCount', 'Drop数'],
'ReplaceCount':['ReplaceCount', 'Replace数'],
'DeleteDataCount':['DeleteDataCount', '删除数据行数'],
'UpdateDataCount':['UpdateDataCount', '更新数据行数'],
'FetchRowCount':['FetchRowCount', '读取行数'],
/**session-detail*/
'SESSIONID':['SESSIONID', 'SESSIONID'],
'UserAgent':['UserAgent', 'UserAgent'],
'Principal':['Principal', 'Principal'],
'CreateTime':['CreateTime', '创建时间'],
'LastAccessTime':['LastAccessTime', '最后访问时间'],
'RemoteAddress':['RemoteAddress', '访问ip地址'],
'RequestCount':['RequestCount', '请求次数'],
'RequestTimeMillisTotal':['RequestTimeMillisTotal', '总共请求时间'],
'RequestInterval':['RequestInterval', '请求间隔'],
/**weburi-detail*/
'RequestTimeMillis':['RequestTimeMillis', '请求时间'],
'JdbcExecutePeak':['JdbcExecutePeak', 'jdbc执行峰值'],
'JdbcFetchRowPeak':['JdbcFetchRowPeak', 'jdbc查询取回行数峰值'],
'JdbcUpdatePeak':['JdbcUpdatePeak', 'jdbc更新峰值']
};
var COOKIE_LANG_NAME = "cookie_lang";
function log(str) {
if (typeof (console) != 'undefined' && typeof(console.log) != 'undefined') {
console.log(str);
} else {
$('body').append('<input type="hidden" value="' + str + " />");
}
}
function setCookie(name,value,expires,path,domain,secure)
{
var expDays = expires*24*60*60*1000;
var expDate = new Date();
expDate.setTime(expDate.getTime()+expDays);
var expString = ((expires==null) ? "": (";expires="+expDate.toGMTString()));
var pathString = ((path==null) ? "": (";path="+path));
var domainString = ((domain==null) ? "": (";domain="+domain));
var secureString = ((secure==true) ? ";secure": "");
document.cookie = name + "="+ escape(value) + expString + pathString + domainString + secureString;
}
function getCookie(name)
{
var result = null;
var myCookie = document.cookie + ";";
var searchName = name + "=";
var startOfCookie = myCookie.indexOf(searchName);
var endOfCookie;
if (startOfCookie != -1)
{
startOfCookie += searchName.length;
endOfCookie = myCookie.indexOf(";",startOfCookie);
result = unescape(myCookie.substring(startOfCookie,endOfCookie));
}
return result;
}
function setText($obj) {
var key = $obj.attr('langKey');
if (typeof(lang[key]) != 'undefined') {
var text = lang[key][druid.lang.langNow];
$obj.text(lang[key][druid.lang.langNow]);
} else {
log('key [' + key + '] not found');
}
}
function setTitle($obj) {
var key = $obj.attr('langKey');
if (typeof(lang[key]) != 'undefined') {
var title = lang[key][druid.lang.langNow];
$obj.attr('title', title);
} else {
log('key [' + key + '] not found');
}
}
return {
langNow : LANG_CN,
EVENT_LOAD_FINISHED : 'loadFinished',
init : function(langNow) {
if (typeof(langNow) != 'undefined') {
this.setLangType(langNow);
} else {
var langInCookie = getCookie(COOKIE_LANG_NAME);
if (langInCookie == LANG_CN || langInCookie == LANG_EN) {
this.setLangType(langInCookie);
}
}
$(document).on(this.EVENT_LOAD_FINISHED, '.lang', function() {
log('load lang');
setText($(this));
});
$(document).on(this.EVENT_LOAD_FINISHED, '.langTitle', function() {
log('load title');
setTitle($(this));
});
this.trigger();
$(document).on('click','.langSelector',function() {
var langSelected = $(this).attr('langNow');
druid.lang.setLangType(langSelected);
druid.lang.trigger();
return false;
});
},
setLangType : function (langNow) {
this.langNow = langNow;
setCookie(COOKIE_LANG_NAME,langNow,30,'/');
},
getLangType : function () {
return this.langNow;
},
show : function($parent) {
var $obj;
var $objTitle;
if ($parent) {
$obj = $parent.find('.lang');
$objTitle = $parent.find('.langTitle');
} else {
$obj = $('.lang');
$objTitle = $('.langTitle');
}
$obj.each(function() {
setText($(this));
});
$objTitle.each(function() {
setTitle($(this));
});
},
trigger : function() {
log('to load lang now');
$('.lang').trigger(this.EVENT_LOAD_FINISHED);//触发语言显示事件
$('.langTitle').trigger(this.EVENT_LOAD_FINISHED);//触发语言显示事件
}
}
}();
@@ -23,50 +23,50 @@
<tr>
<th>N</th>
<th><a id="th-SQL" >SQL</a></th>
<th width="50" title="Execute Count"><a id="th-ExecuteCount" class="lang" langKey="ExecuteCount">ExecCount</a></th>
<th width="50" title="Execute Time Millis Total"><a id="th-TotalTime" class="lang" langKey="ExecuteTimeMillis">ExecTime</a></th>
<th width="50" title="Execute Time Millis Max"><a id="th-MaxTimespan" class="lang" langKey="MaxTimespan">ExecMax</a></th>
<th width="50" title="Execute In Transaction Count"><a id="th-InTransactionCount" class="lang" langKey="InTransactionCount">Txn</a></th>
<th width="50" title="Error Count"><a id="th-ErrorCount" class="lang" langKey="ErrorCount">Error</a></th>
<th width="50" title="Update Count"><a id="th-UpdateCount" class="lang" langKey="JdbcUpdateCount">Update</a></th>
<th width="50" title="Fetch Row Count"><a id="th-FetchRowCount" class="lang" langKey="JdbcFetchRowCount">FetchRow</a></th>
<th width="50" title="Running Count"><a id="th-RunningCount" class="lang" langKey="RunningCount">Running</a></th>
<th width="50" title="Concurrent Max"><a id="th-ConcurrentMax" class="lang" langKey="ConcurrentMax">Concurrent</a></th>
<th width="50"><a id="th-ExecuteCount" class="lang" langKey="ExecuteCount">ExecCount</a></th>
<th width="50"><a id="th-TotalTime" class="lang" langKey="ExecuteTimeMillis">ExecTime</a></th>
<th width="50" class="langTitle" langKey="MaxTimespanDesc" title="Execute Time Millis Max"><a id="th-MaxTimespan" class="lang" langKey="MaxTimespan">ExecMax</a></th>
<th width="50" class="langTitle" langKey="InTransactionCountDesc" title="Execute In Transaction Count"><a id="th-InTransactionCount" class="lang" langKey="InTransactionCount">Txn</a></th>
<th width="50" ><a id="th-ErrorCount" class="lang" langKey="ErrorCount">Error</a></th>
<th width="50"><a id="th-UpdateCount" class="lang" langKey="JdbcUpdateCount">Update</a></th>
<th width="50"><a id="th-FetchRowCount" class="lang" langKey="JdbcFetchRowCount">FetchRow</a></th>
<th width="50"><a id="th-RunningCount" class="lang" langKey="RunningCount">Running</a></th>
<th width="50"><a id="th-ConcurrentMax" class="lang" langKey="ConcurrentMax">Concurrent</a></th>
<th align="left" width="100"><span class="lang" langKey="ExecHisto">ExecHisto</span> <br />[
<a id="th-Histogram[0]" langTitle="count1ms" title="count of '0-1 ms'" >-</a>
<a id="th-Histogram[1]" langTitle="count10ms" title="count of '1-10 ms'" >-</a>
<a id="th-Histogram[2]" langTitle="count100ms" title="count of '10-100 ms'" >-</a>
<a id="th-Histogram[3]" langTitle="count1s" title="count of '100ms-1 s'" >-</a>
<a id="th-Histogram[4]" langTitle="count10s" title="count of '1-10 s'" >-</a>
<a id="th-Histogram[5]" langTitle="count100s" title="count of '10-100 s'" >-</a>
<a id="th-Histogram[6]" langTitle="count1000s" title="count of '100-1000 s'" >-</a>
<a id="th-Histogram[7]" langTitle="countBg1000s" title="count of '> 1000 s'" >-</a> ]
<a id="th-Histogram[0]" class="langTitle" langKey="count1ms" title="count of '0-1 ms'" >-</a>
<a id="th-Histogram[1]" class="langTitle" langKey="count10ms" title="count of '1-10 ms'" >-</a>
<a id="th-Histogram[2]" class="langTitle" langKey="count100ms" title="count of '10-100 ms'" >-</a>
<a id="th-Histogram[3]" class="langTitle" langKey="count1s" title="count of '100ms-1 s'" >-</a>
<a id="th-Histogram[4]" class="langTitle" langKey="count10s" title="count of '1-10 s'" >-</a>
<a id="th-Histogram[5]" class="langTitle" langKey="count100s" title="count of '10-100 s'" >-</a>
<a id="th-Histogram[6]" class="langTitle" langKey="count1000s" title="count of '100-1000 s'" >-</a>
<a id="th-Histogram[7]" class="langTitle" langKey="countBg1000s" title="count of '> 1000 s'" >-</a> ]
</th>
<th align="left" width="100"><span class="lang" langKey="ExecRsHisto">ExecRsHisto</span> <br />[
<a id="th-ExecuteAndResultHoldTimeHistogram[0]" langTitle="count1ms" title="count of '0-1 ms'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[1]" langTitle="count10ms" title="count of '1-10 ms'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[2]" langTitle="count100ms" title="count of '10-100 ms'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[3]" langTitle="count1s" title="count of '100ms-1s'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[4]" langTitle="count10s" title="count of '1-10 s'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[5]" langTitle="count100s" title="count of '10-100 s'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[6]" langTitle="count1000s" title="count of '100-1000 s'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[7]" langTitle="countBg1000s" title="count of '> 1000 s'" >-</a> ]
<a id="th-ExecuteAndResultHoldTimeHistogram[0]" class="langTitle" langKey="count1ms" title="count of '0-1 ms'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[1]" class="langTitle" langKey="count10ms" title="count of '1-10 ms'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[2]" class="langTitle" langKey="count100ms" title="count of '10-100 ms'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[3]" class="langTitle" langKey="count1s" title="count of '100ms-1s'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[4]" class="langTitle" langKey="count10s" title="count of '1-10 s'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[5]" class="langTitle" langKey="count100s" title="count of '10-100 s'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[6]" class="langTitle" langKey="count1000s" title="count of '100-1000 s'" >-</a>
<a id="th-ExecuteAndResultHoldTimeHistogram[7]" class="langTitle" langKey="countBg1000s" title="count of '> 1000 s'" >-</a> ]
</th>
<th align="left" width="100"><span class="lang" langKey="FetchRowHisto">FetchRowHisto</span> <br />[
<a id="th-FetchRowCountHistogram[0]" langTitle="fetch0" title="count of '0 FetchRow'" >-</a>
<a id="th-FetchRowCountHistogram[1]" langTitle="fetch9" title="count of '1-9 FetchRow'" >-</a>
<a id="th-FetchRowCountHistogram[2]" langTitle="fetch99" title="count of '10-99 FetchRow'" >-</a>
<a id="th-FetchRowCountHistogram[3]" langTitle="fetch999" title="count of '100-999 FetchRow'" >-</a>
<a id="th-FetchRowCountHistogram[4]" langTitle="fetch9999" title="count of '1000-9999 FetchRow'" >-</a>
<a id="th-FetchRowCountHistogram[5]" langTitle="fetch99999" title="count of '> 9999 FetchRow'" >-</a> ]
<a id="th-FetchRowCountHistogram[0]" class="langTitle" langKey="fetch0" title="count of '0 FetchRow'" >-</a>
<a id="th-FetchRowCountHistogram[1]" class="langTitle" langKey="fetch9" title="count of '1-9 FetchRow'" >-</a>
<a id="th-FetchRowCountHistogram[2]" class="langTitle" langKey="fetch99" title="count of '10-99 FetchRow'" >-</a>
<a id="th-FetchRowCountHistogram[3]" class="langTitle" langKey="fetch999" title="count of '100-999 FetchRow'" >-</a>
<a id="th-FetchRowCountHistogram[4]" class="langTitle" langKey="fetch9999" title="count of '1000-9999 FetchRow'" >-</a>
<a id="th-FetchRowCountHistogram[5]" class="langTitle" langKey="fetch99999" title="count of '> 9999 FetchRow'" >-</a> ]
</th>
<th align="left" width="100"><span class="lang" langKey="UpdateHisto">UpdateHisto</span> <br />[
<a id="th-EffectedRowCountHistogram[0]" langTitle="update0" title="count of '0 UpdateCount'" >-</a>
<a id="th-EffectedRowCountHistogram[1]" langTitle="update9" title="count of '1-9 UpdateCount'" >-</a>
<a id="th-EffectedRowCountHistogram[2]" langTitle="update99" title="count of '10-99 UpdateCount'" >-</a>
<a id="th-EffectedRowCountHistogram[3]" langTitle="update999" title="count of '100-999 UpdateCount'" >-</a>
<a id="th-EffectedRowCountHistogram[4]" langTitle="update9999" title="count of '1000-9999 UpdateCount'" >-</a>
<a id="th-EffectedRowCountHistogram[5]" langTitle="update99999" title="count of '> 9999 UpdateCount'" >-</a> ]
<a id="th-EffectedRowCountHistogram[0]" class="langTitle" langKey="update0" title="count of '0 UpdateCount'" >-</a>
<a id="th-EffectedRowCountHistogram[1]" class="langTitle" langKey="update9" title="count of '1-9 UpdateCount'" >-</a>
<a id="th-EffectedRowCountHistogram[2]" class="langTitle" langKey="update99" title="count of '10-99 UpdateCount'" >-</a>
<a id="th-EffectedRowCountHistogram[3]" class="langTitle" langKey="update999" title="count of '100-999 UpdateCount'" >-</a>
<a id="th-EffectedRowCountHistogram[4]" class="langTitle" langKey="update9999" title="count of '1000-9999 UpdateCount'" >-</a>
<a id="th-EffectedRowCountHistogram[5]" class="langTitle" langKey="update99999" title="count of '> 9999 UpdateCount'" >-</a> ]
</th>
</tr>
</thead>