Преглед изворни кода

Feature #TASK_QT-18250 兼容omni老版本不存在tags的情况

Carl пре 6 месеци
родитељ
комит
929a7c9320
2 измењених фајлова са 17 додато и 14 уклоњено
  1. 5 5
      flags/flags.go
  2. 12 9
      node/apm_host_info.go

+ 5 - 5
flags/flags.go

@@ -17,7 +17,7 @@ var (
 	DataServer          = kingpin.Flag("data-server", "The URL of the endpoint to send traces to").Envar("DATA_SERVER").Default("http://10.0.16.250:18080").String()
 	DumpApps            = kingpin.Flag("dump", "Dump app snap").Short('d').Default("false").Bool()
 	DumpRules           = kingpin.Flag("dr", "Dump rule snap").Default("false").Bool()
-	PrintFormat         = kingpin.Flag("print", "Output format (table|json)").Default("table").String()
+	PrintFormat         = kingpin.Flag("output", "Output format (table|json)").Short('o').Default("table").String()
 	Version             = kingpin.Flag("version", "show app version").Short('v').Bool()
 	LogLevel            = kingpin.Flag("log-level", "Log level").Envar("LOG_LEVEL").Default("info").String()
 	ConsoleLog          = kingpin.Flag("console-log", "Console log").Envar("CONSOLE_LOG").Default("false").Bool()
@@ -39,10 +39,10 @@ var (
 	DisableL7Tracing  = kingpin.Flag("disable-l7-tracing", "Disable L7 tracing").Default("false").Envar("DISABLE_L7_TRACING").Bool()
 
 	ExternalNetworksWhitelist = kingpin.
-					Flag("track-public-network", "Allow track connections to the specified IP networks, all private networks are allowed by default (e.g., Y.Y.Y.Y/mask)").
-					Envar("TRACK_PUBLIC_NETWORK").
-					Default("0.0.0.0/0").
-					Strings()
+		Flag("track-public-network", "Allow track connections to the specified IP networks, all private networks are allowed by default (e.g., Y.Y.Y.Y/mask)").
+		Envar("TRACK_PUBLIC_NETWORK").
+		Default("0.0.0.0/0").
+		Strings()
 	EphemeralPortRange = kingpin.Flag("ephemeral-port-range", "Destination and Listen TCP ports from this range will be skipped").Default("").Envar("EPHEMERAL_PORT_RANGE").String()
 
 	Provider          = kingpin.Flag("provider", "`provider` label for `node_cloud_info` metric").Envar("PROVIDER").String()

+ 12 - 9
node/apm_host_info.go

@@ -80,17 +80,20 @@ func newNodeInfoFromCommonIni(name, kv, version string) (*NodeInfoT, error) {
 		}
 		account_and_user_string := strings.Split(string(account_and_user_byte), "@")
 		if len(account_and_user_string) > 0 {
+			sysTag := ""
 			tagsStr := iniData.Section("common").Key("tags").String()
-			tagT := struct {
-				HostTag struct {
-					SystemTag []string `json:"sys"`
-				} `json:"host_tag"`
-			}{}
-			err := json.Unmarshal([]byte(tagsStr), &tagT)
-			if err != nil {
-				return nil, err
+			if tagsStr != "" {
+				tagT := struct {
+					HostTag struct {
+						SystemTag []string `json:"sys"`
+					} `json:"host_tag"`
+				}{}
+				err := json.Unmarshal([]byte(tagsStr), &tagT)
+				if err != nil {
+					return nil, err
+				}
+				sysTag = strings.Join(tagT.HostTag.SystemTag, ",")
 			}
-			sysTag := strings.Join(tagT.HostTag.SystemTag, ",")
 			accountId, err := strconv.Atoi(account_and_user_string[0])
 			if err == nil {
 				n := &NodeInfoT{