Skip to content

Instantly share code, notes, and snippets.

@ondrej-fabry
Created February 12, 2020 12:00

Revisions

  1. ondrej-fabry created this gist Feb 12, 2020.
    49 changes: 49 additions & 0 deletions psutil.go
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,49 @@


    func monitor() {
    for {
    dockstat, err := docker.GetDockerStat()
    if err != nil {
    log.Println("err:", err)
    } else {
    log.Printf("=> docker: %+v\n", dockstat)
    }

    v, err := mem.VirtualMemory()
    if err != nil {
    log.Println("err:", err)
    } else {
    log.Printf("=> memory: Total: %v, Free:%v, UsedPercent:%f%%\n", v.Total, v.Free, v.UsedPercent)
    }

    proc, err := process.NewProcess(int32(os.Getpid()))
    if err != nil {
    log.Println("err:", err)
    } else {
    percent, err := proc.Percent(0)
    if err != nil {
    log.Println("err:", err)
    }
    memPer, err := proc.MemoryPercent()
    if err != nil {
    log.Println("err:", err)
    }
    cpuPer, err := proc.CPUPercent()
    if err != nil {
    log.Println("err:", err)
    }
    times, err := proc.Times()
    if err != nil {
    log.Println("err:", err)
    }
    createTime, err := proc.CreateTime()
    if err != nil {
    log.Println("err:", err)
    }
    log.Printf("=> process: Percent: %f, MemoryPer: %f, CPUPer: %f, Times: %v, CreateTime: %v", percent, memPer, cpuPer, times, createTime)
    }

    time.Sleep(time.Second * 5)
    }

    }