如何根据日志文件数据计算基于时间的指标(每小时平均值)?
让我更清楚一点,考虑一个包含以下条目的日志文件:每个UID在日志中只出现两次.它们将采用嵌入式xml格式.它们可能会出现在序列之外.并且日志文件将只有一天的数据,因此只有一天的记录.
UID的数量在日志文件中是2百万.
我必须找出这些请求的平均每小时响应时间.以下是日志文件中的请求和响应.UID是关联黑白请求和响应的关键.
2013-04-03 08:54:19,451 INFO [Logger] <?xml version="1.0" encoding="UTF-8" standalone="yes"?><log-event><message-time>2013-04-03T08:54:19.448-04:00</message-time><caller>PCMC.common.manage.springUtil</caller><body><log-message-body><headers>&lt;FedDKPLoggingContext id="DKP_DumpDocumentProperties" type="context.generated.FedDKPLoggingContext"&gt;&lt;logFilter&gt;7&lt;/logFilter&gt;&lt;logSeverity&gt;255&lt;/logSeverity&gt;&lt;schemaType&gt;PCMC.MRP.DocumentMetaData&lt;/schemaType&gt;&lt;UID&gt;073104c-4e-4ce-bda-694344ee62&lt;/UID&gt;&lt;consumerSystemId&gt;JTR&lt;/consumerSystemId&gt;&lt;consumerLogin&gt;jbserviceid&lt;/consumerLogin&gt;&lt;logLocation&gt;Beginning of Service&lt;/logLocation&gt;&lt;/fedDKPLoggingContext&gt;</headers><payload>
&lt;ratedDocument&gt;
&lt;objectType&gt;OLB_BBrecords&lt;/objectType&gt;
&lt;provider&gt;JET&lt;/provider&gt;
&lt;metadata&gt;&amp;lt;BooleanQuery&amp;gt;&amp;lt;Clause occurs=&amp;quot;must&amp;quot;&amp;gt;&amp;lt;TermQuery fieldName=&amp;quot;RegistrationNumber&amp;quot;&amp;gt;44565153050735751&amp;lt;/TermQuery&amp;gt;&amp;lt;/Clause&amp;gt;&amp;lt;/BooleanQuery&amp;gt;&lt;/metadata&gt;
&lt;/ratedDocument&gt;
</payload></log-message-body></body></log-event>
2013-04-03 08:54:19,989 INFO [Logger] <?xml version="1.0" encoding="UTF-8" standalone="yes"?><log-event><message-time>2013-04-03T08:54:19.987-04:00</message-time><caller>PCMC.common.manage.springUtil</caller><body><log-message-body><headers>&lt;fedDKPLoggingContext id="DKP_DumpDocumentProperties" type="context.generated.FedDKPLoggingContext"&gt;&lt;logFilter&gt;7&lt;/logFilter&gt;&lt;logSeverity&gt;255&lt;/logSeverity&gt;&lt;schemaType&gt;PCMC.MRP.DocumentMetaData&lt;/schemaType&gt;&lt;UID&gt;073104c-4e-4ce-bda-694344ee62&lt;/UID&gt;&lt;consumerSystemId&gt;JTR&lt;/consumerSystemId&gt;&lt;consumerLogin&gt;jbserviceid&lt;/consumerLogin&gt;&lt;logLocation&gt;Successful Completion of Service&lt;/logLocation&gt;&lt;/fedDKPLoggingContext&gt;</headers><payload>0</payload></log-message-body></body></log-event>
Run Code Online (Sandbox Code Playgroud)
这是我写的bash脚本.
uids=cat $i|grep "Service" |awk 'BEGIN {FS="lt;";RS ="gt;"} {print $2;}'| sort -u
for uid in ${uids}; do
count=`grep "$uid" test.log|wc -l`
if [ "${count}" -ne "0" ]; then
unique_uids[counter]="$uid"
let counter=counter+1
fi
done
echo ${unique_uids[@]}
echo $counter
echo " Unique No:" ${#unique_uids[@]}
echo …Run Code Online (Sandbox Code Playgroud) 我试图通过 crontab 从 bash 脚本运行这个命令,它只得到 SystemOut.log,尽管我希望也得到 SystemOut_* 。
/app/hdup/get_logs SystemOut*
Run Code Online (Sandbox Code Playgroud)
但是当我尝试从终端运行上面的命令时,它工作正常并获得了 SystemOut.log 和 SystemOut_*
知道可能出了什么问题吗?
我正在尝试查找* .gz类型的所有文件,并将它们分类为total.gz,我想我对此非常了解。
这是我用来列出所有* .gz的命令
找到/ home / downloaded /。-maxdepth 3类型d(!-name。)-exec bash -c“ ls -ltr'{}'” \
如何修改它,以便它将所有这些连接起来并写入〜/ total.gz
更新:下载下的目录结构如下
/downloaded/wllogs/303/07252014/SysteOut.gz
/downloaded/wllogs/301/07252014/SystemOut_13.gz
/downloaded/wllogs/302/07252014/SystemOut_14.gz
Run Code Online (Sandbox Code Playgroud) 您好我试图将oracle jdbc结果集转换为csv文件.以下是使用的代码.如果字段中存在如下值,则会出现问题.它会使输出csv变形,所有这些都在单独的行而不是在一个字段中.
Field中的值以csv为单位
[<333message:脚本中的运行时错误'ProcessItem:'Type:'ITEM'"1:0).内部脚本错误:java.lang.NullPointerException
脚本(第1行):
setHours = 0;
if(ts.instanceId == null) )
"3:ts.instanceId = 0;"
步骤>]
int ncols = result.getMetaData().getColumnCount();
System.out.println("ColumnCout"+ncols);
FileOutputStream fos=new FileOutputStream(new File("C:\\test.csv"),false);
Writer out = new OutputStreamWriter(new BufferedOutputStream(fos),"UTF_8");
for (int j=1; j<(ncols+1); j++) {
out.append(result.getMetaData().getColumnName (j));
if (j<ncols) out.append(","); else out.append("\r\n");
}
int m =1;
while (result.next()) {
for (int k=1; k<(ncols+1); k++) {
out.append(result.getString(k));
if (k<ncols) out.append(","); else out.append("\r\n");
}
//System.out.println("No of rows"+m);
m++;
}
Run Code Online (Sandbox Code Playgroud)