Skip to content

Commit

Permalink
Merge pull request #637 from zhangzihengya/develop
Browse files Browse the repository at this point in the history
注释可视化相关代码 & 修改runimages.sh中的错误
  • Loading branch information
chenamy2017 authored Jan 3, 2024
2 parents ae4d827 + 19a435a commit 651c722
Show file tree
Hide file tree
Showing 8 changed files with 274 additions and 22 deletions.
19 changes: 19 additions & 0 deletions eBPF_Visualization/eBPF_prometheus/checker/check.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,25 +32,37 @@ const (
MaxFileSize int64 = 100 * 1024 * 1024
)

// 定义了一个名为 CollectCheck 的函数,用于检查和获取要收集的文件路径及其他参数
func CollectCheck(ctx *cli.Context) (string, error) {
//if err := CheckArgs(ctx, 1, ConstExactArgs); err != nil {
// return "", err
//}

// 从命令行上下文中获取第一个参数,即文件路径
file := ctx.Args().Get(0)

// 检查输入字符串是否有效
if !IsInputStringValid(file) {
return "", fmt.Errorf("input:%s is invalid", file)
}

// 检查文件是否存在
exist, err := PathExist(file)
if err != nil {
return "", err
}
// 如果文件不存在,返回相应的错误信息
if !exist {
return "", fmt.Errorf("file %s is not exist", file)
}

// 获取完整的命令行参数,并将它们连接成一个字符串
// fullcommand 是一个包含参数的字符串切片
fullcommand := ctx.Args().Slice()
// 将字符串切片中的元素连接成一个字符串,fullcommand 是一个包含命令行参数的字符串切片," " 是连接各个参数时使用的分隔符
full := strings.Join(fullcommand, " ")

// 返回完整的命令行参数作为结果,以及 nil 表示没有错误
return full, nil
}

Expand Down Expand Up @@ -78,15 +90,22 @@ func PathExist(path string) (bool, error) {
return false, err
}

// 定义了一个名为 CheckNormalError 的函数,用于检查并处理普通的错误
func CheckNormalError(err error) {
// 如果 err 不为 nil,表示发生了错误
if err != nil {
// 使用 log.Fatalln 打印错误信息并终止程序
log.Fatalln(err)
}
}

// 该函数接收一个字符串参数 content,用于判断是否符合 "proc" 命令的输出格式
func IsProcOutput(content string) bool {
// 定义了一个包含正则表达式的字符串,用于匹配 "proc" 命令的输出格式。该正则表达式包含了多个条件,用 | 分隔
pattern := `flag:\d+\s+pid:\d+\s+comm:\S+\s+offcpu_id|oncpu_time:\d+\s+offcpu_time|oncpu_time:\d+\s+oncpu_id|offcpu_id:\d+\s+oncpu_time|offcpu_time:\d+\s+time:[\d.]+`
// 将字符串正则表达式编译成一个正则表达式对象 re
re := regexp.MustCompile(pattern)
// 检查传入的 content 是否与正则表达式匹配,如果匹配则返回 true,否则返回 false
return re.MatchString(content)
}

Expand Down
Loading

0 comments on commit 651c722

Please sign in to comment.