This is an automated email from the ASF dual-hosted git repository.

kezhenxu94 pushed a commit to branch codes
in repository https://gitbox.apache.org/repos/asf/skywalking-cli.git

commit f92967fa3ae904d3365c2dc84261fcd378e53b0d
Author: kezhenxu94 <[email protected]>
AuthorDate: Fri May 16 15:52:34 2025 +0800

    feat: bump up query protocol and add duration.codeStage
---
 go.mod                                             |  29 +++---
 go.sum                                             | 104 +++++++++------------
 internal/commands/alarm/autopleteKeys.go           |   8 +-
 internal/commands/alarm/autopleteValues.go         |   8 +-
 internal/commands/alarm/list.go                    |   8 +-
 internal/commands/browser/logs/list.go             |   8 +-
 internal/commands/browser/service/list.go          |   8 +-
 internal/commands/browser/version/list.go          |   8 +-
 internal/commands/dashboard/global/global.go       |   8 +-
 internal/commands/dashboard/global/metrics.go      |   8 +-
 internal/commands/dependency/endpoint.go           |   8 +-
 internal/commands/dependency/global.go             |   8 +-
 internal/commands/dependency/instance.go           |   8 +-
 internal/commands/dependency/process.go            |   8 +-
 internal/commands/dependency/service.go            |   8 +-
 internal/commands/endpoint/list.go                 |   8 +-
 internal/commands/event/list.go                    |   8 +-
 internal/commands/instance/list.go                 |   8 +-
 internal/commands/instance/search.go               |   8 +-
 internal/commands/logs/list.go                     |   8 +-
 .../metrics/aggregation/sorted-condition.go        |  16 ++--
 internal/commands/metrics/linear/linear-metrics.go |   8 +-
 .../metrics/linear/multiple-linear-metrics.go      |   8 +-
 .../commands/metrics/single/nullable-metrics.go    |   8 +-
 internal/commands/metrics/single/single-metrics.go |   8 +-
 .../metrics/thermodynamic/thermodynamic.go         |   8 +-
 internal/commands/process/list.go                  |   8 +-
 internal/commands/service/list.go                  |   8 +-
 internal/commands/trace/list.go                    |   8 +-
 internal/flags/duration.go                         |   5 +
 30 files changed, 201 insertions(+), 161 deletions(-)

