ebpf_exporter
27 строк · 558.0 Байт
1package decoder
2
3import (
4"fmt"
5
6"github.com/cloudflare/ebpf_exporter/v2/config"
7)
8
9// StaticMap is a decoded that maps values according to a static map
10type StaticMap struct{}
11
12// Decode maps values according to a static map
13func (s *StaticMap) Decode(in []byte, conf config.Decoder) ([]byte, error) {
14if conf.StaticMap == nil {
15return []byte("empty mapping"), nil
16}
17
18value, ok := conf.StaticMap[string(in)]
19if !ok {
20if conf.AllowUnknown {
21return in, nil
22}
23return []byte(fmt.Sprintf("unknown:%s", in)), nil
24}
25
26return []byte(value), nil
27}
28