generateBeginBlock creates the BEGIN block with initialization.
()
| 76 | |
| 77 | // generateBeginBlock creates the BEGIN block with initialization. |
| 78 | func (g *ScriptGenerator) generateBeginBlock() string { |
| 79 | var sb strings.Builder |
| 80 | |
| 81 | sb.WriteString("BEGIN {\n") |
| 82 | |
| 83 | if g.config.OutputJSON { |
| 84 | sb.WriteString(` printf("{\"event\":\"start\",\"message\":\"Tracing network issues...\"}\n");`) |
| 85 | } else { |
| 86 | sb.WriteString(` printf("Tracing network issues... Press Ctrl-C to stop.\n\n");`) |
| 87 | sb.WriteString("\n") |
| 88 | sb.WriteString(` printf("%-12s %-10s %-18s %-18s %-18s %s\n",`) |
| 89 | sb.WriteString("\n") |
| 90 | sb.WriteString(` "TIME", "TYPE", "REASON", "STATE", "PROBE", "SRC -> DST");`) |
| 91 | sb.WriteString("\n") |
| 92 | sb.WriteString(` printf("────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────\n");`) |
| 93 | } |
| 94 | |
| 95 | sb.WriteString("\n}\n\n") |
| 96 | return sb.String() |
| 97 | } |
| 98 | |
| 99 | // generateDropTracepoint creates the kfree_skb tracepoint for packet drops. |
| 100 | func (g *ScriptGenerator) generateDropTracepoint() string { |