diff --git a/go.mod b/go.mod
index 17ab9d7..f47e7ac 100644
--- a/go.mod
+++ b/go.mod
@@ -5,7 +5,7 @@ go 1.24
 require (
        github.com/apache/skywalking-swck/operator 
v0.0.0-20220815142653-ed08076b7433
        github.com/gizak/termui/v3 v3.1.0
-       github.com/google/uuid v1.3.0
+       github.com/google/uuid v1.6.0
        github.com/machinebox/graphql v0.2.2
        github.com/mattn/go-runewidth v0.0.9
        github.com/mum4k/termdash v0.12.1
@@ -13,12 +13,12 @@ require (
        github.com/sirupsen/logrus v1.8.1
        github.com/spf13/viper v1.7.0
        github.com/urfave/cli/v2 v2.3.0
-       golang.org/x/text v0.22.0
-       google.golang.org/grpc v1.56.3
+       golang.org/x/text v0.25.0
+       google.golang.org/grpc v1.72.0
        gopkg.in/yaml.v2 v2.4.0
        k8s.io/apimachinery v0.22.1
        sigs.k8s.io/controller-runtime v0.10.0
-       skywalking.apache.org/repo/goapi v0.0.0-20241231024338-a68ffc997f46
+       skywalking.apache.org/repo/goapi v0.0.0-20250516073621-c1d2fb980695
 )
 
 require (
@@ -27,17 +27,17 @@ require (
        github.com/Masterminds/semver/v3 v3.1.0 // indirect
        github.com/Masterminds/sprig/v3 v3.1.0 // indirect
        github.com/beorn7/perks v1.0.1 // indirect
-       github.com/cespare/xxhash/v2 v2.2.0 // indirect
+       github.com/cespare/xxhash/v2 v2.3.0 // indirect
        github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
        github.com/davecgh/go-spew v1.1.1 // indirect
        github.com/evanphx/json-patch v4.11.0+incompatible // indirect
        github.com/fsnotify/fsnotify v1.4.9 // indirect
        github.com/ghodss/yaml v1.0.0 // indirect
-       github.com/go-logr/logr v0.4.0 // indirect
+       github.com/go-logr/logr v1.4.2 // indirect
        github.com/gogo/protobuf v1.3.2 // indirect
        github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // 
indirect
-       github.com/golang/protobuf v1.5.3 // indirect
-       github.com/google/go-cmp v0.5.9 // indirect
+       github.com/golang/protobuf v1.5.4 // indirect
+       github.com/google/go-cmp v0.7.0 // indirect
        github.com/google/gofuzz v1.1.0 // indirect
        github.com/googleapis/gnostic v0.5.5 // indirect
        github.com/hashicorp/hcl v1.0.0 // indirect
@@ -66,16 +66,15 @@ require (
        github.com/spf13/jwalterweatherman v1.0.0 // indirect
        github.com/spf13/pflag v1.0.5 // indirect
        github.com/subosito/gotenv v1.2.0 // indirect
-       golang.org/x/crypto v0.35.0 // indirect
-       golang.org/x/net v0.21.0 // indirect
-       golang.org/x/oauth2 v0.7.0 // indirect
-       golang.org/x/sys v0.30.0 // indirect
-       golang.org/x/term v0.29.0 // indirect
+       golang.org/x/crypto v0.38.0 // indirect
+       golang.org/x/net v0.40.0 // indirect
+       golang.org/x/oauth2 v0.26.0 // indirect
+       golang.org/x/sys v0.33.0 // indirect
+       golang.org/x/term v0.32.0 // indirect
        golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect
        gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
-       google.golang.org/appengine v1.6.7 // indirect
        google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // 
indirect
-       google.golang.org/protobuf v1.32.0 // indirect
+       google.golang.org/protobuf v1.36.6 // indirect
        gopkg.in/inf.v0 v0.9.1 // indirect
        gopkg.in/ini.v1 v1.51.0 // indirect
        gopkg.in/yaml.v3 v3.0.0 // indirect
diff --git a/go.sum b/go.sum
index 44b63b4..54aca4f 100644
--- a/go.sum
+++ b/go.sum
@@ -73,15 +73,14 @@ github.com/certifi/gocertifi 
v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6
 github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod 
h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
 github.com/cespare/xxhash v1.1.0/go.mod 
h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
 github.com/cespare/xxhash/v2 v2.1.1/go.mod 
h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
-github.com/cespare/xxhash/v2 v2.2.0 
h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
-github.com/cespare/xxhash/v2 v2.2.0/go.mod 
h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/cespare/xxhash/v2 v2.3.0 
h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
+github.com/cespare/xxhash/v2 v2.3.0/go.mod 
h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
 github.com/chzyer/logex v1.1.10/go.mod 
h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
 github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod 
h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
 github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod 
h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
 github.com/client9/misspell v0.3.4/go.mod 
h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
 github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod 
h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
 github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod 
h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
-github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod 
h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod 
h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo=
 github.com/cockroachdb/errors v1.2.4/go.mod 
h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA=
 github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod 
h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI=
@@ -112,7 +111,6 @@ github.com/envoyproxy/go-control-plane 
v0.9.1-0.20191026205805-5f8ba28d4473/go.m
 github.com/envoyproxy/go-control-plane v0.9.4/go.mod 
h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
 github.com/envoyproxy/go-control-plane 
v0.9.9-0.20201210154907-fd9021fe5dad/go.mod 
h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
 github.com/envoyproxy/go-control-plane 
v0.9.9-0.20210217033140-668b12f5399d/go.mod 
h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
-github.com/envoyproxy/go-control-plane 
v0.9.9-0.20210512163311-63b5d3c536b0/go.mod 
h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
 github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod 
h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
 github.com/evanphx/json-patch v0.5.2/go.mod 
h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ=
 github.com/evanphx/json-patch v4.11.0+incompatible 
h1:glyUF9yIYtMHzn8xaKw5rMhdWcwsYV8dZHIq5567/xs=
@@ -142,8 +140,11 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod 
h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V
 github.com/go-logfmt/logfmt v0.5.0/go.mod 
h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
 github.com/go-logr/logr v0.1.0/go.mod 
h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
 github.com/go-logr/logr v0.2.0/go.mod 
h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
-github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc=
 github.com/go-logr/logr v0.4.0/go.mod 
h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
+github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
+github.com/go-logr/logr v1.4.2/go.mod 
h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
+github.com/go-logr/stdr v1.2.2/go.mod 
h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
 github.com/go-logr/zapr v0.4.0 h1:uc1uML3hRYL9/ZZPdgHS/n8Nzo+eaYL/Efxkkamf7OM=
 github.com/go-logr/zapr v0.4.0/go.mod 
h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk=
 github.com/go-openapi/jsonpointer v0.19.3/go.mod 
h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
@@ -188,8 +189,8 @@ github.com/golang/protobuf v1.4.3/go.mod 
h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw
 github.com/golang/protobuf v1.5.0/go.mod 
h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
 github.com/golang/protobuf v1.5.1/go.mod 
h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
 github.com/golang/protobuf v1.5.2/go.mod 
h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
-github.com/golang/protobuf v1.5.3 
h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
-github.com/golang/protobuf v1.5.3/go.mod 
h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/protobuf v1.5.4 
h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
+github.com/golang/protobuf v1.5.4/go.mod 
h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
 github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod 
h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 github.com/google/btree v1.0.0/go.mod 
h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 github.com/google/btree v1.0.1/go.mod 
h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
@@ -200,9 +201,8 @@ github.com/google/go-cmp v0.4.0/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
 github.com/google/go-cmp v0.5.0/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.4/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
 github.com/google/go-cmp v0.5.5/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.6/go.mod 
h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
-github.com/google/go-cmp v0.5.9/go.mod 
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
+github.com/google/go-cmp v0.7.0/go.mod 
h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
 github.com/google/gofuzz v1.0.0/go.mod 
h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
 github.com/google/gofuzz v1.1.0/go.mod 
h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -215,8 +215,8 @@ github.com/google/pprof 
v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hf
 github.com/google/renameio v0.1.0/go.mod 
h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
 github.com/google/uuid v1.1.1/go.mod 
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/google/uuid v1.1.2/go.mod 
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
-github.com/google/uuid v1.3.0/go.mod 
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
+github.com/google/uuid v1.6.0/go.mod 
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googleapis/gax-go/v2 v2.0.4/go.mod 
h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
 github.com/googleapis/gax-go/v2 v2.0.5/go.mod 
h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
 github.com/googleapis/gnostic v0.5.1/go.mod 
h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU=
@@ -460,7 +460,6 @@ github.com/xiang90/probing 
v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q
 github.com/yuin/goldmark v1.1.27/go.mod 
h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.2.1/go.mod 
h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.3.5/go.mod 
h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
-github.com/yuin/goldmark v1.4.13/go.mod 
h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
 go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
 go.etcd.io/etcd/api/v3 v3.5.0/go.mod 
h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
@@ -474,17 +473,29 @@ go.opencensus.io v0.21.0/go.mod 
h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
 go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
 go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
 go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opentelemetry.io/auto/sdk v1.1.0 
h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
+go.opentelemetry.io/auto/sdk v1.1.0/go.mod 
h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
 go.opentelemetry.io/contrib v0.20.0/go.mod 
h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc=
 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc 
v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E=
 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod 
h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4=
 go.opentelemetry.io/otel v0.20.0/go.mod 
h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo=
+go.opentelemetry.io/otel v1.34.0 
h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY=
+go.opentelemetry.io/otel v1.34.0/go.mod 
h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI=
 go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod 
h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM=
 go.opentelemetry.io/otel/metric v0.20.0/go.mod 
h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU=
+go.opentelemetry.io/otel/metric v1.34.0 
h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ=
+go.opentelemetry.io/otel/metric v1.34.0/go.mod 
h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE=
 go.opentelemetry.io/otel/oteltest v0.20.0/go.mod 
h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw=
 go.opentelemetry.io/otel/sdk v0.20.0/go.mod 
h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc=
+go.opentelemetry.io/otel/sdk v1.34.0 
h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A=
+go.opentelemetry.io/otel/sdk v1.34.0/go.mod 
h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU=
 go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod 
h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE=
 go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod 
h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE=
+go.opentelemetry.io/otel/sdk/metric v1.34.0 
h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk=
+go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod 
h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w=
 go.opentelemetry.io/otel/trace v0.20.0/go.mod 
h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw=
+go.opentelemetry.io/otel/trace v1.34.0 
h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k=
+go.opentelemetry.io/otel/trace v1.34.0/go.mod 
h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE=
 go.opentelemetry.io/proto/otlp v0.7.0/go.mod 
h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
 go.uber.org/atomic v1.4.0/go.mod 
h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
 go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
@@ -508,10 +519,8 @@ golang.org/x/crypto 
v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPh
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod 
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod 
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod 
h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
-golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod 
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.18.0/go.mod 
h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
-golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
-golang.org/x/crypto v0.35.0/go.mod 
h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
+golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
+golang.org/x/crypto v0.38.0/go.mod 
h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
 golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod 
h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -545,8 +554,6 @@ golang.org/x/mod 
v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB
 golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
-golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -577,23 +584,18 @@ golang.org/x/net 
v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R
 golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod 
h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod 
h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod 
h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod 
h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod 
h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod 
h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
 golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
-golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
-golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
-golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
-golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
+golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
+golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod 
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod 
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod 
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
 golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod 
h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g=
-golang.org/x/oauth2 v0.7.0/go.mod 
h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4=
+golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE=
+golang.org/x/oauth2 v0.26.0/go.mod 
h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -603,8 +605,6 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod 
h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -651,25 +651,15 @@ golang.org/x/sys 
v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20210817190340-bfb29a6856f2/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
-golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
+golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
 golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod 
h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
-golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
-golang.org/x/term v0.16.0/go.mod 
h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
-golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
-golang.org/x/term v0.29.0/go.mod 
h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
+golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
+golang.org/x/term v0.32.0/go.mod 
h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
 golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod 
h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod 
h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -677,12 +667,8 @@ golang.org/x/text v0.3.2/go.mod 
h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
-golang.org/x/text v0.14.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
-golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
-golang.org/x/text v0.22.0/go.mod 
h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
+golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
+golang.org/x/text v0.25.0/go.mod 
h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
 golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod 
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod 
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
 golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod 
h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -730,9 +716,6 @@ golang.org/x/tools 
v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
 golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod 
h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod 
h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 golang.org/x/tools v0.1.2/go.mod 
h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.1.3/go.mod 
h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.1.12/go.mod 
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.6.0/go.mod 
h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
 golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d 
h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
 golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod 
h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -756,7 +739,6 @@ google.golang.org/appengine v1.4.0/go.mod 
h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7
 google.golang.org/appengine v1.5.0/go.mod 
h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/appengine v1.6.1/go.mod 
h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
 google.golang.org/appengine v1.6.5/go.mod 
h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/appengine v1.6.7 
h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
 google.golang.org/appengine v1.6.7/go.mod 
h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod 
h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
 google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod 
h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -781,7 +763,6 @@ google.golang.org/genproto 
v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfG
 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod 
h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
 google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod 
h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
 google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod 
h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
-google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod 
h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
 google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 
h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
 google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod 
h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
 google.golang.org/grpc v1.19.0/go.mod 
h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
@@ -797,9 +778,8 @@ google.golang.org/grpc v1.33.1/go.mod 
h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp
 google.golang.org/grpc v1.36.0/go.mod 
h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
 google.golang.org/grpc v1.37.0/go.mod 
h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
 google.golang.org/grpc v1.38.0/go.mod 
h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
-google.golang.org/grpc v1.40.0/go.mod 
h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
-google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc=
-google.golang.org/grpc v1.56.3/go.mod 
h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
+google.golang.org/grpc v1.72.0 h1:S7UkcVa60b5AAQTaO6ZKamFp1zMZSU0fGDK2WZLbBnM=
+google.golang.org/grpc v1.72.0/go.mod 
h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod 
h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod 
h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
 google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod 
h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -812,8 +792,8 @@ google.golang.org/protobuf v1.24.0/go.mod 
h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj
 google.golang.org/protobuf v1.25.0/go.mod 
h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
 google.golang.org/protobuf v1.26.0-rc.1/go.mod 
h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.26.0/go.mod 
h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.32.0 
h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
-google.golang.org/protobuf v1.32.0/go.mod 
h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+google.golang.org/protobuf v1.36.6 
h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
+google.golang.org/protobuf v1.36.6/go.mod 
h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
 gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod 
h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -888,5 +868,5 @@ sigs.k8s.io/structured-merge-diff/v4 v4.1.2 
h1:Hr/htKFmJEbtMgS/UD0N+gtgctAqz81t3
 sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod 
h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4=
 sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
 sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
-skywalking.apache.org/repo/goapi v0.0.0-20241231024338-a68ffc997f46 
h1:Lb9cumKH17PWZSs6BKT91dbwJAl1jCvYO7EQMM9yFTw=
-skywalking.apache.org/repo/goapi v0.0.0-20241231024338-a68ffc997f46/go.mod 
h1:+n8BMuS8eRdzdnGh15ElRGBXPi0eYZSs2TKySBDmRTE=
+skywalking.apache.org/repo/goapi v0.0.0-20250516073621-c1d2fb980695 
h1:ED9fRO1rV5K3Kr5HQa1pQ87/xtXBmjYvT1EQfQ1VV3Y=
+skywalking.apache.org/repo/goapi v0.0.0-20250516073621-c1d2fb980695/go.mod 
h1:rTNGn2QrS+p1i2OaIBxlwQ/VrDSDc7OwRk/iWV+mU0k=
diff --git a/internal/commands/alarm/autopleteKeys.go 
b/internal/commands/alarm/autopleteKeys.go
index 44f8777..3824450 100644
--- a/internal/commands/alarm/autopleteKeys.go
+++ b/internal/commands/alarm/autopleteKeys.go
@@ -50,11 +50,13 @@ $ swctl alarm autocomplete-keys
                start := ctx.String("start")
                end := ctx.String("end")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                autocompleteKeys, err := alarm.TagAutocompleteKeys(ctx.Context, 
duration)
diff --git a/internal/commands/alarm/autopleteValues.go 
b/internal/commands/alarm/autopleteValues.go
index 583d0bf..aa3d4d8 100644
--- a/internal/commands/alarm/autopleteValues.go
+++ b/internal/commands/alarm/autopleteValues.go
@@ -57,13 +57,15 @@ $ swctl alarm autocomplete-values --key=tagKey
                start := ctx.String("start")
                end := ctx.String("end")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                tagKey := ctx.String("key")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                autocompleteValues, err := 
alarm.TagAutocompleteValues(ctx.Context, duration, tagKey)
diff --git a/internal/commands/alarm/list.go b/internal/commands/alarm/list.go
index 03682b7..beae908 100644
--- a/internal/commands/alarm/list.go
+++ b/internal/commands/alarm/list.go
@@ -76,15 +76,17 @@ $ swctl alarm list
                start := ctx.String("start")
                end := ctx.String("end")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                keyword := ctx.String("keyword")
                tagStr := ctx.String("tags")
                scope := ctx.Generic("scope").(*model.ScopeEnumValue).Selected
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                var tags []*api.AlarmTag
diff --git a/internal/commands/browser/logs/list.go 
b/internal/commands/browser/logs/list.go
index 9989b9a..c7e4be3 100644
--- a/internal/commands/browser/logs/list.go
+++ b/internal/commands/browser/logs/list.go
@@ -55,11 +55,13 @@ $ swctl browser logs list`,
                start := ctx.String("start")
                end := ctx.String("end")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                serviceID := ctx.String("service-id")
diff --git a/internal/commands/browser/service/list.go 
b/internal/commands/browser/service/list.go
index d676c36..9ecf6b5 100644
--- a/internal/commands/browser/service/list.go
+++ b/internal/commands/browser/service/list.go
@@ -51,15 +51,17 @@ $ swctl browser svc ls test-ui`,
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                var services []api.Service
                var err error
 
                if args := ctx.Args(); args.Len() == 0 {
                        services, err = 
metadata.AllBrowserServices(ctx.Context, api.Duration{
-                               Start: start,
-                               End:   end,
-                               Step:  step.(*model.StepEnumValue).Selected,
+                               Start:     start,
+                               End:       end,
+                               Step:      step.(*model.StepEnumValue).Selected,
+                               ColdStage: &coldStage,
                        })
                        if err != nil {
                                return err
diff --git a/internal/commands/browser/version/list.go 
b/internal/commands/browser/version/list.go
index aa47ae0..a5d535d 100644
--- a/internal/commands/browser/version/list.go
+++ b/internal/commands/browser/version/list.go
@@ -54,12 +54,14 @@ $ swctl browser version ls --service-id dGVzdC11aQ==.1`,
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
                serviceID := ctx.String("service-id")
 
                instances, err := metadata.Instances(ctx.Context, serviceID, 
api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                })
                if err != nil {
                        return err
diff --git a/internal/commands/dashboard/global/global.go 
b/internal/commands/dashboard/global/global.go
index 4e941d0..74f61a7 100644
--- a/internal/commands/dashboard/global/global.go
+++ b/internal/commands/dashboard/global/global.go
@@ -77,11 +77,13 @@ $ swctl dashboard global --template my-global-template.yml
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                globalData, err := dashboard.Global(ctx.Context, api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                })
                if err != nil {
                        return err
diff --git a/internal/commands/dashboard/global/metrics.go 
b/internal/commands/dashboard/global/metrics.go
index 7653c54..e70015a 100644
--- a/internal/commands/dashboard/global/metrics.go
+++ b/internal/commands/dashboard/global/metrics.go
@@ -54,15 +54,17 @@ var Metrics = &cli.Command{
                end := cliCtx.String("end")
                start := cliCtx.String("start")
                step := cliCtx.Generic("step")
+               coldStage := cliCtx.Bool("cold")
 
                ctx := cliCtx.Context
                ctx = context.WithValue(ctx, contextkey.DashboardTemplate{}, 
cliCtx.String("template"))
                cliCtx.Context = ctx
 
                globalMetrics, err := dashboard.Metrics(cliCtx.Context, 
api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                })
                if err != nil {
                        return err
diff --git a/internal/commands/dependency/endpoint.go 
b/internal/commands/dependency/endpoint.go
index 9203996..779e97d 100644
--- a/internal/commands/dependency/endpoint.go
+++ b/internal/commands/dependency/endpoint.go
@@ -50,11 +50,13 @@ var EndpointCommand = &cli.Command{
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                dependency, err := dependency.EndpointDependency(ctx.Context, 
endpointID, duration)
diff --git a/internal/commands/dependency/global.go 
b/internal/commands/dependency/global.go
index ae1d240..02260a4 100644
--- a/internal/commands/dependency/global.go
+++ b/internal/commands/dependency/global.go
@@ -55,11 +55,13 @@ var GlobalCommand = &cli.Command{
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                major, _, err := metadata.BackendVersion(ctx.Context)
diff --git a/internal/commands/dependency/instance.go 
b/internal/commands/dependency/instance.go
index f17d1e9..05a9e30 100644
--- a/internal/commands/dependency/instance.go
+++ b/internal/commands/dependency/instance.go
@@ -52,11 +52,13 @@ var InstanceCommand = &cli.Command{
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                dependency, err := dependency.InstanceTopology(ctx.Context, 
srcSvcID, dstSvcID, duration)
diff --git a/internal/commands/dependency/process.go 
b/internal/commands/dependency/process.go
index fc2a21e..71b82de 100644
--- a/internal/commands/dependency/process.go
+++ b/internal/commands/dependency/process.go
@@ -50,11 +50,13 @@ var ProcessCommand = &cli.Command{
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                dependency, err := dependency.ProcessTopology(ctx.Context, 
instanceID, duration)
diff --git a/internal/commands/dependency/service.go 
b/internal/commands/dependency/service.go
index 1823162..5ed7889 100644
--- a/internal/commands/dependency/service.go
+++ b/internal/commands/dependency/service.go
@@ -50,11 +50,13 @@ var ServiceCommand = &cli.Command{
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                dependency, err := dependency.ServiceTopology(ctx.Context, 
serviceID, duration)
diff --git a/internal/commands/endpoint/list.go 
b/internal/commands/endpoint/list.go
index a24344a..41e2101 100644
--- a/internal/commands/endpoint/list.go
+++ b/internal/commands/endpoint/list.go
@@ -83,10 +83,12 @@ $ swctl endpoint ls --service-name business-zone::projectC 
--keyword projectC`,
                        end := ctx.String("end")
                        start := ctx.String("start")
                        step := ctx.Generic("step")
+                       coldStage := ctx.Bool("cold")
                        duration = &api.Duration{
-                               Start: start,
-                               End:   end,
-                               Step:  step.(*model.StepEnumValue).Selected,
+                               Start:     start,
+                               End:       end,
+                               Step:      step.(*model.StepEnumValue).Selected,
+                               ColdStage: &coldStage,
                        }
                }
 
diff --git a/internal/commands/event/list.go b/internal/commands/event/list.go
index c0dd5a5..7446f9a 100644
--- a/internal/commands/event/list.go
+++ b/internal/commands/event/list.go
@@ -89,11 +89,13 @@ $ swctl event list
                start := ctx.String("start")
                end := ctx.String("end")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
                serviceName := ctx.String("service-name")
                serviceInstanceName := ctx.String("instance-name")
diff --git a/internal/commands/instance/list.go 
b/internal/commands/instance/list.go
index 13f304e..abc3df9 100644
--- a/internal/commands/instance/list.go
+++ b/internal/commands/instance/list.go
@@ -54,12 +54,14 @@ $ swctl instance ls --service-id 
YnVzaW5lc3Mtem9uZTo6cHJvamVjdEM=.1`,
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
                serviceID := ctx.String("service-id")
 
                instances, err := metadata.Instances(ctx.Context, serviceID, 
api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                })
                if err != nil {
                        return err
diff --git a/internal/commands/instance/search.go 
b/internal/commands/instance/search.go
index 3064021..6d8e5c7 100644
--- a/internal/commands/instance/search.go
+++ b/internal/commands/instance/search.go
@@ -49,12 +49,14 @@ var SearchCommand = &cli.Command{
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
                regex := ctx.String("regex")
 
                instances, err := metadata.Instances(ctx.Context, serviceID, 
api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                })
                if err != nil {
                        return err
diff --git a/internal/commands/logs/list.go b/internal/commands/logs/list.go
index 4f6c42c..b5dd12e 100644
--- a/internal/commands/logs/list.go
+++ b/internal/commands/logs/list.go
@@ -72,11 +72,13 @@ $ swctl logs list --trace-id 
3d56f33f-bcd3-4e40-9e4f-5dc547998ef5`,
                start := ctx.String("start")
                end := ctx.String("end")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
                serviceID := ctx.String("service-id")
                serviceInstanceID := ctx.String("instance-id")
diff --git a/internal/commands/metrics/aggregation/sorted-condition.go 
b/internal/commands/metrics/aggregation/sorted-condition.go
index 9efeb00..9b7f546 100644
--- a/internal/commands/metrics/aggregation/sorted-condition.go
+++ b/internal/commands/metrics/aggregation/sorted-condition.go
@@ -35,6 +35,7 @@ func buildSortedCondition(ctx *cli.Context, parseScope bool) 
(*api.TopNCondition
        start := ctx.String("start")
        end := ctx.String("end")
        step := ctx.Generic("step").(*model.StepEnumValue).Selected
+       coldStage := ctx.Bool("cold")
 
        metricsName := ctx.String("name")
        var scope *api.Scope
@@ -66,9 +67,10 @@ func buildSortedCondition(ctx *cli.Context, parseScope bool) 
(*api.TopNCondition
                        TopN:          topN,
                        Order:         order,
                }, &api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step,
+                       Start:     start,
+                       End:       end,
+                       Step:      step,
+                       ColdStage: &coldStage,
                }, nil
 }
 
@@ -76,6 +78,7 @@ func buildReadRecordsCondition(ctx *cli.Context) 
(*api.RecordCondition, *api.Dur
        start := ctx.String("start")
        end := ctx.String("end")
        step := ctx.Generic("step").(*model.StepEnumValue).Selected
+       coldStage := ctx.Bool("cold")
 
        metricsName := ctx.String("name")
        order := ctx.Generic("order").(*model.OrderEnumValue).Selected
@@ -99,8 +102,9 @@ func buildReadRecordsCondition(ctx *cli.Context) 
(*api.RecordCondition, *api.Dur
                        TopN:         topN,
                        Order:        order,
                }, &api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step,
+                       Start:     start,
+                       End:       end,
+                       Step:      step,
+                       ColdStage: &coldStage,
                }, nil
 }
diff --git a/internal/commands/metrics/linear/linear-metrics.go 
b/internal/commands/metrics/linear/linear-metrics.go
index 359866e..f6d79e4 100644
--- a/internal/commands/metrics/linear/linear-metrics.go
+++ b/internal/commands/metrics/linear/linear-metrics.go
@@ -64,6 +64,7 @@ $ swctl metrics linear --name=service_relation_client_cpm 
--service-name consume
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                metricsName := ctx.String("name")
                entity, err := interceptor.ParseEntity(ctx)
@@ -72,9 +73,10 @@ $ swctl metrics linear --name=service_relation_client_cpm 
--service-name consume
                }
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                metricsValues, err := metrics.LinearIntValues(ctx.Context, 
api.MetricsCondition{
diff --git a/internal/commands/metrics/linear/multiple-linear-metrics.go 
b/internal/commands/metrics/linear/multiple-linear-metrics.go
index 966af2b..a99d6a3 100644
--- a/internal/commands/metrics/linear/multiple-linear-metrics.go
+++ b/internal/commands/metrics/linear/multiple-linear-metrics.go
@@ -78,6 +78,7 @@ $ swctl metrics multiple-linear --name all_percentile 
--labels=0,1,2,3,4 --relab
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                metricsName := ctx.String("name")
                labelsString := ctx.String("labels")
@@ -108,9 +109,10 @@ $ swctl metrics multiple-linear --name all_percentile 
--labels=0,1,2,3,4 --relab
                }
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                metricsValuesArray, err := 
metrics.MultipleLinearIntValues(ctx.Context, api.MetricsCondition{
diff --git a/internal/commands/metrics/single/nullable-metrics.go 
b/internal/commands/metrics/single/nullable-metrics.go
index 6d74ef3..25b9ab3 100644
--- a/internal/commands/metrics/single/nullable-metrics.go
+++ b/internal/commands/metrics/single/nullable-metrics.go
@@ -58,6 +58,7 @@ $ swctl metrics nullable --name endpoint_cpm --service-name 
business-zone::proje
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                metricsName := ctx.String("name")
                entity, err := interceptor.ParseEntity(ctx)
@@ -66,9 +67,10 @@ $ swctl metrics nullable --name endpoint_cpm --service-name 
business-zone::proje
                }
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                metricsValue, err := metrics.NullableIntValue(ctx.Context, 
api.MetricsCondition{
diff --git a/internal/commands/metrics/single/single-metrics.go 
b/internal/commands/metrics/single/single-metrics.go
index 3650cca..f9d3e49 100644
--- a/internal/commands/metrics/single/single-metrics.go
+++ b/internal/commands/metrics/single/single-metrics.go
@@ -58,6 +58,7 @@ $ swctl metrics single --name endpoint_cpm --service-name 
business-zone::project
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                metricsName := ctx.String("name")
                entity, err := interceptor.ParseEntity(ctx)
@@ -66,9 +67,10 @@ $ swctl metrics single --name endpoint_cpm --service-name 
business-zone::project
                }
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                metricsValue, err := metrics.IntValues(ctx.Context, 
api.MetricsCondition{
diff --git a/internal/commands/metrics/thermodynamic/thermodynamic.go 
b/internal/commands/metrics/thermodynamic/thermodynamic.go
index b01b550..d6480db 100644
--- a/internal/commands/metrics/thermodynamic/thermodynamic.go
+++ b/internal/commands/metrics/thermodynamic/thermodynamic.go
@@ -57,6 +57,7 @@ $ swctl metrics thermodynamic --scope all --name all_heatmap
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                metricsName := ctx.String("name")
                entity, err := interceptor.ParseEntity(ctx)
@@ -65,9 +66,10 @@ $ swctl metrics thermodynamic --scope all --name all_heatmap
                }
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
 
                metricsValues, err := metrics.Thermodynamic(ctx.Context, 
api.MetricsCondition{
diff --git a/internal/commands/process/list.go 
b/internal/commands/process/list.go
index 866118e..43c0d25 100644
--- a/internal/commands/process/list.go
+++ b/internal/commands/process/list.go
@@ -56,11 +56,13 @@ $ swctl process ls --instance-id 
cHJvdmlkZXI=.1_cHJvdmlkZXIx`,
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                processes, err := metadata.Processes(ctx.Context, instanceID, 
api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                })
                if err != nil {
                        return err
diff --git a/internal/commands/service/list.go 
b/internal/commands/service/list.go
index 4c3caf0..86dc263 100644
--- a/internal/commands/service/list.go
+++ b/internal/commands/service/list.go
@@ -52,15 +52,17 @@ $ swctl svc ls projectC`,
                end := ctx.String("end")
                start := ctx.String("start")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                var services []api.Service
                var err error
 
                if args := ctx.Args(); args.Len() == 0 {
                        services, err = metadata.AllServices(ctx.Context, 
api.Duration{
-                               Start: start,
-                               End:   end,
-                               Step:  step.(*model.StepEnumValue).Selected,
+                               Start:     start,
+                               End:       end,
+                               Step:      step.(*model.StepEnumValue).Selected,
+                               ColdStage: &coldStage,
                        })
                        if err != nil {
                                return err
diff --git a/internal/commands/trace/list.go b/internal/commands/trace/list.go
index ec4a4ec..5cc9cf0 100644
--- a/internal/commands/trace/list.go
+++ b/internal/commands/trace/list.go
@@ -93,11 +93,13 @@ $ swctl trace ls --trace-id 
"321661b1-9a31-4e12-ad64-c8f6711f108d" --cold
                start := ctx.String("start")
                end := ctx.String("end")
                step := ctx.Generic("step")
+               coldStage := ctx.Bool("cold")
 
                duration := api.Duration{
-                       Start: start,
-                       End:   end,
-                       Step:  step.(*model.StepEnumValue).Selected,
+                       Start:     start,
+                       End:       end,
+                       Step:      step.(*model.StepEnumValue).Selected,
+                       ColdStage: &coldStage,
                }
                serviceID := ctx.String("service-id")
                endpointID := ctx.String("endpoint-id")
diff --git a/internal/flags/duration.go b/internal/flags/duration.go
index 1e3793a..dcb32fb 100644
--- a/internal/flags/duration.go
+++ b/internal/flags/duration.go
@@ -72,6 +72,11 @@ var DurationFlags = []cli.Flag{
                        Selected: api.StepMinute,
                },
        },
+       &cli.BoolFlag{
+               Name:  "cold",
+               Usage: "query from cold-stage storage",
+               Value: false,
+       },
        &cli.StringFlag{
                Name:   "duration-type",
                Usage:  "the type of duration",

Reply via email to