Add LowCollector & rename Supervisor to Monitoring
[src/xds/xds-agent.git] / lib / agent / xdsmonitoring.go
similarity index 69%
rename from lib/agent/xdssupervior.go
rename to lib/agent/xdsmonitoring.go
index 48b3f90..42e5324 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017-2018 "IoT.bzh"
+ * Copyright (C) 2017-2019 "IoT.bzh"
  * Author Sebastien Douheret <sebastien@iot.bzh>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,8 +27,8 @@ import (
        uuid "github.com/satori/go.uuid"
 )
 
-// XdsSupervisor .
-type XdsSupervisor struct {
+// XdsMonitoring .
+type XdsMonitoring struct {
        *Context
        ID        string
        BaseURL   string
@@ -42,19 +42,6 @@ type XdsSupervisor struct {
        cbOnConnect OnConnectedXdsSupervCB
 }
 
-// XdsSuperVRequest Resquest field of a reply
-type XdsSuperVRequest struct {
-       Status string `json:"status"`
-       Info   string `json:"info"`
-}
-
-// XdsSuperVReply Reply structure of XDS Supervision Daemon
-type XdsSuperVReply struct {
-       JType    string           `json:"jtype"`
-       Request  XdsSuperVRequest `json:"request"`
-       Response interface{}      `json:"response"`
-}
-
 // XdsSuperVTraceConfig
 type XdsSuperVTraceConfig struct {
        Pid    int    `json:"pid"`
@@ -63,15 +50,15 @@ type XdsSuperVTraceConfig struct {
 }
 
 // OnConnectedXdsSupervCB connect callback
-type OnConnectedXdsSupervCB func(svr *XdsSupervisor) error
+type OnConnectedXdsSupervCB func(svr *XdsMonitoring) error
 
-// NewXdsSupervisor creates an instance of XdsSupervisor
-func NewXdsSupervisor(ctx *Context) *XdsSupervisor {
-       return &XdsSupervisor{
+// NewXdsMonitoring creates an instance of XdsMonitoring
+func NewXdsMonitoring(ctx *Context) *XdsMonitoring {
+       return &XdsMonitoring{
                Context:   ctx,
-               ID:        "XdsSupervisor-" + uuid.NewV1().String(),
-               BaseURL:   ctx.Config.FileConf.ProfileConf.XDSBinder.URL,
-               ConnRetry: ctx.Config.FileConf.ProfileConf.XDSBinder.ConnRetry,
+               ID:        "XdsMonitoring-" + uuid.NewV1().String(),
+               BaseURL:   ctx.Config.FileConf.ProfileConf.XDSMonitoring.URL,
+               ConnRetry: ctx.Config.FileConf.ProfileConf.XDSMonitoring.ConnRetry,
                Connected: false,
                Disabled:  false,
 
@@ -79,8 +66,8 @@ func NewXdsSupervisor(ctx *Context) *XdsSupervisor {
        }
 }
 
-// Connect Establish HTTP connection with XDS Supervisor Dameon
-func (xs *XdsSupervisor) Connect() error {
+// Connect Establish HTTP connection with XDS Monitoring Dameon
+func (xs *XdsMonitoring) Connect() error {
        var err error
        var retry int
 
@@ -97,12 +84,12 @@ func (xs *XdsSupervisor) Connect() error {
                        // doing that avoid 2 notifs (conn false; conn true) on startup
                        xs._NotifyState()
                }
-               xs.Log.Infof("Establishing connection to XDS Supervisor daemon (retry %d/%d)", retry, xs.ConnRetry)
+               xs.Log.Infof("Establishing connection to XDS Monitoring daemon (retry %d/%d)", retry, xs.ConnRetry)
                time.Sleep(time.Second)
        }
        if retry == 0 {
                // FIXME: re-use _Reconnect to wait longer in background
-               return fmt.Errorf("Connection to XDS Supervisor daemon failure")
+               return fmt.Errorf("Connection to XDS Monitoring daemon failure")
        }
        if err != nil {
                return err
@@ -115,29 +102,29 @@ func (xs *XdsSupervisor) Connect() error {
 }
 
 // ConnectOn Register a callback on events reception
-func (xs *XdsSupervisor) ConnectOn(f OnConnectedXdsSupervCB) error {
+func (xs *XdsMonitoring) ConnectOn(f OnConnectedXdsSupervCB) error {
        xs.cbOnConnect = f
        return nil
 }
 
-// GetVersion Send Get request to retrieve XDS Supervision version
-func (xs *XdsSupervisor) GetVersion(res interface{}) error {
+// GetVersion Send Get request to retrieve XDS Monitoring version
+func (xs *XdsMonitoring) GetVersion(res interface{}) error {
        // FIXME add suffix URLSuffix in common HTTP client lib instead of _BuildURL
        return xs.client.Get(xs._BuildURL("/version"), &res)
 }
 
 // GetTopo Send Get request to retrieve Services/Daemons topology
-func (xs *XdsSupervisor) GetTopo(res interface{}) error {
+func (xs *XdsMonitoring) GetTopo(res interface{}) error {
        return xs.client.Get(xs._BuildURL("/list"), &res)
 }
 
-// StartTrace Send Supervisor config and start tracing
-func (xs *XdsSupervisor) StartTrace(cfg XdsSuperVTraceConfig, res interface{}) error {
+// StartTrace Send Monitoring config and start tracing
+func (xs *XdsMonitoring) StartTrace(cfg XdsSuperVTraceConfig, res interface{}) error {
        return xs.client.Post(xs._BuildURL("/trace/start"), cfg, &res)
 }
 
-// StopTrace Send Supervisor stop tracing
-func (xs *XdsSupervisor) StopTrace(res interface{}) error {
+// StopTrace Send Monitoring stop tracing
+func (xs *XdsMonitoring) StopTrace(res interface{}) error {
        var cfg interface{}
        return xs.client.Post(xs._BuildURL("/trace/stop"), cfg, res)
 }
@@ -147,12 +134,12 @@ func (xs *XdsSupervisor) StopTrace(res interface{}) error {
 ***/
 
 // _BuildURL .
-func (xs *XdsSupervisor) _BuildURL(url string) string {
+func (xs *XdsMonitoring) _BuildURL(url string) string {
        return url + "?token=HELLO&uuid=magic"
 }
 
 // Create HTTP client
-func (xs *XdsSupervisor) _CreateConnectHTTP() error {
+func (xs *XdsMonitoring) _CreateConnectHTTP() error {
        var err error
        // FIXME SEB - Client key not in header but in cookie
        // temporary workaround: used _BuildURL to append uuid=magic in URL
@@ -179,17 +166,17 @@ func (xs *XdsSupervisor) _CreateConnectHTTP() error {
                if strings.Contains(err.Error(), "connection refused") {
                        msg = fmt.Sprintf("(url: %s)", xs.BaseURL)
                }
-               return fmt.Errorf("ERROR: cannot connect to XDS Supervisor %s", msg)
+               return fmt.Errorf("ERROR: cannot connect to XDS Monitoring %s", msg)
        }
        if xs.client == nil {
-               return fmt.Errorf("ERROR: cannot connect to XDS Supervisor (null client)")
+               return fmt.Errorf("ERROR: cannot connect to XDS Monitoring (null client)")
        }
 
        return nil
 }
 
 // _Connect Established HTTP and WS connection
-func (xs *XdsSupervisor) _Connect(reConn bool) error {
+func (xs *XdsMonitoring) _Connect(reConn bool) error {
 
        var res interface{}
        if err := xs.client.Get(xs._BuildURL("/ping"), &res); err != nil {
@@ -212,7 +199,7 @@ func (xs *XdsSupervisor) _Connect(reConn bool) error {
 }
 
 // _NotifyState Send event to notify changes
-func (xs *XdsSupervisor) _NotifyState() {
+func (xs *XdsMonitoring) _NotifyState() {
 
        /* TODO
        evSts := xaapiv1.ServerCfg{