小编JSR*_*JSR的帖子

计算基于时间的指标(每小时)

如何根据日志文件数据计算基于时间的指标(每小时平均值)?

让我更清楚一点,考虑一个包含以下条目的日志文件:每个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>&lt;log-message-body&gt;&lt;headers&gt;&amp;lt;FedDKPLoggingContext id="DKP_DumpDocumentProperties" type="context.generated.FedDKPLoggingContext"&amp;gt;&amp;lt;logFilter&amp;gt;7&amp;lt;/logFilter&amp;gt;&amp;lt;logSeverity&amp;gt;255&amp;lt;/logSeverity&amp;gt;&amp;lt;schemaType&amp;gt;PCMC.MRP.DocumentMetaData&amp;lt;/schemaType&amp;gt;&amp;lt;UID&amp;gt;073104c-4e-4ce-bda-694344ee62&amp;lt;/UID&amp;gt;&amp;lt;consumerSystemId&amp;gt;JTR&amp;lt;/consumerSystemId&amp;gt;&amp;lt;consumerLogin&amp;gt;jbserviceid&amp;lt;/consumerLogin&amp;gt;&amp;lt;logLocation&amp;gt;Beginning of Service&amp;lt;/logLocation&amp;gt;&amp;lt;/fedDKPLoggingContext&amp;gt;&lt;/headers&gt;&lt;payload&gt;  
&amp;lt;ratedDocument&amp;gt;  
    &amp;lt;objectType&amp;gt;OLB_BBrecords&amp;lt;/objectType&amp;gt;  
    &amp;lt;provider&amp;gt;JET&amp;lt;/provider&amp;gt;  
    &amp;lt;metadata&amp;gt;&amp;amp;lt;BooleanQuery&amp;amp;gt;&amp;amp;lt;Clause   occurs=&amp;amp;quot;must&amp;amp;quot;&amp;amp;gt;&amp;amp;lt;TermQuery   fieldName=&amp;amp;quot;RegistrationNumber&amp;amp;quot;&amp;amp;gt;44565153050735751&amp;amp;lt;/TermQuery&amp;amp;gt;&amp;amp;lt;/Clause&amp;amp;gt;&amp;amp;lt;/BooleanQuery&amp;amp;gt;&amp;lt;/metadata&amp;gt;  
&amp;lt;/ratedDocument&amp;gt;  
&lt;/payload&gt;&lt;/log-message-body&gt;</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>&lt;log-message-body&gt;&lt;headers&gt;&amp;lt;fedDKPLoggingContext id="DKP_DumpDocumentProperties" type="context.generated.FedDKPLoggingContext"&amp;gt;&amp;lt;logFilter&amp;gt;7&amp;lt;/logFilter&amp;gt;&amp;lt;logSeverity&amp;gt;255&amp;lt;/logSeverity&amp;gt;&amp;lt;schemaType&amp;gt;PCMC.MRP.DocumentMetaData&amp;lt;/schemaType&amp;gt;&amp;lt;UID&amp;gt;073104c-4e-4ce-bda-694344ee62&amp;lt;/UID&amp;gt;&amp;lt;consumerSystemId&amp;gt;JTR&amp;lt;/consumerSystemId&amp;gt;&amp;lt;consumerLogin&amp;gt;jbserviceid&amp;lt;/consumerLogin&amp;gt;&amp;lt;logLocation&amp;gt;Successful Completion of    Service&amp;lt;/logLocation&amp;gt;&amp;lt;/fedDKPLoggingContext&amp;gt;&lt;/headers&gt;&lt;payload&gt;0&lt;/payload&gt;&lt;/log-message-body&gt;</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)

unix bash shell awk

6
推荐指数
1
解决办法
391
查看次数

通配符 * 不会在 crontab 中展开,而是从终端运行

我试图通过 crontab 从 bash 脚本运行这个命令,它只得到 SystemOut.log,尽管我希望也得到 SystemOut_* 。

/app/hdup/get_logs SystemOut*
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从终端运行上面的命令时,它工作正常并获得了 SystemOut.log 和 SystemOut_*

知道可能出了什么问题吗?

bash cron wildcard

5
推荐指数
1
解决办法
2777
查看次数

find命令来查找文件并将其连接

我正在尝试查找* .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)

linux bash find cat

4
推荐指数
1
解决办法
6689
查看次数

使用Java将Resultset转换为CSV文件

您好我试图将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)

java csv resultset

2
推荐指数
2
解决办法
3万
查看次数

标签 统计

bash ×3

awk ×1

cat ×1

cron ×1

csv ×1

find ×1

java ×1

linux ×1

resultset ×1

shell ×1

unix ×1

wildcard ×1