1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
use ;
// from assemblyline import odm
// from assemblyline.odm.messages import PerformanceTimer
// MSG_TYPES = {"DispatcherHeartbeat"}
// LOADER_CLASS = "assemblyline.odm.messages.dispatcher_heartbeat.DispatcherMessage"
// @odm.model(description="Queue Model")
// class Queues(odm.Model):
// ingest = odm.Integer(description="Number of submissions in ingest queue")
// start = odm.List(odm.Integer(), description="Number of submissions that started")
// result = odm.List(odm.Integer(), description="Number of results in queue")
// command = odm.List(odm.Integer(), description="Number of commands in queue")
// @odm.model(description="Inflight Model")
// class Inflight(odm.Model):
// max = odm.Integer(description="Maximum number of submissions")
// outstanding = odm.Integer(description="Number of outstanding submissions")
// per_instance = odm.List(odm.Integer(), description="Number of submissions per Dispatcher instance")
/// Metrics Model
// @odm.model(description="Heartbeat Model")
// class Heartbeat(odm.Model):
// inflight = odm.Compound(Inflight, description="Inflight submissions")
// instances = odm.Integer(description="Number of instances")
// metrics = odm.Compound(Metrics, description="Dispatcher metrics")
// queues = odm.Compound(Queues, description="Dispatcher queues")
// component = odm.Keyword(description="Component name")
// @odm.model(description="Model of Dispatcher Heartbeat Messages")
// class DispatcherMessage(odm.Model):
// msg = odm.Compound(Heartbeat, description="Heartbeat message")
// msg_loader = odm.Enum(values={LOADER_CLASS}, default=LOADER_CLASS, description="Loader class for message")
// msg_type = odm.Enum(values=MSG_TYPES, default="DispatcherHeartbeat", description="Type of message")
// sender = odm.Keyword(description="Sender of message")