|
@@ -4,6 +4,7 @@ import (
|
|
|
"crypto/md5"
|
|
"crypto/md5"
|
|
|
"encoding/json"
|
|
"encoding/json"
|
|
|
"fmt"
|
|
"fmt"
|
|
|
|
|
+ "os"
|
|
|
"sort"
|
|
"sort"
|
|
|
"strconv"
|
|
"strconv"
|
|
|
"strings"
|
|
"strings"
|
|
@@ -139,7 +140,13 @@ func tracetransformData(sdl []tracesdk.ReadOnlySpan) []RootDataT {
|
|
|
//traceId := sd.SpanContext().TraceID().String()
|
|
//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
|
|
// 构建map *RootDataT
|
|
|
- rootData := initRootDataFromEvent()
|
|
|
|
|
|
|
+ var rootData RootDataT
|
|
|
|
|
+ // todo 应用注册逻辑
|
|
|
|
|
+ if os.Getenv("JAVA") == "1" {
|
|
|
|
|
+ rootData = initRootDataJava()
|
|
|
|
|
+ } else {
|
|
|
|
|
+ rootData = initRootDataFromEvent()
|
|
|
|
|
+ }
|
|
|
// build http入口 MapInfoT
|
|
// build http入口 MapInfoT
|
|
|
buildAppMapFromEvent(&rootData, sd)
|
|
buildAppMapFromEvent(&rootData, sd)
|
|
|
// 构建maps
|
|
// 构建maps
|
|
@@ -425,6 +432,52 @@ func initRootDataFromEvent() RootDataT {
|
|
|
return data
|
|
return data
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func initRootDataJava() RootDataT {
|
|
|
|
|
+ data := RootDataT{
|
|
|
|
|
+ AccountId: 110,
|
|
|
|
|
+ AgentId: 3934815089541000, // TODO 更新 基于 ip:port + process_name + exe路径生成
|
|
|
|
|
+ AgentVersion: "2.21.0",
|
|
|
|
|
+ AppId: 3365853273187618, // TODO 更新 基于appname生成
|
|
|
|
|
+ AppIdFrom: -1,
|
|
|
|
|
+ AppName: "eBPF-javaApplication", // TODO 更新 ip:port || process_name
|
|
|
|
|
+ CalledId: -1,
|
|
|
|
|
+ ClientIp: "",
|
|
|
|
|
+ CollTime: 0,
|
|
|
|
|
+ Cpu: 0,
|
|
|
|
|
+ Custom: "",
|
|
|
|
|
+ HostId: 2315065183171055,
|
|
|
|
|
+ HostName: "localhost",
|
|
|
|
|
+ HttpCode: 0,
|
|
|
|
|
+ HttpMethod: "",
|
|
|
|
|
+ InstanceId: 1128864082033413, // TODO 更新 基于ip:port
|
|
|
|
|
+ InstanceIdFrom: -1,
|
|
|
|
|
+ Maps: []MapInfoT{},
|
|
|
|
|
+ MemU: 0,
|
|
|
|
|
+ MemUP: 0,
|
|
|
|
|
+ OperType: "",
|
|
|
|
|
+ Parameters: []interface{}{},
|
|
|
|
|
+ ParentTaskName: 0,
|
|
|
|
|
+ Period: -1,
|
|
|
|
|
+ RespTime: 0,
|
|
|
|
|
+ Sampling: 0,
|
|
|
|
|
+ ServiceName: "TOMCAT",
|
|
|
|
|
+ ServiceType: APP_SERVICE_TYPE,
|
|
|
|
|
+ Sip: "",
|
|
|
|
|
+ Sn: "",
|
|
|
|
|
+ SpanIdFrom: "",
|
|
|
|
|
+ Sport: 0,
|
|
|
|
|
+ TId: -1,
|
|
|
|
|
+ TName: "",
|
|
|
|
|
+ TraceId: "",
|
|
|
|
|
+ TransIds: []interface{}{},
|
|
|
|
|
+ TypeFrom: "",
|
|
|
|
|
+ Uri: "",
|
|
|
|
|
+ UserDir: 0,
|
|
|
|
|
+ VipIds: []interface{}{},
|
|
|
|
|
+ }
|
|
|
|
|
+ return data
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func initMapNode(spanSd *tracepb.Span) (MapInfoT, string) {
|
|
func initMapNode(spanSd *tracepb.Span) (MapInfoT, string) {
|
|
|
mNode := MapInfoT{
|
|
mNode := MapInfoT{
|
|
|
Exception: 0,
|
|
Exception: 0,
|