package main type agent struct{ cgroupPaths []string ppidConatiner []string } type process struct{ id string pid string name string } var agentSingletonInstance *agent func NewAgent()(*agent){ if nil == agentSingletonInstance{ agentSingletonInstance = new(agent) } return agentSingletonInstance } func (a *agent) PopulateCgroupPaths()([]string, error){ var err error a.cgroupPaths, err = FindCgroupPaths([]string{cgroupFreezerMesosPath, cgroupFreezerDockerPath}) return a.cgroupPaths, err } func (a *agent) PopulatePPidContainer(paths []string)([]string, error){ var err error a.ppidConatiner, err = GetProcessFromCgroupPaths(paths) return a.ppidConatiner, err }