ebpf_exporter
31 строка · 624.0 Байт
1package decoder2
3import (4"fmt"5"strconv"6
7"github.com/cloudflare/ebpf_exporter/v2/config"8)
9
10// PCIClass is a decoder that transforms PCI class id into a name
11type PCIClass struct{}12
13// Decode transforms PCI class id into a name
14func (d *PCIClass) Decode(in []byte, _ config.Decoder) ([]byte, error) {15if pci == nil {16return []byte(missingPciIdsText), nil17}18
19num, err := strconv.Atoi(string(in))20if err != nil {21return nil, err22}23
24key := fmt.Sprintf("%02x", num)25
26if device, ok := pci.Classes[key]; ok {27return []byte(device.Name), nil28}29
30return []byte(fmt.Sprintf("unknown pci class: 0x%s", key)), nil31}
32