ebpf_exporter

Форк
0
/
pci_device.go 
31 строка · 631.0 Байт
1
package decoder
2

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

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

10
// PCIDevice is a decoder that transforms PCI device id into a name
11
type PCIDevice struct{}
12

13
// Decode transforms PCI device id into a name
14
func (d *PCIDevice) Decode(in []byte, _ config.Decoder) ([]byte, error) {
15
	if pci == nil {
16
		return []byte(missingPciIdsText), nil
17
	}
18

19
	num, err := strconv.Atoi(string(in))
20
	if err != nil {
21
		return nil, err
22
	}
23

24
	key := fmt.Sprintf("%04x", num)
25

26
	if device, ok := pci.Products[key]; ok {
27
		return []byte(device.Name), nil
28
	}
29

30
	return []byte(fmt.Sprintf("unknown pci device: 0x%s", key)), nil
31
}
32

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

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

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

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