Skip to content

Commit cc93ae0

Browse files
committed
Remove cpprof
1 parent 314e65f commit cc93ae0

File tree

3 files changed

+24
-11
lines changed

3 files changed

+24
-11
lines changed

cmd/cmd.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"fmt"
55
"os"
66
"regexp"
7-
"runtime/pprof"
87
"strings"
98

109
"github.com/howardjohn/kubectl-grep/pkg"
@@ -25,12 +24,6 @@ var rootCmd = &cobra.Command{
2524
Use: "kubectl-grep",
2625
Short: "A plugin to grep Kubernetes resources.",
2726
RunE: func(cmd *cobra.Command, args []string) error {
28-
f, perr := os.Create("cpu.pprof")
29-
if perr != nil {
30-
return perr
31-
}
32-
pprof.StartCPUProfile(f)
33-
defer pprof.StopCPUProfile()
3427
dm := pkg.Full
3528
if summary {
3629
dm = pkg.Summary

pkg/decode.go

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,24 @@ import (
1010

1111
// Implementation borrowed from k8s.io/apimachinery to avoid large imports
1212

13-
const separator = "---"
13+
const (
14+
separator = "---"
15+
listSeparator = "- "
16+
)
1417

1518
type Reader interface {
1619
Read() ([]byte, error)
1720
}
1821

1922
type YAMLReader struct {
2023
reader Reader
24+
isList bool
2125
}
2226

23-
func NewYAMLReader(r *bufio.Reader) *YAMLReader {
27+
func NewYAMLReader(r *bufio.Reader, isList bool) *YAMLReader {
2428
return &YAMLReader{
2529
reader: &LineReader{reader: r},
30+
isList: isList,
2631
}
2732
}
2833

@@ -35,6 +40,15 @@ func (r *YAMLReader) Read() ([]byte, error) {
3540
return nil, err
3641
}
3742

43+
if r.isList {
44+
// TODO: optimize if we know its a list
45+
//sep := len([]byte(listSeparator))
46+
//if i := bytes.Index(line, []byte(listSeparator)); i == 0 {
47+
// fmt.Println(string(line))
48+
// i+=sep
49+
//}
50+
}
51+
3852
sep := len([]byte(separator))
3953
if i := bytes.Index(line, []byte(separator)); i == 0 {
4054
// We have a potential document terminator
@@ -82,4 +96,4 @@ func (r *LineReader) Read() ([]byte, error) {
8296
}
8397
buffer.WriteByte('\n')
8498
return buffer.Bytes(), err
85-
}
99+
}

pkg/grep.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,14 @@ const (
109109
CleanStatus
110110
)
111111

112+
var listFastHeader = `apiVersion: v1
113+
items:
114+
-`
115+
112116
func GrepResources(sel Selector, in io.Reader, mode DisplayMode) (string, error) {
113-
reader := NewYAMLReader(bufio.NewReader(in))
117+
r := bufio.NewReader(in)
118+
b, _ := r.Peek(len(listFastHeader))
119+
reader := NewYAMLReader(r, string(b) == listFastHeader)
114120
matches := []string{}
115121
for {
116122
text, err := reader.Read()

0 commit comments

Comments
 (0)