Querylog and Sysmon
Querylog module
MODULE querylog;
PATTERN querylog.append(X_0:str, X_1:str, X_2:str, X_3:timestamp):void;
COMMENT "Add a new query call to the query log";
PATTERN querylog.call(X_0:timestamp, X_1:timestamp, X_2:str, X_3:lng, X_4:lng, X_5:lng, X_6:int, X_7:int):void;
COMMENT "Add a new query call to the query log";
COMMAND querylog.context(X_0:str, X_1:str, X_2:str, X_3:str):void;
COMMENT "Noop operation, just marking the query";
COMMAND querylog.define(X_0:str, X_1:str, X_2:int):void;
COMMENT "Noop operation, just marking the query";
COMMAND querylog.disable():void;
COMMENT "Turn off the query logger";
COMMAND querylog.empty():void;
COMMENT "Clear the query log tables";
COMMAND querylog.enable():void;
COMMENT "Turn on the query logger";
COMMAND querylog.enable(X_0:int):void;
COMMENT "Turn on the query logger";
COMMAND querylog.isset():int;
COMMENT "Return status of query logger";
Sysmon module
MODULE sysmon;
UNSAFE PATTERN sysmon.pause(X_0:lng):void;
COMMENT "Suspend query execution with OID id";
UNSAFE PATTERN sysmon.pause(X_0:lng, X_1:str):void;
COMMENT "Sysadmin call, suspend query execution with OID id belonging to user";
PATTERN sysmon.queue() (X_0:bat[:lng], X_1:bat[:int], X_2:bat[:str], X_3:bat[:timestamp], X_4:bat[:str], X_5:bat[:str], X_6:bat[:timestamp], X_7:bat[:int], X_8:bat[:int]);
COMMENT "A queue of queries that are currently being executed or recently finished";
PATTERN sysmon.queue(X_0:str) (X_1:bat[:lng], X_2:bat[:int], X_3:bat[:str], X_4:bat[:timestamp], X_5:bat[:str], X_6:bat[:str], X_7:bat[:timestamp], X_8:bat[:int], X_9:bat[:int]);
COMMENT "Sysadmin call, to see either the global queue or user queue of queries that are currently being executed or recently finished";
UNSAFE PATTERN sysmon.resume(X_0:lng):void;
COMMENT "Resume query execution with OID id";
UNSAFE PATTERN sysmon.resume(X_0:lng, X_1:str):void;
COMMENT "Sysadmin call, resume query execution with OID id belonging to user";
UNSAFE PATTERN sysmon.stop(X_0:lng):void;
COMMENT "Stop query execution with OID id";
UNSAFE PATTERN sysmon.stop(X_0:lng, X_1:str):void;
COMMENT "Sysadmin call, stop query execution with OID id belonging to user";
PATTERN sysmon.user_statistics() (X_0:bat[:str], X_1:bat[:lng], X_2:bat[:lng], X_3:bat[:timestamp], X_4:bat[:timestamp], X_5:bat[:lng], X_6:bat[:str]);
COMMENT "";
Status module
MODULE status;