Documentation
¶
Index ¶
- func InitEtcdClient(logger *zap.Logger, cfg *config.Config, certMgr *cert.CertManager) (*clientv3.Client, error)
- type InfoSyncer
- func (is *InfoSyncer) Close() error
- func (is *InfoSyncer) GetPromInfo(ctx context.Context) (*PrometheusInfo, error)
- func (is *InfoSyncer) GetTiDBTopology(ctx context.Context) (map[string]*TiDBInfo, error)
- func (is *InfoSyncer) Init(ctx context.Context, cfg *config.Config, certMgr *cert.CertManager) error
- type PrometheusInfo
- type TiDBInfo
- type TiDBTopologyInfo
- type TopologyInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type InfoSyncer ¶
type InfoSyncer struct {
// contains filtered or unexported fields
}
InfoSyncer syncs TiProxy topology to ETCD and queries TiDB topology from ETCD. It writes 2 items to ETCD: `/topology/tiproxy/.../info` and `/topology/tiproxy/.../ttl`. They are erased after TiProxy is down. The code is modified from github.com/pingcap/tidb/domain/infosync/info.go.
func NewInfoSyncer ¶
func NewInfoSyncer(lg *zap.Logger) *InfoSyncer
func (*InfoSyncer) Close ¶
func (is *InfoSyncer) Close() error
func (*InfoSyncer) GetPromInfo ¶ added in v1.1.0
func (is *InfoSyncer) GetPromInfo(ctx context.Context) (*PrometheusInfo, error)
func (*InfoSyncer) GetTiDBTopology ¶
func (*InfoSyncer) Init ¶
func (is *InfoSyncer) Init(ctx context.Context, cfg *config.Config, certMgr *cert.CertManager) error
type PrometheusInfo ¶ added in v1.1.0
type PrometheusInfo struct {
IP string `json:"ip"`
BinaryPath string `json:"binary_path"`
Port int `json:"port"`
}
PrometheusInfo is the info of prometheus.
type TiDBInfo ¶
type TiDBInfo struct {
// TopologyInfo is parsed from the /info path.
*TiDBTopologyInfo
// TTL is parsed from the /ttl path.
TTL string
}
TiDBInfo is the info of TiDB.
type TiDBTopologyInfo ¶ added in v1.1.0
type TiDBTopologyInfo struct {
Version string `json:"version"`
GitHash string `json:"git_hash"`
IP string `json:"ip"`
StatusPort uint `json:"status_port"`
DeployPath string `json:"deploy_path"`
StartTimestamp int64 `json:"start_timestamp"`
Labels map[string]string `json:"labels"`
}
TiDBTopologyInfo is the topology info of TiDB.
type TopologyInfo ¶
type TopologyInfo struct {
Version string `json:"version"`
GitHash string `json:"git_hash"`
IP string `json:"ip"`
Port string `json:"port"`
StatusPort string `json:"status_port"`
DeployPath string `json:"deploy_path"`
StartTimestamp int64 `json:"start_timestamp"`
}
TopologyInfo is the info of TiProxy.
Click to show internal directories.
Click to hide internal directories.