forked from lyft/flinkk8soperator
/
entities.go
158 lines (132 loc) · 4.79 KB
/
entities.go
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
package client
type SavepointStatus string
const (
SavePointInvalid SavepointStatus = ""
SavePointInProgress SavepointStatus = "IN_PROGRESS"
SavePointCompleted SavepointStatus = "COMPLETED"
)
type CheckpointStatus string
const (
CheckpointInProgress CheckpointStatus = "IN_PROGRESS"
CheckpointFailed CheckpointStatus = "FAILED"
CheckpointCompleted CheckpointStatus = "COMPLETED"
)
type JobState string
const (
Created JobState = "CREATED"
Running JobState = "RUNNING"
Failing JobState = "FAILING"
Failed JobState = "FAILED"
Cancelling JobState = "CANCELLING"
Canceled JobState = "CANCELED"
Finished JobState = "FINISHED"
Restarting JobState = "RESTARTING"
Suspended JobState = "SUSPENDED"
Reconciling JobState = "RECONCILING"
)
type SavepointJobRequest struct {
CancelJob bool `json:"cancel-job"`
TargetDirectory string `json:"target-directory,omitempty"`
}
type SubmitJobRequest struct {
SavepointPath string `json:"savepointPath"`
Parallelism int32 `json:"parallelism"`
ProgramArgs string `json:"programArgs"`
EntryClass string `json:"entryClass"`
AllowNonRestoredState bool `json:"allowNonRestoredState"`
}
type SavepointResponse struct {
SavepointStatus SavepointStatusResponse `json:"status"`
Operation SavepointOperationResponse `json:"operation"`
}
type SavepointStatusResponse struct {
Status SavepointStatus `json:"id"`
}
type SavepointOperationResponse struct {
Location string `json:"location"`
FailureCause FailureCause `json:"failure-cause"`
}
type FailureCause struct {
Class string `json:"class"`
StackTrace string `json:"stack-trace"`
}
type SavepointJobResponse struct {
TriggerID string `json:"request-id"`
}
type SubmitJobResponse struct {
JobID string `json:"jobid"`
}
type GetJobsResponse struct {
Jobs []FlinkJob `json:"jobs"`
}
type JobConfigResponse struct {
JobID string `json:"jid"`
ExecutionConfig JobExecutionConfig `json:"execution-config"`
}
type JobExecutionConfig struct {
Parallelism int32 `json:"job-parallelism"`
}
type FlinkJob struct {
JobID string `json:"id"`
Status JobState `json:"status"`
}
type FlinkJobVertex struct {
ID string `json:"id"`
Name string `json:"name"`
Parallelism int64 `json:"parallelism"`
Status JobState `json:"status"`
StartTime int64 `json:"start-time"`
EndTime int64 `json:"end-time"`
Duration int64 `json:"duration"`
Tasks map[string]int64 `json:"tasks"`
Metrics map[string]interface{} `json:"metrics"`
}
type FlinkJobOverview struct {
JobID string `json:"jid"`
State JobState `json:"state"`
StartTime int64 `json:"start-time"`
EndTime int64 `json:"end-time"`
Vertices []FlinkJobVertex `json:"vertices"`
}
type ClusterOverviewResponse struct {
TaskManagerCount int32 `json:"taskmanagers"`
SlotsAvailable int32 `json:"slots-available"`
NumberOfTaskSlots int32 `json:"slots-total"`
}
type CheckpointStatistics struct {
ID uint `json:"id"`
Status CheckpointStatus `json:"status"`
IsSavepoint bool `json:"is_savepoint"`
TriggerTimestamp int64 `json:"trigger_timestamp"`
LatestAckTimestamp int64 `json:"latest_ack_timestamp"`
StateSize int64 `json:"state_size"`
EndToEndDuration int64 `json:"end_to_end_duration"`
AlignmentBuffered int64 `json:"alignment_buffered"`
NumSubtasks int64 `json:"num_subtasks"`
FailureTimestamp int64 `json:"failure_timestamp"`
FailureMessage string `json:"failure_message"`
ExternalPath string `json:"external_path"`
Discarded bool `json:"discarded"`
RestoredTimeStamp int64 `json:"restore_timestamp"`
}
type LatestCheckpoints struct {
Completed *CheckpointStatistics `json:"completed,omitempty"`
Savepoint *CheckpointStatistics `json:"savepoint,omitempty"`
Failed *CheckpointStatistics `json:"failed,omitempty"`
Restored *CheckpointStatistics `json:"restored,omitempty"`
}
type CheckpointResponse struct {
Counts map[string]int32 `json:"counts"`
Latest LatestCheckpoints `json:"latest"`
History []CheckpointStatistics `json:"history"`
}
type TaskManagerStats struct {
Path string `json:"path"`
DataPort int32 `json:"dataPort"`
TimeSinceLastHeartbeat int64 `json:"timeSinceLastHeartbeat"`
SlotsNumber int32 `json:"slotsNumber"`
FreeSlots int32 `json:"freeSlots"`
}
type TaskManagersResponse struct {
TaskManagers []TaskManagerStats `json:"taskmanagers"`
}