inspektor-gadget
67 строк · 1.8 Кб
1// Copyright 2022-2023 The Inspektor Gadget authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package tracer16
17import (18gadgetregistry "github.com/inspektor-gadget/inspektor-gadget/pkg/gadget-registry"19"github.com/inspektor-gadget/inspektor-gadget/pkg/gadgets"20"github.com/inspektor-gadget/inspektor-gadget/pkg/gadgets/traceloop/types"21"github.com/inspektor-gadget/inspektor-gadget/pkg/params"22"github.com/inspektor-gadget/inspektor-gadget/pkg/parser"23)
24
25const (26ParamSyscallFilters = "syscall-filters"27)
28
29type GadgetDesc struct{}30
31func (g *GadgetDesc) Name() string {32return "traceloop"33}
34
35func (g *GadgetDesc) Category() string {36return gadgets.CategoryNone37}
38
39func (g *GadgetDesc) Type() gadgets.GadgetType {40return gadgets.TypeTrace41}
42
43func (g *GadgetDesc) Description() string {44return "Get strace-like logs of a container from the past"45}
46
47func (g *GadgetDesc) ParamDescs() params.ParamDescs {48return params.ParamDescs{49{50Key: ParamSyscallFilters,51Description: "Filter out by syscall names. Join multiple names with ','",52DefaultValue: "",53},54}55}
56
57func (g *GadgetDesc) Parser() parser.Parser {58return parser.NewParser[types.Event](types.GetColumns())59}
60
61func (g *GadgetDesc) EventPrototype() any {62return &types.Event{}63}
64
65func init() {66gadgetregistry.Register(&GadgetDesc{})67}
68