topology

package
v0.0.0-...-0119d12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNS                  = errorx.NewNamespace("error.topology")
	ErrEtcdRequestFailed   = ErrNS.NewType("pd_etcd_request_failed")
	ErrInvalidTopologyData = ErrNS.NewType("invalid_topology_data")
	ErrInstanceNotAlive    = ErrNS.NewType("instance_not_alive")
)

Functions

func FetchNgMonitoringTopology

func FetchNgMonitoringTopology(ctx context.Context, etcdClient *clientv3.Client) (string, error)

func FetchStoreTopology

func FetchStoreTopology(pdClient *pd.Client) ([]StoreInfo, []StoreInfo, error)

FetchStoreTopology returns TiKV info and TiFlash info.

Types

type AlertManagerInfo

type AlertManagerInfo struct {
	StandardComponentInfo
}

func FetchAlertManagerTopology

func FetchAlertManagerTopology(ctx context.Context, etcdClient *clientv3.Client) (*AlertManagerInfo, error)

type ComponentStatus

type ComponentStatus uint
const (
	ComponentStatusUnreachable ComponentStatus = 0
	ComponentStatusUp          ComponentStatus = 1
	ComponentStatusTombstone   ComponentStatus = 2
	ComponentStatusOffline     ComponentStatus = 3
	ComponentStatusDown        ComponentStatus = 4
)

type GrafanaInfo

type GrafanaInfo struct {
	StandardComponentInfo
}

func FetchGrafanaTopology

func FetchGrafanaTopology(ctx context.Context, etcdClient *clientv3.Client) (*GrafanaInfo, error)

type PDInfo

type PDInfo struct {
	GitHash        string          `json:"git_hash"`
	Version        string          `json:"version"`
	IP             string          `json:"ip"`
	Port           uint            `json:"port"`
	DeployPath     string          `json:"deploy_path"`
	Status         ComponentStatus `json:"status"`
	StartTimestamp int64           `json:"start_timestamp"` // Ts = 0 means unknown
}

func FetchPDTopology

func FetchPDTopology(pdClient *pd.Client) ([]PDInfo, error)

type PrometheusInfo

type PrometheusInfo struct {
	StandardComponentInfo
}

func FetchPrometheusTopology

func FetchPrometheusTopology(ctx context.Context, etcdClient *clientv3.Client) (*PrometheusInfo, error)

type SchedulingInfo

type SchedulingInfo struct {
	GitHash        string          `json:"git_hash"`
	Version        string          `json:"version"`
	IP             string          `json:"ip"`
	Port           uint            `json:"port"`
	DeployPath     string          `json:"deploy_path"`
	Status         ComponentStatus `json:"status"`
	StartTimestamp int64           `json:"start_timestamp"`
}

func FetchSchedulingTopology

func FetchSchedulingTopology(ctx context.Context, pdClient *pd.Client) ([]SchedulingInfo, error)

type StandardComponentInfo

type StandardComponentInfo struct {
	IP   string `json:"ip"`
	Port uint   `json:"port"`
}

type StoreInfo

type StoreInfo struct {
	GitHash        string            `json:"git_hash"`
	Version        string            `json:"version"`
	IP             string            `json:"ip"`
	Port           uint              `json:"port"`
	DeployPath     string            `json:"deploy_path"`
	Status         ComponentStatus   `json:"status"`
	StatusPort     uint              `json:"status_port"`
	Labels         map[string]string `json:"labels"`
	StartTimestamp int64             `json:"start_timestamp"`
}

Store may be a TiKV store or TiFlash store.

type StoreLabels

type StoreLabels struct {
	Address string            `json:"address"`
	Labels  map[string]string `json:"labels"`
}

type StoreLocation

type StoreLocation struct {
	LocationLabels []string      `json:"location_labels"`
	Stores         []StoreLabels `json:"stores"`
}

func FetchStoreLocation

func FetchStoreLocation(pdClient *pd.Client) (*StoreLocation, error)

type TSOInfo

type TSOInfo struct {
	GitHash        string          `json:"git_hash"`
	Version        string          `json:"version"`
	IP             string          `json:"ip"`
	Port           uint            `json:"port"`
	DeployPath     string          `json:"deploy_path"`
	Status         ComponentStatus `json:"status"`
	StartTimestamp int64           `json:"start_timestamp"`
}

func FetchTSOTopology

func FetchTSOTopology(ctx context.Context, pdClient *pd.Client) ([]TSOInfo, error)

type TiCDCInfo

type TiCDCInfo struct {
	ClusterName    string          `json:"cluster_name"`
	GitHash        string          `json:"git_hash"`
	Version        string          `json:"version"`
	IP             string          `json:"ip"`
	Port           uint            `json:"port"`
	DeployPath     string          `json:"deploy_path"`
	Status         ComponentStatus `json:"status"`
	StatusPort     uint            `json:"status_port"`
	StartTimestamp int64           `json:"start_timestamp"`
}

func FetchTiCDCTopology

func FetchTiCDCTopology(ctx context.Context, etcdClient *clientv3.Client) ([]TiCDCInfo, error)

type TiDBInfo

type TiDBInfo struct {
	GitHash        string          `json:"git_hash"`
	Version        string          `json:"version"`
	IP             string          `json:"ip"`
	Port           uint            `json:"port"`
	DeployPath     string          `json:"deploy_path"`
	Status         ComponentStatus `json:"status"`
	StatusPort     uint            `json:"status_port"`
	StartTimestamp int64           `json:"start_timestamp"`
}

func FetchTiDBTopology

func FetchTiDBTopology(ctx context.Context, etcdClient *clientv3.Client) ([]TiDBInfo, error)

type TiProxyInfo

type TiProxyInfo struct {
	GitHash        string          `json:"git_hash"`
	Version        string          `json:"version"`
	IP             string          `json:"ip"`
	Port           uint            `json:"port"`
	DeployPath     string          `json:"deploy_path"`
	Status         ComponentStatus `json:"status"`
	StatusPort     uint            `json:"status_port"`
	StartTimestamp int64           `json:"start_timestamp"`
}

func FetchTiProxyTopology

func FetchTiProxyTopology(ctx context.Context, etcdClient *clientv3.Client) ([]TiProxyInfo, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL