Commit 5ab194dd authored by Your Name's avatar Your Name

filter filesystem and network

parent 41574d3a
......@@ -12,6 +12,7 @@ import (
"context"
"fmt"
"sort"
"strings"
"time"
"github.com/jaypipes/ghw"
......@@ -34,6 +35,54 @@ type FileSystem struct {
SizeBytes int64 `json:"size_bytes"`
}
var filter map[string]bool
func init() {
filter = make(map[string]bool)
filter["none"] = true
filter["rootfs"] = true
filter["snapfuse"] = true
}
func filterDevice(str string) bool {
return strings.Contains(str, "none") || strings.Contains(str, "rootfs") || strings.Contains(str, "snapfuse") || strings.Contains(str, "tmpfs")
}
func (c *ProApi) DisksWithFilter() ([]FileSystem, error) {
disks, err := c.Disks()
if err != nil {
return nil, err
}
res := make([]FileSystem, 0, len(disks))
for _, v := range disks {
if !filterDevice(v.Device) {
newMountPoint := make([]string, 0, len(v.MountPoints))
for _, mp := range v.MountPoints {
if !(strings.HasPrefix(mp, "/var") || strings.HasPrefix(mp, "/snap")) {
newMountPoint = append(newMountPoint, mp)
}
}
v.MountPoints = newMountPoint
res = append(res, v)
}
}
return res, nil
}
func (c *ProApi) Disks() ([]FileSystem, error) {
size, err := c.FileSystemSizeBytes()
......
......@@ -73,7 +73,7 @@ func DCGM() {
res.Data.Cpus = cpus
networks, err := cli.Networks()
networks, err := cli.NetworksWithFilter()
if err != nil {
fmt.Println("network error", err.Error())
......@@ -83,7 +83,7 @@ func DCGM() {
res.Data.Networks = networks
filesystems, err := cli.Disks()
filesystems, err := cli.DisksWithFilter()
if err != nil {
fmt.Println("disks error", err.Error())
......
package main
func main() {
// DCGM()
Smi()
DCGM()
//Smi()
}
......@@ -24,6 +24,27 @@ type Network struct {
Mac string `json:"mac"`
}
func (c *ProApi) NetworksWithFilter() ([]Network, error) {
nets, err := c.Networks()
if err != nil {
return nil, err
}
res := make([]Network, 0, len(nets))
//veth
//Br
for _, v := range nets {
if !(strings.HasPrefix(v.Device, "veth") || strings.HasPrefix(v.Device, "br")) {
res = append(res, v)
}
}
return res, nil
}
func (c *ProApi) Networks() ([]Network, error) {
speed, err := c.NetworkSpeed()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment