Skip to content

Commit bec1408

Browse files
authored
Merge branch 'master' into dependabot/go_modules/github.com/Masterminds/goutils-1.1.1
2 parents 3354a06 + 252b961 commit bec1408

6 files changed

Lines changed: 117 additions & 16 deletions

File tree

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Licensed to Apache Software Foundation (ASF) under one or more contributor
2+
# license agreements. See the NOTICE file distributed with
3+
# this work for additional information regarding copyright
4+
# ownership. Apache Software Foundation (ASF) licenses this file to you under
5+
# the Apache License, Version 2.0 (the "License"); you may
6+
# not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
query ($traceId: ID!, $duration: Duration!) {
19+
result: queryTraceFromColdStage(traceId: $traceId, duration: $duration) {
20+
spans {
21+
traceId
22+
segmentId
23+
spanId
24+
parentSpanId
25+
refs {
26+
traceId
27+
parentSegmentId
28+
parentSpanId
29+
type
30+
}
31+
serviceCode
32+
serviceInstanceName
33+
startTime
34+
endTime
35+
endpointName
36+
type
37+
peer
38+
component
39+
isError
40+
layer
41+
tags {
42+
key value
43+
}
44+
logs {
45+
time data {
46+
key value
47+
}
48+
}
49+
attachedEvents {
50+
startTime {
51+
seconds nanos
52+
}
53+
event
54+
endTime {
55+
seconds nanos
56+
}
57+
tags {
58+
key value
59+
}
60+
summary {
61+
key value
62+
}
63+
}
64+
}
65+
}
66+
}

