Procházet zdrojové kódy

Feature #JiraBug28853 Print转log

Carl před 1 rokem
rodič
revize
887ffb2bea

+ 1 - 1
containers/process.go

@@ -48,7 +48,7 @@ type Process struct {
 func NewProcess(pid uint32, stats *taskstats.Stats, tracer *ebpftracer.Tracer) *Process {
 	p := &Process{Pid: pid, StartedAt: stats.BeginTime}
 	p.ctx, p.cancelFunc = context.WithCancel(context.Background())
-	go p.instrument(tracer)
+	//go p.instrument(tracer)
 	return p
 }
 

+ 4 - 4
containers/registry.go

@@ -430,7 +430,7 @@ func (r *Registry) handleEvents(ch <-chan ebpftracer.Event) {
 					//fmt.Println("EventTypeL7Request", e.Pid, c.Isl7AttachSuccess())
 					//a, _ := json.Marshal(e.L7Request)
 					//fmt.Println("EventTypeL7Request", e.Pid, string(a))
-					fmt.Println("e---.L7Request Payload:", string(e.L7Request.Payload))
+					klog.Debugln("Payload:", string(e.L7Request.Payload))
 					ip2fqdn := c.onL7RequestApm(e.Pid, e.Fd, e.Timestamp, e.L7Request)
 					r.ip2fqdnLock.Lock()
 					for ip, fqdn := range ip2fqdn {
@@ -445,10 +445,10 @@ func (r *Registry) handleEvents(ch <-chan ebpftracer.Event) {
 
 				if c := r.containersByPid[uint32(e.StackEvent.Pid)]; c != nil {
 					if e.StackEvent.Type == uint64(CodeTypeJava) {
-						fmt.Printf("e.EventTypeFunEnt: TraceId:%d, Pid:%d, Location:%d, Goid:%d, TimeNs:%d, Ip:%X, CallerIp:%d, Bp:%d, CallerBp:%d\n", e.StackEvent.TraceId, e.StackEvent.Pid, e.StackEvent.Location, e.StackEvent.Goid, e.StackEvent.TimeNsStart, e.StackEvent.Ip, e.StackEvent.CallerIp, e.StackEvent.Bp, e.StackEvent.CallerBp)
-						fmt.Printf("e.EventTypeFunEnt: TraceId: MethedName: %d -- %s -- %s", e.StackEvent.Type, e.StackEvent.MethedName, e.StackEvent.ClassName)
+						klog.Debugf("e.EventTypeFunEnt: TraceId:%d, Pid:%d, Location:%d, Goid:%d, TimeNs:%d, Ip:%X, CallerIp:%d, Bp:%d, CallerBp:%d\n", e.StackEvent.TraceId, e.StackEvent.Pid, e.StackEvent.Location, e.StackEvent.Goid, e.StackEvent.TimeNsStart, e.StackEvent.Ip, e.StackEvent.CallerIp, e.StackEvent.Bp, e.StackEvent.CallerBp)
+						klog.Debugf("e.EventTypeFunEnt: TraceId: MethedName: %d -- %s -- %s", e.StackEvent.Type, e.StackEvent.MethedName, e.StackEvent.ClassName)
 					} else {
-						fmt.Printf("e.EventTypeFunEnt: TraceId:%d, Pid:%d, Location:%d, Goid:%d, TimeNs:%d, Ip:%X, CallerIp:%x, Bp:%x, CallerBp:%x\n", e.StackEvent.TraceId, e.StackEvent.Pid, e.StackEvent.Location, e.StackEvent.Goid, e.StackEvent.TimeNsStart, e.StackEvent.Ip, e.StackEvent.CallerIp, e.StackEvent.Bp, e.StackEvent.CallerBp)
+						klog.Debugf("e.EventTypeFunEnt: TraceId:%d, Pid:%d, Location:%d, Goid:%d, TimeNs:%d, Ip:%X, CallerIp:%x, Bp:%x, CallerBp:%x\n", e.StackEvent.TraceId, e.StackEvent.Pid, e.StackEvent.Location, e.StackEvent.Goid, e.StackEvent.TimeNsStart, e.StackEvent.Ip, e.StackEvent.CallerIp, e.StackEvent.Bp, e.StackEvent.CallerBp)
 					}
 					c.StackProcess2(*e.StackEvent, r.tracer)
 				} else {

+ 3 - 3
containers/systemd.go

@@ -12,7 +12,7 @@ import (
 	"github.com/coreos/go-systemd/v22/dbus"
 	gdbus "github.com/godbus/dbus/v5"
 
-	"k8s.io/klog/v2"
+	klog "github.com/sirupsen/logrus"
 )
 
 var (
@@ -29,8 +29,8 @@ func init() {
 		}
 		methods := []gdbus.Auth{gdbus.AuthExternal(strconv.Itoa(os.Getuid()))}
 		if err = c.Auth(methods); err != nil {
-			if dbusConn != nil { // 添加这个非空检查  
-				dbusConn.Close()  
+			if dbusConn != nil { // 添加这个非空检查
+				dbusConn.Close()
 			}
 			return nil, err
 		}

+ 1 - 1
ebpftracer/tracer/inject/inject_linux_amd64.go

@@ -534,7 +534,7 @@ func (j *JvmInjector) getFunctionOffset(libPath, functionName string) (elf.Symbo
 
 	for _, sym := range symbols {
 		if sym.Name == functionName {
-			fmt.Println("size:", sym.Size)
+			//fmt.Println("size:", sym.Size)
 			return sym, nil
 		}
 	}

+ 1 - 1
ebpftracer/tracer/socket.go

@@ -74,7 +74,7 @@ func insert_output_prog_to_map(collection *ebpf.Collection) {
 func __insert_output_prog_to_map(collection *ebpf.Collection, mapName string, progName string, key uint32) {
 	// find in programs
 	prog, ok := collection.Programs[progName]
-	fmt.Println(prog, ok)
+	//fmt.Println(prog, ok)
 	if ok {
 		progFd := prog.FD()
 		code, err := bpf_table_set_value(collection, mapName, key, uint32(progFd))

+ 8 - 9
main.go

@@ -3,7 +3,6 @@ package main
 import (
 	"bytes"
 	"encoding/json"
-	"fmt"
 	"github.com/cilium/ebpf/rlimit"
 	"github.com/coroot/coroot-node-agent/kube"
 	"github.com/coroot/coroot-node-agent/utils"
@@ -141,7 +140,7 @@ func main() {
 		MaxSize:    50, // 日志文件最大尺寸,单位MB
 		MaxBackups: 3,  // 最多保留的旧日志文件数
 		MaxAge:     3,  // 日志文件保留的最长时间,单位天
-		Console:    true,
+		Console:    false,
 	})
 
 	if err != nil {
@@ -330,7 +329,7 @@ func main() {
 		// req, err := http.NewRequest("POST", "http://10.0.7.115:18080/api/v2/ebpf/receive", bytes.NewBuffer(jsonData))
 		req, err := http.NewRequest("POST", *flags.DataServer+*flags.ServerPrefix+urlRoute, bytes.NewBuffer(jsonData))
 		if err != nil {
-			fmt.Println("Error:", err)
+			log.Errorf(err.Error())
 			return
 		}
 
@@ -348,7 +347,7 @@ func main() {
 		// 发送 HTTP POST 请求
 		response, err := client.Do(req)
 		if err != nil {
-			fmt.Println("Error:", err)
+			log.Errorf(err.Error())
 			return
 		}
 		defer response.Body.Close()
@@ -483,7 +482,7 @@ func main() {
 		// 创建请求
 		req, err := http.NewRequest("POST", "http://10.0.7.115:18080/api/v2/ebpf/receive", bytes.NewBuffer(jsonData))
 		if err != nil {
-			fmt.Println("Error:", err)
+			log.Errorf("Error:", err)
 			return
 		}
 
@@ -501,7 +500,7 @@ func main() {
 		// 发送 HTTP POST 请求
 		response, err := client.Do(req)
 		if err != nil {
-			fmt.Println("Error:", err)
+			log.Errorf("Error:", err)
 			return
 		}
 		defer response.Body.Close()
@@ -509,13 +508,13 @@ func main() {
 		// 读取响应内容
 		responseData, err := io.ReadAll(response.Body)
 		if err != nil {
-			fmt.Println("Error:", err)
+			log.Errorf("Error:", err)
 			return
 		}
 
 		// 输出响应状态码和响应正文
-		fmt.Println("Status Code:", response.StatusCode)
-		fmt.Println("Response Body:", string(responseData))
+		log.Debugln("Status Code:", response.StatusCode)
+		log.Infoln("Response Body:", string(responseData))
 	}
 
 	if err := prom.StartAgent(SystemUUID); err != nil {

+ 15 - 17
pkg/go.opentelemetry.io/otel/exporters/otlp/otlptrace/apm_exporter.go

@@ -15,8 +15,6 @@ import (
 	"strings"
 	"sync"
 
-	"time"
-
 	"go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform"
 	tracesdk "go.opentelemetry.io/otel/sdk/trace"
 	tracepb "go.opentelemetry.io/proto/otlp/trace/v1"
@@ -135,18 +133,18 @@ var TraceRootMap map[string]*TraceMapT
 
 func init() {
 	TraceRootMap = make(map[string]*TraceMapT)
-	go func() {
-		for {
-			//fmt.Println(G_sdl)
-			time.Sleep(5 * time.Second)
-		}
-	}()
+	//go func() {
+	//	for {
+	//		//fmt.Println(G_sdl)
+	//		time.Sleep(5 * time.Second)
+	//	}
+	//}()
 }
 
 var G_sdl int
 
 func tracetransformData(sdl []tracesdk.ReadOnlySpan) map[int][]RootDataT {
-	G_sdl += len(sdl)
+	//G_sdl += len(sdl)
 	if len(sdl) == 0 {
 		return nil
 	}
@@ -160,7 +158,7 @@ func tracetransformData(sdl []tracesdk.ReadOnlySpan) map[int][]RootDataT {
 			continue
 		}
 		//traceId := sd.SpanContext().TraceID().String()
-		fmt.Println("------event_num---- "+sd.Name(), "--->", len(sd.Events())) // 一次请求完整数据
+		//fmt.Println("------event_num---- "+sd.Name(), "--->", len(sd.Events())) // 一次请求完整数据
 		// 构建map *RootDataT
 		var rootData RootDataT
 
@@ -170,8 +168,8 @@ func tracetransformData(sdl []tracesdk.ReadOnlySpan) map[int][]RootDataT {
 		code_type := buildAppMapFromEvent(&rootData, sd)
 		// 构建maps
 		for _, event := range sd.Events() {
-			aaa, _ := json.Marshal(event)
-			fmt.Println("event.info", string(aaa))
+			//aaa, _ := json.Marshal(event)
+			//fmt.Println("event.info", string(aaa))
 			mNode := buildMapNodeFromEvent(event)
 			switch EventType(event.EventType) {
 			// stack
@@ -196,7 +194,7 @@ func tracetransformData(sdl []tracesdk.ReadOnlySpan) map[int][]RootDataT {
 			}
 
 			rootData.Maps = append(rootData.Maps, mNode)
-			fmt.Println(event.Name)
+			//fmt.Println(event.Name)
 			//buildAndAssemblyMapFromEvent(event, rootData)
 		}
 
@@ -340,7 +338,7 @@ func buildLevelFromEvent(sdl *RootDataT) {
 	level := 2
 
 	for k, v := range mapSlice {
-		fmt.Println("SliceSliceindex", k, "value", v.Time, v.Type, v.Map.MethodName, v.Map.Nid)
+		klog.Debugln("SliceSliceindex", k, "value", v.Time, v.Type, v.Map.MethodName, v.Map.Nid)
 		if v.Type == 0 {
 			// 函数入口
 			funStack = append(funStack, v)
@@ -564,7 +562,7 @@ func buildMapNodeFromEvent(event tracesdk.Event) MapInfoT {
 	//mNode.StartTime = spanSd.StartTimeUnixNano
 	//mNode.EndTime = spanSd.EndTimeUnixNano
 	for _, attr := range event.Attributes {
-		fmt.Println(event.Name, "--->buildMapNodeFromEvent--->", attr.Key, ":", attr.Value.AsInterface())
+		//fmt.Println(event.Name, "--->buildMapNodeFromEvent--->", attr.Key, ":", attr.Value.AsInterface())
 		switch attr.Key {
 		case "nid":
 			mNode.Nid = int(attr.Value.AsInt64())
@@ -715,7 +713,7 @@ func buildAppMapFromEvent(traceRoot *RootDataT, sd apmTraceSpan) int {
 	//traceRoot.RespTime = mNode.PureTimex
 	//traceRoot.CollTime = mNode.StartTime
 	for _, attr := range sd.Attributes() {
-		fmt.Println("Appmap:", attr.Key, ":", attr.Value.AsInterface())
+		klog.Debugln("Appmap:", attr.Key, ":", attr.Value.AsInterface())
 		switch attr.Key {
 		case "http.uri":
 			traceRoot.Uri, traceRoot.Parameters, _ = parseURIToParams(attr.Value.AsString())
@@ -809,7 +807,7 @@ func buildHttpMapFromEvent(mNode *MapInfoT, event tracesdk.Event) {
 	//var descAddr string
 	var method string
 	for _, attr := range event.Attributes {
-		fmt.Println("HTTP--->", attr.Key, ":", attr.Value.AsInterface())
+		//fmt.Println("HTTP--->", attr.Key, ":", attr.Value.AsInterface())
 		switch attr.Key {
 		case "http.ip":
 			mNode.Ip = attr.Value.AsString()

+ 9 - 9
pkg/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/client_apm.go

@@ -6,10 +6,10 @@ import (
 	"encoding/json"
 	"fmt"
 	. "github.com/coroot/coroot-node-agent/utils/modelse"
+	"github.com/klauspost/compress/zstd"
+	klog "github.com/sirupsen/logrus"
 	"go.opentelemetry.io/otel"
 	"go.opentelemetry.io/otel/exporters/otlp/otlptrace"
-	"github.com/klauspost/compress/zstd" 
-	klog "github.com/sirupsen/logrus"
 	"io"
 	"net/http"
 	"net/url"
@@ -113,7 +113,7 @@ func (d *client) newApmRequest(body []byte, mapLen int, codeType CodeType) (requ
 	r.Header.Set("Content-Type", "text/plain;charset=utf-8")
 
 	r.Header.Set("routingKey", codeType.Topic())
-	fmt.Println(codeType.Topic())
+	klog.Infoln(codeType.Topic())
 	r.Header.Set("DataCount", strconv.Itoa(mapLen))
 
 	req := request{Request: r}
@@ -149,13 +149,13 @@ func (d *client) newApmRequest(body []byte, mapLen int, codeType CodeType) (requ
 		klog.Infoln("enter the ZstdCompression newApmRequest")
 		r.ContentLength = -1
 		r.Header.Set("Content-Encoding", "zstd")
-		encoder, err := zstd.NewWriter(nil)  
-		if err != nil {  
-			return req, err  
-		}  
-		defer encoder.Close()  
+		encoder, err := zstd.NewWriter(nil)
+		if err != nil {
+			return req, err
+		}
+		defer encoder.Close()
 
-		compressedData := encoder.EncodeAll(body, make([]byte, 0, len(body)))  
+		compressedData := encoder.EncodeAll(body, make([]byte, 0, len(body)))
 		req.bodyReader = bodyReader(compressedData)
 	}
 

+ 1 - 1
proc/fd.go

@@ -6,7 +6,7 @@ import (
 	"strconv"
 	"strings"
 
-	"k8s.io/klog/v2"
+	klog "github.com/sirupsen/logrus"
 )
 
 type Fd struct {