ebpf_exporter

Форк
0
/
syscall.go 
29 строк · 608.0 Байт
1
package decoder
2

3
import (
4
	"fmt"
5
	"strconv"
6

7
	"github.com/cloudflare/ebpf_exporter/v2/config"
8
)
9

10
// Syscall is a decoder that decodes syscall numbers into their names
11
type Syscall struct{}
12

13
// Decode transforms a syscall number into a syscall name
14
func (s *Syscall) Decode(in []byte, _ config.Decoder) ([]byte, error) {
15
	number, err := strconv.Atoi(string(in))
16
	if err != nil {
17
		return nil, err
18
	}
19

20
	return []byte(resolveSyscall(uint64(number))), nil
21
}
22

23
func resolveSyscall(number uint64) string {
24
	if name, ok := syscalls[number]; ok {
25
		return name
26
	}
27

28
	return fmt.Sprintf("unknown_syscall:%d", number)
29
}
30

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.