code: func (p *Plugin) Init() error {
  	// write initial status data into ETCD
  	p.agentStat = &status.AgentStatus{
  		State:        status.OperationalState_INIT,
  		BuildVersion: agent.BuildVersion,
  		BuildDate:    agent.BuildDate,
  		CommitHash:   agent.CommitHash,
  		StartTime:    time.Now().Unix(),
  		LastChange:   time.Now().Unix(),
  	}
  
  	// initial empty interface status
  	p.interfaceStat = &status.InterfaceStats{}
  
  	// init pluginStat map
  	p.pluginStat = make(map[string]*status.PluginStatus)
  
  	// init map with plugin state probes
  	p.pluginProbe = make(map[string]PluginStateProbe)
  
  	// prepare context for all go routines
  	p.ctx, p.cancel = context.WithCancel(context.Background())
  
  	return nil
  }
docs: // Init prepares the initial status data.