Documentation ¶
Index ¶
- Variables
- func DisconnectClient(c *client)
- func DisconnectClientWss(c *clientWss)
- func PingAPI(hostname, apiKey string) (bool, *http.Response)
- type API
- func (a *API) AgentLink(resource string) string
- func (a *API) AgentUuid() string
- func (a *API) ApiKey() string
- func (a *API) Connect(hostname, apiKey, agentUuid string) error
- func (a *API) EntryLink(resource string) string
- func (a *API) Get(string, string) (int, []byte, error)
- func (a *API) Hostname() string
- func (a *API) Origin() string
- func (a *API) Post(apiKey, url string, data []byte) (*http.Response, []byte, error)
- func (a *API) Put(apiKey, url string, data []byte) (*http.Response, []byte, error)
- type AnalyzerArgs
- type Clock
- type CmdFactory
- type ConnectionFactory
- type DataClient
- func (c *DataClient) Conn() *websocket.Conn
- func (c *DataClient) Connect()
- func (c *DataClient) ConnectChan() chan bool
- func (c *DataClient) ConnectOnce(timeout uint) error
- func (c *DataClient) Disconnect() error
- func (c *DataClient) DisconnectOnce() error
- func (c *DataClient) ErrorChan() chan error
- func (c *DataClient) Recv(resp interface{}, timeout uint) error
- func (c *DataClient) RecvChan() chan *proto.Cmd
- func (c *DataClient) Send(data interface{}, timeout uint) error
- func (c *DataClient) SendBytes(data []byte, timeout uint) error
- func (c *DataClient) SendChan() chan *proto.Reply
- func (c *DataClient) SetConnectChan(connectChan chan bool)
- func (c *DataClient) Start()
- func (c *DataClient) Status() map[string]string
- func (c *DataClient) Stop()
- type HttpClient
- type IntervalIterFactory
- type Iter
- type LogParser
- type MmMonitor
- func (m *MmMonitor) Config() interface{}
- func (m *MmMonitor) SetConfig(v interface{})
- func (m *MmMonitor) Start(tickChan chan time.Time, collectionChan chan *mm.Collection) error
- func (m *MmMonitor) Status() map[string]string
- func (m *MmMonitor) Stop() error
- func (m *MmMonitor) TickChan() chan time.Time
- type MmMonitorFactory
- type MockCmd
- type MockServiceManager
- func (m *MockServiceManager) GetConfig() ([]proto.AgentConfig, []error)
- func (m *MockServiceManager) Handle(cmd *proto.Cmd) *proto.Reply
- func (m *MockServiceManager) IsRunning() bool
- func (m *MockServiceManager) Reset()
- func (m *MockServiceManager) Start() error
- func (m *MockServiceManager) Status() map[string]string
- func (m *MockServiceManager) Stop() error
- type MrmsMonitor
- func (m *MrmsMonitor) Add(dsn string) (<-chan bool, error)
- func (m *MrmsMonitor) Check()
- func (m *MrmsMonitor) GlobalSubscribe() (chan string, error)
- func (m *MrmsMonitor) Remove(dsn string, c <-chan bool)
- func (m *MrmsMonitor) SimulateMySQLRestart()
- func (m *MrmsMonitor) Start(interval time.Duration) error
- func (m *MrmsMonitor) Status() (status map[string]string)
- func (m *MrmsMonitor) Stop() error
- type NullClient
- func (c *NullClient) Conn() *websocket.Conn
- func (c *NullClient) Connect()
- func (c *NullClient) ConnectChan() chan bool
- func (c *NullClient) ConnectOnce() error
- func (c *NullClient) Disconnect() error
- func (c *NullClient) ErrorChan() chan error
- func (c *NullClient) Recv(data interface{}, timeout uint) error
- func (c *NullClient) RecvChan() chan *proto.Cmd
- func (c *NullClient) Send(data interface{}, timeout uint) error
- func (c *NullClient) SendBytes(data []byte, timeout uint) error
- func (c *NullClient) SendChan() chan *proto.Reply
- func (c *NullClient) Start()
- func (c *NullClient) Stop()
- type NullMySQL
- func (n *NullMySQL) Close()
- func (n *NullMySQL) Connect(tries uint) error
- func (n *NullMySQL) DB() *sql.DB
- func (n *NullMySQL) DSN() string
- func (n *NullMySQL) Explain(query string, db string) (explain *proto.ExplainResult, err error)
- func (n *NullMySQL) GetGlobalVarString(varName string) string
- func (n *NullMySQL) GetSet() []mysql.Query
- func (n *NullMySQL) GetUptimeCount() uint
- func (n *NullMySQL) Reset()
- func (n *NullMySQL) Set(queries []mysql.Query) error
- func (n *NullMySQL) SetExplain(query string, explain *proto.ExplainResult)
- func (n *NullMySQL) SetGlobalVarString(name, value string)
- func (n *NullMySQL) SetUptime(uptime int64)
- func (n *NullMySQL) Uptime() (int64, error)
- type QanAnalyzer
- type QanAnalyzerFactory
- type QanWorker
- type QueryService
- type SlowMySQL
- func (s *SlowMySQL) Close()
- func (s *SlowMySQL) Connect(tries uint) error
- func (s *SlowMySQL) DB() *sql.DB
- func (s *SlowMySQL) DSN() string
- func (s *SlowMySQL) Explain(query string, db string) (explain *proto.ExplainResult, err error)
- func (s *SlowMySQL) GetGlobalVarNumber(varName string) float64
- func (s *SlowMySQL) GetGlobalVarString(varName string) string
- func (s *SlowMySQL) Set(queries []mysql.Query) error
- func (s *SlowMySQL) SetGlobalDelay(delay time.Duration)
- func (s *SlowMySQL) Uptime() (int64, error)
- type Spooler
- func (s *Spooler) Files() <-chan string
- func (s *Spooler) Read(file string) ([]byte, error)
- func (s *Spooler) Reject(file string) error
- func (s *Spooler) Remove(file string) error
- func (s *Spooler) Reset()
- func (s *Spooler) Start(sz data.Serializer) error
- func (s *Spooler) Status() map[string]string
- func (s *Spooler) Stop() error
- func (s *Spooler) Write(service string, data interface{}) error
- type SysconfigMonitor
- func (m *SysconfigMonitor) Config() interface{}
- func (m *SysconfigMonitor) SetConfig(v interface{})
- func (m *SysconfigMonitor) Start(tickChan chan time.Time, reportChan chan *sysconfig.Report) error
- func (m *SysconfigMonitor) Status() map[string]string
- func (m *SysconfigMonitor) Stop() error
- func (m *SysconfigMonitor) TickChan() chan time.Time
- type SysconfigMonitorFactory
- type SysinfoService
- type Ticker
- type TickerFactory
- type WebsocketClient
- func (c *WebsocketClient) Conn() *websocket.Conn
- func (c *WebsocketClient) Connect()
- func (c *WebsocketClient) ConnectChan() chan bool
- func (c *WebsocketClient) ConnectOnce(timeout uint) error
- func (c *WebsocketClient) Disconnect() error
- func (c *WebsocketClient) DisconnectOnce() error
- func (c *WebsocketClient) ErrorChan() chan error
- func (c *WebsocketClient) Recv(data interface{}, timeout uint) error
- func (c *WebsocketClient) RecvChan() chan *proto.Cmd
- func (c *WebsocketClient) Send(data interface{}, timeout uint) error
- func (c *WebsocketClient) SendBytes(data []byte, timeout uint) error
- func (c *WebsocketClient) SendChan() chan *proto.Reply
- func (c *WebsocketClient) SetConnectChan(connectChan chan bool)
- func (c *WebsocketClient) Start()
- func (c *WebsocketClient) Status() map[string]string
- func (c *WebsocketClient) Stop()
- type WebsocketServer
- type WebsocketServerWss
Constants ¶
This section is empty.
Variables ¶
View Source
var ClientConnectChan = make(chan *client, 1)
View Source
var ClientConnectChanWss = make(chan *clientWss, 1)
View Source
var ClientDisconnectChan = make(chan *client)
View Source
var ClientDisconnectChanWss = make(chan *clientWss)
View Source
var ClientRmChan = make(chan *client, 5)
View Source
var ClientRmChanWss = make(chan *clientWss, 5)
View Source
var Clients = make(map[*client]*client)
View Source
var ClientsWss = make(map[*clientWss]*clientWss)
View Source
var RecvChan chan interface{}
View Source
var RecvChanWss chan interface{}
View Source
var SendChan chan interface{}
View Source
var SendChanWss chan interface{}
Functions ¶
func DisconnectClient ¶
func DisconnectClient(c *client)
func DisconnectClientWss ¶ added in v1.0.4
func DisconnectClientWss(c *clientWss)
Types ¶
type API ¶
type API struct { GetCode []int GetData [][]byte GetError []error // contains filtered or unexported fields }
type AnalyzerArgs ¶ added in v1.0.11
type CmdFactory ¶ added in v1.0.7
type CmdFactory struct {
Cmds []*MockCmd
}
type ConnectionFactory ¶
type DataClient ¶
type DataClient struct { // -- ErrChan chan error RecvError chan error ConnectError error TraceChan chan string // contains filtered or unexported fields }
func NewDataClient ¶
func NewDataClient(dataChan chan []byte, respChan chan interface{}) *DataClient
func (*DataClient) Conn ¶
func (c *DataClient) Conn() *websocket.Conn
func (*DataClient) Connect ¶
func (c *DataClient) Connect()
func (*DataClient) ConnectChan ¶
func (c *DataClient) ConnectChan() chan bool
func (*DataClient) ConnectOnce ¶
func (c *DataClient) ConnectOnce(timeout uint) error
func (*DataClient) Disconnect ¶
func (c *DataClient) Disconnect() error
func (*DataClient) DisconnectOnce ¶ added in v1.0.7
func (c *DataClient) DisconnectOnce() error
func (*DataClient) ErrorChan ¶
func (c *DataClient) ErrorChan() chan error
func (*DataClient) Recv ¶
func (c *DataClient) Recv(resp interface{}, timeout uint) error
Second, agent calls this to recv response from API to previous send.
func (*DataClient) RecvChan ¶
func (c *DataClient) RecvChan() chan *proto.Cmd
func (*DataClient) Send ¶
func (c *DataClient) Send(data interface{}, timeout uint) error
func (*DataClient) SendBytes ¶
func (c *DataClient) SendBytes(data []byte, timeout uint) error
First, agent calls this to send encoded proto.Data to API.
func (*DataClient) SendChan ¶
func (c *DataClient) SendChan() chan *proto.Reply
func (*DataClient) SetConnectChan ¶
func (c *DataClient) SetConnectChan(connectChan chan bool)
func (*DataClient) Start ¶
func (c *DataClient) Start()
func (*DataClient) Status ¶
func (c *DataClient) Status() map[string]string
func (*DataClient) Stop ¶
func (c *DataClient) Stop()
type HttpClient ¶
type HttpClient struct {
PostChan chan []byte
}
type IntervalIterFactory ¶
type IntervalIterFactory struct { Iters []qan.IntervalIter TickChans map[qan.IntervalIter]chan time.Time // contains filtered or unexported fields }
func (*IntervalIterFactory) Make ¶
func (tf *IntervalIterFactory) Make(collectFrom string, filename slowlog.FilenameFunc, tickChan chan time.Time) qan.IntervalIter
func (*IntervalIterFactory) Reset ¶
func (tf *IntervalIterFactory) Reset()
type Iter ¶ added in v1.0.11
type Iter struct {
// contains filtered or unexported fields
}
func (*Iter) IntervalChan ¶ added in v1.0.11
type LogParser ¶ added in v1.0.11
type LogParser struct {
// contains filtered or unexported fields
}
func NewLogParser ¶ added in v1.0.11
func NewLogParser() *LogParser
type MmMonitor ¶
type MmMonitor struct { ReadyChan chan bool // contains filtered or unexported fields }
func NewMmMonitor ¶
func NewMmMonitor() *MmMonitor
type MmMonitorFactory ¶
type MmMonitorFactory struct { Made []string // contains filtered or unexported fields }
func NewMmMonitorFactory ¶
func NewMmMonitorFactory(monitors map[string]mm.Monitor) *MmMonitorFactory
type MockCmd ¶ added in v1.0.7
func NewMockCmd ¶ added in v1.0.7
type MockServiceManager ¶
type MockServiceManager struct { StartErr error StopErr error IsRunningVal bool Cmds []*proto.Cmd // contains filtered or unexported fields }
func NewMockServiceManager ¶
func NewMockServiceManager(name string, readyChan chan bool, traceChan chan string) *MockServiceManager
func (*MockServiceManager) GetConfig ¶
func (m *MockServiceManager) GetConfig() ([]proto.AgentConfig, []error)
func (*MockServiceManager) Handle ¶
func (m *MockServiceManager) Handle(cmd *proto.Cmd) *proto.Reply
func (*MockServiceManager) IsRunning ¶
func (m *MockServiceManager) IsRunning() bool
func (*MockServiceManager) Reset ¶
func (m *MockServiceManager) Reset()
func (*MockServiceManager) Start ¶
func (m *MockServiceManager) Start() error
func (*MockServiceManager) Status ¶
func (m *MockServiceManager) Status() map[string]string
func (*MockServiceManager) Stop ¶
func (m *MockServiceManager) Stop() error
type MrmsMonitor ¶ added in v1.0.4
type MrmsMonitor struct {
// contains filtered or unexported fields
}
func NewMrmsMonitor ¶ added in v1.0.4
func NewMrmsMonitor() *MrmsMonitor
func (*MrmsMonitor) Add ¶ added in v1.0.4
func (m *MrmsMonitor) Add(dsn string) (<-chan bool, error)
func (*MrmsMonitor) Check ¶ added in v1.0.4
func (m *MrmsMonitor) Check()
func (*MrmsMonitor) GlobalSubscribe ¶ added in v1.0.11
func (m *MrmsMonitor) GlobalSubscribe() (chan string, error)
func (*MrmsMonitor) Remove ¶ added in v1.0.4
func (m *MrmsMonitor) Remove(dsn string, c <-chan bool)
func (*MrmsMonitor) SimulateMySQLRestart ¶ added in v1.0.10
func (m *MrmsMonitor) SimulateMySQLRestart()
The restartChan in the real MrmsMonitor is read only. To be consistent with that, instead of returning the channel just for testing purposes, we have this method to simulate a MySQL restart
func (*MrmsMonitor) Start ¶ added in v1.0.4
func (m *MrmsMonitor) Start(interval time.Duration) error
func (*MrmsMonitor) Status ¶ added in v1.0.4
func (m *MrmsMonitor) Status() (status map[string]string)
func (*MrmsMonitor) Stop ¶ added in v1.0.4
func (m *MrmsMonitor) Stop() error
type NullClient ¶
type NullClient struct {
// contains filtered or unexported fields
}
func NewNullClient ¶
func NewNullClient() *NullClient
func (*NullClient) Conn ¶
func (c *NullClient) Conn() *websocket.Conn
func (*NullClient) Connect ¶
func (c *NullClient) Connect()
func (*NullClient) ConnectChan ¶
func (c *NullClient) ConnectChan() chan bool
func (*NullClient) ConnectOnce ¶
func (c *NullClient) ConnectOnce() error
func (*NullClient) Disconnect ¶
func (c *NullClient) Disconnect() error
func (*NullClient) ErrorChan ¶
func (c *NullClient) ErrorChan() chan error
func (*NullClient) Recv ¶
func (c *NullClient) Recv(data interface{}, timeout uint) error
func (*NullClient) RecvChan ¶
func (c *NullClient) RecvChan() chan *proto.Cmd
func (*NullClient) Send ¶
func (c *NullClient) Send(data interface{}, timeout uint) error
func (*NullClient) SendChan ¶
func (c *NullClient) SendChan() chan *proto.Reply
func (*NullClient) Start ¶
func (c *NullClient) Start()
func (*NullClient) Stop ¶
func (c *NullClient) Stop()
type NullMySQL ¶
type NullMySQL struct { SetChan chan bool // contains filtered or unexported fields }
func NewNullMySQL ¶
func NewNullMySQL() *NullMySQL
func (*NullMySQL) GetGlobalVarString ¶
func (*NullMySQL) GetUptimeCount ¶ added in v1.0.4
func (*NullMySQL) SetExplain ¶ added in v1.0.4
func (n *NullMySQL) SetExplain(query string, explain *proto.ExplainResult)
func (*NullMySQL) SetGlobalVarString ¶ added in v1.0.11
type QanAnalyzer ¶ added in v1.0.11
type QanAnalyzer struct { StartChan chan bool StopChan chan bool ErrorChan chan error CrashChan chan bool }
func NewQanAnalyzer ¶ added in v1.0.11
func NewQanAnalyzer() *QanAnalyzer
func (*QanAnalyzer) Start ¶ added in v1.0.11
func (a *QanAnalyzer) Start() error
func (*QanAnalyzer) Status ¶ added in v1.0.11
func (a *QanAnalyzer) Status() map[string]string
func (*QanAnalyzer) Stop ¶ added in v1.0.11
func (a *QanAnalyzer) Stop() error
func (*QanAnalyzer) String ¶ added in v1.0.11
func (a *QanAnalyzer) String() string
type QanAnalyzerFactory ¶ added in v1.0.11
type QanAnalyzerFactory struct { Args []AnalyzerArgs // contains filtered or unexported fields }
func NewQanAnalyzerFactory ¶ added in v1.0.11
func NewQanAnalyzerFactory(a ...qan.Analyzer) *QanAnalyzerFactory
type QanWorker ¶
type QanWorker struct { SetupChan chan bool RunChan chan bool StopChan chan bool CleanupChan chan bool ErrorChan chan error SetupCrashChan chan bool RunCrashChan chan bool CleanupCrashChan chan bool Interval *qan.Interval Result *qan.Result }
func NewQanWorker ¶
func NewQanWorker() *QanWorker
type QueryService ¶ added in v1.0.4
type QueryService struct { }
func NewQueryService ¶ added in v1.0.4
func NewQueryService() *QueryService
type SlowMySQL ¶ added in v1.0.7
type SlowMySQL struct {
// contains filtered or unexported fields
}
func NewSlowMySQL ¶ added in v1.0.7
func (*SlowMySQL) GetGlobalVarNumber ¶ added in v1.0.7
func (*SlowMySQL) GetGlobalVarString ¶ added in v1.0.7
func (*SlowMySQL) SetGlobalDelay ¶ added in v1.0.7
type Spooler ¶
type Spooler struct { FilesOut []string // test provides DataOut map[string][]byte // test provides DataIn []interface{} RejectedFiles []string // contains filtered or unexported fields }
func NewSpooler ¶
func NewSpooler(dataChan chan interface{}) *Spooler
type SysconfigMonitor ¶
type SysconfigMonitor struct { ReadyChan chan bool // contains filtered or unexported fields }
func NewSysconfigMonitor ¶
func NewSysconfigMonitor() *SysconfigMonitor
func (*SysconfigMonitor) Config ¶
func (m *SysconfigMonitor) Config() interface{}
func (*SysconfigMonitor) SetConfig ¶
func (m *SysconfigMonitor) SetConfig(v interface{})
func (*SysconfigMonitor) Status ¶
func (m *SysconfigMonitor) Status() map[string]string
func (*SysconfigMonitor) Stop ¶
func (m *SysconfigMonitor) Stop() error
func (*SysconfigMonitor) TickChan ¶
func (m *SysconfigMonitor) TickChan() chan time.Time
type SysconfigMonitorFactory ¶
type SysconfigMonitorFactory struct { Made []string // contains filtered or unexported fields }
func NewSysconfigMonitorFactory ¶
func NewSysconfigMonitorFactory(monitors []sysconfig.Monitor) *SysconfigMonitorFactory
func (*SysconfigMonitorFactory) Set ¶
func (f *SysconfigMonitorFactory) Set(monitors []sysconfig.Monitor)
type SysinfoService ¶ added in v1.0.7
type SysinfoService struct { }
func NewSysinfoService ¶ added in v1.0.7
func NewSysinfoService() *SysinfoService
type Ticker ¶
type TickerFactory ¶
type TickerFactory struct { Made []uint // contains filtered or unexported fields }
func NewTickerFactory ¶
func NewTickerFactory() *TickerFactory
func (*TickerFactory) Make ¶
func (tf *TickerFactory) Make(atInterval uint, sync bool) ticker.Ticker
func (*TickerFactory) Set ¶
func (tf *TickerFactory) Set(tickers []ticker.Ticker)
type WebsocketClient ¶
type WebsocketClient struct { ErrChan chan error SendError chan error RecvError chan error ConnectError error RecvBytes chan []byte TraceChan chan string // contains filtered or unexported fields }
func NewWebsocketClient ¶
func NewWebsocketClient(sendChan chan *proto.Cmd, recvChan chan *proto.Reply, sendDataChan chan interface{}, recvDataChan chan interface{}) *WebsocketClient
func (*WebsocketClient) Conn ¶
func (c *WebsocketClient) Conn() *websocket.Conn
func (*WebsocketClient) Connect ¶
func (c *WebsocketClient) Connect()
func (*WebsocketClient) ConnectChan ¶
func (c *WebsocketClient) ConnectChan() chan bool
func (*WebsocketClient) ConnectOnce ¶
func (c *WebsocketClient) ConnectOnce(timeout uint) error
func (*WebsocketClient) Disconnect ¶
func (c *WebsocketClient) Disconnect() error
func (*WebsocketClient) DisconnectOnce ¶ added in v1.0.7
func (c *WebsocketClient) DisconnectOnce() error
func (*WebsocketClient) ErrorChan ¶
func (c *WebsocketClient) ErrorChan() chan error
func (*WebsocketClient) Recv ¶
func (c *WebsocketClient) Recv(data interface{}, timeout uint) error
func (*WebsocketClient) RecvChan ¶
func (c *WebsocketClient) RecvChan() chan *proto.Cmd
func (*WebsocketClient) Send ¶
func (c *WebsocketClient) Send(data interface{}, timeout uint) error
func (*WebsocketClient) SendBytes ¶
func (c *WebsocketClient) SendBytes(data []byte, timeout uint) error
func (*WebsocketClient) SendChan ¶
func (c *WebsocketClient) SendChan() chan *proto.Reply
func (*WebsocketClient) SetConnectChan ¶
func (c *WebsocketClient) SetConnectChan(connectChan chan bool)
func (*WebsocketClient) Start ¶
func (c *WebsocketClient) Start()
func (*WebsocketClient) Status ¶
func (c *WebsocketClient) Status() map[string]string
func (*WebsocketClient) Stop ¶
func (c *WebsocketClient) Stop()
type WebsocketServer ¶
type WebsocketServer struct { }
func (*WebsocketServer) Run ¶
func (s *WebsocketServer) Run(addr string, endpoint string)
addr: http://127.0.0.1:8000 endpoint: /agent
type WebsocketServerWss ¶ added in v1.0.4
type WebsocketServerWss struct { }
func (*WebsocketServerWss) RunWss ¶ added in v1.0.4
func (s *WebsocketServerWss) RunWss(addr string, endpoint string)
addr: https://127.0.0.1:8443 endpoint: /agent
Source Files ¶
- api.go
- clock.go
- cmd.go
- data_client.go
- http_client.go
- interval_iter.go
- log_parser.go
- mm_monitor.go
- mrms_monitor.go
- mysql_factory.go
- null_client.go
- null_mysql.go
- qan_analyzer.go
- qan_worker.go
- query_service.go
- service.go
- slow_mysql.go
- spooler.go
- sysconfig_monitor.go
- sysinfo_service.go
- ticker.go
- ticker_factory.go
- ws_client.go
- ws_server.go
- wss_server.go
Click to show internal directories.
Click to hide internal directories.