|
| 1 | +/* |
| 2 | +Top 10 scheduled jobs by processing time |
| 3 | +*/ |
| 4 | +topN('syslog_transaction', 'url', 10); |
| 5 | +function topN(pTable, pColumn, pCount) { |
| 6 | + var ga = new GlideAggregate(pTable); |
| 7 | + ga.addAggregate('COUNT', pColumn); |
| 8 | + ga.orderByAggregate('COUNT', pColumn); |
| 9 | + //ga.addEncodedQuery('sys_created_onONYesterday@javascript:gs.beginningOfYesterday()@javascript:gs.endOfYesterday()^type=scheduler'); |
| 10 | + ga.addEncodedQuery('type=scheduler^sys_created_onONLast 15 minutes@javascript:gs.beginningOfLast15Minutes()@javascript:gs.endOfLast15Minutes()'); |
| 11 | + ga.query(); |
| 12 | + var i = 0; |
| 13 | + var stdout = []; |
| 14 | + var responseTime = []; |
| 15 | + stdout.push('\nTop ' + pCount + ' ' + pColumn + ' values from ' + pTable + '\n'); |
| 16 | + while (ga.next() && (i++ < pCount)) { |
| 17 | + stdout.push('\n\n********** Execution Details for the column ' + ga.getValue(pColumn) + ' **********\n'); |
| 18 | + var result1 = getResponseTimeDetails(pTable, 'type=scheduler^sys_created_onONLast 15 minutes@javascript:gs.beginningOfLast15Minutes()@javascript:gs.endOfLast15Minutes()^url=' + ga.getValue(pColumn)); |
| 19 | + stdout.push('Executed total number of times : ' + ga.getValue(pColumn) + ' ' + ga.getAggregate('COUNT', pColumn)); |
| 20 | + stdout.push('\nTop 10 response times : ' + result1); |
| 21 | + } |
| 22 | + gs.print(stdout.join("\n")); |
| 23 | +} |
| 24 | +function getResponseTimeDetails(table, query) { |
| 25 | + var responseTime = []; |
| 26 | + var gr = new GlideAggregate(table); |
| 27 | + gr.addEncodedQuery(query); |
| 28 | + gr.orderByDesc('response_time'); |
| 29 | + gr.setLimit(10); |
| 30 | + gr.query(); |
| 31 | + while (gr._next()) { |
| 32 | + responseTime.push(gr.response_time.toString()); |
| 33 | + } |
| 34 | + return responseTime.join(','); |
| 35 | +} |
0 commit comments