/
instance.go
125 lines (110 loc) · 3.3 KB
/
instance.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
/*
Copyright 2018 Pressinfra SRL
Copyright 2014 Outbrain Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package orchestrator
import (
"time"
)
type InstanceKey struct {
Hostname string
Port int
}
type BinlogType int
const (
BinaryLog BinlogType = iota
RelayLog
)
// BinlogCoordinates described binary log coordinates in the form of log file & log position.
type BinlogCoordinates struct {
LogFile string
LogPos int64
Type BinlogType
}
type NullInt64 struct {
Int64 int64
Valid bool // Valid is true if Int64 is not NULL
}
type Instance struct {
Key InstanceKey
InstanceAlias string
Uptime uint
ServerID uint
ServerUUID string
Version string
VersionComment string
FlavorName string
ReadOnly bool
Binlog_format string
BinlogRowImage string
LogBinEnabled bool
LogSlaveUpdatesEnabled bool
SelfBinlogCoordinates BinlogCoordinates
MasterKey InstanceKey
IsDetachedMaster bool
Slave_SQL_Running bool
Slave_IO_Running bool
HasReplicationFilters bool
GTIDMode string
SupportsOracleGTID bool
UsingOracleGTID bool
UsingMariaDBGTID bool
UsingPseudoGTID bool
ReadBinlogCoordinates BinlogCoordinates
ExecBinlogCoordinates BinlogCoordinates
IsDetached bool
RelaylogCoordinates BinlogCoordinates
LastSQLError string
LastIOError string
SecondsBehindMaster NullInt64
SQLDelay uint
ExecutedGtidSet string
GtidPurged string
SlaveLagSeconds NullInt64
ClusterName string
SuggestedClusterAlias string
DataCenter string
PhysicalEnvironment string
ReplicationDepth uint
IsCoMaster bool
HasReplicationCredentials bool
ReplicationCredentialsAvailable bool
SemiSyncEnforced bool
SemiSyncMasterEnabled bool
SemiSyncReplicaEnabled bool
LastSeenTimestamp string
IsLastCheckValid bool
IsUpToDate bool
IsRecentlyChecked bool
SecondsSinceLastSeen NullInt64
CountMySQLSnapshots int
LastDiscoveryLatency time.Duration
}
type TopologyRecovery struct {
Id int64
UID string
SuccessorKey *InstanceKey
SuccessorAlias string
IsActive bool
IsSuccessful bool
AllErrors []string
RecoveryStartTimestamp string
RecoveryEndTimestamp string
ProcessingNodeHostname string
ProcessingNodeToken string
Acknowledged bool
AcknowledgedAt string
AcknowledgedBy string
AcknowledgedComment string
LastDetectionId int64
RelatedRecoveryId int64
}