ebpf_exporter
29 строк · 608.0 Байт
1package decoder2
3import (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
11type Syscall struct{}12
13// Decode transforms a syscall number into a syscall name
14func (s *Syscall) Decode(in []byte, _ config.Decoder) ([]byte, error) {15number, err := strconv.Atoi(string(in))16if err != nil {17return nil, err18}19
20return []byte(resolveSyscall(uint64(number))), nil21}
22
23func resolveSyscall(number uint64) string {24if name, ok := syscalls[number]; ok {25return name26}27
28return fmt.Sprintf("unknown_syscall:%d", number)29}
30