MCPcopy
hub / github.com/microsoft/retina / Generate

Method Generate

shell/tracescript.go:25–59  ·  view source on GitHub ↗

Generate creates the complete bpftrace script.

()

Source from the content-addressed store, hash-verified

23
24// Generate creates the complete bpftrace script.
25func (g *ScriptGenerator) Generate() string {
26 var sb strings.Builder
27
28 // Write script header
29 sb.WriteString(g.generateHeader())
30
31 // Write BEGIN block
32 sb.WriteString(g.generateBeginBlock())
33
34 // Conditionally write probes based on config
35 if g.config.EnableDrops {
36 sb.WriteString(g.generateDropTracepoint())
37 }
38
39 if g.config.EnableRST {
40 sb.WriteString(g.generateRSTTracepoints())
41 }
42
43 if g.config.EnableErrors {
44 sb.WriteString(g.generateSocketErrorTracepoint())
45 }
46
47 if g.config.EnableRetransmits {
48 sb.WriteString(g.generateRetransmitTracepoint())
49 }
50
51 if g.config.EnableNfqueueDrops {
52 sb.WriteString(g.generateNfqueueDropProbe())
53 }
54
55 // Write END block
56 sb.WriteString(g.generateEndBlock())
57
58 return sb.String()
59}
60
61// generateHeader creates the script header with comments.
62// Note: No #include directives - bpftrace uses BTF for struct access.

Calls 9

generateHeaderMethod · 0.95
generateBeginBlockMethod · 0.95
generateEndBlockMethod · 0.95
StringMethod · 0.45