Skip to content

Commit 614130f

Browse files
feat(telemetry): add disk I/O instrumentation utility (cosmos#25745)
2 parents ec6bc9b + c10bcb4 commit 614130f

File tree

17 files changed

+773
-134
lines changed

17 files changed

+773
-134
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
6464
* (gRPC) [#25565](https://github.com/cosmos/cosmos-sdk/pull/25565) Support for multi gRPC query clients serve with historical binaries to serve proper historical state.
6565
* (blockstm) [#25600](https://github.com/cosmos/cosmos-sdk/pull/25600) Allow dynamic retrieval of the coin denomination from multi store at runtime.
6666
* [#25516](https://github.com/cosmos/cosmos-sdk/pull/25516) Support automatic configuration of OpenTelemetry via [OpenTelemetry declarative configuration](https://pkg.go.dev/go.opentelemetry.io/contrib/otelconf) and add OpenTelemetry instrumentation of `BaseApp`.
67+
* [#25745](https://github.com/cosmos/cosmos-sdk/pull/25745) Add DiskIO telemetry via gopsutil.
6768

6869
### Improvements
6970

client/v2/go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ github.com/btcsuite/btcd/btcec/v2 v2.3.5 h1:dpAlnAwmT1yIBm3exhT1/8iUSD98RDJM5vqJ
7575
github.com/btcsuite/btcd/btcec/v2 v2.3.5/go.mod h1:m22FrOAiuxl/tht9wIqAoGHcbnCCaPWyauO8y2LGGtQ=
7676
github.com/btcsuite/btcd/btcutil v1.1.6 h1:zFL2+c3Lb9gEgqKNzowKUPQNb8jV7v5Oaodi/AYFd6c=
7777
github.com/btcsuite/btcd/btcutil v1.1.6/go.mod h1:9dFymx8HpuLqBnsPELrImQeTQfKBQqzqGbbV3jK55aE=
78+
github.com/bufbuild/protocompile v0.14.1 h1:iA73zAf/fyljNjQKwYzUHD6AD4R8KMasmwa/FBatYVw=
79+
github.com/bufbuild/protocompile v0.14.1/go.mod h1:ppVdAIhbr2H8asPk6k4pY7t9zB1OU5DoEw9xY/FUi1c=
7880
github.com/bytedance/gopkg v0.1.3 h1:TPBSwH8RsouGCBcMBktLt1AymVo2TVsBVCY4b6TnZ/M=
7981
github.com/bytedance/gopkg v0.1.3/go.mod h1:576VvJ+eJgyCzdjS+c4+77QF3p7ubbtiKARP3TxducM=
8082
github.com/bytedance/sonic v1.14.2 h1:k1twIoe97C1DtYUo+fZQy865IuHia4PR5RPiuGPPIIE=
@@ -419,10 +421,8 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt
419421
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
420422
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
421423
github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
422-
github.com/jhump/protoreflect v1.18.0 h1:TOz0MSR/0JOZ5kECB/0ufGnC2jdsgZ123Rd/k4Z5/2w=
423-
github.com/jhump/protoreflect v1.18.0/go.mod h1:ezWcltJIVF4zYdIFM+D/sHV4Oh5LNU08ORzCGfwvTz8=
424-
github.com/jhump/protoreflect/v2 v2.0.0-beta.1 h1:Dw1rslK/VotaUGYsv53XVWITr+5RCPXfvvlGrM/+B6w=
425-
github.com/jhump/protoreflect/v2 v2.0.0-beta.1/go.mod h1:D9LBEowZyv8/iSu97FU2zmXG3JxVTmNw21mu63niFzU=
424+
github.com/jhump/protoreflect v1.17.0 h1:qOEr613fac2lOuTgWN4tPAtLL7fUSbuJL5X5XumQh94=
425+
github.com/jhump/protoreflect v1.17.0/go.mod h1:h9+vUUL38jiBzck8ck+6G/aeMX8Z4QUY/NiJPwPNi+8=
426426
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
427427
github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U=
428428
github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ=

go.mod

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ require (
1212
cosmossdk.io/math v1.5.3
1313
cosmossdk.io/store v1.3.0-beta.0
1414
cosmossdk.io/x/tx v0.14.0
15-
github.com/99designs/keyring v1.2.2
15+
github.com/99designs/keyring v1.2.1
1616
github.com/bgentry/speakeasy v0.2.0
1717
github.com/bits-and-blooms/bitset v1.24.4
1818
github.com/chzyer/readline v1.5.1
@@ -41,14 +41,15 @@ require (
4141
github.com/hdevalence/ed25519consensus v0.2.0
4242
github.com/huandu/skiplist v1.2.1
4343
github.com/improbable-eng/grpc-web v0.15.0
44-
github.com/jhump/protoreflect v1.18.0
44+
github.com/jhump/protoreflect v1.17.0
4545
github.com/magiconair/properties v1.8.10
4646
github.com/manifoldco/promptui v0.9.0
4747
github.com/mattn/go-isatty v0.0.20
4848
github.com/mdp/qrterminal/v3 v3.2.1
4949
github.com/prometheus/client_golang v1.23.2
5050
github.com/prometheus/common v0.67.5
5151
github.com/rs/zerolog v1.34.0
52+
github.com/shirou/gopsutil/v4 v4.25.11
5253
github.com/spf13/cast v1.10.0
5354
github.com/spf13/cobra v1.10.2
5455
github.com/spf13/pflag v1.0.10
@@ -71,7 +72,7 @@ require (
7172
go.yaml.in/yaml/v3 v3.0.4
7273
golang.org/x/crypto v0.47.0
7374
golang.org/x/sync v0.19.0
74-
google.golang.org/genproto/googleapis/api v0.0.0-20260114163908-3f89685c29c3
75+
google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217
7576
google.golang.org/grpc v1.78.0
7677
google.golang.org/protobuf v1.36.11
7778
gotest.tools/v3 v3.5.2
@@ -86,7 +87,7 @@ require (
8687
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
8788
cloud.google.com/go/compute/metadata v0.9.0 // indirect
8889
cloud.google.com/go/iam v1.5.3 // indirect
89-
cloud.google.com/go/monitoring v1.24.3 // indirect
90+
cloud.google.com/go/monitoring v1.24.2 // indirect
9091
cloud.google.com/go/storage v1.58.0 // indirect
9192
cosmossdk.io/schema v1.1.0 // indirect
9293
filippo.io/edwards25519 v1.1.0 // indirect
@@ -96,44 +97,45 @@ require (
9697
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0 // indirect
9798
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.54.0 // indirect
9899
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.54.0 // indirect
99-
github.com/aws/aws-sdk-go-v2 v1.41.1 // indirect
100+
github.com/aws/aws-sdk-go-v2 v1.41.0 // indirect
100101
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.4 // indirect
101-
github.com/aws/aws-sdk-go-v2/config v1.32.7 // indirect
102-
github.com/aws/aws-sdk-go-v2/credentials v1.19.7 // indirect
103-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.17 // indirect
104-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.17 // indirect
105-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.17 // indirect
102+
github.com/aws/aws-sdk-go-v2/config v1.32.6 // indirect
103+
github.com/aws/aws-sdk-go-v2/credentials v1.19.6 // indirect
104+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.16 // indirect
105+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.16 // indirect
106+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.16 // indirect
106107
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect
107-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.17 // indirect
108+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.16 // indirect
108109
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.4 // indirect
109-
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.8 // indirect
110-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.17 // indirect
111-
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.17 // indirect
112-
github.com/aws/aws-sdk-go-v2/service/s3 v1.95.1 // indirect
113-
github.com/aws/aws-sdk-go-v2/service/signin v1.0.5 // indirect
114-
github.com/aws/aws-sdk-go-v2/service/sso v1.30.9 // indirect
115-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.13 // indirect
116-
github.com/aws/aws-sdk-go-v2/service/sts v1.41.6 // indirect
110+
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.7 // indirect
111+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.16 // indirect
112+
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.16 // indirect
113+
github.com/aws/aws-sdk-go-v2/service/s3 v1.95.0 // indirect
114+
github.com/aws/aws-sdk-go-v2/service/signin v1.0.4 // indirect
115+
github.com/aws/aws-sdk-go-v2/service/sso v1.30.8 // indirect
116+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.12 // indirect
117+
github.com/aws/aws-sdk-go-v2/service/sts v1.41.5 // indirect
117118
github.com/aws/smithy-go v1.24.0 // indirect
118119
github.com/beorn7/perks v1.0.1 // indirect
119120
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
121+
github.com/bufbuild/protocompile v0.14.1 // indirect
120122
github.com/bytedance/gopkg v0.1.3 // indirect
121123
github.com/bytedance/sonic v1.14.2 // indirect
122124
github.com/bytedance/sonic/loader v0.4.0 // indirect
123125
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
124126
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
125127
github.com/cespare/xxhash/v2 v2.3.0 // indirect
126128
github.com/cloudwego/base64x v0.1.6 // indirect
127-
github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5 // indirect
129+
github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f // indirect
128130
github.com/cockroachdb/fifo v0.0.0-20240816210425-c5d0cb0b6fc0 // indirect
129131
github.com/cockroachdb/logtags v0.0.0-20241215232642-bb51bb14a506 // indirect
130132
github.com/cockroachdb/pebble v1.1.5 // indirect
131133
github.com/cockroachdb/redact v1.1.6 // indirect
132134
github.com/cockroachdb/tokenbucket v0.0.0-20250429170803-42689b6311bb // indirect
133-
github.com/cometbft/cometbft-db v0.14.3 // indirect
135+
github.com/cometbft/cometbft-db v0.14.1 // indirect
134136
github.com/cosmos/iavl v1.2.6 // indirect
135137
github.com/cosmos/ics23/go v0.11.0 // indirect
136-
github.com/danieljoos/wincred v1.2.3 // indirect
138+
github.com/danieljoos/wincred v1.2.2 // indirect
137139
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
138140
github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect
139141
github.com/dgraph-io/badger/v4 v4.6.0 // indirect
@@ -147,7 +149,7 @@ require (
147149
github.com/fatih/color v1.18.0 // indirect
148150
github.com/felixge/httpsnoop v1.0.4 // indirect
149151
github.com/fsnotify/fsnotify v1.9.0 // indirect
150-
github.com/getsentry/sentry-go v0.35.3 // indirect
152+
github.com/getsentry/sentry-go v0.35.0 // indirect
151153
github.com/go-jose/go-jose/v4 v4.1.3 // indirect
152154
github.com/go-kit/kit v0.13.0 // indirect
153155
github.com/go-kit/log v0.2.1 // indirect
@@ -165,10 +167,10 @@ require (
165167
github.com/google/orderedcode v0.0.1 // indirect
166168
github.com/google/s2a-go v0.1.9 // indirect
167169
github.com/google/uuid v1.6.0 // indirect
168-
github.com/googleapis/enterprise-certificate-proxy v0.3.11 // indirect
170+
github.com/googleapis/enterprise-certificate-proxy v0.3.7 // indirect
169171
github.com/googleapis/gax-go/v2 v2.15.0 // indirect
170172
github.com/gorilla/websocket v1.5.3 // indirect
171-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.4 // indirect
173+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 // indirect
172174
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
173175
github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.70 // indirect
174176
github.com/hashicorp/go-hclog v1.6.3 // indirect
@@ -179,7 +181,6 @@ require (
179181
github.com/hashicorp/yamux v0.1.2 // indirect
180182
github.com/iancoleman/strcase v0.3.0 // indirect
181183
github.com/inconshreveable/mousetrap v1.1.0 // indirect
182-
github.com/jhump/protoreflect/v2 v2.0.0-beta.1 // indirect
183184
github.com/jmhodges/levigo v1.0.0 // indirect
184185
github.com/klauspost/compress v1.18.3 // indirect
185186
github.com/klauspost/cpuid/v2 v2.2.11 // indirect
@@ -210,7 +211,6 @@ require (
210211
github.com/rs/cors v1.11.1 // indirect
211212
github.com/sagikazarmark/locafero v0.11.0 // indirect
212213
github.com/sasha-s/go-deadlock v0.3.6 // indirect
213-
github.com/shirou/gopsutil/v4 v4.25.12 // indirect
214214
github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8 // indirect
215215
github.com/spf13/afero v1.15.0 // indirect
216216
github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect
@@ -225,7 +225,7 @@ require (
225225
github.com/zondax/golem v0.27.0 // indirect
226226
github.com/zondax/hid v0.9.2 // indirect
227227
github.com/zondax/ledger-go v1.0.1 // indirect
228-
go.etcd.io/bbolt v1.4.3 // indirect
228+
go.etcd.io/bbolt v1.4.0 // indirect
229229
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
230230
go.opentelemetry.io/contrib/detectors/gcp v1.38.0 // indirect
231231
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0 // indirect
@@ -245,7 +245,7 @@ require (
245245
go.opentelemetry.io/otel/sdk/metric v1.39.0 // indirect
246246
go.opentelemetry.io/proto/otlp v1.9.0 // indirect
247247
go.uber.org/multierr v1.11.0 // indirect
248-
go.uber.org/zap v1.27.1 // indirect
248+
go.uber.org/zap v1.27.0 // indirect
249249
go.yaml.in/yaml/v2 v2.4.3 // indirect
250250
golang.org/x/arch v0.22.0 // indirect
251251
golang.org/x/exp v0.0.0-20260112195511-716be5621a96 // indirect
@@ -256,7 +256,7 @@ require (
256256
golang.org/x/text v0.33.0 // indirect
257257
golang.org/x/time v0.14.0 // indirect
258258
google.golang.org/api v0.256.0 // indirect
259-
google.golang.org/genproto v0.0.0-20260114163908-3f89685c29c3 // indirect
259+
google.golang.org/genproto v0.0.0-20250922171735-9219d122eba9 // indirect
260260
google.golang.org/genproto/googleapis/rpc v0.0.0-20260114163908-3f89685c29c3 // indirect
261261
gopkg.in/yaml.v3 v3.0.1 // indirect
262262
nhooyr.io/websocket v1.8.17 // indirect

0 commit comments

Comments
 (0)