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.