Skip to content

Commit 5856374

Browse files
committed
A simple query
1 parent 24935c9 commit 5856374

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

ql/ql/src/codeql_ql/StructuredLogs.qll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,8 @@ module KindPredicatesLog {
210210

211211
AppearsAs getAppearsAs() { result = this.getObject("appearsAs") }
212212

213+
int getMillis() { result = this.getNumber("millis") }
214+
213215
predicate hasCompletionTime(
214216
int year, string month, int day, int hours, int minute, int second, int millisecond
215217
) {
@@ -228,6 +230,12 @@ module KindPredicatesLog {
228230
}
229231

230232
float getResultSize() { result = this.getFloat("resultSize") }
233+
234+
override string toString() {
235+
if exists(this.getPredicateName())
236+
then result = getPredicateName()
237+
else result = "<Summary event>"
238+
}
231239
}
232240

233241
class SentinelEmpty extends SummaryEvent {
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/**
2+
* Shows a list of the "slow" predicates by wallclock time.
3+
*/
4+
5+
import ql
6+
import codeql_ql.StructuredLogs
7+
8+
int predicateRank(KindPredicatesLog::SummaryEvent evt) {
9+
evt =
10+
rank[result](KindPredicatesLog::ComputeSimple y, int m | m = y.getMillis() | y order by m desc)
11+
}
12+
13+
from KindPredicatesLog::SummaryEvent evt
14+
where predicateRank(evt) < 50
15+
select evt, evt.getMillis() as time order by time desc

0 commit comments

Comments
 (0)