dist/LICENSE

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -243,12 +243,12 @@ The text of each license is also included at licenses/license-[project].txt.
243243
github.com/google/uuid v1.3.0 BSD-3-Clause
244244
github.com/imdario/mergo v0.3.12 BSD-3-Clause
245245
github.com/spf13/pflag v1.0.5 BSD-3-Clause
246-
golang.org/x/crypto v0.20.0 BSD-3-Clause
246+
golang.org/x/crypto v0.35.0 BSD-3-Clause
247247
golang.org/x/net v0.21.0 BSD-3-Clause
248248
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d BSD-3-Clause
249-
golang.org/x/sys v0.17.0 BSD-3-Clause
250-
golang.org/x/term v0.17.0 BSD-3-Clause
251-
golang.org/x/text v0.14.0 BSD-3-Clause
249+
golang.org/x/sys v0.30.0 BSD-3-Clause
250+
golang.org/x/term v0.29.0 BSD-3-Clause
251+
golang.org/x/text v0.22.0 BSD-3-Clause
252252
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac BSD-3-Clause
253253
google.golang.org/protobuf v1.32.0 BSD-3-Clause
254254
gopkg.in/inf.v0 v0.9.1 BSD-3-Clause

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ require (
1313
github.com/sirupsen/logrus v1.8.1
1414
github.com/spf13/viper v1.7.0
1515
github.com/urfave/cli/v2 v2.3.0
16-
golang.org/x/text v0.14.0
16+
golang.org/x/text v0.22.0
1717
google.golang.org/grpc v1.40.0
1818
gopkg.in/yaml.v2 v2.4.0
1919
k8s.io/apimachinery v0.22.1
@@ -66,11 +66,11 @@ require (
6666
github.com/spf13/jwalterweatherman v1.0.0 // indirect
6767
github.com/spf13/pflag v1.0.5 // indirect
6868
github.com/subosito/gotenv v1.2.0 // indirect
69-
golang.org/x/crypto v0.20.0 // indirect
69+
golang.org/x/crypto v0.35.0 // indirect
7070
golang.org/x/net v0.21.0 // indirect
7171
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d // indirect
72-
golang.org/x/sys v0.17.0 // indirect
73-
golang.org/x/term v0.17.0 // indirect
72+
golang.org/x/sys v0.30.0 // indirect
73+
golang.org/x/term v0.29.0 // indirect
7474
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect
7575
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
7676
google.golang.org/appengine v1.6.7 // indirect

go.sum

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -507,8 +507,8 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh
507507
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
508508
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
509509
golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
510-
golang.org/x/crypto v0.20.0 h1:jmAMJJZXr5KiCw05dfYK9QnqaqKLYXijU23lsEdcQqg=
511-
golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ=
510+
golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
511+
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
512512
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
513513
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
514514
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -655,17 +655,17 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
655655
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
656656
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
657657
golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
658-
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
659-
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
658+
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
659+
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
660660
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
661661
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
662662
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
663663
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
664664
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
665665
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
666666
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
667-
golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U=
668-
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
667+
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
668+
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
669669
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
670670
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
671671
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -676,8 +676,9 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
676676
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
677677
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
678678
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
679-
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
680679
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
680+
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
681+
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
681682
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
682683
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
683684
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -727,8 +728,9 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f
727728
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
728729
golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
729730
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
730-
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
731731
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
732+
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
733+
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
732734
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
733735
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
734736
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

internal/commands/trace/list.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ $ swctl trace ls --service-name "business-zone::projectB" --endpoint-name "/proj
5353
5454
3. Query the monitored trace of id "321661b1-9a31-4e12-ad64-c8f6711f108d":
5555
$ swctl trace ls --trace-id "321661b1-9a31-4e12-ad64-c8f6711f108d"
56+
57+
4. Query the monitored trace of id "321661b1-9a31-4e12-ad64-c8f6711f108d" from cold-stage storage:
58+
$ swctl trace ls --trace-id "321661b1-9a31-4e12-ad64-c8f6711f108d" --cold
5659
`,
5760
Flags: flags.Flags(
5861
flags.DurationFlags,
@@ -74,6 +77,11 @@ $ swctl trace ls --trace-id "321661b1-9a31-4e12-ad64-c8f6711f108d"
7477
Usage: "`order` of the returned traces, can be `duration` or `startTime`",
7578
Value: "duration",
7679
},
80+
&cli.BoolFlag{
81+
Name: "cold",
82+
Usage: "query trace from cold-stage storage, must be used with trace-id",
83+
Value: false,
84+
},
7785
},
7886
),
7987
Before: interceptor.BeforeChain(
@@ -96,6 +104,20 @@ $ swctl trace ls --trace-id "321661b1-9a31-4e12-ad64-c8f6711f108d"
96104
serviceInstanceID := ctx.String("instance-id")
97105
traceID := ctx.String("trace-id")
98106
tagStr := ctx.String("tags")
107+
cold := ctx.Bool("cold")
108+
109+
if cold && traceID == "" {
110+
return fmt.Errorf("cold storage must be queried with trace-id")
111+
}
112+
113+
if cold {
114+
trace, err := trace.ColdTrace(ctx.Context, duration, traceID)
115+
if err != nil {
116+
return err
117+
}
118+
return display.Display(ctx.Context, &displayable.Displayable{Data: trace})
119+
}
120+
99121
var tags []*api.SpanTag = nil
100122
if tagStr != "" {
101123
tagArr := strings.SplitSeq(tagStr, ",")

pkg/graphql/trace/trace.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,17 @@ func Trace(ctx context.Context, traceID string) (api.Trace, error) {
3939
return response["result"], err
4040
}
4141

42+
func ColdTrace(ctx context.Context, duration api.Duration, traceID string) (api.Trace, error) {
43+
var response map[string]api.Trace
44+
45+
request := graphql.NewRequest(assets.Read("graphqls/trace/ColdTrace.graphql"))
46+
request.Var("traceId", traceID)
47+
request.Var("duration", duration)
48+
err := client.ExecuteQuery(ctx, request, &response)
49+
50+
return response["result"], err
51+
}
52+
4253
func Traces(ctx context.Context, condition *api.TraceQueryCondition) (api.TraceBrief, error) {
4354
var response map[string]api.TraceBrief
4455

0 commit comments

Comments
 (0)