From a878428f07fd1e782e1084d2e1f33452ac89594f Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 22 Mar 2022 11:12:22 -0400 Subject: [PATCH 001/105] add vcenter vSAN collection --- go.mod | 14 +- go.sum | 78 +- internal/components/components.go | 2 + receiver/vmwarevcenterreceiver/Makefile | 1 + receiver/vmwarevcenterreceiver/client.go | 167 + receiver/vmwarevcenterreceiver/config.go | 75 + receiver/vmwarevcenterreceiver/doc.go | 20 + .../vmwarevcenterreceiver/documentation.md | 74 + receiver/vmwarevcenterreceiver/factory.go | 89 + receiver/vmwarevcenterreceiver/go.mod | 33 + receiver/vmwarevcenterreceiver/go.sum | 713 ++++ .../internal/metadata/emitters.go | 75 + .../internal/metadata/generated_metrics_v2.go | 2907 +++++++++++++++++ receiver/vmwarevcenterreceiver/metadata.yaml | 400 +++ receiver/vmwarevcenterreceiver/metrics.go | 156 + receiver/vmwarevcenterreceiver/scraper.go | 208 ++ 16 files changed, 4944 insertions(+), 68 deletions(-) create mode 100644 receiver/vmwarevcenterreceiver/Makefile create mode 100644 receiver/vmwarevcenterreceiver/client.go create mode 100644 receiver/vmwarevcenterreceiver/config.go create mode 100644 receiver/vmwarevcenterreceiver/doc.go create mode 100644 receiver/vmwarevcenterreceiver/documentation.md create mode 100644 receiver/vmwarevcenterreceiver/factory.go create mode 100644 receiver/vmwarevcenterreceiver/go.mod create mode 100644 receiver/vmwarevcenterreceiver/go.sum create mode 100644 receiver/vmwarevcenterreceiver/internal/metadata/emitters.go create mode 100644 receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go create mode 100644 receiver/vmwarevcenterreceiver/metadata.yaml create mode 100644 receiver/vmwarevcenterreceiver/metrics.go create mode 100644 receiver/vmwarevcenterreceiver/scraper.go diff --git a/go.mod b/go.mod index 1452069e16f0c..a78498de19b93 100644 --- a/go.mod +++ b/go.mod @@ -117,13 +117,14 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.46.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.46.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.46.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.46.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.46.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zookeeperreceiver v0.46.0 github.com/prometheus/prometheus v1.8.2-0.20220117154355-4855a0c067e2 github.com/stretchr/testify v1.7.0 - go.opentelemetry.io/collector v0.46.1-0.20220307173244-f980c9ef25b1 + go.opentelemetry.io/collector v0.47.0 golang.org/x/sys v0.0.0-20220209214540-3681064d5158 ) @@ -291,7 +292,7 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/karrick/godirwalk v1.16.1 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect - github.com/klauspost/compress v1.15.0 // indirect + github.com/klauspost/compress v1.15.1 // indirect github.com/knadh/koanf v1.4.0 // indirect github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b // indirect github.com/leoluk/perflib_exporter v0.1.0 // indirect @@ -390,7 +391,7 @@ require ( github.com/soheilhy/cmux v0.1.5 // indirect github.com/spf13/afero v1.6.0 // indirect github.com/spf13/cast v1.4.1 // indirect - github.com/spf13/cobra v1.3.0 // indirect + github.com/spf13/cobra v1.4.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.10.1 // indirect @@ -415,6 +416,7 @@ require ( github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect + github.com/vmware/govmomi v0.27.4 // indirect github.com/wavefronthq/wavefront-sdk-go v0.9.10 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.1 // indirect @@ -425,7 +427,7 @@ require ( go.etcd.io/bbolt v1.3.6 // indirect go.mongodb.org/atlas v0.15.0 // indirect go.opencensus.io v0.23.0 // indirect - go.opentelemetry.io/collector/model v0.46.1-0.20220307173244-f980c9ef25b1 // indirect + go.opentelemetry.io/collector/model v0.47.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0 // indirect go.opentelemetry.io/contrib/zpages v0.29.0 // indirect @@ -454,7 +456,7 @@ require ( google.golang.org/api v0.70.0 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf // indirect - google.golang.org/grpc v1.44.0 // indirect + google.golang.org/grpc v1.45.0 // indirect google.golang.org/protobuf v1.27.1 // indirect gopkg.in/DataDog/dd-trace-go.v1 v1.36.2 // indirect gopkg.in/alexcesaro/statsd.v2 v2.0.0 // indirect @@ -767,6 +769,8 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplo replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver => ./receiver/udplogreceiver +replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver => ./receiver/vmwarevcenterreceiver + replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver => ./receiver/wavefrontreceiver replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver => ./receiver/windowsperfcountersreceiver diff --git a/go.sum b/go.sum index 9e78fd02e2eee..90bb2cde2d86f 100644 --- a/go.sum +++ b/go.sum @@ -51,7 +51,6 @@ cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6m cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.6.0/go.mod h1:afJwI0vaXwAG54kI7A//lP/lSPDkQORQuMkv56TxEPU= cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= cloud.google.com/go/monitoring v1.1.0/go.mod h1:L81pzz7HKn14QCMaCs6NTQkdBnE87TElyanS95vIcl4= cloud.google.com/go/monitoring v1.2.0 h1:fEvQITrhVcPM6vuDQcgPMbU5kZFeQFwZmE7v6+S8BPo= @@ -166,14 +165,10 @@ github.com/DataDog/datadog-go v4.8.2+incompatible h1:qbcKSx29aBLD+5QLvlQZlGmRMF/ github.com/DataDog/datadog-go v4.8.2+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go/v5 v5.0.2/go.mod h1:ZI9JFB4ewXbw1sBnF4sxsR2k1H3xjV+PUAOUsHvKpcU= github.com/DataDog/gostackparse v0.5.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= -github.com/DataDog/mmh3 v0.0.0-20200805151601-30884ca2197a/go.mod h1:SvsjzyJlSg0rKsqYgdcFxeEVflx3ZNAyFfkUHP0TxXg= github.com/DataDog/sketches-go v1.0.0/go.mod h1:O+XkJHWk9w4hDwY2ZUDU31ZC9sNYlYo8DiFsxjYeo1k= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/DataDog/zstd v1.4.8/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/DataDog/zstd v1.5.0 h1:+K/VEwIAaPcHiMtQvpLD4lqW7f0Gk3xdYZmI1hD+CXo= github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= -github.com/DataDog/zstd_0 v0.0.0-20210310093942-586c1286621f/go.mod h1:oXfOhM/Kr8OvqS6tVqJwxPBornV0yrx3bc+l0BDr7PQ= -github.com/Flaque/filet v0.0.0-20201012163910-45f684403088/go.mod h1:TK+jB3mBs+8ZMWhU5BqZKnZWJ1MrLo8etNVg51ueTBo= github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962 h1:KeNholpO2xKjgaaSyd+DyQRrsQjhbSeS7qe4nEw8aQw= github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962/go.mod h1:kC29dT1vFpj7py2OvG1khBdQpo3kInWP+6QipLbdngo= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.26.1-0.20220307211504-dc45061a44f9 h1:M44b4uiPlQyME2csIZe2Y4e7SWqiy4EDxr8dQOyQdoM= @@ -249,6 +244,7 @@ github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDO github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= @@ -377,7 +373,6 @@ github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0 h1:t/LhUZLVitR1Ow2YOnduCsavhwFUklBMoGVYUCqmCqk= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -531,7 +526,6 @@ github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f h1:JOrtw2xFKzlg+cbHpyrpLDmnN1HqhBfnX7WDiW7eG2c= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= @@ -560,6 +554,7 @@ github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892/go.mod h1:CTDl0pzVzE5DEzZhPfvhY/9sPFMQIxaJ9VAMs9AagrE= github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= github.com/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= @@ -591,7 +586,6 @@ github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.8.0-beta.1+incompatible h1:9MjVa+OTMHm4C0kKZB68jPlDM9Cg75ta4i46Gxxxn8o= github.com/docker/distribution v2.8.0-beta.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.11+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.12+incompatible h1:CEeNmFM0QZIsJCZKMkZx0ZcahTiewkrgiwfYD+dfl1U= github.com/docker/docker v20.10.12+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= @@ -678,7 +672,6 @@ github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+ne github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= @@ -827,7 +820,6 @@ github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiS github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk= github.com/go-openapi/runtime v0.19.28/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M= github.com/go-openapi/runtime v0.19.29/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M= -github.com/go-openapi/runtime v0.21.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= github.com/go-openapi/runtime v0.22.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= github.com/go-openapi/runtime v0.23.1/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= @@ -883,8 +875,6 @@ github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZX github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= -github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= -github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-redis/redis/v7 v7.4.1 h1:PASvf36gyUpr2zdOUS/9Zqc80GbM+9BDyiJSJDDOrTI= github.com/go-redis/redis/v7 v7.4.1/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48 h1:JVrqSeQfdhYRFk24TvhTZWU0q8lfCojxZQFi3Ou7+uY= @@ -936,7 +926,6 @@ github.com/gocql/gocql v0.0.0-20200228163523-cd4b606dd2fb/go.mod h1:DL0ekTmBSTdl github.com/gocql/gocql v0.0.0-20211222173705-d73e6b1002a7/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e h1:BWhy2j3IXJhjCbC68FptL43tDKIq8FladmaTs3Xs7Z8= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -951,7 +940,6 @@ github.com/gogo/googleapis v1.3.1/go.mod h1:d+q1s/xVJxZGKWwC/6UfPIF33J+G1Tq4GYv9 github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= -github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= @@ -962,7 +950,6 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= -github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.0.0 h1:RAqyYixv1p7uEnocuy8P1nru5wprCh/MH2BIlW5z5/o= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= @@ -1128,7 +1115,6 @@ github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBt github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/api v1.4.0/go.mod h1:xc8u05kyMa3Wjr9eEAsIAo3dg8+LywT5E/Cl7cNS5nU= github.com/hashicorp/consul/api v1.8.1/go.mod h1:sDjTOq0yUyv5G4h+BqSea7Fn6BU+XbolEz1952UB+mk= -github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.12.0 h1:k3y1FYv6nuKyNTqj6w9gXOx5r5CfLj/k/euUeBXj1OY= github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= @@ -1161,7 +1147,6 @@ github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJ github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= -github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= @@ -1254,7 +1239,6 @@ github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod github.com/influxdata/influxql v1.1.0/go.mod h1:KpVI7okXjK6PRi3Z5B+mtKZli+R1DnZgb3N+tzevNgo= github.com/influxdata/influxql v1.1.1-0.20210223160523-b6ab99450c93/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= -github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839 h1:W9WBk7wlPfJLvMCdtV4zPulc4uCPrlywQOmbFOhgQNU= github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= github.com/influxdata/line-protocol-corpus v0.0.0-20210519164801-ca6fa5da0184/go.mod h1:03nmhxzZ7Xk2pdG+lmMd7mHDfeVOYFyhOgwO61qWU98= github.com/influxdata/line-protocol-corpus v0.0.0-20210922080147-aa28ccfb8937 h1:MHJNQ+p99hFATQm6ORoLmpUCF7ovjwEFshs/NHzAbig= @@ -1275,7 +1259,6 @@ github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7Ua github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g= github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= -github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= @@ -1296,7 +1279,6 @@ github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5W github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgproto3 v1.1.0 h1:FYYE4yRw+AgI8wXIinMlNjBbp/UitDJwfj5LqqewP1A= github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= @@ -1326,7 +1308,6 @@ github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dv github.com/jackc/puddle v1.2.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jaegertracing/jaeger v1.15.1/go.mod h1:LUWPSnzNPGRubM8pk0inANGitpiMOOxihXx0+53llXI= github.com/jaegertracing/jaeger v1.24.0/go.mod h1:mqdtFDA447va5j0UewDaAWyNlGreGQyhGxXVhbF58gQ= -github.com/jaegertracing/jaeger v1.28.0/go.mod h1:CfqVll05gkdPxNc5xrCnR44UmeVYZoYJtO4Ub8qn2wI= github.com/jaegertracing/jaeger v1.31.0/go.mod h1:KukZMhuamI3NVbzWmngcmXbcnxiB3WyaNf0nxio+sUw= github.com/jaegertracing/jaeger v1.32.0 h1:aKtCeFMWsJ/TuNx+5mMscOCcGhnkG7ZSYx3zsCpDVAQ= github.com/jaegertracing/jaeger v1.32.0/go.mod h1:2bCBxuy0Pdb+wGRL5YhjSyrp6Wpz1vvfL4hEYbLfrCc= @@ -1415,10 +1396,9 @@ github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8 github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.14.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.14.2/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.14.4/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.0 h1:xqfchp4whNFxn5A4XFyyYtitiWI8Hy5EW59jEwcyL6U= -github.com/klauspost/compress v1.15.0/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.1 h1:y9FcTHGyrebwfP0ZZqFiaxTaiDnUrGkJkI+f583BL1A= +github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= @@ -1449,7 +1429,6 @@ github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4F github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y= github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= github.com/leesper/go_rng v0.0.0-20190531154944-a612b043e353 h1:X/79QL0b4YJVO5+OsPH9rF2u428CIrGL/jLmPsoOQQ4= -github.com/leesper/go_rng v0.0.0-20190531154944-a612b043e353/go.mod h1:N0SVk0uhy+E1PZ3C9ctsPRlvOPAFPkCNlcPBDkt0N3U= github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw= github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= github.com/leoluk/perflib_exporter v0.1.0 h1:fXe/mDaf9jR+Zk8FjFlcCSksACuIj2VNN4GyKHmQqtA= @@ -1570,7 +1549,6 @@ github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= @@ -1581,14 +1559,12 @@ github.com/mjibson/esc v0.2.0/go.mod h1:9Hw9gxxfHulMF5OJKCyhYD7PzlSdhzXyaGEBRPH1 github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/sys/mount v0.2.0 h1:WhCW5B355jtxndN5ovugJlMFJawbUODuW8fSnEH6SSM= -github.com/moby/sys/mount v0.2.0/go.mod h1:aAivFE2LB3W4bACsUXChRHQ0qKWsetY4Y9V7sxOougM= github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/moby/sys/mountinfo v0.5.0 h1:2Ks8/r6lopsxWi9m58nlwjaeSzUX9iiL1vj5qB/9ObI= github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= -github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc= github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= @@ -1602,7 +1578,6 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY github.com/mongodb-forks/digest v1.0.3 h1:ZUK1vyZnBiRMvET0O1SzmnBmv935CkcOTjhfR4zIQ2s= github.com/mongodb-forks/digest v1.0.3/go.mod h1:eHRfgovT+dvSFfltrOa27hy1oR/rcwyDdp5H1ZQxEMA= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= -github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mostynb/go-grpc-compression v1.1.16 h1:D9tGUINmcII049pxOj9dl32Fzhp26TrDVQXECoKJqQg= @@ -1645,7 +1620,6 @@ github.com/observiq/ctimefmt v1.0.0/go.mod h1:mxi62//WbSpG/roCO1c6MqZ7zQTvjVtYhe github.com/observiq/go-syslog/v3 v3.0.2 h1:vaeINFErM/E3cKE2Ot1FAhhGq5mv7uGBOzjnGL3qhbY= github.com/observiq/go-syslog/v3 v3.0.2/go.mod h1:9abcumkQwDUY0VgWdH6CaaJ3Ks39A7NvIelMlavPru0= github.com/observiq/nanojack v0.0.0-20201106172433-343928847ebc h1:49ewVBwLcy+eYqI4R0ICilCI4dPjddpFXWv3liXzUxM= -github.com/observiq/nanojack v0.0.0-20201106172433-343928847ebc/go.mod h1:WXIHwGy+c7/IK2PiJ4oxuTHkpnkSut7TNFpKnI5llPU= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= @@ -1667,7 +1641,6 @@ github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+ github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.14.1/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= @@ -1680,12 +1653,10 @@ github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/open-telemetry/opentelemetry-log-collection v0.26.0 h1:wYUzXU5Fc7YES9JvPww1j+QbxgiAiVSBseZSKQp0O2M= github.com/open-telemetry/opentelemetry-log-collection v0.26.0/go.mod h1:fhbLWuhofaFWHsYK6p5zfeBflPHM/uF2Xa2FxaQCQuI= @@ -1705,7 +1676,6 @@ github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= -github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runc v1.1.0 h1:O9+X96OcDjkmmZyfaG996kV7yq8HsoU2h1XRRQcefG8= github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= @@ -1779,7 +1749,6 @@ github.com/pierrec/lz4/v3 v3.3.4/go.mod h1:280XNCGS8jAcG++AHdd6SeWnzyJ1w9oow2vbO github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1861,7 +1830,6 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/prometheus v0.0.0-20200609090129-a6600f564e3c/go.mod h1:S5n0C6tSgdnwWshBUceRx5G1OsjLv/EeZ9t3wIfEtsY= -github.com/prometheus/prometheus v1.8.2-0.20220111145625-076109fa1910/go.mod h1:eScIgoPGdQ/nQTcPdoejuRgPs18qbNSDJpYZzFOOiiY= github.com/prometheus/prometheus v1.8.2-0.20220117154355-4855a0c067e2 h1:MKhfhX/a0Gku9AADJupawW74d26VwRvsVkzaVM4EeiQ= github.com/prometheus/prometheus v1.8.2-0.20220117154355-4855a0c067e2/go.mod h1:RrRAjMWE8O7w9BZVp12yi6eovtsZAs54pTpiyBBbpbk= github.com/prometheus/statsd_exporter v0.21.0 h1:hA05Q5RFeIjgwKIYEdFd59xu5Wwaznf33yKI+pyX6T8= @@ -1883,9 +1851,7 @@ github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= -github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.0/go.mod h1:EBwu+T5AvHOcXwvZIkQFjUN6s8Czyqw12GL/Y0tUyRM= github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= @@ -1901,7 +1867,6 @@ github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= -github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/samuel/go-zookeeper v0.0.0-20190810000440-0ceca61e4d75/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= @@ -1992,8 +1957,9 @@ github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tL github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/cobra v1.3.0 h1:R7cSvGu+Vv+qX0gW5R/85dx2kmmJT5z5NM8ifdYjdn0= github.com/spf13/cobra v1.3.0/go.mod h1:BrRVncBjOJa/eUcVVm9CE+oC6as8k+VYr4NY7WCi9V4= +github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -2006,7 +1972,6 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= @@ -2046,7 +2011,6 @@ github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955u github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.360 h1:5emqU7a/7SXVbeaohycbD/cH9St3tMtZWfQY06ZsRXk= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.360/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/testcontainers/testcontainers-go v0.12.0 h1:SK0NryGHIx7aifF6YqReORL18aGAA4bsDPtikDVCEyg= -github.com/testcontainers/testcontainers-go v0.12.0/go.mod h1:SIndOQXZng0IW8iWU1Js0ynrfZ8xcxrTtDfF6rD2pxs= github.com/tg123/go-htpasswd v1.2.0 h1:UKp34m9H467/xklxUxU15wKRru7fwXoTojtxg25ITF0= github.com/tg123/go-htpasswd v1.2.0/go.mod h1:h7IzlfpvIWnVJhNZ0nQ9HaFxHb7pn5uFJYLlEUJa2sM= github.com/tidwall/gjson v1.8.0/go.mod h1:5/xDoumyyDNerp2U36lyolv46b3uF/9Bu6OfyQ9GImk= @@ -2124,6 +2088,9 @@ github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37w github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/vmware/govmomi v0.27.4 h1:5kY8TAkhB20lsjzrjE073eRb8+HixBI29PVMG5lxq6I= +github.com/vmware/govmomi v0.27.4/go.mod h1:daTuJEcQosNMXYJOeku0qdBJP9SOLLWB3Mqz8THtv6o= +github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad/go.mod h1:Hy8o65+MXnS6EwGElrSRjUzQDLXreJlzYLlWiHtt8hM= github.com/wavefronthq/wavefront-sdk-go v0.9.10 h1:L4eiEdHpudHTGwrJaPYaCXSjCYDex8FEKVqaprU2sY0= github.com/wavefronthq/wavefront-sdk-go v0.9.10/go.mod h1:ACJVXk0ksPHFkkTkXckqKEJGU3YDoAWjxTESkZlp+IE= @@ -2171,7 +2138,6 @@ github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPS github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/zorkian/go-datadog-api v2.30.0+incompatible h1:R4ryGocppDqZZbnNc5EDR8xGWF/z/MxzWnqTUijDQes= -github.com/zorkian/go-datadog-api v2.30.0+incompatible/go.mod h1:PkXwHX9CUQa/FpB9ZwAD45N1uhCW4MT/Wj7m36PbKss= go.elastic.co/apm v1.15.0 h1:uPk2g/whK7c7XiZyz/YCUnAUBNPiyNeE3ARX3G6Gx7Q= go.elastic.co/apm v1.15.0/go.mod h1:dylGv2HKR0tiCV+wliJz1KHtDyuD8SPe69oV7VyK6WY= go.elastic.co/fastjson v1.1.0 h1:3MrGBWWVIxe/xvsbpghtkFoPciPhOCmjsR/HfwEeQR4= @@ -2218,27 +2184,23 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/collector v0.45.0/go.mod h1:7QaqwfebCFzvH4q96IAaqqxj3VzB37VBn22uIpNKeG4= -go.opentelemetry.io/collector v0.46.1-0.20220307173244-f980c9ef25b1 h1:XA3Rg5AbrRFjZIw9LysPqjscwe9PNK0boL/+AUhDRDU= go.opentelemetry.io/collector v0.46.1-0.20220307173244-f980c9ef25b1/go.mod h1:3G6HUzm11xa5ZHxf8QWMYYUwtSmPkTZT9DiTuo3fodQ= -go.opentelemetry.io/collector/model v0.38.0/go.mod h1:gS8A27wi+8gM3hrXL+dEjTbrbLxktjHjAwwqI31ELgQ= +go.opentelemetry.io/collector v0.47.0 h1:jri01YG2UehiqDnSRGYekruZISosz5p75ppKhNLxHnc= +go.opentelemetry.io/collector v0.47.0/go.mod h1:jIdx4BySsmKANBZYlTsigZT/I+vGsAhJIHTYjsx7/O8= go.opentelemetry.io/collector/model v0.44.0/go.mod h1:4jo1R8uBDspLCxUGhQ0k3v/EFXFbW7s0AIy3LuGLbcU= go.opentelemetry.io/collector/model v0.45.0/go.mod h1:uyiyyq8lV45zrJ94MnLip26sorfNLP6J9XmOvaEmy7w= go.opentelemetry.io/collector/model v0.46.0/go.mod h1:uyiyyq8lV45zrJ94MnLip26sorfNLP6J9XmOvaEmy7w= -go.opentelemetry.io/collector/model v0.46.1-0.20220307173244-f980c9ef25b1 h1:pqCaE5Ue6DCSlIU7EZjyC1QJ9iZBywMXZ+BKihwX6UU= go.opentelemetry.io/collector/model v0.46.1-0.20220307173244-f980c9ef25b1/go.mod h1:uyiyyq8lV45zrJ94MnLip26sorfNLP6J9XmOvaEmy7w= -go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= +go.opentelemetry.io/collector/model v0.47.0 h1:qfIc/rhua50MTowB5BFveEVaYyZWL3Yld3pMmhUDU5w= +go.opentelemetry.io/collector/model v0.47.0/go.mod h1:tyZ1XdPtljZ9I09pJGcz5ktV9G1AAZ/HDmf6YOMHebc= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0 h1:n9b7AAdbQtQ0k9dm0Dm2/KUcUqtG8i2O15KzNaDze8c= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0/go.mod h1:LsankqVDx4W+RhZNA5uWarULII/MBhF5qwCYxTuyXjs= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.24.0/go.mod h1:7W3JSDYTtH3qKKHrS1fMiwLtK7iZFLPq1+7htfspX/E= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.26.0/go.mod h1:4vatbW3QwS11DK0H0SB7FR31/VbthXcYorswdkVXdyg= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.28.0/go.mod h1:Ihno+mNBfZlT0Qot3XyRTdZ/9U/Cg2Pfgj75DTdIfq4= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0 h1:SLme4Porm+UwX0DdHMxlwRt7FzPSE0sys81bet2o0pU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0/go.mod h1:tLYsuf2v8fZreBVwp9gVMhefZlLFZaUiNVSq8QxXRII= -go.opentelemetry.io/contrib/zpages v0.28.0/go.mod h1:y5RYQQgfEQV6oASayfbUv5ye5bnnncor+Ln18jMrVKY= go.opentelemetry.io/contrib/zpages v0.29.0 h1:rUnBzAxPP58lP7BApL21Ac2Fx8/5OflQa3sirlX0nQQ= go.opentelemetry.io/contrib/zpages v0.29.0/go.mod h1:iHy2K1Cjz1Ss0Sv6cQPEExP0nD+gj7gAF024foxzFFE= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= @@ -2255,13 +2217,11 @@ go.opentelemetry.io/otel/exporters/prometheus v0.27.0 h1:HcGi6HmYRuszR3stcvN2Gct go.opentelemetry.io/otel/exporters/prometheus v0.27.0/go.mod h1:u0vTzijx2B6gGDa8FuIVoESW6z0HdKkXZWZMSTsoJKs= go.opentelemetry.io/otel/internal/metric v0.23.0/go.mod h1:z+RPiDJe30YnCrOhFGivwBS+DU1JU/PiLKkk4re2DNY= go.opentelemetry.io/otel/internal/metric v0.24.0/go.mod h1:PSkQG+KuApZjBpC6ea6082ZrWUUy/w132tJ/LOU3TXk= -go.opentelemetry.io/otel/internal/metric v0.26.0/go.mod h1:CbBP6AxKynRs3QCbhklyLUtpfzbqCLiafV9oY2Zj1Jk= go.opentelemetry.io/otel/internal/metric v0.27.0 h1:9dAVGAfFiiEq5NVB9FUJ5et+btbDQAUIJehJ+ikyryk= go.opentelemetry.io/otel/internal/metric v0.27.0/go.mod h1:n1CVxRqKqYZtqyTh9U/onvKapPGv7y/rpyOTI+LFNzw= go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= go.opentelemetry.io/otel/metric v0.23.0/go.mod h1:G/Nn9InyNnIv7J6YVkQfpc0JCfKBNJaERBGw08nqmVQ= go.opentelemetry.io/otel/metric v0.24.0/go.mod h1:tpMFnCD9t+BEGiWY2bWF5+AwjuAdM0lSowQ4SBA3/K4= -go.opentelemetry.io/otel/metric v0.26.0/go.mod h1:c6YL0fhRo4YVoNs6GoByzUgBp36hBL523rECoZA5UWg= go.opentelemetry.io/otel/metric v0.27.0 h1:HhJPsGhJoKRSegPQILFbODU56NS/L1UE4fS1sC5kIwQ= go.opentelemetry.io/otel/metric v0.27.0/go.mod h1:raXDJ7uP2/Jc0nVZWQjJtzoyssOYWu/+pjZqRzfvZ7g= go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= @@ -2272,7 +2232,6 @@ go.opentelemetry.io/otel/sdk v1.4.0/go.mod h1:71GJPNJh4Qju6zJuYl1CrYtXbrgfau/M9U go.opentelemetry.io/otel/sdk v1.4.1 h1:J7EaW71E0v87qflB4cDolaqq3AcujGrtyIPGQoZOB0Y= go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/export/metric v0.27.0/go.mod h1:d30U31er9jws2ZMsV1N36Zyr2v8QA5E3NtAQvj1WFQo= go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= go.opentelemetry.io/otel/sdk/metric v0.27.0 h1:CDEu96Js5IP7f4bJ8eimxF09V5hKYmE7CeyKSjmAL1s= go.opentelemetry.io/otel/sdk/metric v0.27.0/go.mod h1:lOgrT5C3ORdbqp2LsDrx+pBj6gbZtQ5Omk27vH3EaW0= @@ -2298,7 +2257,6 @@ go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/automaxprocs v1.4.0/go.mod h1:/mTEdr7LvHhs0v7mjdxDreTz1OG5zdZGqgOnhWiR/+Q= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= @@ -2319,7 +2277,6 @@ go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= go.uber.org/zap v1.20.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= @@ -2387,7 +2344,6 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5 h1:FR+oGxGfbQu1d+jglI3rCkjAjUnhRSZcUxr+DqlDLNo= -golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= @@ -2503,7 +2459,6 @@ golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211108170745-6635138e15ea/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -2679,7 +2634,6 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211109184856-51b60fd695b3/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2819,7 +2773,6 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= -golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9-0.20211209172050-90a85b2969be/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9 h1:j9KsMiaP1c3B0OTQGth0/k+miLGTgLsAFUCrF2vLcF8= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= @@ -2833,7 +2786,6 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= -gonum.org/v1/gonum v0.7.0/go.mod h1:L02bwd0sqlsvRv41G7wGWFCsVNZFv/k1xzGIxeANHGM= gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/gonum v0.9.3 h1:DnoIG+QAMaF5NvxnGe/oKsgKcAc6PcUyl8q0VetfQ8s= gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= @@ -3027,8 +2979,9 @@ google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9K google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.44.0 h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= 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= @@ -3072,7 +3025,6 @@ gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= diff --git a/internal/components/components.go b/internal/components/components.go index 00bf47187d3ad..3012db6018f01 100644 --- a/internal/components/components.go +++ b/internal/components/components.go @@ -137,6 +137,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver" @@ -215,6 +216,7 @@ func Components() (component.Factories, error) { syslogreceiver.NewFactory(), tcplogreceiver.NewFactory(), udplogreceiver.NewFactory(), + vmwarevcenterreceiver.NewFactory(), zipkinreceiver.NewFactory(), } receivers = append(receivers, extraReceivers()...) diff --git a/receiver/vmwarevcenterreceiver/Makefile b/receiver/vmwarevcenterreceiver/Makefile new file mode 100644 index 0000000000000..ded7a36092dc3 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/Makefile @@ -0,0 +1 @@ +include ../../Makefile.Common diff --git a/receiver/vmwarevcenterreceiver/client.go b/receiver/vmwarevcenterreceiver/client.go new file mode 100644 index 0000000000000..938fa6c6bbff7 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/client.go @@ -0,0 +1,167 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package vmwarevcenterreceiver + +import ( + "context" + "errors" + "fmt" + "net/url" + "time" + + "github.com/vmware/govmomi" + "github.com/vmware/govmomi/find" + "github.com/vmware/govmomi/object" + "github.com/vmware/govmomi/view" + "github.com/vmware/govmomi/vim25" + "github.com/vmware/govmomi/vim25/mo" + vt "github.com/vmware/govmomi/vim25/types" + "github.com/vmware/govmomi/vsan" + "github.com/vmware/govmomi/vsan/types" + "go.uber.org/zap" +) + +// VmwareVcenterClient is a client that +type VmwareVcenterClient struct { + moClient *govmomi.Client + vimDriver *vim25.Client + vsanDriver *vsan.Client + cfg *Config + logger *zap.Logger +} + +func newVmwarevcenterClient(c *Config, debuglogger *zap.Logger) *VmwareVcenterClient { + return &VmwareVcenterClient{ + cfg: c, + logger: debuglogger, + } +} + +func (vc *VmwareVcenterClient) Connect(ctx context.Context) error { + if vc.moClient == nil { + sdkURL, err := vc.cfg.SDKUrl() + if err != nil { + return err + } + client, err := govmomi.NewClient(ctx, sdkURL, vc.cfg.Insecure) + if err != nil { + return err + } + tlsCfg, err := vc.cfg.LoadTLSConfig() + if err != nil { + return err + } + client.DefaultTransport().TLSClientConfig = tlsCfg + user := url.UserPassword(vc.cfg.Username, vc.cfg.Password) + err = client.Login(ctx, user) + if err != nil { + return fmt.Errorf("unable to login to vcenter sdk: %w", err) + } + vc.moClient = client + vc.vimDriver = client.Client + } + return nil +} + +func (vc *VmwareVcenterClient) Disconnect(ctx context.Context) error { + if vc.moClient != nil { + return vc.moClient.Logout(ctx) + } + return nil +} + +func (vc *VmwareVcenterClient) ConnectVSAN(ctx context.Context) error { + vsanDriver, err := vsan.NewClient(ctx, vc.vimDriver) + if err != nil { + return err + } + vc.vsanDriver = vsanDriver + return nil +} + +func (vc *VmwareVcenterClient) Clusters(ctx context.Context) ([]mo.ClusterComputeResource, error) { + m := view.NewManager(vc.moClient.Client) + v, err := m.CreateContainerView(ctx, vc.vimDriver.ServiceContent.RootFolder, []string{"ClusterComputeResource"}, true) + if err != nil { + return []mo.ClusterComputeResource{}, err + } + var clusters []mo.ClusterComputeResource + err = v.Retrieve(ctx, []string{"ClusterComputeResource"}, []string{"summary", "name"}, &clusters) + if err != nil { + return []mo.ClusterComputeResource{}, err + } + return clusters, nil +} + +func (vc *VmwareVcenterClient) Hosts(ctx context.Context) ([]*object.HostSystem, error) { + finder := find.NewFinder(vc.vimDriver) + hss, err := finder.HostSystemList(ctx, "*") + if err != nil { + return nil, fmt.Errorf("unable to retrieve host list %w", err) + } + return hss, nil +} + +func (vc *VmwareVcenterClient) CollectVSANCluster(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { + if vc.vsanDriver == nil { + return nil, errors.New("vsan client not instantiated") + } + querySpec := []types.VsanPerfQuerySpec{ + { + EntityRefId: "cluster-domclient:*", + StartTime: &startTime, + EndTime: &endTime, + }, + } + return vc.queryVsan(ctx, clusterRef, querySpec) +} + +func (vc *VmwareVcenterClient) CollectVSANHost(ctx context.Context, hostRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { + if vc.vsanDriver == nil { + return nil, errors.New("vsan client not instantiated") + } + querySpec := []types.VsanPerfQuerySpec{ + { + EntityRefId: "host-domclient:*", + StartTime: &startTime, + EndTime: &endTime, + }, + } + return vc.queryVsan(ctx, hostRef, querySpec) +} + +func (vc *VmwareVcenterClient) CollectVSANVirtualMachine(ctx context.Context, vmRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { + if vc.vsanDriver == nil { + return nil, errors.New("vsan client not instantiated") + } + + querySpec := []types.VsanPerfQuerySpec{ + { + EntityRefId: "virtual-machine:*", + StartTime: &startTime, + EndTime: &endTime, + }, + } + + return vc.queryVsan(ctx, vmRef, querySpec) +} + +func (vc *VmwareVcenterClient) queryVsan(ctx context.Context, ref *vt.ManagedObjectReference, qs []types.VsanPerfQuerySpec) (*[]types.VsanPerfEntityMetricCSV, error) { + CSVs, err := vc.vsanDriver.VsanPerfQueryPerf(ctx, ref, qs) + if err != nil { + return nil, err + } + return &CSVs, nil +} diff --git a/receiver/vmwarevcenterreceiver/config.go b/receiver/vmwarevcenterreceiver/config.go new file mode 100644 index 0000000000000..9cca35e8fa2c9 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/config.go @@ -0,0 +1,75 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package vmwarevcenterreceiver + +import ( + "errors" + "fmt" + "net/url" + + "go.opentelemetry.io/collector/config/configtls" + "go.opentelemetry.io/collector/receiver/scraperhelper" + "go.uber.org/multierr" + + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" +) + +type Config struct { + scraperhelper.ScraperControllerSettings `mapstructure:",squash"` + configtls.TLSClientSetting `mapstructure:"tls,omitempty"` + Metrics metadata.MetricsSettings `mapstructure:"metrics"` + Endpoint string `mapstructure:"endpoint"` + Username string `mapstructure:"username"` + Password string `mapstructure:"password"` +} + +// Validate checks to see if the supplied config will work for the vmwarevcenterreceiver +func (c *Config) Validate() error { + if c.Endpoint == "" { + return errors.New("no endpoint was provided") + } + + var err error + res, err := url.Parse(c.Endpoint) + if err != nil { + err = multierr.Append(err, fmt.Errorf("unable to parse url %s: %w", c.Endpoint, err)) + } + + if res.Scheme != "http" && res.Scheme != "https" { + err = multierr.Append(err, errors.New("url scheme must be http or https")) + } + + if c.Username != "" && c.Password == "" { + err = multierr.Append(err, errors.New("username provided without password")) + } else if c.Username == "" && c.Password != "" { + err = multierr.Append(err, errors.New("password provided without user")) + } + + if _, tlsErr := c.LoadTLSConfig(); err != nil { + err = multierr.Append(err, fmt.Errorf("error loading tls configuration: %w", tlsErr)) + } + + return err +} + +// SDKUrl returns the url for the vCenter SDK +func (c *Config) SDKUrl() (*url.URL, error) { + res, err := url.Parse(c.Endpoint) + if err != nil { + return res, err + } + res.Path = "/sdk" + return res, nil +} diff --git a/receiver/vmwarevcenterreceiver/doc.go b/receiver/vmwarevcenterreceiver/doc.go new file mode 100644 index 0000000000000..8e195304968f1 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/doc.go @@ -0,0 +1,20 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//go:build !windows +// +build !windows + +//go:generate mdatagen --experimental-gen metadata.yaml + +package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" diff --git a/receiver/vmwarevcenterreceiver/documentation.md b/receiver/vmwarevcenterreceiver/documentation.md new file mode 100644 index 0000000000000..ba58692e409a7 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/documentation.md @@ -0,0 +1,74 @@ +[comment]: <> (Code generated by mdatagen. DO NOT EDIT.) + +# vmwarevcenterreceiver + +## Metrics + +These are the metrics available for this scraper. + +| Name | Description | Unit | Type | Attributes | +| ---- | ----------- | ---- | ---- | ---------- | +| **vcenter.cluster.cpu.available** | The amount of CPU available to the cluster | {MHz} | Sum(Int) | | +| **vcenter.cluster.cpu.effective** | The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. | {MHz} | Sum(Int) | | +| **vcenter.cluster.cpu.used** | The amount of CPU used by the cluster | {MHz} | Sum(Int) | | +| **vcenter.cluster.memory.available** | The available memory of the cluster. | By | Sum(Int) | | +| **vcenter.cluster.memory.effective** | The available memory of the cluster. | By | Sum(Int) | | +| **vcenter.cluster.memory.used** | The memory that is currently used by the cluster | By | Sum(Int) | | +| **vcenter.cluster.vsan.congestions** | Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. | {congestions/sec} | Sum(Int) | | +| **vcenter.cluster.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients in the cluster. | µs | Sum(Int) | | +| **vcenter.cluster.vsan.operations** | IOPS consumed by all vSAN clients in the cluster | {operations/sec} | Sum(Int) | | +| **vcenter.cluster.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the cluster | {operations} | Sum(Int) | | +| **vcenter.cluster.vsan.throughput** | Throughput consumed by all vSAN clients in the cluster. | By/sec | Sum(Int) | | +| **vcenter.datacenter.host.count** | the number of hosts in the datacenter | {hosts} | Sum(Int) | | +| **vcenter.datacenter.vm.count** | the number of virtual machines in the datacenter | {virtual_machines} | Sum(Int) | | +| **vcenter.datastore.disk.usage** | The amount of space in the datastore. | By | Sum(Int) | | +| **vcenter.datastore.disk.utilization** | The utilization of the datastore | % | Gauge(Double) | | +| **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host | MHz | Sum(Int) | | +| **vcenter.host.cpu.utilization** | The CPU utilization of the host system | % | Gauge(Double) | | +| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk | ms | Sum(Int) | | +| **vcenter.host.disk.throughput** | The throughput to the host system's disk | By/s | Sum(Int) | | +| **vcenter.host.memory.usage** | The amount of memory the host system is using | By | Sum(Int) | | +| **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized | % | Gauge(Double) | | +| **vcenter.host.network.packets** | The number of packets sent over an interval | {packets/sec} | Sum(Int) | | +| **vcenter.host.network.throughput** | The amount of data that was sent or recieved over the network by the host | {By/s} | Sum(Int) | | +| **vcenter.host.vsan.cache.hit_rate** | Percentage of read IOs which could be satisfied by the local client cache | % | Gauge(Double) | | +| **vcenter.host.vsan.cache.reads** | Average latency of IOs generated by all vSAN clients on the host | {operations/sec} | Sum(Int) | | +| **vcenter.host.vsan.congestions** | Congestions of IOs generated by all vSAN clients on the host | {congestions/sec} | Sum(Int) | | +| **vcenter.host.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients on the host. | µs | Sum(Int) | | +| **vcenter.host.vsan.operations** | IOPs consumed by all vSAN clients on the host. | {operations/sec} | Sum(Int) | | +| **vcenter.host.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc. | {operations/sec} | Sum(Int) | | +| **vcenter.host.vsan.throughput** | Throughput consumed by all vSAN clients on the host. | By/s | Sum(Int) | | +| **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine | % | Gauge(Double) | | +| **vcenter.vm.disk.latency** | The latency of operations to the virtual machine's disk | µs | Sum(Int) | | +| **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk | By/sec | Sum(Int) | | +| **vcenter.vm.disk.usage** | The amount of storage space the virtual machine is using | By | Sum(Int) | | +| **vcenter.vm.memory.ballooned** | The amount of memory that is ballooned due to virtualization. | By | Sum(Int) | | +| **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine | By | Sum(Int) | | +| **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network | {packets/sec} | Sum(Int) | | +| **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine | By/sec | Sum(Int) | | +| **vcenter.vm.vsan.congestions** | todo | {congestions} | Gauge(Int) | | +| **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) | | +| **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs | {operations/sec} | Sum(Int) | | +| **vcenter.vm.vsan.outstanding_io** | The amount of outstanding VSAN I/O operations | | Gauge(Int) | | +| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Gauge(Int) | | + +**Highlighted metrics** are emitted by default. Other metrics are optional and not emitted by default. +Any metric can be enabled or disabled with the following scraper configuration: + +```yaml +metrics: + : + enabled: +``` + +## Attributes + +| Name | Description | +| ---- | ----------- | +| cluster | The name of the vCenter Cluster | +| datastore | The name of the Datastore | +| hostname | The name of the ESXi Host System | +| instance_name | The name of the Virtual Machine | +| vsan_latency_type | The type of vSAN latency. | +| vsan_operation_type | The type of vSAN operation. | +| vsan_throughput_direction | The type of vSAN throughput. | diff --git a/receiver/vmwarevcenterreceiver/factory.go b/receiver/vmwarevcenterreceiver/factory.go new file mode 100644 index 0000000000000..06dd67ca8b387 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/factory.go @@ -0,0 +1,89 @@ +// Copyright OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" + +//go:generate mdatagen metadata.yaml + +import ( + "context" + "time" + + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/config" + "go.opentelemetry.io/collector/config/configtls" + "go.opentelemetry.io/collector/consumer" + "go.opentelemetry.io/collector/receiver/scraperhelper" + + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" +) + +const ( + typeStr = "vcenter" +) + +func NewFactory() component.ReceiverFactory { + return component.NewReceiverFactory( + typeStr, + createDefaultConfig, + component.WithMetricsReceiver(createMetricsReceiver), + component.WithLogsReceiver(createLogsReceiver), + ) +} + +func createDefaultConfig() config.Receiver { + return &Config{ + ScraperControllerSettings: scraperhelper.ScraperControllerSettings{ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), CollectionInterval: time.Minute}, + TLSClientSetting: configtls.TLSClientSetting{}, + Metrics: metadata.DefaultMetricsSettings(), + Endpoint: "", + Username: "", + Password: "", + } +} + +func createLogsReceiver( + _ context.Context, + params component.ReceiverCreateSettings, + rConf config.Receiver, + consumer consumer.Logs, +) (component.LogsReceiver, error) { + return nil, nil +} + +func createMetricsReceiver( + _ context.Context, + params component.ReceiverCreateSettings, + rConf config.Receiver, + consumer consumer.Metrics, +) (component.MetricsReceiver, error) { + cfg := rConf.(*Config) + + vcenterScraper := newVmwareVcenterScraper(params.Logger, cfg) + scraper, err := scraperhelper.NewScraper( + typeStr, + vcenterScraper.scrape, + scraperhelper.WithStart(vcenterScraper.start), + scraperhelper.WithShutdown(vcenterScraper.shutdown), + ) + + if err != nil { + return nil, err + } + + return scraperhelper.NewScraperControllerReceiver( + &cfg.ScraperControllerSettings, params, consumer, + scraperhelper.AddScraper(scraper), + ) +} diff --git a/receiver/vmwarevcenterreceiver/go.mod b/receiver/vmwarevcenterreceiver/go.mod new file mode 100644 index 0000000000000..c944b715e72c3 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/go.mod @@ -0,0 +1,33 @@ +module github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver + +go 1.17 + +require ( + github.com/vmware/govmomi v0.27.4 + go.opentelemetry.io/collector v0.47.0 + go.opentelemetry.io/collector/model v0.47.0 + go.uber.org/multierr v1.8.0 + go.uber.org/zap v1.21.0 +) + +require ( + github.com/gogo/protobuf v1.3.2 // indirect + github.com/knadh/koanf v1.4.0 // indirect + github.com/mitchellh/copystructure v1.2.0 // indirect + github.com/mitchellh/mapstructure v1.4.3 // indirect + github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/spf13/cast v1.4.1 // indirect + go.opencensus.io v0.23.0 // indirect + go.opentelemetry.io/otel v1.4.1 // indirect + go.opentelemetry.io/otel/metric v0.27.0 // indirect + go.opentelemetry.io/otel/trace v1.4.1 // indirect + go.uber.org/atomic v1.9.0 // indirect +) + +require ( + github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/kr/pretty v0.3.0 // indirect + github.com/pelletier/go-toml v1.9.4 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/rogpeppe/go-internal v1.8.0 // indirect +) diff --git a/receiver/vmwarevcenterreceiver/go.sum b/receiver/vmwarevcenterreceiver/go.sum new file mode 100644 index 0000000000000..f27300c79ad6d --- /dev/null +++ b/receiver/vmwarevcenterreceiver/go.sum @@ -0,0 +1,713 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +code.cloudfoundry.org/bytefmt v0.0.0-20190710193110-1eb035ffe2b6/go.mod h1:wN/zk7mhREp/oviagqUXY3EwuHhWyOvAdsn5Y4CzOrc= +contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0QmaQNhGnptITnPQB+z1+qeFB0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= +github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw= +github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.6.0/go.mod h1:gqlclDEZp4aqJOancXK6TN24aKhT0W0Ae9MHk3wzTMM= +github.com/aws/aws-sdk-go-v2/internal/ini v1.2.4/go.mod h1:ZcBrrI3zBKlhGFNYWvju0I3TR93I7YIgAfy82Fh4lcQ= +github.com/aws/aws-sdk-go-v2/service/appconfig v1.4.2/go.mod h1:FZ3HkCe+b10uFZZkFdvf98LHW21k49W8o8J366lqVKY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72HRZDLMtmVQiLG2tLfQcaWLCssELvGl+Zf2WVxMmR8= +github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk= +github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g= +github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= +github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +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.1.2/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/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892/go.mod h1:CTDl0pzVzE5DEzZhPfvhY/9sPFMQIxaJ9VAMs9AagrE= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +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.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/frankban/quicktest v1.4.0/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= +github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v1.2.2 h1:ahHml/yUpnlb96Rp8HCvtYVPY8ZYpxq3g7UYchIYwbs= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +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-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +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/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/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.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/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/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/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= +github.com/hashicorp/go-hclog v0.8.0/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= +github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoIospckxBxk6Q= +github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= +github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.14.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/knadh/koanf v1.4.0 h1:/k0Bh49SqLyLNfte9r6cvuZWrApOQhglOmhIU3L/zDw= +github.com/knadh/koanf v1.4.0/go.mod h1:1cfH5223ZeZUOs8FU2UdTmaNfHpqgtjV0+NHjRO43gs= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= +github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= +github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= +github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= +github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mostynb/go-grpc-compression v1.1.16/go.mod h1:xxa6UoYynYS2h+5HB/Hglu81iYAp87ARaNmhhwi0s1s= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= +github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= +github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pierrec/cmdflag v0.0.2/go.mod h1:a3zKGZ3cdQUfxjd0RGMLZr8xI3nvpJOB+m6o/1X5BmU= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4/v3 v3.3.4/go.mod h1:280XNCGS8jAcG++AHdd6SeWnzyJ1w9oow2vbORyey8Q= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= +github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/schollz/progressbar/v2 v2.13.2/go.mod h1:6YZjqdthH6SCZKv2rqGryrxPtfmRB/DWZxSMfCXPyD8= +github.com/shirou/gopsutil/v3 v3.22.2/go.mod h1:WapW1AOOPlHyXr+yOyw3uYx36enocrtSoSBy0L5vUHY= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs= +github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8= +github.com/vmware/govmomi v0.27.4 h1:5kY8TAkhB20lsjzrjE073eRb8+HixBI29PVMG5lxq6I= +github.com/vmware/govmomi v0.27.4/go.mod h1:daTuJEcQosNMXYJOeku0qdBJP9SOLLWB3Mqz8THtv6o= +github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/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/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +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.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/collector v0.47.0 h1:jri01YG2UehiqDnSRGYekruZISosz5p75ppKhNLxHnc= +go.opentelemetry.io/collector v0.47.0/go.mod h1:jIdx4BySsmKANBZYlTsigZT/I+vGsAhJIHTYjsx7/O8= +go.opentelemetry.io/collector/model v0.47.0 h1:qfIc/rhua50MTowB5BFveEVaYyZWL3Yld3pMmhUDU5w= +go.opentelemetry.io/collector/model v0.47.0/go.mod h1:tyZ1XdPtljZ9I09pJGcz5ktV9G1AAZ/HDmf6YOMHebc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0/go.mod h1:LsankqVDx4W+RhZNA5uWarULII/MBhF5qwCYxTuyXjs= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0/go.mod h1:tLYsuf2v8fZreBVwp9gVMhefZlLFZaUiNVSq8QxXRII= +go.opentelemetry.io/contrib/zpages v0.29.0/go.mod h1:iHy2K1Cjz1Ss0Sv6cQPEExP0nD+gj7gAF024foxzFFE= +go.opentelemetry.io/otel v1.4.0/go.mod h1:jeAqMFKy2uLIxCtKxoFj0FAL5zAPKQagc3+GtBWakzk= +go.opentelemetry.io/otel v1.4.1 h1:QbINgGDDcoQUoMJa2mMaWno49lja9sHwp6aoa2n3a4g= +go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= +go.opentelemetry.io/otel/exporters/prometheus v0.27.0/go.mod h1:u0vTzijx2B6gGDa8FuIVoESW6z0HdKkXZWZMSTsoJKs= +go.opentelemetry.io/otel/internal/metric v0.27.0 h1:9dAVGAfFiiEq5NVB9FUJ5et+btbDQAUIJehJ+ikyryk= +go.opentelemetry.io/otel/internal/metric v0.27.0/go.mod h1:n1CVxRqKqYZtqyTh9U/onvKapPGv7y/rpyOTI+LFNzw= +go.opentelemetry.io/otel/metric v0.27.0 h1:HhJPsGhJoKRSegPQILFbODU56NS/L1UE4fS1sC5kIwQ= +go.opentelemetry.io/otel/metric v0.27.0/go.mod h1:raXDJ7uP2/Jc0nVZWQjJtzoyssOYWu/+pjZqRzfvZ7g= +go.opentelemetry.io/otel/sdk v1.4.0/go.mod h1:71GJPNJh4Qju6zJuYl1CrYtXbrgfau/M9UAggqiy1UE= +go.opentelemetry.io/otel/sdk v1.4.1 h1:J7EaW71E0v87qflB4cDolaqq3AcujGrtyIPGQoZOB0Y= +go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= +go.opentelemetry.io/otel/sdk/metric v0.27.0/go.mod h1:lOgrT5C3ORdbqp2LsDrx+pBj6gbZtQ5Omk27vH3EaW0= +go.opentelemetry.io/otel/trace v1.4.0/go.mod h1:uc3eRsqDfWs9R7b92xbQbU42/eTNz4N+gLP8qJCi4aE= +go.opentelemetry.io/otel/trace v1.4.1 h1:O+16qcdTrT7zxv2J6GejTPFinSwA++cYerC5iSiF8EQ= +go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= +go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= +go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +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= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +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/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= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +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-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +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.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +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= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +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/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= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/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-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +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= +golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +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/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= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +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.6/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= +google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +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= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +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.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= +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= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go b/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go new file mode 100644 index 0000000000000..cc203b4129d95 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go @@ -0,0 +1,75 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package metadata + +import "go.opentelemetry.io/collector/model/pdata" + +func (mb *MetricsBuilder) EmitVM(metrics pdata.MetricSlice) { + mb.metricVcenterVMCPUUtilization.emit(metrics) + mb.metricVcenterVMDiskLatency.emit(metrics) + mb.metricVcenterVMDiskThroughput.emit(metrics) + mb.metricVcenterVMDiskUsage.emit(metrics) + mb.metricVcenterVMMemoryBallooned.emit(metrics) + mb.metricVcenterVMMemoryUsage.emit(metrics) + mb.metricVcenterVMNetworkPackets.emit(metrics) + mb.metricVcenterVMNetworkThroughput.emit(metrics) + mb.metricVcenterVMVsanCongestions.emit(metrics) + mb.metricVcenterVMVsanLatencyAvg.emit(metrics) + mb.metricVcenterVMVsanOperations.emit(metrics) + mb.metricVcenterVMVsanOutstandingIo.emit(metrics) + mb.metricVcenterVMVsanThroughput.emit(metrics) +} + +func (mb *MetricsBuilder) EmitHost(metrics pdata.MetricSlice) { + mb.metricVcenterHostCPUUsage.emit(metrics) + mb.metricVcenterHostCPUUtilization.emit(metrics) + mb.metricVcenterHostDiskLatencyAvg.emit(metrics) + mb.metricVcenterHostDiskThroughput.emit(metrics) + mb.metricVcenterHostMemoryUsage.emit(metrics) + mb.metricVcenterHostMemoryUtilization.emit(metrics) + mb.metricVcenterHostNetworkPackets.emit(metrics) + mb.metricVcenterHostNetworkThroughput.emit(metrics) + mb.metricVcenterHostVsanCacheHitRate.emit(metrics) + mb.metricVcenterHostVsanCacheReads.emit(metrics) + mb.metricVcenterHostVsanCongestions.emit(metrics) + mb.metricVcenterHostVsanLatencyAvg.emit(metrics) + mb.metricVcenterHostVsanOperations.emit(metrics) + mb.metricVcenterHostVsanOutstandingIo.emit(metrics) + mb.metricVcenterHostVsanThroughput.emit(metrics) +} + +func (mb *MetricsBuilder) EmitDatastore(metrics pdata.MetricSlice) { + mb.metricVcenterDatastoreDiskUsage.emit(metrics) + mb.metricVcenterDatastoreDiskUtilization.emit(metrics) +} + +func (mb *MetricsBuilder) EmitDatacenter(metrics pdata.MetricSlice) { + mb.metricVcenterDatacenterHostCount.emit(metrics) + mb.metricVcenterDatacenterVMCount.emit(metrics) +} + +func (mb *MetricsBuilder) EmitCluster(metrics pdata.MetricSlice) { + mb.metricVcenterClusterCPUAvailable.emit(metrics) + mb.metricVcenterClusterCPUEffective.emit(metrics) + mb.metricVcenterClusterCPUUsed.emit(metrics) + mb.metricVcenterClusterMemoryAvailable.emit(metrics) + mb.metricVcenterClusterMemoryEffective.emit(metrics) + mb.metricVcenterClusterMemoryUsed.emit(metrics) + mb.metricVcenterClusterVsanCongestions.emit(metrics) + mb.metricVcenterClusterVsanLatencyAvg.emit(metrics) + mb.metricVcenterClusterVsanOperations.emit(metrics) + mb.metricVcenterClusterVsanOutstandingIo.emit(metrics) + mb.metricVcenterClusterVsanThroughput.emit(metrics) +} diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go new file mode 100644 index 0000000000000..4aeaa18e9a63b --- /dev/null +++ b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -0,0 +1,2907 @@ +// Code generated by mdatagen. DO NOT EDIT. + +package metadata + +import ( + "time" + + "go.opentelemetry.io/collector/model/pdata" +) + +// MetricSettings provides common settings for a particular metric. +type MetricSettings struct { + Enabled bool `mapstructure:"enabled"` +} + +// MetricsSettings provides settings for vmwarevcenterreceiver metrics. +type MetricsSettings struct { + VcenterClusterCPUAvailable MetricSettings `mapstructure:"vcenter.cluster.cpu.available"` + VcenterClusterCPUEffective MetricSettings `mapstructure:"vcenter.cluster.cpu.effective"` + VcenterClusterCPUUsed MetricSettings `mapstructure:"vcenter.cluster.cpu.used"` + VcenterClusterMemoryAvailable MetricSettings `mapstructure:"vcenter.cluster.memory.available"` + VcenterClusterMemoryEffective MetricSettings `mapstructure:"vcenter.cluster.memory.effective"` + VcenterClusterMemoryUsed MetricSettings `mapstructure:"vcenter.cluster.memory.used"` + VcenterClusterVsanCongestions MetricSettings `mapstructure:"vcenter.cluster.vsan.congestions"` + VcenterClusterVsanLatencyAvg MetricSettings `mapstructure:"vcenter.cluster.vsan.latency.avg"` + VcenterClusterVsanOperations MetricSettings `mapstructure:"vcenter.cluster.vsan.operations"` + VcenterClusterVsanOutstandingIo MetricSettings `mapstructure:"vcenter.cluster.vsan.outstanding_io"` + VcenterClusterVsanThroughput MetricSettings `mapstructure:"vcenter.cluster.vsan.throughput"` + VcenterDatacenterHostCount MetricSettings `mapstructure:"vcenter.datacenter.host.count"` + VcenterDatacenterVMCount MetricSettings `mapstructure:"vcenter.datacenter.vm.count"` + VcenterDatastoreDiskUsage MetricSettings `mapstructure:"vcenter.datastore.disk.usage"` + VcenterDatastoreDiskUtilization MetricSettings `mapstructure:"vcenter.datastore.disk.utilization"` + VcenterHostCPUUsage MetricSettings `mapstructure:"vcenter.host.cpu.usage"` + VcenterHostCPUUtilization MetricSettings `mapstructure:"vcenter.host.cpu.utilization"` + VcenterHostDiskLatencyAvg MetricSettings `mapstructure:"vcenter.host.disk.latency.avg"` + VcenterHostDiskThroughput MetricSettings `mapstructure:"vcenter.host.disk.throughput"` + VcenterHostMemoryUsage MetricSettings `mapstructure:"vcenter.host.memory.usage"` + VcenterHostMemoryUtilization MetricSettings `mapstructure:"vcenter.host.memory.utilization"` + VcenterHostNetworkPackets MetricSettings `mapstructure:"vcenter.host.network.packets"` + VcenterHostNetworkThroughput MetricSettings `mapstructure:"vcenter.host.network.throughput"` + VcenterHostVsanCacheHitRate MetricSettings `mapstructure:"vcenter.host.vsan.cache.hit_rate"` + VcenterHostVsanCacheReads MetricSettings `mapstructure:"vcenter.host.vsan.cache.reads"` + VcenterHostVsanCongestions MetricSettings `mapstructure:"vcenter.host.vsan.congestions"` + VcenterHostVsanLatencyAvg MetricSettings `mapstructure:"vcenter.host.vsan.latency.avg"` + VcenterHostVsanOperations MetricSettings `mapstructure:"vcenter.host.vsan.operations"` + VcenterHostVsanOutstandingIo MetricSettings `mapstructure:"vcenter.host.vsan.outstanding_io"` + VcenterHostVsanThroughput MetricSettings `mapstructure:"vcenter.host.vsan.throughput"` + VcenterVMCPUUtilization MetricSettings `mapstructure:"vcenter.vm.cpu.utilization"` + VcenterVMDiskLatency MetricSettings `mapstructure:"vcenter.vm.disk.latency"` + VcenterVMDiskThroughput MetricSettings `mapstructure:"vcenter.vm.disk.throughput"` + VcenterVMDiskUsage MetricSettings `mapstructure:"vcenter.vm.disk.usage"` + VcenterVMMemoryBallooned MetricSettings `mapstructure:"vcenter.vm.memory.ballooned"` + VcenterVMMemoryUsage MetricSettings `mapstructure:"vcenter.vm.memory.usage"` + VcenterVMNetworkPackets MetricSettings `mapstructure:"vcenter.vm.network.packets"` + VcenterVMNetworkThroughput MetricSettings `mapstructure:"vcenter.vm.network.throughput"` + VcenterVMVsanCongestions MetricSettings `mapstructure:"vcenter.vm.vsan.congestions"` + VcenterVMVsanLatencyAvg MetricSettings `mapstructure:"vcenter.vm.vsan.latency.avg"` + VcenterVMVsanOperations MetricSettings `mapstructure:"vcenter.vm.vsan.operations"` + VcenterVMVsanOutstandingIo MetricSettings `mapstructure:"vcenter.vm.vsan.outstanding_io"` + VcenterVMVsanThroughput MetricSettings `mapstructure:"vcenter.vm.vsan.throughput"` +} + +func DefaultMetricsSettings() MetricsSettings { + return MetricsSettings{ + VcenterClusterCPUAvailable: MetricSettings{ + Enabled: true, + }, + VcenterClusterCPUEffective: MetricSettings{ + Enabled: true, + }, + VcenterClusterCPUUsed: MetricSettings{ + Enabled: true, + }, + VcenterClusterMemoryAvailable: MetricSettings{ + Enabled: true, + }, + VcenterClusterMemoryEffective: MetricSettings{ + Enabled: true, + }, + VcenterClusterMemoryUsed: MetricSettings{ + Enabled: true, + }, + VcenterClusterVsanCongestions: MetricSettings{ + Enabled: true, + }, + VcenterClusterVsanLatencyAvg: MetricSettings{ + Enabled: true, + }, + VcenterClusterVsanOperations: MetricSettings{ + Enabled: true, + }, + VcenterClusterVsanOutstandingIo: MetricSettings{ + Enabled: true, + }, + VcenterClusterVsanThroughput: MetricSettings{ + Enabled: true, + }, + VcenterDatacenterHostCount: MetricSettings{ + Enabled: true, + }, + VcenterDatacenterVMCount: MetricSettings{ + Enabled: true, + }, + VcenterDatastoreDiskUsage: MetricSettings{ + Enabled: true, + }, + VcenterDatastoreDiskUtilization: MetricSettings{ + Enabled: true, + }, + VcenterHostCPUUsage: MetricSettings{ + Enabled: true, + }, + VcenterHostCPUUtilization: MetricSettings{ + Enabled: true, + }, + VcenterHostDiskLatencyAvg: MetricSettings{ + Enabled: true, + }, + VcenterHostDiskThroughput: MetricSettings{ + Enabled: true, + }, + VcenterHostMemoryUsage: MetricSettings{ + Enabled: true, + }, + VcenterHostMemoryUtilization: MetricSettings{ + Enabled: true, + }, + VcenterHostNetworkPackets: MetricSettings{ + Enabled: true, + }, + VcenterHostNetworkThroughput: MetricSettings{ + Enabled: true, + }, + VcenterHostVsanCacheHitRate: MetricSettings{ + Enabled: true, + }, + VcenterHostVsanCacheReads: MetricSettings{ + Enabled: true, + }, + VcenterHostVsanCongestions: MetricSettings{ + Enabled: true, + }, + VcenterHostVsanLatencyAvg: MetricSettings{ + Enabled: true, + }, + VcenterHostVsanOperations: MetricSettings{ + Enabled: true, + }, + VcenterHostVsanOutstandingIo: MetricSettings{ + Enabled: true, + }, + VcenterHostVsanThroughput: MetricSettings{ + Enabled: true, + }, + VcenterVMCPUUtilization: MetricSettings{ + Enabled: true, + }, + VcenterVMDiskLatency: MetricSettings{ + Enabled: true, + }, + VcenterVMDiskThroughput: MetricSettings{ + Enabled: true, + }, + VcenterVMDiskUsage: MetricSettings{ + Enabled: true, + }, + VcenterVMMemoryBallooned: MetricSettings{ + Enabled: true, + }, + VcenterVMMemoryUsage: MetricSettings{ + Enabled: true, + }, + VcenterVMNetworkPackets: MetricSettings{ + Enabled: true, + }, + VcenterVMNetworkThroughput: MetricSettings{ + Enabled: true, + }, + VcenterVMVsanCongestions: MetricSettings{ + Enabled: true, + }, + VcenterVMVsanLatencyAvg: MetricSettings{ + Enabled: true, + }, + VcenterVMVsanOperations: MetricSettings{ + Enabled: true, + }, + VcenterVMVsanOutstandingIo: MetricSettings{ + Enabled: true, + }, + VcenterVMVsanThroughput: MetricSettings{ + Enabled: true, + }, + } +} + +type metricVcenterClusterCPUAvailable struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.cpu.available metric with initial data. +func (m *metricVcenterClusterCPUAvailable) init() { + m.data.SetName("vcenter.cluster.cpu.available") + m.data.SetDescription("The amount of CPU available to the cluster") + m.data.SetUnit("{MHz}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterCPUAvailable) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterCPUAvailable) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterCPUAvailable) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterCPUAvailable(settings MetricSettings) metricVcenterClusterCPUAvailable { + m := metricVcenterClusterCPUAvailable{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterClusterCPUEffective struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.cpu.effective metric with initial data. +func (m *metricVcenterClusterCPUEffective) init() { + m.data.SetName("vcenter.cluster.cpu.effective") + m.data.SetDescription("The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive.") + m.data.SetUnit("{MHz}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterCPUEffective) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterCPUEffective) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterCPUEffective) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterCPUEffective(settings MetricSettings) metricVcenterClusterCPUEffective { + m := metricVcenterClusterCPUEffective{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterClusterCPUUsed struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.cpu.used metric with initial data. +func (m *metricVcenterClusterCPUUsed) init() { + m.data.SetName("vcenter.cluster.cpu.used") + m.data.SetDescription("The amount of CPU used by the cluster") + m.data.SetUnit("{MHz}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterCPUUsed) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterCPUUsed) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterCPUUsed) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterCPUUsed(settings MetricSettings) metricVcenterClusterCPUUsed { + m := metricVcenterClusterCPUUsed{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterClusterMemoryAvailable struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.memory.available metric with initial data. +func (m *metricVcenterClusterMemoryAvailable) init() { + m.data.SetName("vcenter.cluster.memory.available") + m.data.SetDescription("The available memory of the cluster.") + m.data.SetUnit("By") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterMemoryAvailable) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterMemoryAvailable) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterMemoryAvailable) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterMemoryAvailable(settings MetricSettings) metricVcenterClusterMemoryAvailable { + m := metricVcenterClusterMemoryAvailable{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterClusterMemoryEffective struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.memory.effective metric with initial data. +func (m *metricVcenterClusterMemoryEffective) init() { + m.data.SetName("vcenter.cluster.memory.effective") + m.data.SetDescription("The available memory of the cluster.") + m.data.SetUnit("By") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterMemoryEffective) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterMemoryEffective) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterMemoryEffective) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterMemoryEffective(settings MetricSettings) metricVcenterClusterMemoryEffective { + m := metricVcenterClusterMemoryEffective{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterClusterMemoryUsed struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.memory.used metric with initial data. +func (m *metricVcenterClusterMemoryUsed) init() { + m.data.SetName("vcenter.cluster.memory.used") + m.data.SetDescription("The memory that is currently used by the cluster") + m.data.SetUnit("By") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterMemoryUsed) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterMemoryUsed) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterMemoryUsed) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterMemoryUsed(settings MetricSettings) metricVcenterClusterMemoryUsed { + m := metricVcenterClusterMemoryUsed{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterClusterVsanCongestions struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.vsan.congestions metric with initial data. +func (m *metricVcenterClusterVsanCongestions) init() { + m.data.SetName("vcenter.cluster.vsan.congestions") + m.data.SetDescription("Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc.") + m.data.SetUnit("{congestions/sec}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterVsanCongestions) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterVsanCongestions) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterVsanCongestions) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterVsanCongestions(settings MetricSettings) metricVcenterClusterVsanCongestions { + m := metricVcenterClusterVsanCongestions{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterClusterVsanLatencyAvg struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.vsan.latency.avg metric with initial data. +func (m *metricVcenterClusterVsanLatencyAvg) init() { + m.data.SetName("vcenter.cluster.vsan.latency.avg") + m.data.SetDescription("Average latency of IOs generated by all vSAN clients in the cluster.") + m.data.SetUnit("µs") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.VsanLatencyType, pdata.NewAttributeValueString(vsanLatencyTypeAttributeValue)) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterVsanLatencyAvg) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterVsanLatencyAvg) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterVsanLatencyAvg(settings MetricSettings) metricVcenterClusterVsanLatencyAvg { + m := metricVcenterClusterVsanLatencyAvg{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterClusterVsanOperations struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.vsan.operations metric with initial data. +func (m *metricVcenterClusterVsanOperations) init() { + m.data.SetName("vcenter.cluster.vsan.operations") + m.data.SetDescription("IOPS consumed by all vSAN clients in the cluster") + m.data.SetUnit("{operations/sec}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.VsanOperationType, pdata.NewAttributeValueString(vsanOperationTypeAttributeValue)) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterVsanOperations) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterVsanOperations) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterVsanOperations(settings MetricSettings) metricVcenterClusterVsanOperations { + m := metricVcenterClusterVsanOperations{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterClusterVsanOutstandingIo struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.vsan.outstanding_io metric with initial data. +func (m *metricVcenterClusterVsanOutstandingIo) init() { + m.data.SetName("vcenter.cluster.vsan.outstanding_io") + m.data.SetDescription("Outstanding IO from all vSAN clients in the cluster") + m.data.SetUnit("{operations}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterVsanOutstandingIo) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterVsanOutstandingIo) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterVsanOutstandingIo) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterVsanOutstandingIo(settings MetricSettings) metricVcenterClusterVsanOutstandingIo { + m := metricVcenterClusterVsanOutstandingIo{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterClusterVsanThroughput struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.vsan.throughput metric with initial data. +func (m *metricVcenterClusterVsanThroughput) init() { + m.data.SetName("vcenter.cluster.vsan.throughput") + m.data.SetDescription("Throughput consumed by all vSAN clients in the cluster.") + m.data.SetUnit("By/sec") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string, clusterAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewAttributeValueString(vsanThroughputDirectionAttributeValue)) + dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterVsanThroughput) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterVsanThroughput) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterVsanThroughput(settings MetricSettings) metricVcenterClusterVsanThroughput { + m := metricVcenterClusterVsanThroughput{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterDatacenterHostCount struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.datacenter.host.count metric with initial data. +func (m *metricVcenterDatacenterHostCount) init() { + m.data.SetName("vcenter.datacenter.host.count") + m.data.SetDescription("the number of hosts in the datacenter") + m.data.SetUnit("{hosts}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) +} + +func (m *metricVcenterDatacenterHostCount) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterDatacenterHostCount) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterDatacenterHostCount) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterDatacenterHostCount(settings MetricSettings) metricVcenterDatacenterHostCount { + m := metricVcenterDatacenterHostCount{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterDatacenterVMCount struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.datacenter.vm.count metric with initial data. +func (m *metricVcenterDatacenterVMCount) init() { + m.data.SetName("vcenter.datacenter.vm.count") + m.data.SetDescription("the number of virtual machines in the datacenter") + m.data.SetUnit("{virtual_machines}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) +} + +func (m *metricVcenterDatacenterVMCount) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterDatacenterVMCount) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterDatacenterVMCount) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterDatacenterVMCount(settings MetricSettings) metricVcenterDatacenterVMCount { + m := metricVcenterDatacenterVMCount{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterDatastoreDiskUsage struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.datastore.disk.usage metric with initial data. +func (m *metricVcenterDatastoreDiskUsage) init() { + m.data.SetName("vcenter.datastore.disk.usage") + m.data.SetDescription("The amount of space in the datastore.") + m.data.SetUnit("By") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) +} + +func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterDatastoreDiskUsage) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterDatastoreDiskUsage) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterDatastoreDiskUsage(settings MetricSettings) metricVcenterDatastoreDiskUsage { + m := metricVcenterDatastoreDiskUsage{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterDatastoreDiskUtilization struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.datastore.disk.utilization metric with initial data. +func (m *metricVcenterDatastoreDiskUtilization) init() { + m.data.SetName("vcenter.datastore.disk.utilization") + m.data.SetDescription("The utilization of the datastore") + m.data.SetUnit("%") + m.data.SetDataType(pdata.MetricDataTypeGauge) +} + +func (m *metricVcenterDatastoreDiskUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { + if !m.settings.Enabled { + return + } + dp := m.data.Gauge().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetDoubleVal(val) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterDatastoreDiskUtilization) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterDatastoreDiskUtilization) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterDatastoreDiskUtilization(settings MetricSettings) metricVcenterDatastoreDiskUtilization { + m := metricVcenterDatastoreDiskUtilization{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostCPUUsage struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.cpu.usage metric with initial data. +func (m *metricVcenterHostCPUUsage) init() { + m.data.SetName("vcenter.host.cpu.usage") + m.data.SetDescription("The amount of CPU in Hz used by the host") + m.data.SetUnit("MHz") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostCPUUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostCPUUsage) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostCPUUsage) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostCPUUsage(settings MetricSettings) metricVcenterHostCPUUsage { + m := metricVcenterHostCPUUsage{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostCPUUtilization struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.cpu.utilization metric with initial data. +func (m *metricVcenterHostCPUUtilization) init() { + m.data.SetName("vcenter.host.cpu.utilization") + m.data.SetDescription("The CPU utilization of the host system") + m.data.SetUnit("%") + m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostCPUUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Gauge().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetDoubleVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostCPUUtilization) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostCPUUtilization) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostCPUUtilization(settings MetricSettings) metricVcenterHostCPUUtilization { + m := metricVcenterHostCPUUtilization{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostDiskLatencyAvg struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.disk.latency.avg metric with initial data. +func (m *metricVcenterHostDiskLatencyAvg) init() { + m.data.SetName("vcenter.host.disk.latency.avg") + m.data.SetDescription("The latency of operations to the host system's disk") + m.data.SetUnit("ms") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostDiskLatencyAvg) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostDiskLatencyAvg) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostDiskLatencyAvg(settings MetricSettings) metricVcenterHostDiskLatencyAvg { + m := metricVcenterHostDiskLatencyAvg{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostDiskThroughput struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.disk.throughput metric with initial data. +func (m *metricVcenterHostDiskThroughput) init() { + m.data.SetName("vcenter.host.disk.throughput") + m.data.SetDescription("The throughput to the host system's disk") + m.data.SetUnit("By/s") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostDiskThroughput) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostDiskThroughput) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostDiskThroughput(settings MetricSettings) metricVcenterHostDiskThroughput { + m := metricVcenterHostDiskThroughput{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostMemoryUsage struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.memory.usage metric with initial data. +func (m *metricVcenterHostMemoryUsage) init() { + m.data.SetName("vcenter.host.memory.usage") + m.data.SetDescription("The amount of memory the host system is using") + m.data.SetUnit("By") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostMemoryUsage) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostMemoryUsage) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostMemoryUsage(settings MetricSettings) metricVcenterHostMemoryUsage { + m := metricVcenterHostMemoryUsage{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostMemoryUtilization struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.memory.utilization metric with initial data. +func (m *metricVcenterHostMemoryUtilization) init() { + m.data.SetName("vcenter.host.memory.utilization") + m.data.SetDescription("The percentage of the host system's memory capacity that is being utilized") + m.data.SetUnit("%") + m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostMemoryUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Gauge().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetDoubleVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostMemoryUtilization) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostMemoryUtilization) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostMemoryUtilization(settings MetricSettings) metricVcenterHostMemoryUtilization { + m := metricVcenterHostMemoryUtilization{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostNetworkPackets struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.network.packets metric with initial data. +func (m *metricVcenterHostNetworkPackets) init() { + m.data.SetName("vcenter.host.network.packets") + m.data.SetDescription("The number of packets sent over an interval") + m.data.SetUnit("{packets/sec}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostNetworkPackets) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostNetworkPackets) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostNetworkPackets(settings MetricSettings) metricVcenterHostNetworkPackets { + m := metricVcenterHostNetworkPackets{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostNetworkThroughput struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.network.throughput metric with initial data. +func (m *metricVcenterHostNetworkThroughput) init() { + m.data.SetName("vcenter.host.network.throughput") + m.data.SetDescription("The amount of data that was sent or recieved over the network by the host") + m.data.SetUnit("{By/s}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostNetworkThroughput) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostNetworkThroughput) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostNetworkThroughput(settings MetricSettings) metricVcenterHostNetworkThroughput { + m := metricVcenterHostNetworkThroughput{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostVsanCacheHitRate struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.vsan.cache.hit_rate metric with initial data. +func (m *metricVcenterHostVsanCacheHitRate) init() { + m.data.SetName("vcenter.host.vsan.cache.hit_rate") + m.data.SetDescription("Percentage of read IOs which could be satisfied by the local client cache") + m.data.SetUnit("%") + m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostVsanCacheHitRate) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Gauge().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetDoubleVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostVsanCacheHitRate) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostVsanCacheHitRate) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostVsanCacheHitRate(settings MetricSettings) metricVcenterHostVsanCacheHitRate { + m := metricVcenterHostVsanCacheHitRate{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostVsanCacheReads struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.vsan.cache.reads metric with initial data. +func (m *metricVcenterHostVsanCacheReads) init() { + m.data.SetName("vcenter.host.vsan.cache.reads") + m.data.SetDescription("Average latency of IOs generated by all vSAN clients on the host") + m.data.SetUnit("{operations/sec}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostVsanCacheReads) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostVsanCacheReads) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostVsanCacheReads) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostVsanCacheReads(settings MetricSettings) metricVcenterHostVsanCacheReads { + m := metricVcenterHostVsanCacheReads{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostVsanCongestions struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.vsan.congestions metric with initial data. +func (m *metricVcenterHostVsanCongestions) init() { + m.data.SetName("vcenter.host.vsan.congestions") + m.data.SetDescription("Congestions of IOs generated by all vSAN clients on the host") + m.data.SetUnit("{congestions/sec}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostVsanCongestions) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostVsanCongestions) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostVsanCongestions) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostVsanCongestions(settings MetricSettings) metricVcenterHostVsanCongestions { + m := metricVcenterHostVsanCongestions{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostVsanLatencyAvg struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.vsan.latency.avg metric with initial data. +func (m *metricVcenterHostVsanLatencyAvg) init() { + m.data.SetName("vcenter.host.vsan.latency.avg") + m.data.SetDescription("Average latency of IOs generated by all vSAN clients on the host.") + m.data.SetUnit("µs") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanLatencyTypeAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) + dp.Attributes().Insert(A.VsanLatencyType, pdata.NewAttributeValueString(vsanLatencyTypeAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostVsanLatencyAvg) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostVsanLatencyAvg) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostVsanLatencyAvg(settings MetricSettings) metricVcenterHostVsanLatencyAvg { + m := metricVcenterHostVsanLatencyAvg{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostVsanOperations struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.vsan.operations metric with initial data. +func (m *metricVcenterHostVsanOperations) init() { + m.data.SetName("vcenter.host.vsan.operations") + m.data.SetDescription("IOPs consumed by all vSAN clients on the host.") + m.data.SetUnit("{operations/sec}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanOperationTypeAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) + dp.Attributes().Insert(A.VsanOperationType, pdata.NewAttributeValueString(vsanOperationTypeAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostVsanOperations) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostVsanOperations) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostVsanOperations(settings MetricSettings) metricVcenterHostVsanOperations { + m := metricVcenterHostVsanOperations{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostVsanOutstandingIo struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.vsan.outstanding_io metric with initial data. +func (m *metricVcenterHostVsanOutstandingIo) init() { + m.data.SetName("vcenter.host.vsan.outstanding_io") + m.data.SetDescription("Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc.") + m.data.SetUnit("{operations/sec}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostVsanOutstandingIo) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostVsanOutstandingIo) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostVsanOutstandingIo) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostVsanOutstandingIo(settings MetricSettings) metricVcenterHostVsanOutstandingIo { + m := metricVcenterHostVsanOutstandingIo{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterHostVsanThroughput struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.vsan.throughput metric with initial data. +func (m *metricVcenterHostVsanThroughput) init() { + m.data.SetName("vcenter.host.vsan.throughput") + m.data.SetDescription("Throughput consumed by all vSAN clients on the host.") + m.data.SetUnit("By/s") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanThroughputDirectionAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) + dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewAttributeValueString(vsanThroughputDirectionAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostVsanThroughput) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostVsanThroughput) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostVsanThroughput(settings MetricSettings) metricVcenterHostVsanThroughput { + m := metricVcenterHostVsanThroughput{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMCPUUtilization struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.cpu.utilization metric with initial data. +func (m *metricVcenterVMCPUUtilization) init() { + m.data.SetName("vcenter.vm.cpu.utilization") + m.data.SetDescription("The CPU utilization of the virtual machine") + m.data.SetUnit("%") + m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMCPUUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Gauge().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetDoubleVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMCPUUtilization) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMCPUUtilization) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMCPUUtilization(settings MetricSettings) metricVcenterVMCPUUtilization { + m := metricVcenterVMCPUUtilization{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMDiskLatency struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.disk.latency metric with initial data. +func (m *metricVcenterVMDiskLatency) init() { + m.data.SetName("vcenter.vm.disk.latency") + m.data.SetDescription("The latency of operations to the virtual machine's disk") + m.data.SetUnit("µs") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMDiskLatency) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMDiskLatency) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMDiskLatency) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMDiskLatency(settings MetricSettings) metricVcenterVMDiskLatency { + m := metricVcenterVMDiskLatency{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMDiskThroughput struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.disk.throughput metric with initial data. +func (m *metricVcenterVMDiskThroughput) init() { + m.data.SetName("vcenter.vm.disk.throughput") + m.data.SetDescription("The throughput of the virtual machine's disk") + m.data.SetUnit("By/sec") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMDiskThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMDiskThroughput) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMDiskThroughput) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMDiskThroughput(settings MetricSettings) metricVcenterVMDiskThroughput { + m := metricVcenterVMDiskThroughput{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMDiskUsage struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.disk.usage metric with initial data. +func (m *metricVcenterVMDiskUsage) init() { + m.data.SetName("vcenter.vm.disk.usage") + m.data.SetDescription("The amount of storage space the virtual machine is using") + m.data.SetUnit("By") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMDiskUsage) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMDiskUsage) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMDiskUsage(settings MetricSettings) metricVcenterVMDiskUsage { + m := metricVcenterVMDiskUsage{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMMemoryBallooned struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.memory.ballooned metric with initial data. +func (m *metricVcenterVMMemoryBallooned) init() { + m.data.SetName("vcenter.vm.memory.ballooned") + m.data.SetDescription("The amount of memory that is ballooned due to virtualization.") + m.data.SetUnit("By") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMMemoryBallooned) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMMemoryBallooned) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMMemoryBallooned) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMMemoryBallooned(settings MetricSettings) metricVcenterVMMemoryBallooned { + m := metricVcenterVMMemoryBallooned{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMMemoryUsage struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.memory.usage metric with initial data. +func (m *metricVcenterVMMemoryUsage) init() { + m.data.SetName("vcenter.vm.memory.usage") + m.data.SetDescription("The amount of memory that is used by the virtual machine") + m.data.SetUnit("By") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMMemoryUsage) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMMemoryUsage) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMMemoryUsage(settings MetricSettings) metricVcenterVMMemoryUsage { + m := metricVcenterVMMemoryUsage{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMNetworkPackets struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.network.packets metric with initial data. +func (m *metricVcenterVMNetworkPackets) init() { + m.data.SetName("vcenter.vm.network.packets") + m.data.SetDescription("The amount of packets that was received or transmitted over the instance's network") + m.data.SetUnit("{packets/sec}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMNetworkPackets) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMNetworkPackets) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMNetworkPackets(settings MetricSettings) metricVcenterVMNetworkPackets { + m := metricVcenterVMNetworkPackets{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMNetworkThroughput struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.network.throughput metric with initial data. +func (m *metricVcenterVMNetworkThroughput) init() { + m.data.SetName("vcenter.vm.network.throughput") + m.data.SetDescription("The amount of data that was received or sent over the network of the virtual machine") + m.data.SetUnit("By/sec") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMNetworkThroughput) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMNetworkThroughput) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMNetworkThroughput(settings MetricSettings) metricVcenterVMNetworkThroughput { + m := metricVcenterVMNetworkThroughput{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMVsanCongestions struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.vsan.congestions metric with initial data. +func (m *metricVcenterVMVsanCongestions) init() { + m.data.SetName("vcenter.vm.vsan.congestions") + m.data.SetDescription("todo") + m.data.SetUnit("{congestions}") + m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMVsanCongestions) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Gauge().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMVsanCongestions) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMVsanCongestions) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMVsanCongestions(settings MetricSettings) metricVcenterVMVsanCongestions { + m := metricVcenterVMVsanCongestions{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMVsanLatencyAvg struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.vsan.latency.avg metric with initial data. +func (m *metricVcenterVMVsanLatencyAvg) init() { + m.data.SetName("vcenter.vm.vsan.latency.avg") + m.data.SetDescription("The latency while accessing VSAN storage") + m.data.SetUnit("us") + m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Gauge().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMVsanLatencyAvg) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMVsanLatencyAvg) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMVsanLatencyAvg(settings MetricSettings) metricVcenterVMVsanLatencyAvg { + m := metricVcenterVMVsanLatencyAvg{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMVsanOperations struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.vsan.operations metric with initial data. +func (m *metricVcenterVMVsanOperations) init() { + m.data.SetName("vcenter.vm.vsan.operations") + m.data.SetDescription("Virtual Machine vSAN IOPs") + m.data.SetUnit("{operations/sec}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMVsanOperations) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMVsanOperations) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMVsanOperations(settings MetricSettings) metricVcenterVMVsanOperations { + m := metricVcenterVMVsanOperations{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMVsanOutstandingIo struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.vsan.outstanding_io metric with initial data. +func (m *metricVcenterVMVsanOutstandingIo) init() { + m.data.SetName("vcenter.vm.vsan.outstanding_io") + m.data.SetDescription("The amount of outstanding VSAN I/O operations") + m.data.SetUnit("") + m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMVsanOutstandingIo) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Gauge().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMVsanOutstandingIo) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMVsanOutstandingIo) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMVsanOutstandingIo(settings MetricSettings) metricVcenterVMVsanOutstandingIo { + m := metricVcenterVMVsanOutstandingIo{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMVsanThroughput struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.vsan.throughput metric with initial data. +func (m *metricVcenterVMVsanThroughput) init() { + m.data.SetName("vcenter.vm.vsan.throughput") + m.data.SetDescription("The VSAN throughput of a virtual machine") + m.data.SetUnit("By/s") + m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Gauge().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMVsanThroughput) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMVsanThroughput) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMVsanThroughput(settings MetricSettings) metricVcenterVMVsanThroughput { + m := metricVcenterVMVsanThroughput{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +// MetricsBuilder provides an interface for scrapers to report metrics while taking care of all the transformations +// required to produce metric representation defined in metadata and user settings. +type MetricsBuilder struct { + startTime pdata.Timestamp + metricVcenterClusterCPUAvailable metricVcenterClusterCPUAvailable + metricVcenterClusterCPUEffective metricVcenterClusterCPUEffective + metricVcenterClusterCPUUsed metricVcenterClusterCPUUsed + metricVcenterClusterMemoryAvailable metricVcenterClusterMemoryAvailable + metricVcenterClusterMemoryEffective metricVcenterClusterMemoryEffective + metricVcenterClusterMemoryUsed metricVcenterClusterMemoryUsed + metricVcenterClusterVsanCongestions metricVcenterClusterVsanCongestions + metricVcenterClusterVsanLatencyAvg metricVcenterClusterVsanLatencyAvg + metricVcenterClusterVsanOperations metricVcenterClusterVsanOperations + metricVcenterClusterVsanOutstandingIo metricVcenterClusterVsanOutstandingIo + metricVcenterClusterVsanThroughput metricVcenterClusterVsanThroughput + metricVcenterDatacenterHostCount metricVcenterDatacenterHostCount + metricVcenterDatacenterVMCount metricVcenterDatacenterVMCount + metricVcenterDatastoreDiskUsage metricVcenterDatastoreDiskUsage + metricVcenterDatastoreDiskUtilization metricVcenterDatastoreDiskUtilization + metricVcenterHostCPUUsage metricVcenterHostCPUUsage + metricVcenterHostCPUUtilization metricVcenterHostCPUUtilization + metricVcenterHostDiskLatencyAvg metricVcenterHostDiskLatencyAvg + metricVcenterHostDiskThroughput metricVcenterHostDiskThroughput + metricVcenterHostMemoryUsage metricVcenterHostMemoryUsage + metricVcenterHostMemoryUtilization metricVcenterHostMemoryUtilization + metricVcenterHostNetworkPackets metricVcenterHostNetworkPackets + metricVcenterHostNetworkThroughput metricVcenterHostNetworkThroughput + metricVcenterHostVsanCacheHitRate metricVcenterHostVsanCacheHitRate + metricVcenterHostVsanCacheReads metricVcenterHostVsanCacheReads + metricVcenterHostVsanCongestions metricVcenterHostVsanCongestions + metricVcenterHostVsanLatencyAvg metricVcenterHostVsanLatencyAvg + metricVcenterHostVsanOperations metricVcenterHostVsanOperations + metricVcenterHostVsanOutstandingIo metricVcenterHostVsanOutstandingIo + metricVcenterHostVsanThroughput metricVcenterHostVsanThroughput + metricVcenterVMCPUUtilization metricVcenterVMCPUUtilization + metricVcenterVMDiskLatency metricVcenterVMDiskLatency + metricVcenterVMDiskThroughput metricVcenterVMDiskThroughput + metricVcenterVMDiskUsage metricVcenterVMDiskUsage + metricVcenterVMMemoryBallooned metricVcenterVMMemoryBallooned + metricVcenterVMMemoryUsage metricVcenterVMMemoryUsage + metricVcenterVMNetworkPackets metricVcenterVMNetworkPackets + metricVcenterVMNetworkThroughput metricVcenterVMNetworkThroughput + metricVcenterVMVsanCongestions metricVcenterVMVsanCongestions + metricVcenterVMVsanLatencyAvg metricVcenterVMVsanLatencyAvg + metricVcenterVMVsanOperations metricVcenterVMVsanOperations + metricVcenterVMVsanOutstandingIo metricVcenterVMVsanOutstandingIo + metricVcenterVMVsanThroughput metricVcenterVMVsanThroughput +} + +// metricBuilderOption applies changes to default metrics builder. +type metricBuilderOption func(*MetricsBuilder) + +// WithStartTime sets startTime on the metrics builder. +func WithStartTime(startTime pdata.Timestamp) metricBuilderOption { + return func(mb *MetricsBuilder) { + mb.startTime = startTime + } +} + +func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) *MetricsBuilder { + mb := &MetricsBuilder{ + startTime: pdata.NewTimestampFromTime(time.Now()), + metricVcenterClusterCPUAvailable: newMetricVcenterClusterCPUAvailable(settings.VcenterClusterCPUAvailable), + metricVcenterClusterCPUEffective: newMetricVcenterClusterCPUEffective(settings.VcenterClusterCPUEffective), + metricVcenterClusterCPUUsed: newMetricVcenterClusterCPUUsed(settings.VcenterClusterCPUUsed), + metricVcenterClusterMemoryAvailable: newMetricVcenterClusterMemoryAvailable(settings.VcenterClusterMemoryAvailable), + metricVcenterClusterMemoryEffective: newMetricVcenterClusterMemoryEffective(settings.VcenterClusterMemoryEffective), + metricVcenterClusterMemoryUsed: newMetricVcenterClusterMemoryUsed(settings.VcenterClusterMemoryUsed), + metricVcenterClusterVsanCongestions: newMetricVcenterClusterVsanCongestions(settings.VcenterClusterVsanCongestions), + metricVcenterClusterVsanLatencyAvg: newMetricVcenterClusterVsanLatencyAvg(settings.VcenterClusterVsanLatencyAvg), + metricVcenterClusterVsanOperations: newMetricVcenterClusterVsanOperations(settings.VcenterClusterVsanOperations), + metricVcenterClusterVsanOutstandingIo: newMetricVcenterClusterVsanOutstandingIo(settings.VcenterClusterVsanOutstandingIo), + metricVcenterClusterVsanThroughput: newMetricVcenterClusterVsanThroughput(settings.VcenterClusterVsanThroughput), + metricVcenterDatacenterHostCount: newMetricVcenterDatacenterHostCount(settings.VcenterDatacenterHostCount), + metricVcenterDatacenterVMCount: newMetricVcenterDatacenterVMCount(settings.VcenterDatacenterVMCount), + metricVcenterDatastoreDiskUsage: newMetricVcenterDatastoreDiskUsage(settings.VcenterDatastoreDiskUsage), + metricVcenterDatastoreDiskUtilization: newMetricVcenterDatastoreDiskUtilization(settings.VcenterDatastoreDiskUtilization), + metricVcenterHostCPUUsage: newMetricVcenterHostCPUUsage(settings.VcenterHostCPUUsage), + metricVcenterHostCPUUtilization: newMetricVcenterHostCPUUtilization(settings.VcenterHostCPUUtilization), + metricVcenterHostDiskLatencyAvg: newMetricVcenterHostDiskLatencyAvg(settings.VcenterHostDiskLatencyAvg), + metricVcenterHostDiskThroughput: newMetricVcenterHostDiskThroughput(settings.VcenterHostDiskThroughput), + metricVcenterHostMemoryUsage: newMetricVcenterHostMemoryUsage(settings.VcenterHostMemoryUsage), + metricVcenterHostMemoryUtilization: newMetricVcenterHostMemoryUtilization(settings.VcenterHostMemoryUtilization), + metricVcenterHostNetworkPackets: newMetricVcenterHostNetworkPackets(settings.VcenterHostNetworkPackets), + metricVcenterHostNetworkThroughput: newMetricVcenterHostNetworkThroughput(settings.VcenterHostNetworkThroughput), + metricVcenterHostVsanCacheHitRate: newMetricVcenterHostVsanCacheHitRate(settings.VcenterHostVsanCacheHitRate), + metricVcenterHostVsanCacheReads: newMetricVcenterHostVsanCacheReads(settings.VcenterHostVsanCacheReads), + metricVcenterHostVsanCongestions: newMetricVcenterHostVsanCongestions(settings.VcenterHostVsanCongestions), + metricVcenterHostVsanLatencyAvg: newMetricVcenterHostVsanLatencyAvg(settings.VcenterHostVsanLatencyAvg), + metricVcenterHostVsanOperations: newMetricVcenterHostVsanOperations(settings.VcenterHostVsanOperations), + metricVcenterHostVsanOutstandingIo: newMetricVcenterHostVsanOutstandingIo(settings.VcenterHostVsanOutstandingIo), + metricVcenterHostVsanThroughput: newMetricVcenterHostVsanThroughput(settings.VcenterHostVsanThroughput), + metricVcenterVMCPUUtilization: newMetricVcenterVMCPUUtilization(settings.VcenterVMCPUUtilization), + metricVcenterVMDiskLatency: newMetricVcenterVMDiskLatency(settings.VcenterVMDiskLatency), + metricVcenterVMDiskThroughput: newMetricVcenterVMDiskThroughput(settings.VcenterVMDiskThroughput), + metricVcenterVMDiskUsage: newMetricVcenterVMDiskUsage(settings.VcenterVMDiskUsage), + metricVcenterVMMemoryBallooned: newMetricVcenterVMMemoryBallooned(settings.VcenterVMMemoryBallooned), + metricVcenterVMMemoryUsage: newMetricVcenterVMMemoryUsage(settings.VcenterVMMemoryUsage), + metricVcenterVMNetworkPackets: newMetricVcenterVMNetworkPackets(settings.VcenterVMNetworkPackets), + metricVcenterVMNetworkThroughput: newMetricVcenterVMNetworkThroughput(settings.VcenterVMNetworkThroughput), + metricVcenterVMVsanCongestions: newMetricVcenterVMVsanCongestions(settings.VcenterVMVsanCongestions), + metricVcenterVMVsanLatencyAvg: newMetricVcenterVMVsanLatencyAvg(settings.VcenterVMVsanLatencyAvg), + metricVcenterVMVsanOperations: newMetricVcenterVMVsanOperations(settings.VcenterVMVsanOperations), + metricVcenterVMVsanOutstandingIo: newMetricVcenterVMVsanOutstandingIo(settings.VcenterVMVsanOutstandingIo), + metricVcenterVMVsanThroughput: newMetricVcenterVMVsanThroughput(settings.VcenterVMVsanThroughput), + } + for _, op := range options { + op(mb) + } + return mb +} + +// Emit appends generated metrics to a pdata.MetricsSlice and updates the internal state to be ready for recording +// another set of data points. This function will be doing all transformations required to produce metric representation +// defined in metadata and user settings, e.g. delta/cumulative translation. +func (mb *MetricsBuilder) Emit(metrics pdata.MetricSlice) { + mb.metricVcenterClusterCPUAvailable.emit(metrics) + mb.metricVcenterClusterCPUEffective.emit(metrics) + mb.metricVcenterClusterCPUUsed.emit(metrics) + mb.metricVcenterClusterMemoryAvailable.emit(metrics) + mb.metricVcenterClusterMemoryEffective.emit(metrics) + mb.metricVcenterClusterMemoryUsed.emit(metrics) + mb.metricVcenterClusterVsanCongestions.emit(metrics) + mb.metricVcenterClusterVsanLatencyAvg.emit(metrics) + mb.metricVcenterClusterVsanOperations.emit(metrics) + mb.metricVcenterClusterVsanOutstandingIo.emit(metrics) + mb.metricVcenterClusterVsanThroughput.emit(metrics) + mb.metricVcenterDatacenterHostCount.emit(metrics) + mb.metricVcenterDatacenterVMCount.emit(metrics) + mb.metricVcenterDatastoreDiskUsage.emit(metrics) + mb.metricVcenterDatastoreDiskUtilization.emit(metrics) + mb.metricVcenterHostCPUUsage.emit(metrics) + mb.metricVcenterHostCPUUtilization.emit(metrics) + mb.metricVcenterHostDiskLatencyAvg.emit(metrics) + mb.metricVcenterHostDiskThroughput.emit(metrics) + mb.metricVcenterHostMemoryUsage.emit(metrics) + mb.metricVcenterHostMemoryUtilization.emit(metrics) + mb.metricVcenterHostNetworkPackets.emit(metrics) + mb.metricVcenterHostNetworkThroughput.emit(metrics) + mb.metricVcenterHostVsanCacheHitRate.emit(metrics) + mb.metricVcenterHostVsanCacheReads.emit(metrics) + mb.metricVcenterHostVsanCongestions.emit(metrics) + mb.metricVcenterHostVsanLatencyAvg.emit(metrics) + mb.metricVcenterHostVsanOperations.emit(metrics) + mb.metricVcenterHostVsanOutstandingIo.emit(metrics) + mb.metricVcenterHostVsanThroughput.emit(metrics) + mb.metricVcenterVMCPUUtilization.emit(metrics) + mb.metricVcenterVMDiskLatency.emit(metrics) + mb.metricVcenterVMDiskThroughput.emit(metrics) + mb.metricVcenterVMDiskUsage.emit(metrics) + mb.metricVcenterVMMemoryBallooned.emit(metrics) + mb.metricVcenterVMMemoryUsage.emit(metrics) + mb.metricVcenterVMNetworkPackets.emit(metrics) + mb.metricVcenterVMNetworkThroughput.emit(metrics) + mb.metricVcenterVMVsanCongestions.emit(metrics) + mb.metricVcenterVMVsanLatencyAvg.emit(metrics) + mb.metricVcenterVMVsanOperations.emit(metrics) + mb.metricVcenterVMVsanOutstandingIo.emit(metrics) + mb.metricVcenterVMVsanThroughput.emit(metrics) +} + +// RecordVcenterClusterCPUAvailableDataPoint adds a data point to vcenter.cluster.cpu.available metric. +func (mb *MetricsBuilder) RecordVcenterClusterCPUAvailableDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { + mb.metricVcenterClusterCPUAvailable.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +} + +// RecordVcenterClusterCPUEffectiveDataPoint adds a data point to vcenter.cluster.cpu.effective metric. +func (mb *MetricsBuilder) RecordVcenterClusterCPUEffectiveDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { + mb.metricVcenterClusterCPUEffective.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +} + +// RecordVcenterClusterCPUUsedDataPoint adds a data point to vcenter.cluster.cpu.used metric. +func (mb *MetricsBuilder) RecordVcenterClusterCPUUsedDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { + mb.metricVcenterClusterCPUUsed.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +} + +// RecordVcenterClusterMemoryAvailableDataPoint adds a data point to vcenter.cluster.memory.available metric. +func (mb *MetricsBuilder) RecordVcenterClusterMemoryAvailableDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { + mb.metricVcenterClusterMemoryAvailable.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +} + +// RecordVcenterClusterMemoryEffectiveDataPoint adds a data point to vcenter.cluster.memory.effective metric. +func (mb *MetricsBuilder) RecordVcenterClusterMemoryEffectiveDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { + mb.metricVcenterClusterMemoryEffective.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +} + +// RecordVcenterClusterMemoryUsedDataPoint adds a data point to vcenter.cluster.memory.used metric. +func (mb *MetricsBuilder) RecordVcenterClusterMemoryUsedDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { + mb.metricVcenterClusterMemoryUsed.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +} + +// RecordVcenterClusterVsanCongestionsDataPoint adds a data point to vcenter.cluster.vsan.congestions metric. +func (mb *MetricsBuilder) RecordVcenterClusterVsanCongestionsDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { + mb.metricVcenterClusterVsanCongestions.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +} + +// RecordVcenterClusterVsanLatencyAvgDataPoint adds a data point to vcenter.cluster.vsan.latency.avg metric. +func (mb *MetricsBuilder) RecordVcenterClusterVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string, clusterAttributeValue string) { + mb.metricVcenterClusterVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue, clusterAttributeValue) +} + +// RecordVcenterClusterVsanOperationsDataPoint adds a data point to vcenter.cluster.vsan.operations metric. +func (mb *MetricsBuilder) RecordVcenterClusterVsanOperationsDataPoint(ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string, clusterAttributeValue string) { + mb.metricVcenterClusterVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue, clusterAttributeValue) +} + +// RecordVcenterClusterVsanOutstandingIoDataPoint adds a data point to vcenter.cluster.vsan.outstanding_io metric. +func (mb *MetricsBuilder) RecordVcenterClusterVsanOutstandingIoDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { + mb.metricVcenterClusterVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +} + +// RecordVcenterClusterVsanThroughputDataPoint adds a data point to vcenter.cluster.vsan.throughput metric. +func (mb *MetricsBuilder) RecordVcenterClusterVsanThroughputDataPoint(ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string, clusterAttributeValue string) { + mb.metricVcenterClusterVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue, clusterAttributeValue) +} + +// RecordVcenterDatacenterHostCountDataPoint adds a data point to vcenter.datacenter.host.count metric. +func (mb *MetricsBuilder) RecordVcenterDatacenterHostCountDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterDatacenterHostCount.recordDataPoint(mb.startTime, ts, val) +} + +// RecordVcenterDatacenterVMCountDataPoint adds a data point to vcenter.datacenter.vm.count metric. +func (mb *MetricsBuilder) RecordVcenterDatacenterVMCountDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterDatacenterVMCount.recordDataPoint(mb.startTime, ts, val) +} + +// RecordVcenterDatastoreDiskUsageDataPoint adds a data point to vcenter.datastore.disk.usage metric. +func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterDatastoreDiskUsage.recordDataPoint(mb.startTime, ts, val) +} + +// RecordVcenterDatastoreDiskUtilizationDataPoint adds a data point to vcenter.datastore.disk.utilization metric. +func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUtilizationDataPoint(ts pdata.Timestamp, val float64) { + mb.metricVcenterDatastoreDiskUtilization.recordDataPoint(mb.startTime, ts, val) +} + +// RecordVcenterHostCPUUsageDataPoint adds a data point to vcenter.host.cpu.usage metric. +func (mb *MetricsBuilder) RecordVcenterHostCPUUsageDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + mb.metricVcenterHostCPUUsage.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostCPUUtilizationDataPoint adds a data point to vcenter.host.cpu.utilization metric. +func (mb *MetricsBuilder) RecordVcenterHostCPUUtilizationDataPoint(ts pdata.Timestamp, val float64, hostnameAttributeValue string) { + mb.metricVcenterHostCPUUtilization.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostDiskLatencyAvgDataPoint adds a data point to vcenter.host.disk.latency.avg metric. +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostDiskThroughputDataPoint adds a data point to vcenter.host.disk.throughput metric. +func (mb *MetricsBuilder) RecordVcenterHostDiskThroughputDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + mb.metricVcenterHostDiskThroughput.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostMemoryUsageDataPoint adds a data point to vcenter.host.memory.usage metric. +func (mb *MetricsBuilder) RecordVcenterHostMemoryUsageDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + mb.metricVcenterHostMemoryUsage.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostMemoryUtilizationDataPoint adds a data point to vcenter.host.memory.utilization metric. +func (mb *MetricsBuilder) RecordVcenterHostMemoryUtilizationDataPoint(ts pdata.Timestamp, val float64, hostnameAttributeValue string) { + mb.metricVcenterHostMemoryUtilization.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostNetworkPacketsDataPoint adds a data point to vcenter.host.network.packets metric. +func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + mb.metricVcenterHostNetworkPackets.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostNetworkThroughputDataPoint adds a data point to vcenter.host.network.throughput metric. +func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + mb.metricVcenterHostNetworkThroughput.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostVsanCacheHitRateDataPoint adds a data point to vcenter.host.vsan.cache.hit_rate metric. +func (mb *MetricsBuilder) RecordVcenterHostVsanCacheHitRateDataPoint(ts pdata.Timestamp, val float64, hostnameAttributeValue string) { + mb.metricVcenterHostVsanCacheHitRate.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostVsanCacheReadsDataPoint adds a data point to vcenter.host.vsan.cache.reads metric. +func (mb *MetricsBuilder) RecordVcenterHostVsanCacheReadsDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + mb.metricVcenterHostVsanCacheReads.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostVsanCongestionsDataPoint adds a data point to vcenter.host.vsan.congestions metric. +func (mb *MetricsBuilder) RecordVcenterHostVsanCongestionsDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + mb.metricVcenterHostVsanCongestions.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostVsanLatencyAvgDataPoint adds a data point to vcenter.host.vsan.latency.avg metric. +func (mb *MetricsBuilder) RecordVcenterHostVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanLatencyTypeAttributeValue string) { + mb.metricVcenterHostVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue, vsanLatencyTypeAttributeValue) +} + +// RecordVcenterHostVsanOperationsDataPoint adds a data point to vcenter.host.vsan.operations metric. +func (mb *MetricsBuilder) RecordVcenterHostVsanOperationsDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanOperationTypeAttributeValue string) { + mb.metricVcenterHostVsanOperations.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue, vsanOperationTypeAttributeValue) +} + +// RecordVcenterHostVsanOutstandingIoDataPoint adds a data point to vcenter.host.vsan.outstanding_io metric. +func (mb *MetricsBuilder) RecordVcenterHostVsanOutstandingIoDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { + mb.metricVcenterHostVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +} + +// RecordVcenterHostVsanThroughputDataPoint adds a data point to vcenter.host.vsan.throughput metric. +func (mb *MetricsBuilder) RecordVcenterHostVsanThroughputDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanThroughputDirectionAttributeValue string) { + mb.metricVcenterHostVsanThroughput.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue, vsanThroughputDirectionAttributeValue) +} + +// RecordVcenterVMCPUUtilizationDataPoint adds a data point to vcenter.vm.cpu.utilization metric. +func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pdata.Timestamp, val float64, instanceNameAttributeValue string) { + mb.metricVcenterVMCPUUtilization.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMDiskLatencyDataPoint adds a data point to vcenter.vm.disk.latency metric. +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMDiskLatency.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMDiskThroughputDataPoint adds a data point to vcenter.vm.disk.throughput metric. +func (mb *MetricsBuilder) RecordVcenterVMDiskThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMDiskThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMDiskUsageDataPoint adds a data point to vcenter.vm.disk.usage metric. +func (mb *MetricsBuilder) RecordVcenterVMDiskUsageDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMDiskUsage.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMMemoryBalloonedDataPoint adds a data point to vcenter.vm.memory.ballooned metric. +func (mb *MetricsBuilder) RecordVcenterVMMemoryBalloonedDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMMemoryBallooned.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMMemoryUsageDataPoint adds a data point to vcenter.vm.memory.usage metric. +func (mb *MetricsBuilder) RecordVcenterVMMemoryUsageDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMMemoryUsage.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMNetworkPacketsDataPoint adds a data point to vcenter.vm.network.packets metric. +func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMNetworkPackets.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMNetworkThroughputDataPoint adds a data point to vcenter.vm.network.throughput metric. +func (mb *MetricsBuilder) RecordVcenterVMNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMNetworkThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMVsanCongestionsDataPoint adds a data point to vcenter.vm.vsan.congestions metric. +func (mb *MetricsBuilder) RecordVcenterVMVsanCongestionsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMVsanCongestions.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMVsanLatencyAvgDataPoint adds a data point to vcenter.vm.vsan.latency.avg metric. +func (mb *MetricsBuilder) RecordVcenterVMVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMVsanOperationsDataPoint adds a data point to vcenter.vm.vsan.operations metric. +func (mb *MetricsBuilder) RecordVcenterVMVsanOperationsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMVsanOperations.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMVsanOutstandingIoDataPoint adds a data point to vcenter.vm.vsan.outstanding_io metric. +func (mb *MetricsBuilder) RecordVcenterVMVsanOutstandingIoDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// RecordVcenterVMVsanThroughputDataPoint adds a data point to vcenter.vm.vsan.throughput metric. +func (mb *MetricsBuilder) RecordVcenterVMVsanThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { + mb.metricVcenterVMVsanThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +} + +// Reset resets metrics builder to its initial state. It should be used when external metrics source is restarted, +// and metrics builder should update its startTime and reset it's internal state accordingly. +func (mb *MetricsBuilder) Reset(options ...metricBuilderOption) { + mb.startTime = pdata.NewTimestampFromTime(time.Now()) + for _, op := range options { + op(mb) + } +} + +// NewMetricData creates new pdata.Metrics and sets the InstrumentationLibrary +// name on the ResourceMetrics. +func (mb *MetricsBuilder) NewMetricData() pdata.Metrics { + md := pdata.NewMetrics() + rm := md.ResourceMetrics().AppendEmpty() + ilm := rm.InstrumentationLibraryMetrics().AppendEmpty() + ilm.InstrumentationLibrary().SetName("otelcol/vmwarevcenterreceiver") + return md +} + +// Attributes contains the possible metric attributes that can be used. +var Attributes = struct { + // Cluster (The name of the vCenter Cluster) + Cluster string + // Datastore (The name of the Datastore) + Datastore string + // Hostname (The name of the ESXi Host System) + Hostname string + // InstanceName (The name of the Virtual Machine) + InstanceName string + // VsanLatencyType (The type of vSAN latency.) + VsanLatencyType string + // VsanOperationType (The type of vSAN operation.) + VsanOperationType string + // VsanThroughputDirection (The type of vSAN throughput.) + VsanThroughputDirection string +}{ + "cluster", + "datastore", + "hostname", + "instance_name", + "type", + "type", + "direction", +} + +// A is an alias for Attributes. +var A = Attributes + +// AttributeVsanLatencyType are the possible values that the attribute "vsan_latency_type" can have. +var AttributeVsanLatencyType = struct { + Read string + Write string +}{ + "read", + "write", +} + +// AttributeVsanOperationType are the possible values that the attribute "vsan_operation_type" can have. +var AttributeVsanOperationType = struct { + Read string + Write string + Unmap string +}{ + "read", + "write", + "unmap", +} + +// AttributeVsanThroughputDirection are the possible values that the attribute "vsan_throughput_direction" can have. +var AttributeVsanThroughputDirection = struct { + Read string + Write string +}{ + "read", + "write", +} diff --git a/receiver/vmwarevcenterreceiver/metadata.yaml b/receiver/vmwarevcenterreceiver/metadata.yaml new file mode 100644 index 0000000000000..60cced046da19 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/metadata.yaml @@ -0,0 +1,400 @@ +name: vmwarevcenterreceiver + +attributes: + cluster: + description: The name of the vCenter Cluster + hostname: + description: The name of the ESXi Host System + datastore: + description: The name of the Datastore + instance_name: + description: The name of the Virtual Machine + vsan_latency_type: + value: type + description: The type of vSAN latency. + enum: + - read + - write + vsan_operation_type: + value: type + description: The type of vSAN operation. + enum: + - read + - write + - unmap + vsan_throughput_direction: + value: direction + description: The type of vSAN throughput. + enum: + - read + - write + + +metrics: + vcenter.cluster.cpu.available: + enabled: true + description: The amount of CPU available to the cluster + unit: "{MHz}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [cluster] + vcenter.cluster.cpu.effective: + enabled: true + description: The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. + unit: "{MHz}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [cluster] + vcenter.cluster.cpu.used: + enabled: true + description: The amount of CPU used by the cluster + unit: "{MHz}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [cluster] + vcenter.cluster.memory.available: + enabled: true + description: The available memory of the cluster. + unit: By + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [cluster] + vcenter.cluster.memory.effective: + enabled: true + description: The available memory of the cluster. + unit: By + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [cluster] + vcenter.cluster.memory.used: + enabled: true + description: The memory that is currently used by the cluster + unit: By + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [cluster] + vcenter.cluster.vsan.latency.avg: + enabled: true + description: Average latency of IOs generated by all vSAN clients in the cluster. + unit: µs + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [vsan_latency_type, cluster] + vcenter.cluster.vsan.operations: + enabled: true + description: IOPS consumed by all vSAN clients in the cluster + unit: "{operations/sec}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [vsan_operation_type, cluster] + vcenter.cluster.vsan.congestions: + enabled: true + description: Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. + unit: "{congestions/sec}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [cluster] + vcenter.cluster.vsan.outstanding_io: + enabled: true + description: Outstanding IO from all vSAN clients in the cluster + unit: "{operations}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [cluster] + vcenter.cluster.vsan.throughput: + enabled: true + description: Throughput consumed by all vSAN clients in the cluster. + unit: By/sec + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [vsan_throughput_direction, cluster] + vcenter.datacenter.vm.count: + enabled: true + description: the number of virtual machines in the datacenter + unit: "{virtual_machines}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + + vcenter.datacenter.host.count: + enabled: true + description: the number of hosts in the datacenter + unit: "{hosts}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + + vcenter.datastore.disk.usage: + enabled: true + description: The amount of space in the datastore. + unit: By + sum: + monotonic: false + value_type: int + aggregation: cumulative + vcenter.datastore.disk.utilization: + enabled: true + description: The utilization of the datastore + unit: "%" + gauge: + value_type: double + vcenter.host.cpu.utilization: + enabled: true + description: The CPU utilization of the host system + unit: "%" + gauge: + value_type: double + attributes: [hostname] + vcenter.host.cpu.usage: + enabled: true + description: The amount of CPU in Hz used by the host + unit: "MHz" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname] + vcenter.host.disk.throughput: + enabled: true + description: The throughput to the host system's disk + unit: By/s + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname] + vcenter.host.disk.latency.avg: + enabled: true + description: The latency of operations to the host system's disk + unit: ms + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname] + vcenter.host.memory.utilization: + enabled: true + description: The percentage of the host system's memory capacity that is being utilized + unit: "%" + gauge: + value_type: double + attributes: [hostname] + vcenter.host.memory.usage: + enabled: true + description: The amount of memory the host system is using + unit: By + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname] + vcenter.host.network.throughput: + enabled: true + description: The amount of data that was sent or recieved over the network by the host + unit: "{By/s}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname] + vcenter.host.network.packets: + enabled: true + description: The number of packets sent over an interval + unit: "{packets/sec}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname] + vcenter.host.vsan.throughput: + enabled: true + description: Throughput consumed by all vSAN clients on the host. + unit: By/s + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname, vsan_throughput_direction] + vcenter.host.vsan.operations: + enabled: true + description: IOPs consumed by all vSAN clients on the host. + unit: "{operations/sec}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname, vsan_operation_type] + vcenter.host.vsan.congestions: + enabled: true + description: Congestions of IOs generated by all vSAN clients on the host + unit: "{congestions/sec}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname] + vcenter.host.vsan.latency.avg: + enabled: true + description: Average latency of IOs generated by all vSAN clients on the host. + unit: µs + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname, vsan_latency_type] + vcenter.host.vsan.cache.reads: + enabled: true + description: Average latency of IOs generated by all vSAN clients on the host + unit: "{operations/sec}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname] + vcenter.host.vsan.cache.hit_rate: + enabled: true + description: Percentage of read IOs which could be satisfied by the local client cache + unit: "%" + gauge: + value_type: double + attributes: [hostname] + vcenter.host.vsan.outstanding_io: + enabled: true + description: Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc. + unit: "{operations/sec}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [hostname] + vcenter.vm.memory.ballooned: + enabled: true + description: The amount of memory that is ballooned due to virtualization. + unit: By + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [instance_name] + vcenter.vm.memory.usage: + enabled: true + description: The amount of memory that is used by the virtual machine + unit: By + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [instance_name] + vcenter.vm.cpu.utilization: + enabled: true + description: The CPU utilization of the virtual machine + unit: "%" + gauge: + value_type: double + attributes: [instance_name] + vcenter.vm.disk.usage: + enabled: true + description: The amount of storage space the virtual machine is using + unit: By + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [instance_name] + vcenter.vm.disk.latency: + enabled: true + description: The latency of operations to the virtual machine's disk + unit: µs + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [instance_name] + vcenter.vm.disk.throughput: + enabled: true + description: The throughput of the virtual machine's disk + unit: By/sec + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [instance_name] + vcenter.vm.network.throughput: + enabled: true + description: The amount of data that was received or sent over the network of the virtual machine + unit: By/sec + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [instance_name] + vcenter.vm.network.packets: + enabled: true + description: The amount of packets that was received or transmitted over the instance's network + unit: "{packets/sec}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [instance_name] + vcenter.vm.vsan.operations: + enabled: true + description: Virtual Machine vSAN IOPs + unit: "{operations/sec}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [instance_name] + vcenter.vm.vsan.throughput: + enabled: true + description: The VSAN throughput of a virtual machine + unit: By/s + gauge: + value_type: int + attributes: [instance_name] + vcenter.vm.vsan.congestions: + enabled: true + description: todo + unit: "{congestions}" + gauge: + value_type: int + attributes: [instance_name] + vcenter.vm.vsan.outstanding_io: + enabled: true + description: The amount of outstanding VSAN I/O operations + unit: "" + gauge: + value_type: int + attributes: [instance_name] + vcenter.vm.vsan.latency.avg: + enabled: true + description: The latency while accessing VSAN storage + unit: us + gauge: + value_type: int + attributes: [instance_name] diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go new file mode 100644 index 0000000000000..1261a9ace8690 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -0,0 +1,156 @@ +package vmwarevcenterreceiver + +import ( + "strconv" + + "go.opentelemetry.io/collector/model/pdata" + "go.opentelemetry.io/collector/receiver/scrapererror" +) + +var iopsRead = "iopsRead" +var iopsWrite = "iopsWrite" +var throughputRead = "throughputRead" +var throughputWrite = "throughputWrite" +var latencyAvgRead = "latencyAvgRead" +var latencyAvgWrite = "latencyAvgWrite" +var outstandingIO = "oio" +var congestion = "congestion" + +func (v *vmwareVcenterScraper) recordClusterVsanMetric( + now pdata.Timestamp, + metricID string, + cluster string, + val string, + errs *scrapererror.ScrapeErrors, +) { + switch metricID { + case iopsRead: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterClusterVsanOperationsDataPoint(now, value, "read", cluster) + } + case iopsWrite: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterClusterVsanOperationsDataPoint(now, value, "write", cluster) + } + case throughputRead: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterClusterVsanThroughputDataPoint(now, value, "read", cluster) + } + case throughputWrite: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterClusterVsanThroughputDataPoint(now, value, "write", cluster) + } + case latencyAvgRead: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterClusterVsanLatencyAvgDataPoint(now, value, "read", cluster) + } + case latencyAvgWrite: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterClusterVsanLatencyAvgDataPoint(now, value, "write", cluster) + } + case outstandingIO: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterClusterVsanOutstandingIoDataPoint(now, value, cluster) + } + case congestion: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterClusterVsanCongestionsDataPoint(now, value, cluster) + } + } +} + +func (v *vmwareVcenterScraper) recordHostVsanMetric( + now pdata.Timestamp, + metricID string, + hostname string, + val string, + errs *scrapererror.ScrapeErrors, +) { + switch metricID { + case iopsRead: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "read", hostname) + } + case iopsWrite: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "write", hostname) + } + case throughputRead: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, hostname, "read") + } + case throughputWrite: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, hostname, "write") + } + case latencyAvgRead: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, "read", hostname) + } + case latencyAvgWrite: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, "write", hostname) + } + case outstandingIO: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanOutstandingIoDataPoint(now, value, hostname) + } + case congestion: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanOutstandingIoDataPoint(now, value, hostname) + } + } +} + +func parseInt(val string) (int64, error) { + i, err := strconv.Atoi(val) + return int64(i), err +} diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go new file mode 100644 index 0000000000000..48c0d1e77c9fc --- /dev/null +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -0,0 +1,208 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver + +import ( + "context" + "errors" + "fmt" + "strings" + "time" + + "github.com/vmware/govmomi/object" + "github.com/vmware/govmomi/vim25/mo" + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/model/pdata" + "go.opentelemetry.io/collector/receiver/scrapererror" + "go.uber.org/zap" + + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" +) + +// example 2022-03-10 14:15:00 +const timeFormat = "2006-01-02 15:04:05" + +const instrumentationLibraryName = "otelcol/vcenter" + +type vmwareVcenterScraper struct { + client *VmwareVcenterClient + logger *zap.Logger + config *Config + mb *metadata.MetricsBuilder +} + +func newVmwareVcenterScraper( + logger *zap.Logger, + config *Config, +) *vmwareVcenterScraper { + l := logger.Named("vcenter-client") + client := newVmwarevcenterClient(config, l) + return &vmwareVcenterScraper{ + logger: logger, + client: client, + config: config, + mb: metadata.NewMetricsBuilder(config.Metrics), + } +} + +func (v *vmwareVcenterScraper) start(ctx context.Context, host component.Host) error { + return v.client.Connect(ctx) +} + +func (v *vmwareVcenterScraper) shutdown(ctx context.Context) error { + return v.client.Disconnect(ctx) +} + +func (v *vmwareVcenterScraper) scrape(ctx context.Context) (pdata.Metrics, error) { + if v.client == nil { + return pdata.Metrics{}, errors.New("failed to connect to http client") + } + + metrics := pdata.NewMetrics() + rms := metrics.ResourceMetrics() + errs := &scrapererror.ScrapeErrors{} + + err := v.client.ConnectVSAN(ctx) + if err != nil { + errs.AddPartial(1, err) + } + + v.collectClusters(ctx, rms, errs) + return metrics, errs.Combine() +} + +func (v *vmwareVcenterScraper) collectClusters(ctx context.Context, rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors) error { + clusters, err := v.client.Clusters(ctx) + if err != nil { + return err + } + + for _, c := range clusters { + rm := rms.AppendEmpty() + v.collectCluster(ctx, c, rm, errs) + v.collectHosts(ctx, c, rms, errs) + } + + return nil +} + +func (v *vmwareVcenterScraper) collectCluster( + ctx context.Context, + c mo.ClusterComputeResource, + rm pdata.ResourceMetrics, + errs *scrapererror.ScrapeErrors, +) { + resourceAttrs := rm.Resource().Attributes() + resourceAttrs.InsertString(metadata.A.Cluster, c.Name) + + ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() + ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) + + v.collectClusterVSAN(ctx, c, errs) + v.mb.EmitCluster(ilms.Metrics()) +} + +func (v *vmwareVcenterScraper) collectClusterVSAN( + ctx context.Context, + cluster mo.ClusterComputeResource, + errs *scrapererror.ScrapeErrors, +) { + mor := cluster.Reference() + v.logger.Info(fmt.Sprintf("cluster: %s", mor.Value)) + csvs, err := v.client.CollectVSANCluster(ctx, &mor, time.Now(), time.Now()) + if err != nil { + errs.AddPartial(1, err) + return + } + + for _, r := range *csvs { + time, err := time.Parse(timeFormat, r.SampleInfo) + if err != nil { + errs.AddPartial(1, err) + continue + } + ts := pdata.NewTimestampFromTime(time) + + for _, val := range r.Value { + v.logger.Info(fmt.Sprintf("metricId: %s", val.MetricId.Label)) + values := strings.Split(val.Values, ",") + for _, value := range values { + v.recordClusterVsanMetric(ts, val.MetricId.Label, cluster.Name, value, errs) + } + } + } +} + +func (v *vmwareVcenterScraper) collectHosts( + ctx context.Context, + cluster mo.ClusterComputeResource, + rms pdata.ResourceMetricsSlice, + errs *scrapererror.ScrapeErrors, +) { + hosts, err := v.client.Hosts(ctx) + if err != nil { + errs.AddPartial(1, err) + return + } + + for _, h := range hosts { + rm := rms.AppendEmpty() + resourceAttrs := rm.Resource().Attributes() + resourceAttrs.InsertString("hostname", h.Name()) + + ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() + ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) + + v.collectHostVsan(ctx, cluster, h, errs) + v.mb.EmitHost(ilms.Metrics()) + } + +} + +func (v *vmwareVcenterScraper) collectHostVsan( + ctx context.Context, + cluster mo.ClusterComputeResource, + host *object.HostSystem, + errs *scrapererror.ScrapeErrors, +) { + mor := cluster.Reference() + csvs, err := v.client.CollectVSANHost(ctx, &mor, time.Now(), time.Now()) + if err != nil { + v.logger.Error(fmt.Sprintf("got an error hosts vsan: %s", err.Error())) + errs.AddPartial(1, err) + return + } + + for _, r := range *csvs { + time, err := time.Parse(timeFormat, r.SampleInfo) + if err != nil { + errs.AddPartial(1, err) + continue + } + ts := pdata.NewTimestampFromTime(time) + + for _, val := range r.Value { + v.logger.Info(fmt.Sprintf("metricId: %s", val.MetricId.Label)) + values := strings.Split(val.Values, ",") + for _, value := range values { + v.recordHostVsanMetric(ts, val.MetricId.Label, host.Name(), value, errs) + } + } + } +} + +// func (v *vmwareVcenterScraper) collectVMs() { + +// } From c4a1025cadcb80cb6f59e0b3b92539363a4c7d46 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 23 Mar 2022 11:56:42 -0400 Subject: [PATCH 002/105] checkpoint on getting property collection working --- receiver/vmwarevcenterreceiver/client.go | 69 +++++-- .../vmwarevcenterreceiver/documentation.md | 6 +- receiver/vmwarevcenterreceiver/factory.go | 15 +- .../internal/metadata/generated_metrics_v2.go | 21 +- receiver/vmwarevcenterreceiver/metadata.yaml | 6 +- receiver/vmwarevcenterreceiver/metrics.go | 131 ++++++++++++- receiver/vmwarevcenterreceiver/scraper.go | 183 +++++++++++++++--- 7 files changed, 368 insertions(+), 63 deletions(-) diff --git a/receiver/vmwarevcenterreceiver/client.go b/receiver/vmwarevcenterreceiver/client.go index 938fa6c6bbff7..ad3c49489499e 100644 --- a/receiver/vmwarevcenterreceiver/client.go +++ b/receiver/vmwarevcenterreceiver/client.go @@ -24,9 +24,8 @@ import ( "github.com/vmware/govmomi" "github.com/vmware/govmomi/find" "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/view" + "github.com/vmware/govmomi/property" "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" vt "github.com/vmware/govmomi/vim25/types" "github.com/vmware/govmomi/vsan" "github.com/vmware/govmomi/vsan/types" @@ -38,6 +37,8 @@ type VmwareVcenterClient struct { moClient *govmomi.Client vimDriver *vim25.Client vsanDriver *vsan.Client + finder *find.Finder + pc *property.Collector cfg *Config logger *zap.Logger } @@ -71,6 +72,8 @@ func (vc *VmwareVcenterClient) Connect(ctx context.Context) error { } vc.moClient = client vc.vimDriver = client.Client + vc.pc = property.DefaultCollector(vc.vimDriver) + vc.finder = find.NewFinder(vc.vimDriver) } return nil } @@ -91,29 +94,46 @@ func (vc *VmwareVcenterClient) ConnectVSAN(ctx context.Context) error { return nil } -func (vc *VmwareVcenterClient) Clusters(ctx context.Context) ([]mo.ClusterComputeResource, error) { - m := view.NewManager(vc.moClient.Client) - v, err := m.CreateContainerView(ctx, vc.vimDriver.ServiceContent.RootFolder, []string{"ClusterComputeResource"}, true) +func (vc *VmwareVcenterClient) Clusters(ctx context.Context) ([]*object.ClusterComputeResource, error) { + clusters, err := vc.finder.ClusterComputeResourceList(ctx, "*") if err != nil { - return []mo.ClusterComputeResource{}, err - } - var clusters []mo.ClusterComputeResource - err = v.Retrieve(ctx, []string{"ClusterComputeResource"}, []string{"summary", "name"}, &clusters) - if err != nil { - return []mo.ClusterComputeResource{}, err + return []*object.ClusterComputeResource{}, err } return clusters, nil } func (vc *VmwareVcenterClient) Hosts(ctx context.Context) ([]*object.HostSystem, error) { - finder := find.NewFinder(vc.vimDriver) - hss, err := finder.HostSystemList(ctx, "*") + hss, err := vc.finder.HostSystemList(ctx, "*") if err != nil { return nil, fmt.Errorf("unable to retrieve host list %w", err) } return hss, nil } +func (vc *VmwareVcenterClient) DataStores(ctx context.Context) ([]*object.Datastore, error) { + dss, err := vc.finder.DatastoreList(ctx, "*") + if err != nil { + return nil, fmt.Errorf("unable to retrieve datastores %w", err) + } + return dss, err +} + +func (vc *VmwareVcenterClient) ResourcePools(ctx context.Context) ([]*object.ResourcePool, error) { + rps, err := vc.finder.ResourcePoolList(ctx, "*") + if err != nil { + return nil, fmt.Errorf("unable to retrieve resource pools: %w", err) + } + return rps, err +} + +func (vc *VmwareVcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachine, error) { + rps, err := vc.finder.VirtualMachineList(ctx, "*") + if err != nil { + return nil, fmt.Errorf("unable to retrieve resource pools: %w", err) + } + return rps, err +} + func (vc *VmwareVcenterClient) CollectVSANCluster(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { if vc.vsanDriver == nil { return nil, errors.New("vsan client not instantiated") @@ -128,7 +148,16 @@ func (vc *VmwareVcenterClient) CollectVSANCluster(ctx context.Context, clusterRe return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *VmwareVcenterClient) CollectVSANHost(ctx context.Context, hostRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *VmwareVcenterClient) RetrieveProperty( + ctx context.Context, + ref vt.ManagedObjectReference, + path []string, + dst interface{}, +) error { + return vc.pc.RetrieveOne(ctx, ref, path, dst) +} + +func (vc *VmwareVcenterClient) CollectVSANHosts(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { if vc.vsanDriver == nil { return nil, errors.New("vsan client not instantiated") } @@ -139,10 +168,15 @@ func (vc *VmwareVcenterClient) CollectVSANHost(ctx context.Context, hostRef *vt. EndTime: &endTime, }, } - return vc.queryVsan(ctx, hostRef, querySpec) + return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *VmwareVcenterClient) CollectVSANVirtualMachine(ctx context.Context, vmRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *VmwareVcenterClient) CollectVSANVirtualMachine( + ctx context.Context, + clusterRef *vt.ManagedObjectReference, + startTime time.Time, + endTime time.Time, +) (*[]types.VsanPerfEntityMetricCSV, error) { if vc.vsanDriver == nil { return nil, errors.New("vsan client not instantiated") } @@ -154,8 +188,7 @@ func (vc *VmwareVcenterClient) CollectVSANVirtualMachine(ctx context.Context, vm EndTime: &endTime, }, } - - return vc.queryVsan(ctx, vmRef, querySpec) + return vc.queryVsan(ctx, clusterRef, querySpec) } func (vc *VmwareVcenterClient) queryVsan(ctx context.Context, ref *vt.ManagedObjectReference, qs []types.VsanPerfQuerySpec) (*[]types.VsanPerfEntityMetricCSV, error) { diff --git a/receiver/vmwarevcenterreceiver/documentation.md b/receiver/vmwarevcenterreceiver/documentation.md index ba58692e409a7..ad5aef873f44f 100644 --- a/receiver/vmwarevcenterreceiver/documentation.md +++ b/receiver/vmwarevcenterreceiver/documentation.md @@ -47,10 +47,10 @@ These are the metrics available for this scraper. | **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network | {packets/sec} | Sum(Int) |
  • instance_name
| | **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine | By/sec | Sum(Int) |
  • instance_name
| | **vcenter.vm.vsan.congestions** | todo | {congestions} | Gauge(Int) |
  • instance_name
| -| **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) |
  • instance_name
| -| **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs | {operations/sec} | Sum(Int) |
  • instance_name
| +| **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) |
  • instance_name
  • vsan_latency_type
| +| **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs | {operations/sec} | Sum(Int) |
  • instance_name
  • vsan_operation_type
| | **vcenter.vm.vsan.outstanding_io** | The amount of outstanding VSAN I/O operations | | Gauge(Int) |
  • instance_name
| -| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Gauge(Int) |
  • instance_name
| +| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Gauge(Int) |
  • instance_name
  • vsan_throughput_direction
| **Highlighted metrics** are emitted by default. Other metrics are optional and not emitted by default. Any metric can be enabled or disabled with the following scraper configuration: diff --git a/receiver/vmwarevcenterreceiver/factory.go b/receiver/vmwarevcenterreceiver/factory.go index 06dd67ca8b387..6ac9ff3a75056 100644 --- a/receiver/vmwarevcenterreceiver/factory.go +++ b/receiver/vmwarevcenterreceiver/factory.go @@ -44,12 +44,15 @@ func NewFactory() component.ReceiverFactory { func createDefaultConfig() config.Receiver { return &Config{ - ScraperControllerSettings: scraperhelper.ScraperControllerSettings{ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), CollectionInterval: time.Minute}, - TLSClientSetting: configtls.TLSClientSetting{}, - Metrics: metadata.DefaultMetricsSettings(), - Endpoint: "", - Username: "", - Password: "", + ScraperControllerSettings: scraperhelper.ScraperControllerSettings{ + ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), + CollectionInterval: 5 * time.Minute, + }, + TLSClientSetting: configtls.TLSClientSetting{}, + Metrics: metadata.DefaultMetricsSettings(), + Endpoint: "", + Username: "", + Password: "", } } diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go index 4aeaa18e9a63b..0c0a17ca66b14 100644 --- a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -2262,7 +2262,7 @@ func (m *metricVcenterVMVsanLatencyAvg) init() { m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { +func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanLatencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -2271,6 +2271,7 @@ func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, t dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.VsanLatencyType, pdata.NewAttributeValueString(vsanLatencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2315,7 +2316,7 @@ func (m *metricVcenterVMVsanOperations) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { +func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanOperationTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -2324,6 +2325,7 @@ func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, t dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.VsanOperationType, pdata.NewAttributeValueString(vsanOperationTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2417,7 +2419,7 @@ func (m *metricVcenterVMVsanThroughput) init() { m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { +func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanThroughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -2426,6 +2428,7 @@ func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, t dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewAttributeValueString(vsanThroughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2810,13 +2813,13 @@ func (mb *MetricsBuilder) RecordVcenterVMVsanCongestionsDataPoint(ts pdata.Times } // RecordVcenterVMVsanLatencyAvgDataPoint adds a data point to vcenter.vm.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanLatencyTypeAttributeValue string) { + mb.metricVcenterVMVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, vsanLatencyTypeAttributeValue) } // RecordVcenterVMVsanOperationsDataPoint adds a data point to vcenter.vm.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanOperationsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMVsanOperations.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMVsanOperationsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanOperationTypeAttributeValue string) { + mb.metricVcenterVMVsanOperations.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, vsanOperationTypeAttributeValue) } // RecordVcenterVMVsanOutstandingIoDataPoint adds a data point to vcenter.vm.vsan.outstanding_io metric. @@ -2825,8 +2828,8 @@ func (mb *MetricsBuilder) RecordVcenterVMVsanOutstandingIoDataPoint(ts pdata.Tim } // RecordVcenterVMVsanThroughputDataPoint adds a data point to vcenter.vm.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMVsanThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMVsanThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanThroughputDirectionAttributeValue string) { + mb.metricVcenterVMVsanThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, vsanThroughputDirectionAttributeValue) } // Reset resets metrics builder to its initial state. It should be used when external metrics source is restarted, diff --git a/receiver/vmwarevcenterreceiver/metadata.yaml b/receiver/vmwarevcenterreceiver/metadata.yaml index 60cced046da19..1a87d11712fa1 100644 --- a/receiver/vmwarevcenterreceiver/metadata.yaml +++ b/receiver/vmwarevcenterreceiver/metadata.yaml @@ -369,14 +369,14 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name] + attributes: [instance_name, vsan_operation_type] vcenter.vm.vsan.throughput: enabled: true description: The VSAN throughput of a virtual machine unit: By/s gauge: value_type: int - attributes: [instance_name] + attributes: [instance_name, vsan_throughput_direction] vcenter.vm.vsan.congestions: enabled: true description: todo @@ -397,4 +397,4 @@ metrics: unit: us gauge: value_type: int - attributes: [instance_name] + attributes: [instance_name, vsan_latency_type] diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index 1261a9ace8690..ea53a5d43372c 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -3,18 +3,39 @@ package vmwarevcenterreceiver import ( "strconv" + "github.com/vmware/govmomi/vim25/mo" "go.opentelemetry.io/collector/model/pdata" "go.opentelemetry.io/collector/receiver/scrapererror" ) +func (v *vmwareVcenterScraper) recordHostSystemMemoryUsage( + now pdata.Timestamp, + hs mo.HostSystem, + hostname string, + errs *scrapererror.ScrapeErrors, +) { + totalMemory := hs.Summary.Hardware.MemorySize + memUsage := hs.Summary.QuickStats.OverallMemoryUsage + v.mb.RecordVcenterHostMemoryUsageDataPoint(now, totalMemory, hostname) + + memUtilization := float64(int64(memUsage) * 1024 * 1024 / totalMemory) + v.mb.RecordVcenterHostMemoryUtilizationDataPoint(now, memUtilization, hostname) +} + +// list of metric IDs https://kb.vmware.com/s/article/2144493 var iopsRead = "iopsRead" var iopsWrite = "iopsWrite" +var iopsUnmap = "iopsUnmap" var throughputRead = "throughputRead" var throughputWrite = "throughputWrite" +var throughputUnmap = "throughputUnmap" var latencyAvgRead = "latencyAvgRead" var latencyAvgWrite = "latencyAvgWrite" +var latencyAvgUnmap = "latencyAvgUnmap" var outstandingIO = "oio" var congestion = "congestion" +var clientCacheHits = "clientCacheHits" +var clientCacheHitRate = "clientCacheHitRate" func (v *vmwareVcenterScraper) recordClusterVsanMetric( now pdata.Timestamp, @@ -91,6 +112,20 @@ func (v *vmwareVcenterScraper) recordHostVsanMetric( errs *scrapererror.ScrapeErrors, ) { switch metricID { + case clientCacheHits: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanCacheReadsDataPoint(now, value, hostname) + } + case clientCacheHitRate: + value, err := parseFloat(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanCacheHitRateDataPoint(now, value, hostname) + } case iopsRead: value, err := parseInt(val) if err != nil { @@ -105,6 +140,13 @@ func (v *vmwareVcenterScraper) recordHostVsanMetric( } else { v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "write", hostname) } + case iopsUnmap: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "unmap", hostname) + } case throughputRead: value, err := parseInt(val) if err != nil { @@ -119,19 +161,33 @@ func (v *vmwareVcenterScraper) recordHostVsanMetric( } else { v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, hostname, "write") } + case throughputUnmap: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, hostname, "unmap") + } case latencyAvgRead: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, "read", hostname) + v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, hostname, "read") } case latencyAvgWrite: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, "write", hostname) + v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, hostname, "write") + } + case latencyAvgUnmap: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, hostname, "unmap") } case outstandingIO: value, err := parseInt(val) @@ -150,7 +206,78 @@ func (v *vmwareVcenterScraper) recordHostVsanMetric( } } +func (v *vmwareVcenterScraper) recordVMVsanMetric( + now pdata.Timestamp, + metricID string, + instanceName string, + val string, + errs *scrapererror.ScrapeErrors, +) { + switch metricID { + case iopsRead: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, instanceName, "read") + } + case iopsWrite: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, instanceName, "write") + } + case throughputRead: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, instanceName, "read") + } + case throughputWrite: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, instanceName, "write") + } + case latencyAvgRead: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, instanceName, "read") + } + case latencyAvgWrite: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, instanceName, "write") + } + case outstandingIO: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterVMVsanOutstandingIoDataPoint(now, value, instanceName) + } + case congestion: + value, err := parseInt(val) + if err != nil { + errs.AddPartial(1, err) + } else { + v.mb.RecordVcenterVMVsanCongestionsDataPoint(now, value, instanceName) + } + } +} + func parseInt(val string) (int64, error) { i, err := strconv.Atoi(val) return int64(i), err } + +func parseFloat(val string) (float64, error) { + return strconv.ParseFloat(val, 64) +} diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go index 48c0d1e77c9fc..d6e53b77bb6e7 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -23,6 +23,7 @@ import ( "github.com/vmware/govmomi/object" "github.com/vmware/govmomi/vim25/mo" + "github.com/vmware/govmomi/vsan/types" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/model/pdata" "go.opentelemetry.io/collector/receiver/scrapererror" @@ -80,6 +81,7 @@ func (v *vmwareVcenterScraper) scrape(ctx context.Context) (pdata.Metrics, error } v.collectClusters(ctx, rms, errs) + return metrics, errs.Combine() } @@ -88,11 +90,15 @@ func (v *vmwareVcenterScraper) collectClusters(ctx context.Context, rms pdata.Re if err != nil { return err } + now := pdata.NewTimestampFromTime(time.Now()) for _, c := range clusters { rm := rms.AppendEmpty() v.collectCluster(ctx, c, rm, errs) - v.collectHosts(ctx, c, rms, errs) + v.collectHosts(ctx, now, c, rms, errs) + v.collectDatastores(ctx, now, c, rms, errs) + v.collectVMs(ctx, now, c, rms, errs) + v.collectResourcePools(ctx, rms, errs) } return nil @@ -100,12 +106,12 @@ func (v *vmwareVcenterScraper) collectClusters(ctx context.Context, rms pdata.Re func (v *vmwareVcenterScraper) collectCluster( ctx context.Context, - c mo.ClusterComputeResource, + c *object.ClusterComputeResource, rm pdata.ResourceMetrics, errs *scrapererror.ScrapeErrors, ) { resourceAttrs := rm.Resource().Attributes() - resourceAttrs.InsertString(metadata.A.Cluster, c.Name) + resourceAttrs.InsertString(metadata.A.Cluster, c.Name()) ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) @@ -116,11 +122,10 @@ func (v *vmwareVcenterScraper) collectCluster( func (v *vmwareVcenterScraper) collectClusterVSAN( ctx context.Context, - cluster mo.ClusterComputeResource, + cluster *object.ClusterComputeResource, errs *scrapererror.ScrapeErrors, ) { mor := cluster.Reference() - v.logger.Info(fmt.Sprintf("cluster: %s", mor.Value)) csvs, err := v.client.CollectVSANCluster(ctx, &mor, time.Now(), time.Now()) if err != nil { errs.AddPartial(1, err) @@ -136,18 +141,52 @@ func (v *vmwareVcenterScraper) collectClusterVSAN( ts := pdata.NewTimestampFromTime(time) for _, val := range r.Value { - v.logger.Info(fmt.Sprintf("metricId: %s", val.MetricId.Label)) values := strings.Split(val.Values, ",") for _, value := range values { - v.recordClusterVsanMetric(ts, val.MetricId.Label, cluster.Name, value, errs) + v.recordClusterVsanMetric(ts, val.MetricId.Label, cluster.Name(), value, errs) } } } } +func (v *vmwareVcenterScraper) collectDatastores( + ctx context.Context, + colTime pdata.Timestamp, + _ *object.ClusterComputeResource, + rms pdata.ResourceMetricsSlice, + errs *scrapererror.ScrapeErrors, +) { + datastores, err := v.client.DataStores(ctx) + if err != nil { + errs.AddPartial(1, err) + return + } + for _, ds := range datastores { + v.logger.Info(fmt.Sprintf("datastore: %s", ds.Name())) + v.collectDatastore(ctx, colTime, rms, ds) + } +} + +func (v *vmwareVcenterScraper) collectDatastore( + _ context.Context, + _ pdata.Timestamp, + rms pdata.ResourceMetricsSlice, + ds *object.Datastore, +) { + rm := rms.AppendEmpty() + ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() + resourceAttrs := rm.Resource().Attributes() + resourceAttrs.InsertString(metadata.A.Datastore, ds.Name()) + + ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) + + v.mb.EmitDatastore(ilms.Metrics()) +} + func (v *vmwareVcenterScraper) collectHosts( ctx context.Context, - cluster mo.ClusterComputeResource, + colTime pdata.Timestamp, + cluster *object.ClusterComputeResource, rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors, ) { @@ -157,6 +196,13 @@ func (v *vmwareVcenterScraper) collectHosts( return } + clusterRef := cluster.Reference() + hostVsanCSVs, err := v.client.CollectVSANHosts(ctx, &clusterRef, time.Now(), time.Now()) + if err != nil { + errs.AddPartial(1, err) + return + } + for _, h := range hosts { rm := rms.AppendEmpty() resourceAttrs := rm.Resource().Attributes() @@ -165,44 +211,137 @@ func (v *vmwareVcenterScraper) collectHosts( ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) - v.collectHostVsan(ctx, cluster, h, errs) + v.collectHost(ctx, colTime, h, hostVsanCSVs, errs) v.mb.EmitHost(ilms.Metrics()) } } -func (v *vmwareVcenterScraper) collectHostVsan( +func (v *vmwareVcenterScraper) collectHost( ctx context.Context, - cluster mo.ClusterComputeResource, + now pdata.Timestamp, host *object.HostSystem, + vsanCsvs *[]types.VsanPerfEntityMetricCSV, errs *scrapererror.ScrapeErrors, ) { - mor := cluster.Reference() - csvs, err := v.client.CollectVSANHost(ctx, &mor, time.Now(), time.Now()) + var hwSum mo.HostSystem + err := host.Properties(ctx, host.Reference(), []string{"summary.hardware"}, &hwSum) + if err != nil { + v.logger.Error(err.Error()) + return + } + v.recordHostSystemMemoryUsage(now, hwSum, host.Name(), errs) + + if vsanCsvs != nil { + entityRef := fmt.Sprintf("host-domclient:%v", + hwSum.Summary.Hardware.Uuid, + ) + v.addVSAN(*vsanCsvs, entityRef, host.Name(), hostType, errs) + } +} + +func (v *vmwareVcenterScraper) collectResourcePools( + ctx context.Context, + _ pdata.ResourceMetricsSlice, + errs *scrapererror.ScrapeErrors, +) { + rps, err := v.client.ResourcePools(ctx) if err != nil { - v.logger.Error(fmt.Sprintf("got an error hosts vsan: %s", err.Error())) errs.AddPartial(1, err) return } + for _, rp := range rps { + v.logger.Info(fmt.Sprintf("collecting resource pool: %s", rp.Name())) + // v.collectDatastore(ctx, rms, rp) + } +} + +func (v *vmwareVcenterScraper) collectVMs( + ctx context.Context, + _ pdata.Timestamp, + cluster *object.ClusterComputeResource, + rms pdata.ResourceMetricsSlice, + errs *scrapererror.ScrapeErrors, +) { + vms, err := v.client.VMs(ctx) + if err != nil { + errs.AddPartial(1, err) + return + } + + clusterRef := cluster.Reference() + vsanCsvs, err := v.client.CollectVSANVirtualMachine(ctx, &clusterRef, time.Now(), time.Now()) + if err != nil { + errs.AddPartial(1, err) + return + } + + for _, vm := range vms { + rm := rms.AppendEmpty() + resourceAttrs := rm.Resource().Attributes() + resourceAttrs.InsertString(metadata.A.InstanceName, vm.Name()) + + ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() + v.logger.Info(fmt.Sprintf("virtual machine: %s %s", vm.Name(), vm.UUID(ctx))) + v.collectVM(ctx, vm, vsanCsvs, errs) + v.mb.EmitVM(ilms.Metrics()) + } + +} + +func (v *vmwareVcenterScraper) collectVM( + ctx context.Context, + vm *object.VirtualMachine, + vsanCsvs *[]types.VsanPerfEntityMetricCSV, + errs *scrapererror.ScrapeErrors, +) { + if vsanCsvs != nil { + vmUUID := vm.UUID(ctx) + entityRef := fmt.Sprintf("virtual-machine: %s %s", vm.Name(), vmUUID) + v.addVSAN(*vsanCsvs, entityRef, vm.Name(), vmType, errs) + } +} + +type vsanType int + +const ( + clusterType vsanType = iota + hostType + vmType +) + +func (v *vmwareVcenterScraper) addVSAN( + csvs []types.VsanPerfEntityMetricCSV, + entityID string, + entityName string, + vsanType vsanType, + errs *scrapererror.ScrapeErrors, +) { + for _, r := range csvs { + v.logger.Info(r.EntityRefId) + if r.EntityRefId != entityID { + continue + } - for _, r := range *csvs { time, err := time.Parse(timeFormat, r.SampleInfo) if err != nil { errs.AddPartial(1, err) continue } - ts := pdata.NewTimestampFromTime(time) + ts := pdata.NewTimestampFromTime(time) for _, val := range r.Value { - v.logger.Info(fmt.Sprintf("metricId: %s", val.MetricId.Label)) values := strings.Split(val.Values, ",") for _, value := range values { - v.recordHostVsanMetric(ts, val.MetricId.Label, host.Name(), value, errs) + switch vsanType { + case clusterType: + v.recordClusterVsanMetric(ts, val.MetricId.Label, entityName, value, errs) + case hostType: + v.recordHostVsanMetric(ts, val.MetricId.Label, entityName, value, errs) + case vmType: + v.recordVMVsanMetric(ts, val.MetricId.Label, entityName, value, errs) + } } } } } - -// func (v *vmwareVcenterScraper) collectVMs() { - -// } From e686bb854918fd73c27b859cc0318313326732a0 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 29 Mar 2022 15:15:36 -0400 Subject: [PATCH 003/105] checkpoint before integration test --- receiver/vmwarevcenterreceiver/client.go | 32 +- receiver/vmwarevcenterreceiver/config.go | 58 +- receiver/vmwarevcenterreceiver/config_test.go | 32 + .../vmwarevcenterreceiver/documentation.md | 40 +- receiver/vmwarevcenterreceiver/e2e_test.go | 1 + receiver/vmwarevcenterreceiver/factory.go | 32 +- .../vmwarevcenterreceiver/factory_test.go | 104 +++ receiver/vmwarevcenterreceiver/go.mod | 21 +- receiver/vmwarevcenterreceiver/go.sum | 1 + .../internal/metadata/emitters.go | 10 +- .../internal/metadata/generated_metrics_v2.go | 607 +++++++++++++----- .../vmwarevcenterreceiver/logs_receiver.go | 26 + .../logs_receiver_test.go | 58 ++ receiver/vmwarevcenterreceiver/metadata.yaml | 108 +++- receiver/vmwarevcenterreceiver/metrics.go | 153 ++++- receiver/vmwarevcenterreceiver/scraper.go | 91 ++- .../vmwarevcenterreceiver/scraper_test.go | 1 + 17 files changed, 1072 insertions(+), 303 deletions(-) create mode 100644 receiver/vmwarevcenterreceiver/config_test.go create mode 100644 receiver/vmwarevcenterreceiver/e2e_test.go create mode 100644 receiver/vmwarevcenterreceiver/factory_test.go create mode 100644 receiver/vmwarevcenterreceiver/logs_receiver.go create mode 100644 receiver/vmwarevcenterreceiver/logs_receiver_test.go create mode 100644 receiver/vmwarevcenterreceiver/scraper_test.go diff --git a/receiver/vmwarevcenterreceiver/client.go b/receiver/vmwarevcenterreceiver/client.go index ad3c49489499e..231a4a8ad94af 100644 --- a/receiver/vmwarevcenterreceiver/client.go +++ b/receiver/vmwarevcenterreceiver/client.go @@ -24,6 +24,7 @@ import ( "github.com/vmware/govmomi" "github.com/vmware/govmomi/find" "github.com/vmware/govmomi/object" + "github.com/vmware/govmomi/performance" "github.com/vmware/govmomi/property" "github.com/vmware/govmomi/vim25" vt "github.com/vmware/govmomi/vim25/types" @@ -56,16 +57,16 @@ func (vc *VmwareVcenterClient) Connect(ctx context.Context) error { if err != nil { return err } - client, err := govmomi.NewClient(ctx, sdkURL, vc.cfg.Insecure) + client, err := govmomi.NewClient(ctx, sdkURL, vc.cfg.MetricsConfig.Insecure) if err != nil { return err } - tlsCfg, err := vc.cfg.LoadTLSConfig() + tlsCfg, err := vc.cfg.MetricsConfig.LoadTLSConfig() if err != nil { return err } client.DefaultTransport().TLSClientConfig = tlsCfg - user := url.UserPassword(vc.cfg.Username, vc.cfg.Password) + user := url.UserPassword(vc.cfg.MetricsConfig.Username, vc.cfg.MetricsConfig.Password) err = client.Login(ctx, user) if err != nil { return fmt.Errorf("unable to login to vcenter sdk: %w", err) @@ -148,15 +149,6 @@ func (vc *VmwareVcenterClient) CollectVSANCluster(ctx context.Context, clusterRe return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *VmwareVcenterClient) RetrieveProperty( - ctx context.Context, - ref vt.ManagedObjectReference, - path []string, - dst interface{}, -) error { - return vc.pc.RetrieveOne(ctx, ref, path, dst) -} - func (vc *VmwareVcenterClient) CollectVSANHosts(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { if vc.vsanDriver == nil { return nil, errors.New("vsan client not instantiated") @@ -191,6 +183,22 @@ func (vc *VmwareVcenterClient) CollectVSANVirtualMachine( return vc.queryVsan(ctx, clusterRef, querySpec) } +func (vc *VmwareVcenterClient) PerformanceQuery( + ctx context.Context, + ent *vt.ManagedObjectReference, + specs []vt.PerfQuerySpec, + startTime time.Time, + endTime time.Time, +) ([]performance.EntityMetric, error) { + mgr := performance.NewManager(vc.vimDriver) + metrics, err := mgr.Query(ctx, specs) + + if err != nil { + return nil, err + } + return mgr.ToMetricSeries(ctx, metrics) +} + func (vc *VmwareVcenterClient) queryVsan(ctx context.Context, ref *vt.ManagedObjectReference, qs []types.VsanPerfQuerySpec) (*[]types.VsanPerfEntityMetricCSV, error) { CSVs, err := vc.vsanDriver.VsanPerfQueryPerf(ctx, ref, qs) if err != nil { diff --git a/receiver/vmwarevcenterreceiver/config.go b/receiver/vmwarevcenterreceiver/config.go index 9cca35e8fa2c9..0f0273a3a04f8 100644 --- a/receiver/vmwarevcenterreceiver/config.go +++ b/receiver/vmwarevcenterreceiver/config.go @@ -28,45 +28,79 @@ import ( type Config struct { scraperhelper.ScraperControllerSettings `mapstructure:",squash"` - configtls.TLSClientSetting `mapstructure:"tls,omitempty"` - Metrics metadata.MetricsSettings `mapstructure:"metrics"` - Endpoint string `mapstructure:"endpoint"` - Username string `mapstructure:"username"` - Password string `mapstructure:"password"` + MetricsConfig *MetricsConfig `mapstructure:"metrics,omitempty"` + LoggingConfig *LoggingConfig `mapstructure:"logging,omitempty"` +} + +type MetricsConfig struct { + configtls.TLSClientSetting `mapstructure:"tls,omitempty"` + Metrics metadata.MetricsSettings `mapstructure:"metrics"` + Endpoint string `mapstructure:"endpoint"` + Username string `mapstructure:"username"` + Password string `mapstructure:"password"` +} + +type LoggingConfig struct { + configtls.TLSClientSetting `mapstructure:"tls,omitempty"` + ListenAddress string } // Validate checks to see if the supplied config will work for the vmwarevcenterreceiver func (c *Config) Validate() error { - if c.Endpoint == "" { + var err error + metricsErr := c.validateMetricsConfig() + if err != nil { + multierr.Append(err, metricsErr) + } + logErr := c.validateLoggingConfig() + if err != nil { + multierr.Append(err, logErr) + } + + return err +} + +func (c *Config) validateMetricsConfig() error { + mc := c.MetricsConfig + if mc.Endpoint == "" { return errors.New("no endpoint was provided") } var err error - res, err := url.Parse(c.Endpoint) + res, err := url.Parse(mc.Endpoint) if err != nil { - err = multierr.Append(err, fmt.Errorf("unable to parse url %s: %w", c.Endpoint, err)) + err = multierr.Append(err, fmt.Errorf("unable to parse url %s: %w", c.MetricsConfig.Endpoint, err)) } if res.Scheme != "http" && res.Scheme != "https" { err = multierr.Append(err, errors.New("url scheme must be http or https")) } - if c.Username != "" && c.Password == "" { + if mc.Username != "" && mc.Password == "" { err = multierr.Append(err, errors.New("username provided without password")) - } else if c.Username == "" && c.Password != "" { + } else if c.MetricsConfig.Username == "" && c.MetricsConfig.Password != "" { err = multierr.Append(err, errors.New("password provided without user")) } - if _, tlsErr := c.LoadTLSConfig(); err != nil { + if _, tlsErr := mc.LoadTLSConfig(); err != nil { err = multierr.Append(err, fmt.Errorf("error loading tls configuration: %w", tlsErr)) } return err } +func (c *Config) validateLoggingConfig() error { + var err error + lc := c.LoggingConfig + if lc != nil { + // TODO: validate logging input params + } + return err +} + // SDKUrl returns the url for the vCenter SDK func (c *Config) SDKUrl() (*url.URL, error) { - res, err := url.Parse(c.Endpoint) + res, err := url.Parse(c.MetricsConfig.Endpoint) if err != nil { return res, err } diff --git a/receiver/vmwarevcenterreceiver/config_test.go b/receiver/vmwarevcenterreceiver/config_test.go new file mode 100644 index 0000000000000..152be47c30a52 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/config_test.go @@ -0,0 +1,32 @@ +package vmwarevcenterreceiver + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func TestConfigValidation(t *testing.T) { + cases := []struct { + desc string + cfg Config + expectedErr error + }{ + { + desc: "empty endpoint", + cfg: Config{ + MetricsConfig: &MetricsConfig{ + Endpoint: "", + }, + }, + }, + } + + for _, tc := range cases { + err := tc.cfg.Validate() + if tc.expectedErr != nil { + require.ErrorIs(t, err, tc.expectedErr) + } + } + +} diff --git a/receiver/vmwarevcenterreceiver/documentation.md b/receiver/vmwarevcenterreceiver/documentation.md index ad5aef873f44f..2ef9829c0fc91 100644 --- a/receiver/vmwarevcenterreceiver/documentation.md +++ b/receiver/vmwarevcenterreceiver/documentation.md @@ -21,8 +21,8 @@ These are the metrics available for this scraper. | **vcenter.cluster.vsan.throughput** | Throughput consumed by all vSAN clients in the cluster. | By/sec | Sum(Int) |
  • vsan_throughput_direction
  • cluster
| | **vcenter.datacenter.host.count** | the number of hosts in the datacenter | {hosts} | Sum(Int) |
| | **vcenter.datacenter.vm.count** | the number of virtual machines in the datacenter | {virtual_machines} | Sum(Int) |
| -| **vcenter.datastore.disk.usage** | The amount of space in the datastore. | By | Sum(Int) |
| -| **vcenter.datastore.disk.utilization** | The utilization of the datastore | % | Gauge(Double) |
| +| **vcenter.datastore.disk.usage** | The amount of space in the datastore. | By | Sum(Int) |
  • datastore
  • disk_state
| +| **vcenter.datastore.disk.utilization** | The utilization of the datastore | % | Gauge(Double) |
  • datastore
| | **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host | MHz | Sum(Int) |
  • hostname
| | **vcenter.host.cpu.utilization** | The CPU utilization of the host system | % | Gauge(Double) |
  • hostname
| | **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk | ms | Sum(Int) |
  • hostname
| @@ -38,19 +38,22 @@ These are the metrics available for this scraper. | **vcenter.host.vsan.operations** | IOPs consumed by all vSAN clients on the host. | {operations/sec} | Sum(Int) |
  • hostname
  • vsan_operation_type
| | **vcenter.host.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc. | {operations/sec} | Sum(Int) |
  • hostname
| | **vcenter.host.vsan.throughput** | Throughput consumed by all vSAN clients on the host. | By/s | Sum(Int) |
  • hostname
  • vsan_throughput_direction
| -| **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine | % | Gauge(Double) |
  • instance_name
| -| **vcenter.vm.disk.latency** | The latency of operations to the virtual machine's disk | µs | Sum(Int) |
  • instance_name
| -| **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk | By/sec | Sum(Int) |
  • instance_name
| -| **vcenter.vm.disk.usage** | The amount of storage space the virtual machine is using | By | Sum(Int) |
  • instance_name
| -| **vcenter.vm.memory.ballooned** | The amount of memory that is ballooned due to virtualization. | By | Sum(Int) |
  • instance_name
| -| **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine | By | Sum(Int) |
  • instance_name
| -| **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network | {packets/sec} | Sum(Int) |
  • instance_name
| -| **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine | By/sec | Sum(Int) |
  • instance_name
| -| **vcenter.vm.vsan.congestions** | todo | {congestions} | Gauge(Int) |
  • instance_name
| -| **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) |
  • instance_name
  • vsan_latency_type
| -| **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs | {operations/sec} | Sum(Int) |
  • instance_name
  • vsan_operation_type
| -| **vcenter.vm.vsan.outstanding_io** | The amount of outstanding VSAN I/O operations | | Gauge(Int) |
  • instance_name
| -| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Gauge(Int) |
  • instance_name
  • vsan_throughput_direction
| +| **vcenter.resource_pool.cpu.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
  • pool
| +| **vcenter.resource_pool.cpu.usage** | The usage of the CPU used by the resource pool | {MHz} | Sum(Int) |
  • pool
| +| **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
  • pool
| +| **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool | MBy | Sum(Int) |
  • pool
| +| **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine | % | Gauge(Double) |
  • instance_name
  • instance_id
  • power_state
| +| **vcenter.vm.disk.latency** | The latency of operations to the virtual machine's disk | µs | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
  • latency_type
| +| **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk | By/sec | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
| +| **vcenter.vm.disk.usage** | The amount of storage space the virtual machine is using | By | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
  • disk_state
| +| **vcenter.vm.disk.utilization** | The utilization of storage on the virtual machine | % | Gauge(Double) |
  • instance_name
  • instance_id
  • power_state
| +| **vcenter.vm.memory.ballooned** | The amount of memory that is ballooned due to virtualization. | By | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
| +| **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine | By | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
| +| **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network | {packets/sec} | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
| +| **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine | By/sec | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
  • throughput_direction
| +| **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) |
  • instance_name
  • instance_id
  • power_state
  • vsan_latency_type
| +| **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs | {operations/sec} | Sum(Int) |
  • instance_name
  • vsan_operation_type
  • instance_id
  • power_state
| +| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Gauge(Int) |
  • instance_name
  • vsan_throughput_direction
  • instance_id
  • power_state
| **Highlighted metrics** are emitted by default. Other metrics are optional and not emitted by default. Any metric can be enabled or disabled with the following scraper configuration: @@ -66,9 +69,16 @@ metrics: | Name | Description | | ---- | ----------- | | cluster | The name of the vCenter Cluster | +| datacenter | The name of the datacenter | | datastore | The name of the Datastore | +| disk_state | The state of storage and whether it is already allocated or free. | | hostname | The name of the ESXi Host System | +| instance_id | The instance UUID of the Virtual Machine | | instance_name | The name of the Virtual Machine | +| latency_type | The type of disk latency. | +| pool | The name of the Resource Pool | +| power_state | The power state of the virtual machine instance | +| throughput_direction | The direction of network throughput. | | vsan_latency_type | The type of vSAN latency. | | vsan_operation_type | The type of vSAN operation. | | vsan_throughput_direction | The type of vSAN throughput. | diff --git a/receiver/vmwarevcenterreceiver/e2e_test.go b/receiver/vmwarevcenterreceiver/e2e_test.go new file mode 100644 index 0000000000000..b06a4b0293835 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/e2e_test.go @@ -0,0 +1 @@ +package vmwarevcenterreceiver diff --git a/receiver/vmwarevcenterreceiver/factory.go b/receiver/vmwarevcenterreceiver/factory.go index 6ac9ff3a75056..e476dbfde1599 100644 --- a/receiver/vmwarevcenterreceiver/factory.go +++ b/receiver/vmwarevcenterreceiver/factory.go @@ -18,6 +18,7 @@ package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry import ( "context" + "errors" "time" "go.opentelemetry.io/collector/component" @@ -48,21 +49,32 @@ func createDefaultConfig() config.Receiver { ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), CollectionInterval: 5 * time.Minute, }, - TLSClientSetting: configtls.TLSClientSetting{}, - Metrics: metadata.DefaultMetricsSettings(), - Endpoint: "", - Username: "", - Password: "", + MetricsConfig: &MetricsConfig{ + TLSClientSetting: configtls.TLSClientSetting{}, + Metrics: metadata.DefaultMetricsSettings(), + Endpoint: "", + Username: "", + Password: "", + }, + LoggingConfig: &LoggingConfig{}, } } +var errConfigNotVcenter = errors.New("config was not an vcenter receiver config") + func createLogsReceiver( - _ context.Context, + c context.Context, params component.ReceiverCreateSettings, rConf config.Receiver, consumer consumer.Logs, ) (component.LogsReceiver, error) { - return nil, nil + cfg, ok := rConf.(*Config) + if !ok { + return nil, errConfigNotVcenter + } + + vcenterLoggingReceiver := newLogsReceiver(cfg) + return vcenterLoggingReceiver, nil } func createMetricsReceiver( @@ -71,8 +83,10 @@ func createMetricsReceiver( rConf config.Receiver, consumer consumer.Metrics, ) (component.MetricsReceiver, error) { - cfg := rConf.(*Config) - + cfg, ok := rConf.(*Config) + if !ok { + return nil, errConfigNotVcenter + } vcenterScraper := newVmwareVcenterScraper(params.Logger, cfg) scraper, err := scraperhelper.NewScraper( typeStr, diff --git a/receiver/vmwarevcenterreceiver/factory_test.go b/receiver/vmwarevcenterreceiver/factory_test.go new file mode 100644 index 0000000000000..b01ebd0d1c851 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/factory_test.go @@ -0,0 +1,104 @@ +package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" + +import ( + "context" + "testing" + + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component/componenterror" + "go.opentelemetry.io/collector/component/componenttest" + "go.opentelemetry.io/collector/consumer/consumertest" +) + +func TestCreateMetricsReceiver(t *testing.T) { + testCases := []struct { + desc string + testFn func(t *testing.T) + }{ + { + desc: "Default config", + testFn: func(t *testing.T) { + t.Parallel() + + _, err := createMetricsReceiver( + context.Background(), + componenttest.NewNopReceiverCreateSettings(), + createDefaultConfig(), + consumertest.NewNop(), + ) + + require.NoError(t, err) + }, + }, + { + desc: "Nil config", + testFn: func(t *testing.T) { + t.Parallel() + + _, err := createMetricsReceiver( + context.Background(), + componenttest.NewNopReceiverCreateSettings(), + nil, + consumertest.NewNop(), + ) + require.ErrorIs(t, err, errConfigNotVcenter) + }, + }, + { + desc: "Nil consumer", + testFn: func(t *testing.T) { + t.Parallel() + _, err := createMetricsReceiver( + context.Background(), + componenttest.NewNopReceiverCreateSettings(), + createDefaultConfig(), + nil, + ) + require.ErrorIs(t, err, componenterror.ErrNilNextConsumer) + }, + }, + } + + for _, testCase := range testCases { + t.Run(testCase.desc, testCase.testFn) + } +} + +func TestCreateLogsReceiver(t *testing.T) { + testCases := []struct { + desc string + testFn func(t *testing.T) + }{ + { + desc: "Default config", + testFn: func(t *testing.T) { + t.Parallel() + _, err := createLogsReceiver( + context.Background(), + componenttest.NewNopReceiverCreateSettings(), + createDefaultConfig(), + consumertest.NewNop(), + ) + + require.NoError(t, err) + }, + }, + { + desc: "Nil config", + testFn: func(t *testing.T) { + t.Parallel() + _, err := createLogsReceiver( + context.Background(), + componenttest.NewNopReceiverCreateSettings(), + nil, + consumertest.NewNop(), + ) + require.ErrorIs(t, err, errConfigNotVcenter) + }, + }, + } + + for _, testCase := range testCases { + t.Run(testCase.desc, testCase.testFn) + } +} diff --git a/receiver/vmwarevcenterreceiver/go.mod b/receiver/vmwarevcenterreceiver/go.mod index c944b715e72c3..60f82f79c194f 100644 --- a/receiver/vmwarevcenterreceiver/go.mod +++ b/receiver/vmwarevcenterreceiver/go.mod @@ -11,23 +11,28 @@ require ( ) require ( + github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/pelletier/go-toml v1.9.4 // indirect + github.com/rogpeppe/go-internal v1.8.0 // indirect + github.com/stretchr/testify v1.7.0 +) + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/knadh/koanf v1.4.0 // indirect + github.com/kr/pretty v0.3.0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect github.com/spf13/cast v1.4.1 // indirect go.opencensus.io v0.23.0 // indirect go.opentelemetry.io/otel v1.4.1 // indirect go.opentelemetry.io/otel/metric v0.27.0 // indirect go.opentelemetry.io/otel/trace v1.4.1 // indirect go.uber.org/atomic v1.9.0 // indirect -) - -require ( - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/kr/pretty v0.3.0 // indirect - github.com/pelletier/go-toml v1.9.4 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/rogpeppe/go-internal v1.8.0 // indirect + gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/receiver/vmwarevcenterreceiver/go.sum b/receiver/vmwarevcenterreceiver/go.sum index f27300c79ad6d..f985ec4fe195b 100644 --- a/receiver/vmwarevcenterreceiver/go.sum +++ b/receiver/vmwarevcenterreceiver/go.sum @@ -684,6 +684,7 @@ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLks gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= 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= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go b/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go index cc203b4129d95..ca60205261133 100644 --- a/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go +++ b/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go @@ -21,14 +21,13 @@ func (mb *MetricsBuilder) EmitVM(metrics pdata.MetricSlice) { mb.metricVcenterVMDiskLatency.emit(metrics) mb.metricVcenterVMDiskThroughput.emit(metrics) mb.metricVcenterVMDiskUsage.emit(metrics) + mb.metricVcenterVMDiskLatency.emit(metrics) mb.metricVcenterVMMemoryBallooned.emit(metrics) mb.metricVcenterVMMemoryUsage.emit(metrics) mb.metricVcenterVMNetworkPackets.emit(metrics) mb.metricVcenterVMNetworkThroughput.emit(metrics) - mb.metricVcenterVMVsanCongestions.emit(metrics) mb.metricVcenterVMVsanLatencyAvg.emit(metrics) mb.metricVcenterVMVsanOperations.emit(metrics) - mb.metricVcenterVMVsanOutstandingIo.emit(metrics) mb.metricVcenterVMVsanThroughput.emit(metrics) } @@ -50,6 +49,13 @@ func (mb *MetricsBuilder) EmitHost(metrics pdata.MetricSlice) { mb.metricVcenterHostVsanThroughput.emit(metrics) } +func (mb *MetricsBuilder) EmitResourcePool(metrics pdata.MetricSlice) { + mb.metricVcenterResourcePoolCPUShares.emit(metrics) + mb.metricVcenterResourcePoolCPUUsage.emit(metrics) + mb.metricVcenterResourcePoolMemoryShares.emit(metrics) + mb.metricVcenterResourcePoolMemoryUsage.emit(metrics) +} + func (mb *MetricsBuilder) EmitDatastore(metrics pdata.MetricSlice) { mb.metricVcenterDatastoreDiskUsage.emit(metrics) mb.metricVcenterDatastoreDiskUtilization.emit(metrics) diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go index 0c0a17ca66b14..2062c976ea95e 100644 --- a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -45,18 +45,21 @@ type MetricsSettings struct { VcenterHostVsanOperations MetricSettings `mapstructure:"vcenter.host.vsan.operations"` VcenterHostVsanOutstandingIo MetricSettings `mapstructure:"vcenter.host.vsan.outstanding_io"` VcenterHostVsanThroughput MetricSettings `mapstructure:"vcenter.host.vsan.throughput"` + VcenterResourcePoolCPUShares MetricSettings `mapstructure:"vcenter.resource_pool.cpu.shares"` + VcenterResourcePoolCPUUsage MetricSettings `mapstructure:"vcenter.resource_pool.cpu.usage"` + VcenterResourcePoolMemoryShares MetricSettings `mapstructure:"vcenter.resource_pool.memory.shares"` + VcenterResourcePoolMemoryUsage MetricSettings `mapstructure:"vcenter.resource_pool.memory.usage"` VcenterVMCPUUtilization MetricSettings `mapstructure:"vcenter.vm.cpu.utilization"` VcenterVMDiskLatency MetricSettings `mapstructure:"vcenter.vm.disk.latency"` VcenterVMDiskThroughput MetricSettings `mapstructure:"vcenter.vm.disk.throughput"` VcenterVMDiskUsage MetricSettings `mapstructure:"vcenter.vm.disk.usage"` + VcenterVMDiskUtilization MetricSettings `mapstructure:"vcenter.vm.disk.utilization"` VcenterVMMemoryBallooned MetricSettings `mapstructure:"vcenter.vm.memory.ballooned"` VcenterVMMemoryUsage MetricSettings `mapstructure:"vcenter.vm.memory.usage"` VcenterVMNetworkPackets MetricSettings `mapstructure:"vcenter.vm.network.packets"` VcenterVMNetworkThroughput MetricSettings `mapstructure:"vcenter.vm.network.throughput"` - VcenterVMVsanCongestions MetricSettings `mapstructure:"vcenter.vm.vsan.congestions"` VcenterVMVsanLatencyAvg MetricSettings `mapstructure:"vcenter.vm.vsan.latency.avg"` VcenterVMVsanOperations MetricSettings `mapstructure:"vcenter.vm.vsan.operations"` - VcenterVMVsanOutstandingIo MetricSettings `mapstructure:"vcenter.vm.vsan.outstanding_io"` VcenterVMVsanThroughput MetricSettings `mapstructure:"vcenter.vm.vsan.throughput"` } @@ -152,6 +155,18 @@ func DefaultMetricsSettings() MetricsSettings { VcenterHostVsanThroughput: MetricSettings{ Enabled: true, }, + VcenterResourcePoolCPUShares: MetricSettings{ + Enabled: true, + }, + VcenterResourcePoolCPUUsage: MetricSettings{ + Enabled: true, + }, + VcenterResourcePoolMemoryShares: MetricSettings{ + Enabled: true, + }, + VcenterResourcePoolMemoryUsage: MetricSettings{ + Enabled: true, + }, VcenterVMCPUUtilization: MetricSettings{ Enabled: true, }, @@ -164,6 +179,9 @@ func DefaultMetricsSettings() MetricsSettings { VcenterVMDiskUsage: MetricSettings{ Enabled: true, }, + VcenterVMDiskUtilization: MetricSettings{ + Enabled: true, + }, VcenterVMMemoryBallooned: MetricSettings{ Enabled: true, }, @@ -176,18 +194,12 @@ func DefaultMetricsSettings() MetricsSettings { VcenterVMNetworkThroughput: MetricSettings{ Enabled: true, }, - VcenterVMVsanCongestions: MetricSettings{ - Enabled: true, - }, VcenterVMVsanLatencyAvg: MetricSettings{ Enabled: true, }, VcenterVMVsanOperations: MetricSettings{ Enabled: true, }, - VcenterVMVsanOutstandingIo: MetricSettings{ - Enabled: true, - }, VcenterVMVsanThroughput: MetricSettings{ Enabled: true, }, @@ -896,9 +908,10 @@ func (m *metricVcenterDatastoreDiskUsage) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, datastoreAttributeValue string, diskStateAttributeValue string) { if !m.settings.Enabled { return } @@ -906,6 +919,8 @@ func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) + dp.Attributes().Insert(A.Datastore, pdata.NewAttributeValueString(datastoreAttributeValue)) + dp.Attributes().Insert(A.DiskState, pdata.NewAttributeValueString(diskStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -945,9 +960,10 @@ func (m *metricVcenterDatastoreDiskUtilization) init() { m.data.SetDescription("The utilization of the datastore") m.data.SetUnit("%") m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterDatastoreDiskUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { +func (m *metricVcenterDatastoreDiskUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, datastoreAttributeValue string) { if !m.settings.Enabled { return } @@ -955,6 +971,7 @@ func (m *metricVcenterDatastoreDiskUtilization) recordDataPoint(start pdata.Time dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetDoubleVal(val) + dp.Attributes().Insert(A.Datastore, pdata.NewAttributeValueString(datastoreAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1774,6 +1791,218 @@ func newMetricVcenterHostVsanThroughput(settings MetricSettings) metricVcenterHo return m } +type metricVcenterResourcePoolCPUShares struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.resource_pool.cpu.shares metric with initial data. +func (m *metricVcenterResourcePoolCPUShares) init() { + m.data.SetName("vcenter.resource_pool.cpu.shares") + m.data.SetDescription("The amount of shares of memory in the resource pool") + m.data.SetUnit("{shares}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterResourcePoolCPUShares) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, poolAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Pool, pdata.NewAttributeValueString(poolAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterResourcePoolCPUShares) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterResourcePoolCPUShares) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterResourcePoolCPUShares(settings MetricSettings) metricVcenterResourcePoolCPUShares { + m := metricVcenterResourcePoolCPUShares{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterResourcePoolCPUUsage struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.resource_pool.cpu.usage metric with initial data. +func (m *metricVcenterResourcePoolCPUUsage) init() { + m.data.SetName("vcenter.resource_pool.cpu.usage") + m.data.SetDescription("The usage of the CPU used by the resource pool") + m.data.SetUnit("{MHz}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterResourcePoolCPUUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, poolAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Pool, pdata.NewAttributeValueString(poolAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterResourcePoolCPUUsage) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterResourcePoolCPUUsage) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterResourcePoolCPUUsage(settings MetricSettings) metricVcenterResourcePoolCPUUsage { + m := metricVcenterResourcePoolCPUUsage{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterResourcePoolMemoryShares struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.resource_pool.memory.shares metric with initial data. +func (m *metricVcenterResourcePoolMemoryShares) init() { + m.data.SetName("vcenter.resource_pool.memory.shares") + m.data.SetDescription("The amount of shares of memory in the resource pool") + m.data.SetUnit("{shares}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterResourcePoolMemoryShares) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, poolAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Pool, pdata.NewAttributeValueString(poolAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterResourcePoolMemoryShares) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterResourcePoolMemoryShares) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterResourcePoolMemoryShares(settings MetricSettings) metricVcenterResourcePoolMemoryShares { + m := metricVcenterResourcePoolMemoryShares{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterResourcePoolMemoryUsage struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.resource_pool.memory.usage metric with initial data. +func (m *metricVcenterResourcePoolMemoryUsage) init() { + m.data.SetName("vcenter.resource_pool.memory.usage") + m.data.SetDescription("The usage of the memory by the resource pool") + m.data.SetUnit("MBy") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterResourcePoolMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, poolAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.Pool, pdata.NewAttributeValueString(poolAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterResourcePoolMemoryUsage) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterResourcePoolMemoryUsage) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterResourcePoolMemoryUsage(settings MetricSettings) metricVcenterResourcePoolMemoryUsage { + m := metricVcenterResourcePoolMemoryUsage{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + type metricVcenterVMCPUUtilization struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -1789,7 +2018,7 @@ func (m *metricVcenterVMCPUUtilization) init() { m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMCPUUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, instanceNameAttributeValue string) { +func (m *metricVcenterVMCPUUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { if !m.settings.Enabled { return } @@ -1798,6 +2027,8 @@ func (m *metricVcenterVMCPUUtilization) recordDataPoint(start pdata.Timestamp, t dp.SetTimestamp(ts) dp.SetDoubleVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1842,7 +2073,7 @@ func (m *metricVcenterVMDiskLatency) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskLatency) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { +func (m *metricVcenterVMDiskLatency) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, latencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -1851,6 +2082,9 @@ func (m *metricVcenterVMDiskLatency) recordDataPoint(start pdata.Timestamp, ts p dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) + dp.Attributes().Insert(A.LatencyType, pdata.NewAttributeValueString(latencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1895,7 +2129,7 @@ func (m *metricVcenterVMDiskThroughput) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { +func (m *metricVcenterVMDiskThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { if !m.settings.Enabled { return } @@ -1904,6 +2138,8 @@ func (m *metricVcenterVMDiskThroughput) recordDataPoint(start pdata.Timestamp, t dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1948,7 +2184,7 @@ func (m *metricVcenterVMDiskUsage) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { +func (m *metricVcenterVMDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, diskStateAttributeValue string) { if !m.settings.Enabled { return } @@ -1957,6 +2193,9 @@ func (m *metricVcenterVMDiskUsage) recordDataPoint(start pdata.Timestamp, ts pda dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) + dp.Attributes().Insert(A.DiskState, pdata.NewAttributeValueString(diskStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1984,6 +2223,59 @@ func newMetricVcenterVMDiskUsage(settings MetricSettings) metricVcenterVMDiskUsa return m } +type metricVcenterVMDiskUtilization struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.disk.utilization metric with initial data. +func (m *metricVcenterVMDiskUtilization) init() { + m.data.SetName("vcenter.vm.disk.utilization") + m.data.SetDescription("The utilization of storage on the virtual machine") + m.data.SetUnit("%") + m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterVMDiskUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Gauge().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetDoubleVal(val) + dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMDiskUtilization) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMDiskUtilization) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMDiskUtilization(settings MetricSettings) metricVcenterVMDiskUtilization { + m := metricVcenterVMDiskUtilization{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + type metricVcenterVMMemoryBallooned struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -2001,7 +2293,7 @@ func (m *metricVcenterVMMemoryBallooned) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMMemoryBallooned) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { +func (m *metricVcenterVMMemoryBallooned) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { if !m.settings.Enabled { return } @@ -2010,6 +2302,8 @@ func (m *metricVcenterVMMemoryBallooned) recordDataPoint(start pdata.Timestamp, dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2054,7 +2348,7 @@ func (m *metricVcenterVMMemoryUsage) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { +func (m *metricVcenterVMMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { if !m.settings.Enabled { return } @@ -2063,6 +2357,8 @@ func (m *metricVcenterVMMemoryUsage) recordDataPoint(start pdata.Timestamp, ts p dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2107,7 +2403,7 @@ func (m *metricVcenterVMNetworkPackets) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { +func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { if !m.settings.Enabled { return } @@ -2116,6 +2412,8 @@ func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, t dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2160,7 +2458,7 @@ func (m *metricVcenterVMNetworkThroughput) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { +func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -2169,6 +2467,9 @@ func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pdata.Timestamp dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) + dp.Attributes().Insert(A.ThroughputDirection, pdata.NewAttributeValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2196,57 +2497,6 @@ func newMetricVcenterVMNetworkThroughput(settings MetricSettings) metricVcenterV return m } -type metricVcenterVMVsanCongestions struct { - data pdata.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.vm.vsan.congestions metric with initial data. -func (m *metricVcenterVMVsanCongestions) init() { - m.data.SetName("vcenter.vm.vsan.congestions") - m.data.SetDescription("todo") - m.data.SetUnit("{congestions}") - m.data.SetDataType(pdata.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterVMVsanCongestions) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Gauge().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterVMVsanCongestions) updateCapacity() { - if m.data.Gauge().DataPoints().Len() > m.capacity { - m.capacity = m.data.Gauge().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMVsanCongestions) emit(metrics pdata.MetricSlice) { - if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterVMVsanCongestions(settings MetricSettings) metricVcenterVMVsanCongestions { - m := metricVcenterVMVsanCongestions{settings: settings} - if settings.Enabled { - m.data = pdata.NewMetric() - m.init() - } - return m -} - type metricVcenterVMVsanLatencyAvg struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -2262,7 +2512,7 @@ func (m *metricVcenterVMVsanLatencyAvg) init() { m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanLatencyTypeAttributeValue string) { +func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, vsanLatencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -2271,6 +2521,8 @@ func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, t dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) dp.Attributes().Insert(A.VsanLatencyType, pdata.NewAttributeValueString(vsanLatencyTypeAttributeValue)) } @@ -2316,7 +2568,7 @@ func (m *metricVcenterVMVsanOperations) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanOperationTypeAttributeValue string) { +func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanOperationTypeAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { if !m.settings.Enabled { return } @@ -2326,6 +2578,8 @@ func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, t dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) dp.Attributes().Insert(A.VsanOperationType, pdata.NewAttributeValueString(vsanOperationTypeAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2353,57 +2607,6 @@ func newMetricVcenterVMVsanOperations(settings MetricSettings) metricVcenterVMVs return m } -type metricVcenterVMVsanOutstandingIo struct { - data pdata.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.vm.vsan.outstanding_io metric with initial data. -func (m *metricVcenterVMVsanOutstandingIo) init() { - m.data.SetName("vcenter.vm.vsan.outstanding_io") - m.data.SetDescription("The amount of outstanding VSAN I/O operations") - m.data.SetUnit("") - m.data.SetDataType(pdata.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterVMVsanOutstandingIo) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Gauge().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterVMVsanOutstandingIo) updateCapacity() { - if m.data.Gauge().DataPoints().Len() > m.capacity { - m.capacity = m.data.Gauge().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMVsanOutstandingIo) emit(metrics pdata.MetricSlice) { - if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterVMVsanOutstandingIo(settings MetricSettings) metricVcenterVMVsanOutstandingIo { - m := metricVcenterVMVsanOutstandingIo{settings: settings} - if settings.Enabled { - m.data = pdata.NewMetric() - m.init() - } - return m -} - type metricVcenterVMVsanThroughput struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -2419,7 +2622,7 @@ func (m *metricVcenterVMVsanThroughput) init() { m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanThroughputDirectionAttributeValue string) { +func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanThroughputDirectionAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { if !m.settings.Enabled { return } @@ -2429,6 +2632,8 @@ func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, t dp.SetIntVal(val) dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewAttributeValueString(vsanThroughputDirectionAttributeValue)) + dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) + dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2490,18 +2695,21 @@ type MetricsBuilder struct { metricVcenterHostVsanOperations metricVcenterHostVsanOperations metricVcenterHostVsanOutstandingIo metricVcenterHostVsanOutstandingIo metricVcenterHostVsanThroughput metricVcenterHostVsanThroughput + metricVcenterResourcePoolCPUShares metricVcenterResourcePoolCPUShares + metricVcenterResourcePoolCPUUsage metricVcenterResourcePoolCPUUsage + metricVcenterResourcePoolMemoryShares metricVcenterResourcePoolMemoryShares + metricVcenterResourcePoolMemoryUsage metricVcenterResourcePoolMemoryUsage metricVcenterVMCPUUtilization metricVcenterVMCPUUtilization metricVcenterVMDiskLatency metricVcenterVMDiskLatency metricVcenterVMDiskThroughput metricVcenterVMDiskThroughput metricVcenterVMDiskUsage metricVcenterVMDiskUsage + metricVcenterVMDiskUtilization metricVcenterVMDiskUtilization metricVcenterVMMemoryBallooned metricVcenterVMMemoryBallooned metricVcenterVMMemoryUsage metricVcenterVMMemoryUsage metricVcenterVMNetworkPackets metricVcenterVMNetworkPackets metricVcenterVMNetworkThroughput metricVcenterVMNetworkThroughput - metricVcenterVMVsanCongestions metricVcenterVMVsanCongestions metricVcenterVMVsanLatencyAvg metricVcenterVMVsanLatencyAvg metricVcenterVMVsanOperations metricVcenterVMVsanOperations - metricVcenterVMVsanOutstandingIo metricVcenterVMVsanOutstandingIo metricVcenterVMVsanThroughput metricVcenterVMVsanThroughput } @@ -2548,18 +2756,21 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) metricVcenterHostVsanOperations: newMetricVcenterHostVsanOperations(settings.VcenterHostVsanOperations), metricVcenterHostVsanOutstandingIo: newMetricVcenterHostVsanOutstandingIo(settings.VcenterHostVsanOutstandingIo), metricVcenterHostVsanThroughput: newMetricVcenterHostVsanThroughput(settings.VcenterHostVsanThroughput), + metricVcenterResourcePoolCPUShares: newMetricVcenterResourcePoolCPUShares(settings.VcenterResourcePoolCPUShares), + metricVcenterResourcePoolCPUUsage: newMetricVcenterResourcePoolCPUUsage(settings.VcenterResourcePoolCPUUsage), + metricVcenterResourcePoolMemoryShares: newMetricVcenterResourcePoolMemoryShares(settings.VcenterResourcePoolMemoryShares), + metricVcenterResourcePoolMemoryUsage: newMetricVcenterResourcePoolMemoryUsage(settings.VcenterResourcePoolMemoryUsage), metricVcenterVMCPUUtilization: newMetricVcenterVMCPUUtilization(settings.VcenterVMCPUUtilization), metricVcenterVMDiskLatency: newMetricVcenterVMDiskLatency(settings.VcenterVMDiskLatency), metricVcenterVMDiskThroughput: newMetricVcenterVMDiskThroughput(settings.VcenterVMDiskThroughput), metricVcenterVMDiskUsage: newMetricVcenterVMDiskUsage(settings.VcenterVMDiskUsage), + metricVcenterVMDiskUtilization: newMetricVcenterVMDiskUtilization(settings.VcenterVMDiskUtilization), metricVcenterVMMemoryBallooned: newMetricVcenterVMMemoryBallooned(settings.VcenterVMMemoryBallooned), metricVcenterVMMemoryUsage: newMetricVcenterVMMemoryUsage(settings.VcenterVMMemoryUsage), metricVcenterVMNetworkPackets: newMetricVcenterVMNetworkPackets(settings.VcenterVMNetworkPackets), metricVcenterVMNetworkThroughput: newMetricVcenterVMNetworkThroughput(settings.VcenterVMNetworkThroughput), - metricVcenterVMVsanCongestions: newMetricVcenterVMVsanCongestions(settings.VcenterVMVsanCongestions), metricVcenterVMVsanLatencyAvg: newMetricVcenterVMVsanLatencyAvg(settings.VcenterVMVsanLatencyAvg), metricVcenterVMVsanOperations: newMetricVcenterVMVsanOperations(settings.VcenterVMVsanOperations), - metricVcenterVMVsanOutstandingIo: newMetricVcenterVMVsanOutstandingIo(settings.VcenterVMVsanOutstandingIo), metricVcenterVMVsanThroughput: newMetricVcenterVMVsanThroughput(settings.VcenterVMVsanThroughput), } for _, op := range options { @@ -2602,18 +2813,21 @@ func (mb *MetricsBuilder) Emit(metrics pdata.MetricSlice) { mb.metricVcenterHostVsanOperations.emit(metrics) mb.metricVcenterHostVsanOutstandingIo.emit(metrics) mb.metricVcenterHostVsanThroughput.emit(metrics) + mb.metricVcenterResourcePoolCPUShares.emit(metrics) + mb.metricVcenterResourcePoolCPUUsage.emit(metrics) + mb.metricVcenterResourcePoolMemoryShares.emit(metrics) + mb.metricVcenterResourcePoolMemoryUsage.emit(metrics) mb.metricVcenterVMCPUUtilization.emit(metrics) mb.metricVcenterVMDiskLatency.emit(metrics) mb.metricVcenterVMDiskThroughput.emit(metrics) mb.metricVcenterVMDiskUsage.emit(metrics) + mb.metricVcenterVMDiskUtilization.emit(metrics) mb.metricVcenterVMMemoryBallooned.emit(metrics) mb.metricVcenterVMMemoryUsage.emit(metrics) mb.metricVcenterVMNetworkPackets.emit(metrics) mb.metricVcenterVMNetworkThroughput.emit(metrics) - mb.metricVcenterVMVsanCongestions.emit(metrics) mb.metricVcenterVMVsanLatencyAvg.emit(metrics) mb.metricVcenterVMVsanOperations.emit(metrics) - mb.metricVcenterVMVsanOutstandingIo.emit(metrics) mb.metricVcenterVMVsanThroughput.emit(metrics) } @@ -2683,13 +2897,13 @@ func (mb *MetricsBuilder) RecordVcenterDatacenterVMCountDataPoint(ts pdata.Times } // RecordVcenterDatastoreDiskUsageDataPoint adds a data point to vcenter.datastore.disk.usage metric. -func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pdata.Timestamp, val int64) { - mb.metricVcenterDatastoreDiskUsage.recordDataPoint(mb.startTime, ts, val) +func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pdata.Timestamp, val int64, datastoreAttributeValue string, diskStateAttributeValue string) { + mb.metricVcenterDatastoreDiskUsage.recordDataPoint(mb.startTime, ts, val, datastoreAttributeValue, diskStateAttributeValue) } // RecordVcenterDatastoreDiskUtilizationDataPoint adds a data point to vcenter.datastore.disk.utilization metric. -func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUtilizationDataPoint(ts pdata.Timestamp, val float64) { - mb.metricVcenterDatastoreDiskUtilization.recordDataPoint(mb.startTime, ts, val) +func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUtilizationDataPoint(ts pdata.Timestamp, val float64, datastoreAttributeValue string) { + mb.metricVcenterDatastoreDiskUtilization.recordDataPoint(mb.startTime, ts, val, datastoreAttributeValue) } // RecordVcenterHostCPUUsageDataPoint adds a data point to vcenter.host.cpu.usage metric. @@ -2767,69 +2981,84 @@ func (mb *MetricsBuilder) RecordVcenterHostVsanThroughputDataPoint(ts pdata.Time mb.metricVcenterHostVsanThroughput.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue, vsanThroughputDirectionAttributeValue) } +// RecordVcenterResourcePoolCPUSharesDataPoint adds a data point to vcenter.resource_pool.cpu.shares metric. +func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUSharesDataPoint(ts pdata.Timestamp, val int64, poolAttributeValue string) { + mb.metricVcenterResourcePoolCPUShares.recordDataPoint(mb.startTime, ts, val, poolAttributeValue) +} + +// RecordVcenterResourcePoolCPUUsageDataPoint adds a data point to vcenter.resource_pool.cpu.usage metric. +func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUUsageDataPoint(ts pdata.Timestamp, val int64, poolAttributeValue string) { + mb.metricVcenterResourcePoolCPUUsage.recordDataPoint(mb.startTime, ts, val, poolAttributeValue) +} + +// RecordVcenterResourcePoolMemorySharesDataPoint adds a data point to vcenter.resource_pool.memory.shares metric. +func (mb *MetricsBuilder) RecordVcenterResourcePoolMemorySharesDataPoint(ts pdata.Timestamp, val int64, poolAttributeValue string) { + mb.metricVcenterResourcePoolMemoryShares.recordDataPoint(mb.startTime, ts, val, poolAttributeValue) +} + +// RecordVcenterResourcePoolMemoryUsageDataPoint adds a data point to vcenter.resource_pool.memory.usage metric. +func (mb *MetricsBuilder) RecordVcenterResourcePoolMemoryUsageDataPoint(ts pdata.Timestamp, val int64, poolAttributeValue string) { + mb.metricVcenterResourcePoolMemoryUsage.recordDataPoint(mb.startTime, ts, val, poolAttributeValue) +} + // RecordVcenterVMCPUUtilizationDataPoint adds a data point to vcenter.vm.cpu.utilization metric. -func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pdata.Timestamp, val float64, instanceNameAttributeValue string) { - mb.metricVcenterVMCPUUtilization.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pdata.Timestamp, val float64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { + mb.metricVcenterVMCPUUtilization.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) } // RecordVcenterVMDiskLatencyDataPoint adds a data point to vcenter.vm.disk.latency metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMDiskLatency.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, latencyTypeAttributeValue string) { + mb.metricVcenterVMDiskLatency.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue, latencyTypeAttributeValue) } // RecordVcenterVMDiskThroughputDataPoint adds a data point to vcenter.vm.disk.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMDiskThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMDiskThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { + mb.metricVcenterVMDiskThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) } // RecordVcenterVMDiskUsageDataPoint adds a data point to vcenter.vm.disk.usage metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskUsageDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMDiskUsage.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMDiskUsageDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, diskStateAttributeValue string) { + mb.metricVcenterVMDiskUsage.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue, diskStateAttributeValue) +} + +// RecordVcenterVMDiskUtilizationDataPoint adds a data point to vcenter.vm.disk.utilization metric. +func (mb *MetricsBuilder) RecordVcenterVMDiskUtilizationDataPoint(ts pdata.Timestamp, val float64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { + mb.metricVcenterVMDiskUtilization.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) } // RecordVcenterVMMemoryBalloonedDataPoint adds a data point to vcenter.vm.memory.ballooned metric. -func (mb *MetricsBuilder) RecordVcenterVMMemoryBalloonedDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMMemoryBallooned.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMMemoryBalloonedDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { + mb.metricVcenterVMMemoryBallooned.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) } // RecordVcenterVMMemoryUsageDataPoint adds a data point to vcenter.vm.memory.usage metric. -func (mb *MetricsBuilder) RecordVcenterVMMemoryUsageDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMMemoryUsage.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMMemoryUsageDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { + mb.metricVcenterVMMemoryUsage.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) } // RecordVcenterVMNetworkPacketsDataPoint adds a data point to vcenter.vm.network.packets metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMNetworkPackets.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { + mb.metricVcenterVMNetworkPackets.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) } // RecordVcenterVMNetworkThroughputDataPoint adds a data point to vcenter.vm.network.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMNetworkThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) -} - -// RecordVcenterVMVsanCongestionsDataPoint adds a data point to vcenter.vm.vsan.congestions metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanCongestionsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMVsanCongestions.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, throughputDirectionAttributeValue string) { + mb.metricVcenterVMNetworkThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue, throughputDirectionAttributeValue) } // RecordVcenterVMVsanLatencyAvgDataPoint adds a data point to vcenter.vm.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanLatencyTypeAttributeValue string) { - mb.metricVcenterVMVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, vsanLatencyTypeAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, vsanLatencyTypeAttributeValue string) { + mb.metricVcenterVMVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue, vsanLatencyTypeAttributeValue) } // RecordVcenterVMVsanOperationsDataPoint adds a data point to vcenter.vm.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanOperationsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanOperationTypeAttributeValue string) { - mb.metricVcenterVMVsanOperations.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, vsanOperationTypeAttributeValue) -} - -// RecordVcenterVMVsanOutstandingIoDataPoint adds a data point to vcenter.vm.vsan.outstanding_io metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanOutstandingIoDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string) { - mb.metricVcenterVMVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMVsanOperationsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanOperationTypeAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { + mb.metricVcenterVMVsanOperations.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, vsanOperationTypeAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) } // RecordVcenterVMVsanThroughputDataPoint adds a data point to vcenter.vm.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanThroughputDirectionAttributeValue string) { - mb.metricVcenterVMVsanThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, vsanThroughputDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMVsanThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanThroughputDirectionAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { + mb.metricVcenterVMVsanThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, vsanThroughputDirectionAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) } // Reset resets metrics builder to its initial state. It should be used when external metrics source is restarted, @@ -2855,12 +3084,26 @@ func (mb *MetricsBuilder) NewMetricData() pdata.Metrics { var Attributes = struct { // Cluster (The name of the vCenter Cluster) Cluster string + // Datacenter (The name of the datacenter) + Datacenter string // Datastore (The name of the Datastore) Datastore string + // DiskState (The state of storage and whether it is already allocated or free.) + DiskState string // Hostname (The name of the ESXi Host System) Hostname string + // InstanceID (The instance UUID of the Virtual Machine) + InstanceID string // InstanceName (The name of the Virtual Machine) InstanceName string + // LatencyType (The type of disk latency.) + LatencyType string + // Pool (The name of the Resource Pool) + Pool string + // PowerState (The power state of the virtual machine instance) + PowerState string + // ThroughputDirection (The direction of network throughput.) + ThroughputDirection string // VsanLatencyType (The type of vSAN latency.) VsanLatencyType string // VsanOperationType (The type of vSAN operation.) @@ -2869,10 +3112,17 @@ var Attributes = struct { VsanThroughputDirection string }{ "cluster", + "datacenter", "datastore", + "disk_state", "hostname", + "instance_id", "instance_name", "type", + "pool", + "power_state", + "direction", + "type", "type", "direction", } @@ -2880,6 +3130,33 @@ var Attributes = struct { // A is an alias for Attributes. var A = Attributes +// AttributeDiskState are the possible values that the attribute "disk_state" can have. +var AttributeDiskState = struct { + Available string + Used string +}{ + "available", + "used", +} + +// AttributeLatencyType are the possible values that the attribute "latency_type" can have. +var AttributeLatencyType = struct { + Read string + Write string +}{ + "read", + "write", +} + +// AttributeThroughputDirection are the possible values that the attribute "throughput_direction" can have. +var AttributeThroughputDirection = struct { + Transmitted string + Received string +}{ + "transmitted", + "received", +} + // AttributeVsanLatencyType are the possible values that the attribute "vsan_latency_type" can have. var AttributeVsanLatencyType = struct { Read string diff --git a/receiver/vmwarevcenterreceiver/logs_receiver.go b/receiver/vmwarevcenterreceiver/logs_receiver.go new file mode 100644 index 0000000000000..0a3781c769974 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/logs_receiver.go @@ -0,0 +1,26 @@ +package vmwarevcenterreceiver + +import ( + "context" + + "go.opentelemetry.io/collector/component" +) + +type logsReceiver struct { + cfg *Config +} + +func newLogsReceiver(c *Config) *logsReceiver { + return &logsReceiver{ + cfg: c, + } +} + +func (lr *logsReceiver) Start(_ context.Context, h component.Host) error { + h.GetFactory(component.KindReceiver, "tcp") + return nil +} + +func (lr *logsReceiver) Shutdown(_ context.Context) error { + return nil +} diff --git a/receiver/vmwarevcenterreceiver/logs_receiver_test.go b/receiver/vmwarevcenterreceiver/logs_receiver_test.go new file mode 100644 index 0000000000000..cfc9e44ab5d58 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/logs_receiver_test.go @@ -0,0 +1,58 @@ +package vmwarevcenterreceiver + +import ( + "context" + "testing" + + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component/componenttest" + "go.opentelemetry.io/collector/consumer/consumertest" +) + +func TestStart(t *testing.T) { + cases := []struct { + desc string + expectedErr error + cfg LoggingConfig + }{ + { + desc: "valid start", + }, + } + + for i := range cases { + tc := cases[i] + t.Run(tc.desc, func(t *testing.T) { + dc := createDefaultConfig() + lr, err := createLogsReceiver( + context.Background(), + componenttest.NewNopReceiverCreateSettings(), + dc, + consumertest.NewNop(), + ) + require.NoError(t, err) + + err = lr.Start(context.Background(), componenttest.NewNopHost()) + if tc.expectedErr != nil { + require.ErrorIs(t, tc.expectedErr, err) + } + }) + } +} + +func TestShutdown(t *testing.T) { + dc := createDefaultConfig() + lr, err := createLogsReceiver( + context.Background(), + componenttest.NewNopReceiverCreateSettings(), + dc, + consumertest.NewNop(), + ) + require.NoError(t, err) + + err = lr.Start(context.Background(), componenttest.NewNopHost()) + require.NoError(t, err) + + err = lr.Shutdown(context.Background()) + require.NoError(t, err) +} diff --git a/receiver/vmwarevcenterreceiver/metadata.yaml b/receiver/vmwarevcenterreceiver/metadata.yaml index 1a87d11712fa1..2a6bbbdb25c50 100644 --- a/receiver/vmwarevcenterreceiver/metadata.yaml +++ b/receiver/vmwarevcenterreceiver/metadata.yaml @@ -9,6 +9,31 @@ attributes: description: The name of the Datastore instance_name: description: The name of the Virtual Machine + instance_id: + description: The instance UUID of the Virtual Machine + pool: + description: The name of the Resource Pool + datacenter: + description: The name of the datacenter + power_state: + description: The power state of the virtual machine instance + disk_state: + description: The state of storage and whether it is already allocated or free. + enum: + - available + - used + latency_type: + value: type + description: The type of disk latency. + enum: + - read + - write + throughput_direction: + value: direction + description: The direction of network throughput. + enum: + - transmitted + - received vsan_latency_type: value: type description: The type of vSAN latency. @@ -29,7 +54,6 @@ attributes: - read - write - metrics: vcenter.cluster.cpu.available: enabled: true @@ -156,12 +180,14 @@ metrics: monotonic: false value_type: int aggregation: cumulative + attributes: [datastore, disk_state] vcenter.datastore.disk.utilization: enabled: true description: The utilization of the datastore unit: "%" gauge: value_type: double + attributes: [datastore] vcenter.host.cpu.utilization: enabled: true description: The CPU utilization of the host system @@ -291,6 +317,42 @@ metrics: value_type: int aggregation: cumulative attributes: [hostname] + vcenter.resource_pool.memory.usage: + enabled: true + description: The usage of the memory by the resource pool + unit: MBy + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [pool] + vcenter.resource_pool.memory.shares: + enabled: true + description: The amount of shares of memory in the resource pool + unit: "{shares}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [pool] + vcenter.resource_pool.cpu.usage: + enabled: true + description: The usage of the CPU used by the resource pool + unit: "{MHz}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [pool] + vcenter.resource_pool.cpu.shares: + enabled: true + description: The amount of shares of memory in the resource pool + unit: "{shares}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [pool] vcenter.vm.memory.ballooned: enabled: true description: The amount of memory that is ballooned due to virtualization. @@ -299,7 +361,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name] + attributes: [instance_name, instance_id, power_state] vcenter.vm.memory.usage: enabled: true description: The amount of memory that is used by the virtual machine @@ -308,14 +370,14 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name] + attributes: [instance_name, instance_id, power_state] vcenter.vm.cpu.utilization: enabled: true description: The CPU utilization of the virtual machine unit: "%" gauge: value_type: double - attributes: [instance_name] + attributes: [instance_name, instance_id, power_state] vcenter.vm.disk.usage: enabled: true description: The amount of storage space the virtual machine is using @@ -324,7 +386,14 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name] + attributes: [instance_name, instance_id, power_state, disk_state] + vcenter.vm.disk.utilization: + enabled: true + description: The utilization of storage on the virtual machine + unit: "%" + gauge: + value_type: double + attributes: [instance_name, instance_id, power_state] vcenter.vm.disk.latency: enabled: true description: The latency of operations to the virtual machine's disk @@ -333,7 +402,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name] + attributes: [instance_name, instance_id, power_state, latency_type] vcenter.vm.disk.throughput: enabled: true description: The throughput of the virtual machine's disk @@ -342,7 +411,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name] + attributes: [instance_name, instance_id, power_state] vcenter.vm.network.throughput: enabled: true description: The amount of data that was received or sent over the network of the virtual machine @@ -351,7 +420,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name] + attributes: [instance_name, instance_id, power_state, throughput_direction] vcenter.vm.network.packets: enabled: true description: The amount of packets that was received or transmitted over the instance's network @@ -360,7 +429,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name] + attributes: [instance_name, instance_id, power_state] vcenter.vm.vsan.operations: enabled: true description: Virtual Machine vSAN IOPs @@ -369,32 +438,19 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name, vsan_operation_type] + attributes: [instance_name, vsan_operation_type, instance_id, power_state] vcenter.vm.vsan.throughput: enabled: true description: The VSAN throughput of a virtual machine unit: By/s gauge: value_type: int - attributes: [instance_name, vsan_throughput_direction] - vcenter.vm.vsan.congestions: - enabled: true - description: todo - unit: "{congestions}" - gauge: - value_type: int - attributes: [instance_name] - vcenter.vm.vsan.outstanding_io: - enabled: true - description: The amount of outstanding VSAN I/O operations - unit: "" - gauge: - value_type: int - attributes: [instance_name] + attributes: + [instance_name, vsan_throughput_direction, instance_id, power_state] vcenter.vm.vsan.latency.avg: enabled: true description: The latency while accessing VSAN storage unit: us gauge: value_type: int - attributes: [instance_name, vsan_latency_type] + attributes: [instance_name, instance_id, power_state, vsan_latency_type] diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index ea53a5d43372c..52fc174e6152e 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -1,9 +1,14 @@ package vmwarevcenterreceiver import ( + "context" "strconv" + "strings" + "time" + "github.com/vmware/govmomi/performance" "github.com/vmware/govmomi/vim25/mo" + "github.com/vmware/govmomi/vim25/types" "go.opentelemetry.io/collector/model/pdata" "go.opentelemetry.io/collector/receiver/scrapererror" ) @@ -12,14 +17,116 @@ func (v *vmwareVcenterScraper) recordHostSystemMemoryUsage( now pdata.Timestamp, hs mo.HostSystem, hostname string, - errs *scrapererror.ScrapeErrors, ) { - totalMemory := hs.Summary.Hardware.MemorySize - memUsage := hs.Summary.QuickStats.OverallMemoryUsage - v.mb.RecordVcenterHostMemoryUsageDataPoint(now, totalMemory, hostname) + s := hs.Summary + h := s.Hardware + z := s.QuickStats + + memUsage := z.OverallMemoryUsage + v.mb.RecordVcenterHostMemoryUsageDataPoint(now, int64(memUsage), hostname) - memUtilization := float64(int64(memUsage) * 1024 * 1024 / totalMemory) + memUtilization := 100 * float64(z.OverallMemoryUsage) / float64(h.MemorySize>>20) v.mb.RecordVcenterHostMemoryUtilizationDataPoint(now, memUtilization, hostname) + + ncpu := int32(h.NumCpuCores) + cpuUsage := z.OverallCpuUsage + cpuUtilization := 100 * float64(z.OverallCpuUsage) / float64(ncpu*h.CpuMhz) + + v.mb.RecordVcenterHostCPUUsageDataPoint(now, int64(cpuUsage), hostname) + v.mb.RecordVcenterHostCPUUtilizationDataPoint(now, cpuUtilization, hostname) +} + +func (v *vmwareVcenterScraper) recordVMUsages( + now pdata.Timestamp, + vm mo.VirtualMachine, + instanceID string, + instanceName string, +) { + ps := string(vm.Runtime.PowerState) + + memUsage := vm.Summary.QuickStats.GuestMemoryUsage + balloonedMem := vm.Summary.QuickStats.BalloonedMemory + v.mb.RecordVcenterVMMemoryUsageDataPoint(now, int64(memUsage), instanceName, instanceID, ps) + v.mb.RecordVcenterVMMemoryBalloonedDataPoint(now, int64(balloonedMem), instanceName, instanceID, ps) + + diskUsed := vm.Summary.Storage.Committed + diskFree := vm.Summary.Storage.Uncommitted + diskUtilization := float64(diskUsed) / float64(diskFree) * 100 + v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskUsed, instanceName, instanceID, ps, "used") + v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskFree, instanceName, instanceID, ps, "available") + v.mb.RecordVcenterVMDiskUtilizationDataPoint(now, diskUtilization, instanceName, instanceID, ps) +} + +func (v *vmwareVcenterScraper) recordDatastoreProperties( + now pdata.Timestamp, + ds mo.Datastore, +) { + s := ds.Summary + diskUsage := s.Capacity - s.FreeSpace + diskUtilization := float64(diskUsage) / float64(s.Capacity) * 100 + v.mb.RecordVcenterDatastoreDiskUsageDataPoint(now, diskUsage, ds.Name, ds.Name) + v.mb.RecordVcenterDatastoreDiskUtilizationDataPoint(now, diskUtilization, ds.Name) +} + +func (v *vmwareVcenterScraper) recordResourcePool( + now pdata.Timestamp, + rp mo.ResourcePool, +) { + s := rp.Summary + v.mb.RecordVcenterResourcePoolCPUUsageDataPoint(now, s.GetResourcePoolSummary().QuickStats.OverallCpuUsage, rp.Name) + v.mb.RecordVcenterResourcePoolCPUSharesDataPoint(now, int64(s.GetResourcePoolSummary().Config.CpuAllocation.Shares.Shares), rp.Name) + v.mb.RecordVcenterResourcePoolMemorySharesDataPoint(now, int64(s.GetResourcePoolSummary().Config.MemoryAllocation.Shares.Shares), rp.Name) + v.mb.RecordVcenterResourcePoolMemoryUsageDataPoint(now, s.GetResourcePoolSummary().QuickStats.GuestMemoryUsage, rp.Name) +} + +func (v *vmwareVcenterScraper) recordVMPerformance( + ctx context.Context, + vm mo.VirtualMachine, + vmUUID, ps string, + startTime time.Time, + endTime time.Time, + errs *scrapererror.ScrapeErrors, +) { + specs := []types.PerfQuerySpec{ + { + Entity: vm.Reference(), + MetricId: []types.PerfMetricId{}, + StartTime: &startTime, + EndTime: &endTime, + Format: "normal", + }, + } + vmRef := vm.Reference() + metrics, err := v.client.PerformanceQuery(ctx, &vmRef, specs, startTime, endTime) + if err != nil { + errs.AddPartial(1, err) + return + } + v.processVMPerformanceMetrics(metrics, vm, vmUUID, ps) +} + +func (v *vmwareVcenterScraper) processVMPerformanceMetrics(metrics []performance.EntityMetric, vm mo.VirtualMachine, vmUUID, ps string) { + for _, m := range metrics { + for i := 0; i < len(m.SampleInfo); i++ { + val := m.Value[i] + si := m.SampleInfo[i] + switch strings.ToLower(val.Name) { + // Performance monitoring level 1 metrics + case "net.bytesTx.average": + v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], vm.Name, vmUUID, ps, "transmitted") + case "net.bytesRx.average": + v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], vm.Name, vmUUID, ps, "received") + case "cpu.usage.average": + + case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": + v.mb.RecordVcenterVMDiskLatencyDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], vm.Name, vmUUID, ps, "read") + case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": + v.mb.RecordVcenterVMDiskLatencyDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], vm.Name, vmUUID, ps, "write") + // Performance monitoring level 2 metrics + // + } + } + } } // list of metric IDs https://kb.vmware.com/s/article/2144493 @@ -210,6 +317,8 @@ func (v *vmwareVcenterScraper) recordVMVsanMetric( now pdata.Timestamp, metricID string, instanceName string, + instanceUUID string, + powerState string, val string, errs *scrapererror.ScrapeErrors, ) { @@ -219,56 +328,42 @@ func (v *vmwareVcenterScraper) recordVMVsanMetric( if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, instanceName, "read") + v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, instanceName, "read", instanceUUID, powerState) } case iopsWrite: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, instanceName, "write") + v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, instanceName, "write", instanceUUID, powerState) } - case throughputRead: + case "throughputRead": value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, instanceName, "read") + v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, instanceName, "read", instanceUUID, powerState) } - case throughputWrite: + case "throughputWrite": value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, instanceName, "write") + v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, instanceName, "write", instanceUUID, powerState) } - case latencyAvgRead: + case "latencyReadAvg": value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, instanceName, "read") + v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, instanceName, "read", instanceUUID, powerState) } - case latencyAvgWrite: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, instanceName, "write") - } - case outstandingIO: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterVMVsanOutstandingIoDataPoint(now, value, instanceName) - } - case congestion: + case "latencyWriteAvg": value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanCongestionsDataPoint(now, value, instanceName) + v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, instanceName, "write", instanceUUID, powerState) } } } diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go index d6e53b77bb6e7..36bf0ec1fd6c1 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -54,7 +54,7 @@ func newVmwareVcenterScraper( logger: logger, client: client, config: config, - mb: metadata.NewMetricsBuilder(config.Metrics), + mb: metadata.NewMetricsBuilder(config.MetricsConfig.Metrics), } } @@ -98,7 +98,7 @@ func (v *vmwareVcenterScraper) collectClusters(ctx context.Context, rms pdata.Re v.collectHosts(ctx, now, c, rms, errs) v.collectDatastores(ctx, now, c, rms, errs) v.collectVMs(ctx, now, c, rms, errs) - v.collectResourcePools(ctx, rms, errs) + v.collectResourcePools(ctx, now, rms, errs) } return nil @@ -126,7 +126,7 @@ func (v *vmwareVcenterScraper) collectClusterVSAN( errs *scrapererror.ScrapeErrors, ) { mor := cluster.Reference() - csvs, err := v.client.CollectVSANCluster(ctx, &mor, time.Now(), time.Now()) + csvs, err := v.client.CollectVSANCluster(ctx, &mor, time.Now().UTC(), time.Now().UTC()) if err != nil { errs.AddPartial(1, err) return @@ -138,6 +138,7 @@ func (v *vmwareVcenterScraper) collectClusterVSAN( errs.AddPartial(1, err) continue } + ts := pdata.NewTimestampFromTime(time) for _, val := range r.Value { @@ -162,14 +163,13 @@ func (v *vmwareVcenterScraper) collectDatastores( return } for _, ds := range datastores { - v.logger.Info(fmt.Sprintf("datastore: %s", ds.Name())) v.collectDatastore(ctx, colTime, rms, ds) } } func (v *vmwareVcenterScraper) collectDatastore( - _ context.Context, - _ pdata.Timestamp, + ctx context.Context, + now pdata.Timestamp, rms pdata.ResourceMetricsSlice, ds *object.Datastore, ) { @@ -177,9 +177,11 @@ func (v *vmwareVcenterScraper) collectDatastore( ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() resourceAttrs := rm.Resource().Attributes() resourceAttrs.InsertString(metadata.A.Datastore, ds.Name()) - ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) + var moDS mo.Datastore + ds.Properties(ctx, ds.Reference(), []string{"summary"}, &moDS) + v.recordDatastoreProperties(now, moDS) v.mb.EmitDatastore(ilms.Metrics()) } @@ -225,24 +227,29 @@ func (v *vmwareVcenterScraper) collectHost( errs *scrapererror.ScrapeErrors, ) { var hwSum mo.HostSystem - err := host.Properties(ctx, host.Reference(), []string{"summary.hardware"}, &hwSum) + err := host.Properties(ctx, host.Reference(), + []string{ + "summary.hardware", + "summary.quickStats", + }, &hwSum) + if err != nil { - v.logger.Error(err.Error()) + errs.AddPartial(1, err) return } - v.recordHostSystemMemoryUsage(now, hwSum, host.Name(), errs) - + v.recordHostSystemMemoryUsage(now, hwSum, host.Name()) if vsanCsvs != nil { entityRef := fmt.Sprintf("host-domclient:%v", hwSum.Summary.Hardware.Uuid, ) - v.addVSAN(*vsanCsvs, entityRef, host.Name(), hostType, errs) + v.addVSAN(*vsanCsvs, entityRef, host.Name(), "", hostType, errs) } } func (v *vmwareVcenterScraper) collectResourcePools( ctx context.Context, - _ pdata.ResourceMetricsSlice, + ts pdata.Timestamp, + rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors, ) { rps, err := v.client.ResourcePools(ctx) @@ -251,14 +258,28 @@ func (v *vmwareVcenterScraper) collectResourcePools( return } for _, rp := range rps { - v.logger.Info(fmt.Sprintf("collecting resource pool: %s", rp.Name())) - // v.collectDatastore(ctx, rms, rp) + rm := rms.AppendEmpty() + resourceAttrs := rm.Resource().Attributes() + resourceAttrs.InsertString("resource_pool", rp.Name()) + + ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() + ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) + + var moRP mo.ResourcePool + rp.Properties(ctx, rp.Reference(), []string{ + "summary", + "summary.quickStats", + "name", + }, &moRP) + v.recordResourcePool(ts, moRP) + + v.mb.EmitResourcePool(ilms.Metrics()) } } func (v *vmwareVcenterScraper) collectVMs( ctx context.Context, - _ pdata.Timestamp, + colTime pdata.Timestamp, cluster *object.ClusterComputeResource, rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors, @@ -270,7 +291,7 @@ func (v *vmwareVcenterScraper) collectVMs( } clusterRef := cluster.Reference() - vsanCsvs, err := v.client.CollectVSANVirtualMachine(ctx, &clusterRef, time.Now(), time.Now()) + vsanCsvs, err := v.client.CollectVSANVirtualMachine(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) if err != nil { errs.AddPartial(1, err) return @@ -282,8 +303,9 @@ func (v *vmwareVcenterScraper) collectVMs( resourceAttrs.InsertString(metadata.A.InstanceName, vm.Name()) ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() - v.logger.Info(fmt.Sprintf("virtual machine: %s %s", vm.Name(), vm.UUID(ctx))) - v.collectVM(ctx, vm, vsanCsvs, errs) + ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) + v.collectVM(ctx, colTime, vm, vsanCsvs, errs) + v.mb.EmitVM(ilms.Metrics()) } @@ -291,14 +313,31 @@ func (v *vmwareVcenterScraper) collectVMs( func (v *vmwareVcenterScraper) collectVM( ctx context.Context, + colTime pdata.Timestamp, vm *object.VirtualMachine, vsanCsvs *[]types.VsanPerfEntityMetricCSV, errs *scrapererror.ScrapeErrors, ) { + var moVM mo.VirtualMachine + err := vm.Properties(ctx, vm.Reference(), []string{ + "config", + "runtime", + "summary", + }, &moVM) + vmUUID := moVM.Config.InstanceUuid + + if err != nil { + errs.AddPartial(1, err) + return + } + + ps := string(moVM.Runtime.PowerState) + v.recordVMUsages(colTime, moVM, vmUUID, vm.Name()) + v.recordVMPerformance(ctx, moVM, vmUUID, ps, time.Now().Add(-15*time.Minute).UTC(), time.Now().Add(-5*time.Minute).UTC(), errs) + if vsanCsvs != nil { - vmUUID := vm.UUID(ctx) - entityRef := fmt.Sprintf("virtual-machine: %s %s", vm.Name(), vmUUID) - v.addVSAN(*vsanCsvs, entityRef, vm.Name(), vmType, errs) + entityRef := fmt.Sprintf("virtual-machine:%s", vmUUID) + v.addVSAN(*vsanCsvs, entityRef, vm.Name(), ps, vmType, errs) } } @@ -314,12 +353,13 @@ func (v *vmwareVcenterScraper) addVSAN( csvs []types.VsanPerfEntityMetricCSV, entityID string, entityName string, + // virtual machine specific + powerState string, vsanType vsanType, errs *scrapererror.ScrapeErrors, ) { for _, r := range csvs { - v.logger.Info(r.EntityRefId) - if r.EntityRefId != entityID { + if r.EntityRefId != entityID || r.SampleInfo == "" { continue } @@ -339,7 +379,8 @@ func (v *vmwareVcenterScraper) addVSAN( case hostType: v.recordHostVsanMetric(ts, val.MetricId.Label, entityName, value, errs) case vmType: - v.recordVMVsanMetric(ts, val.MetricId.Label, entityName, value, errs) + instanceUUID := strings.Split(entityID, ":")[1] + v.recordVMVsanMetric(ts, val.MetricId.Label, entityName, instanceUUID, powerState, value, errs) } } } diff --git a/receiver/vmwarevcenterreceiver/scraper_test.go b/receiver/vmwarevcenterreceiver/scraper_test.go new file mode 100644 index 0000000000000..b06a4b0293835 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/scraper_test.go @@ -0,0 +1 @@ +package vmwarevcenterreceiver From 5dbcbc6cfdeed0f25a706e523bf4409b23a1f38b Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 5 Apr 2022 16:38:11 -0400 Subject: [PATCH 004/105] dual receivers under root receiver pointer --- receiver/vmwarevcenterreceiver/config.go | 12 ++-- receiver/vmwarevcenterreceiver/factory.go | 65 ++++++++++++++----- .../vmwarevcenterreceiver/factory_test.go | 12 ++-- receiver/vmwarevcenterreceiver/go.mod | 32 +++++++-- receiver/vmwarevcenterreceiver/go.sum | 49 ++++++++++++++ .../vmwarevcenterreceiver/logs_receiver.go | 39 ++++++++--- .../logs_receiver_test.go | 6 +- receiver/vmwarevcenterreceiver/metrics.go | 18 ++--- receiver/vmwarevcenterreceiver/receiver.go | 52 +++++++++++++++ receiver/vmwarevcenterreceiver/scraper.go | 41 ++++++------ 10 files changed, 254 insertions(+), 72 deletions(-) create mode 100644 receiver/vmwarevcenterreceiver/receiver.go diff --git a/receiver/vmwarevcenterreceiver/config.go b/receiver/vmwarevcenterreceiver/config.go index 0f0273a3a04f8..454e7c11b9c96 100644 --- a/receiver/vmwarevcenterreceiver/config.go +++ b/receiver/vmwarevcenterreceiver/config.go @@ -23,6 +23,7 @@ import ( "go.opentelemetry.io/collector/receiver/scraperhelper" "go.uber.org/multierr" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" ) @@ -41,19 +42,19 @@ type MetricsConfig struct { } type LoggingConfig struct { - configtls.TLSClientSetting `mapstructure:"tls,omitempty"` - ListenAddress string + configtls.TLSClientSetting `mapstructure:"tls,omitempty"` + *tcplogreceiver.TCPLogConfig `mapstructure:",squash"` } // Validate checks to see if the supplied config will work for the vmwarevcenterreceiver func (c *Config) Validate() error { var err error metricsErr := c.validateMetricsConfig() - if err != nil { + if metricsErr != nil { multierr.Append(err, metricsErr) } logErr := c.validateLoggingConfig() - if err != nil { + if logErr != nil { multierr.Append(err, logErr) } @@ -93,6 +94,9 @@ func (c *Config) validateLoggingConfig() error { var err error lc := c.LoggingConfig if lc != nil { + if len(lc.Operators) != 0 { + return errors.New("custom operators are not supported for this component") + } // TODO: validate logging input params } return err diff --git a/receiver/vmwarevcenterreceiver/factory.go b/receiver/vmwarevcenterreceiver/factory.go index e476dbfde1599..cb6efa6be2cb5 100644 --- a/receiver/vmwarevcenterreceiver/factory.go +++ b/receiver/vmwarevcenterreceiver/factory.go @@ -27,6 +27,7 @@ import ( "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/receiver/scraperhelper" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" ) @@ -34,16 +35,25 @@ const ( typeStr = "vcenter" ) +type vcenterReceiverFactory struct { + receivers map[*Config]*vcenterReceiver +} + func NewFactory() component.ReceiverFactory { + f := &vcenterReceiverFactory{ + receivers: make(map[*Config]*vcenterReceiver), + } return component.NewReceiverFactory( typeStr, createDefaultConfig, - component.WithMetricsReceiver(createMetricsReceiver), - component.WithLogsReceiver(createLogsReceiver), + component.WithMetricsReceiver(f.createMetricsReceiver), + component.WithLogsReceiver(f.createLogsReceiver), ) } func createDefaultConfig() config.Receiver { + tcpLogConfig := tcplogreceiver.NewFactory().CreateDefaultConfig() + tcpCfg, _ := tcpLogConfig.(*tcplogreceiver.TCPLogConfig) return &Config{ ScraperControllerSettings: scraperhelper.ScraperControllerSettings{ ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), @@ -56,13 +66,30 @@ func createDefaultConfig() config.Receiver { Username: "", Password: "", }, - LoggingConfig: &LoggingConfig{}, + LoggingConfig: &LoggingConfig{ + TCPLogConfig: tcpCfg, + TLSClientSetting: configtls.TLSClientSetting{}, + }, } } +func (f *vcenterReceiverFactory) ensureReceiver(params component.ReceiverCreateSettings, config config.Receiver) *vcenterReceiver { + receiver := f.receivers[config.(*Config)] + if receiver != nil { + return receiver + } + rconfig := config.(*Config) + receiver = &vcenterReceiver{ + logger: params.Logger, + config: rconfig, + } + f.receivers[config.(*Config)] = receiver + return receiver +} + var errConfigNotVcenter = errors.New("config was not an vcenter receiver config") -func createLogsReceiver( +func (f *vcenterReceiverFactory) createLogsReceiver( c context.Context, params component.ReceiverCreateSettings, rConf config.Receiver, @@ -72,12 +99,12 @@ func createLogsReceiver( if !ok { return nil, errConfigNotVcenter } - - vcenterLoggingReceiver := newLogsReceiver(cfg) - return vcenterLoggingReceiver, nil + rcvr := f.ensureReceiver(params, cfg) + rcvr.logsReceiver = newLogsReceiver(cfg, params, consumer) + return rcvr, nil } -func createMetricsReceiver( +func (f *vcenterReceiverFactory) createMetricsReceiver( _ context.Context, params component.ReceiverCreateSettings, rConf config.Receiver, @@ -87,20 +114,28 @@ func createMetricsReceiver( if !ok { return nil, errConfigNotVcenter } - vcenterScraper := newVmwareVcenterScraper(params.Logger, cfg) + vr := newVmwareVcenterScraper(params.Logger, cfg) scraper, err := scraperhelper.NewScraper( typeStr, - vcenterScraper.scrape, - scraperhelper.WithStart(vcenterScraper.start), - scraperhelper.WithShutdown(vcenterScraper.shutdown), + vr.scrape, + scraperhelper.WithStart(vr.Start), + scraperhelper.WithShutdown(vr.Shutdown), ) - if err != nil { return nil, err } - return scraperhelper.NewScraperControllerReceiver( - &cfg.ScraperControllerSettings, params, consumer, + rcvr, err := scraperhelper.NewScraperControllerReceiver( + &cfg.ScraperControllerSettings, + params, + consumer, scraperhelper.AddScraper(scraper), ) + if err != nil { + return nil, err + } + + r := f.ensureReceiver(params, cfg) + r.scraper = rcvr + return r, nil } diff --git a/receiver/vmwarevcenterreceiver/factory_test.go b/receiver/vmwarevcenterreceiver/factory_test.go index b01ebd0d1c851..77036aabf8189 100644 --- a/receiver/vmwarevcenterreceiver/factory_test.go +++ b/receiver/vmwarevcenterreceiver/factory_test.go @@ -11,6 +11,7 @@ import ( ) func TestCreateMetricsReceiver(t *testing.T) { + f := vcenterReceiverFactory{} testCases := []struct { desc string testFn func(t *testing.T) @@ -20,7 +21,7 @@ func TestCreateMetricsReceiver(t *testing.T) { testFn: func(t *testing.T) { t.Parallel() - _, err := createMetricsReceiver( + _, err := f.createMetricsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), createDefaultConfig(), @@ -35,7 +36,7 @@ func TestCreateMetricsReceiver(t *testing.T) { testFn: func(t *testing.T) { t.Parallel() - _, err := createMetricsReceiver( + _, err := f.createMetricsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), nil, @@ -48,7 +49,7 @@ func TestCreateMetricsReceiver(t *testing.T) { desc: "Nil consumer", testFn: func(t *testing.T) { t.Parallel() - _, err := createMetricsReceiver( + _, err := f.createMetricsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), createDefaultConfig(), @@ -65,6 +66,7 @@ func TestCreateMetricsReceiver(t *testing.T) { } func TestCreateLogsReceiver(t *testing.T) { + f := vcenterReceiverFactory{} testCases := []struct { desc string testFn func(t *testing.T) @@ -73,7 +75,7 @@ func TestCreateLogsReceiver(t *testing.T) { desc: "Default config", testFn: func(t *testing.T) { t.Parallel() - _, err := createLogsReceiver( + _, err := f.createLogsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), createDefaultConfig(), @@ -87,7 +89,7 @@ func TestCreateLogsReceiver(t *testing.T) { desc: "Nil config", testFn: func(t *testing.T) { t.Parallel() - _, err := createLogsReceiver( + _, err := f.createLogsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), nil, diff --git a/receiver/vmwarevcenterreceiver/go.mod b/receiver/vmwarevcenterreceiver/go.mod index 60f82f79c194f..5ef225aacf8e3 100644 --- a/receiver/vmwarevcenterreceiver/go.mod +++ b/receiver/vmwarevcenterreceiver/go.mod @@ -4,8 +4,8 @@ go 1.17 require ( github.com/vmware/govmomi v0.27.4 - go.opentelemetry.io/collector v0.47.0 - go.opentelemetry.io/collector/model v0.47.0 + go.opentelemetry.io/collector v0.48.0 + go.opentelemetry.io/collector/model v0.48.0 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 ) @@ -14,7 +14,7 @@ require ( github.com/fsnotify/fsnotify v1.5.1 // indirect github.com/pelletier/go-toml v1.9.4 // indirect github.com/rogpeppe/go-internal v1.8.0 // indirect - github.com/stretchr/testify v1.7.0 + github.com/stretchr/testify v1.7.1 ) require ( @@ -29,10 +29,28 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/spf13/cast v1.4.1 // indirect go.opencensus.io v0.23.0 // indirect - go.opentelemetry.io/otel v1.4.1 // indirect - go.opentelemetry.io/otel/metric v0.27.0 // indirect - go.opentelemetry.io/otel/trace v1.4.1 // indirect + go.opentelemetry.io/otel v1.6.1 // indirect + go.opentelemetry.io/otel/metric v0.28.0 // indirect + go.opentelemetry.io/otel/trace v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect - gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) + +require ( + github.com/antonmedv/expr v1.9.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/observiq/ctimefmt v1.0.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 + github.com/open-telemetry/opentelemetry-log-collection v0.27.2 // indirect + golang.org/x/text v0.3.7 // indirect + gonum.org/v1/gonum v0.11.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect +) + +require ( + github.com/jpillora/backoff v1.0.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza v0.48.0 +) diff --git a/receiver/vmwarevcenterreceiver/go.sum b/receiver/vmwarevcenterreceiver/go.sum index f985ec4fe195b..a488909c977e6 100644 --- a/receiver/vmwarevcenterreceiver/go.sum +++ b/receiver/vmwarevcenterreceiver/go.sum @@ -35,6 +35,8 @@ contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/Mottl/ctimefmt v0.0.0-20190803144728-fd2ac23a585a/go.mod h1:eyj2WSIdoPMPs2eNTLpSmM6Nzqo4V80/d6jHpnJ1SAI= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -43,6 +45,8 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/antonmedv/expr v1.9.0 h1:j4HI3NHEdgDnN9p6oI6Ndr0G5QryMY0FNxT4ONrFDGU= +github.com/antonmedv/expr v1.9.0/go.mod h1:5qsM3oLGDND7sDmQGDXHkYfkjYMUX14qsgqmHhwGEk8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= @@ -80,6 +84,7 @@ github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -100,6 +105,8 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= +github.com/gdamore/tcell v1.3.0/go.mod h1:Hjvr+Ofd+gLglo7RYKxxnzCBmev3BzsS67MebKS4zMM= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -113,6 +120,7 @@ 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 v1.2.2 h1:ahHml/yUpnlb96Rp8HCvtYVPY8ZYpxq3g7UYchIYwbs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= 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-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= @@ -215,10 +223,12 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= @@ -234,16 +244,21 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxv github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/lucasb-eyer/go-colorful v1.0.2/go.mod h1:0MS4r+7BZKSJ5mw4/S5MPN+qHFF1fYclkSPilDOKW0s= +github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= @@ -262,18 +277,28 @@ github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mostynb/go-grpc-compression v1.1.16/go.mod h1:xxa6UoYynYS2h+5HB/Hglu81iYAp87ARaNmhhwi0s1s= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= +github.com/observiq/ctimefmt v1.0.0 h1:r7vTJ+Slkrt9fZ67mkf+mA6zAdR5nGIJRMTzkUyvilk= +github.com/observiq/ctimefmt v1.0.0/go.mod h1:mxi62//WbSpG/roCO1c6MqZ7zQTvjVtYheqHN3eOjvc= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza v0.48.0 h1:s5ohX+d597BxUGy/NqppCUIYxwiGBqqfX8IB7rEl87M= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza v0.48.0/go.mod h1:nW/TWTLlp/3lGEjsJxPnYBi3Gfm/BwM1Jz2BSKPQL3k= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 h1:ys7lH6p/0BAW0aNcbEAfc9oDgyAcHvR8vjBapTeglMg= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0/go.mod h1:Bhf6RnymOBA8Je3yRRvVBMTr501E1bBruid6ENyteL8= +github.com/open-telemetry/opentelemetry-log-collection v0.27.2 h1:6ld2e2whN9uQXPuq0IavqUNePOI5NQFjXplCf6oQnoo= +github.com/open-telemetry/opentelemetry-log-collection v0.27.2/go.mod h1:hGtoh7foY5hn3Gvev+QwrQ4ef59pfBiZn5DX1XN9uEs= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= @@ -286,6 +311,7 @@ github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= @@ -311,6 +337,8 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= +github.com/rivo/tview v0.0.0-20200219210816-cd38d7432498/go.mod h1:6lkG1x+13OShEf0EaOCaTQYyB7d5nSbb181KtjlS+84= +github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= @@ -320,6 +348,7 @@ github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/sanity-io/litter v1.2.0/go.mod h1:JF6pZUFgu2Q0sBZ+HSV35P8TVPI1TTzEwyu9FXAw2W4= github.com/schollz/progressbar/v2 v2.13.2/go.mod h1:6YZjqdthH6SCZKv2rqGryrxPtfmRB/DWZxSMfCXPyD8= github.com/shirou/gopsutil/v3 v3.22.2/go.mod h1:WapW1AOOPlHyXr+yOyw3uYx36enocrtSoSBy0L5vUHY= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -333,6 +362,7 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -340,6 +370,8 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= +github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs= github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8= github.com/vmware/govmomi v0.27.4 h1:5kY8TAkhB20lsjzrjE073eRb8+HixBI29PVMG5lxq6I= @@ -360,19 +392,28 @@ go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/collector v0.47.0 h1:jri01YG2UehiqDnSRGYekruZISosz5p75ppKhNLxHnc= go.opentelemetry.io/collector v0.47.0/go.mod h1:jIdx4BySsmKANBZYlTsigZT/I+vGsAhJIHTYjsx7/O8= +go.opentelemetry.io/collector v0.48.0 h1:/kUmNzsYgdPmbdscOGtCFPyZvxICrzmCFth2krzJuWs= +go.opentelemetry.io/collector v0.48.0/go.mod h1:iklh3+Npx1DalC6PvEi9ysjx9zLbjgOUQFTIh2MufQU= go.opentelemetry.io/collector/model v0.47.0 h1:qfIc/rhua50MTowB5BFveEVaYyZWL3Yld3pMmhUDU5w= go.opentelemetry.io/collector/model v0.47.0/go.mod h1:tyZ1XdPtljZ9I09pJGcz5ktV9G1AAZ/HDmf6YOMHebc= +go.opentelemetry.io/collector/model v0.48.0 h1:xmN4LdZ92q6PZnaKhMdIlC5KGtPJeOYaWCnA1PQ2oZw= +go.opentelemetry.io/collector/model v0.48.0/go.mod h1:1QVYv8TqsTMt9wVC5BUF9fqMVtk2C5EclWDnuVqdKoU= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0/go.mod h1:LsankqVDx4W+RhZNA5uWarULII/MBhF5qwCYxTuyXjs= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0/go.mod h1:tLYsuf2v8fZreBVwp9gVMhefZlLFZaUiNVSq8QxXRII= go.opentelemetry.io/contrib/zpages v0.29.0/go.mod h1:iHy2K1Cjz1Ss0Sv6cQPEExP0nD+gj7gAF024foxzFFE= go.opentelemetry.io/otel v1.4.0/go.mod h1:jeAqMFKy2uLIxCtKxoFj0FAL5zAPKQagc3+GtBWakzk= go.opentelemetry.io/otel v1.4.1 h1:QbINgGDDcoQUoMJa2mMaWno49lja9sHwp6aoa2n3a4g= go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= +go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ= +go.opentelemetry.io/otel v1.6.1 h1:6r1YrcTenBvYa1x491d0GGpTVBsNECmrc/K6b+zDeis= +go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= go.opentelemetry.io/otel/exporters/prometheus v0.27.0/go.mod h1:u0vTzijx2B6gGDa8FuIVoESW6z0HdKkXZWZMSTsoJKs= go.opentelemetry.io/otel/internal/metric v0.27.0 h1:9dAVGAfFiiEq5NVB9FUJ5et+btbDQAUIJehJ+ikyryk= go.opentelemetry.io/otel/internal/metric v0.27.0/go.mod h1:n1CVxRqKqYZtqyTh9U/onvKapPGv7y/rpyOTI+LFNzw= go.opentelemetry.io/otel/metric v0.27.0 h1:HhJPsGhJoKRSegPQILFbODU56NS/L1UE4fS1sC5kIwQ= go.opentelemetry.io/otel/metric v0.27.0/go.mod h1:raXDJ7uP2/Jc0nVZWQjJtzoyssOYWu/+pjZqRzfvZ7g= +go.opentelemetry.io/otel/metric v0.28.0 h1:o5YNh+jxACMODoAo1bI7OES0RUW4jAMae0Vgs2etWAQ= +go.opentelemetry.io/otel/metric v0.28.0/go.mod h1:TrzsfQAmQaB1PDcdhBauLMk7nyyg9hm+GoQq/ekE9Iw= go.opentelemetry.io/otel/sdk v1.4.0/go.mod h1:71GJPNJh4Qju6zJuYl1CrYtXbrgfau/M9UAggqiy1UE= go.opentelemetry.io/otel/sdk v1.4.1 h1:J7EaW71E0v87qflB4cDolaqq3AcujGrtyIPGQoZOB0Y= go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= @@ -380,6 +421,9 @@ go.opentelemetry.io/otel/sdk/metric v0.27.0/go.mod h1:lOgrT5C3ORdbqp2LsDrx+pBj6g go.opentelemetry.io/otel/trace v1.4.0/go.mod h1:uc3eRsqDfWs9R7b92xbQbU42/eTNz4N+gLP8qJCi4aE= go.opentelemetry.io/otel/trace v1.4.1 h1:O+16qcdTrT7zxv2J6GejTPFinSwA++cYerC5iSiF8EQ= go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= +go.opentelemetry.io/otel/trace v1.6.0/go.mod h1:qs7BrU5cZ8dXQHBGxHMOxwME/27YH2qEp4/+tZLLwJE= +go.opentelemetry.io/otel/trace v1.6.1 h1:f8c93l5tboBYZna1nWk0W9DYyMzJXDWdZcJZ0Kb400U= +go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= @@ -494,6 +538,7 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626150813-e07cf5db2756/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -539,6 +584,7 @@ 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 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= 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= @@ -591,6 +637,8 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.11.0 h1:f1IJhK4Km5tBJmaiJXtk/PkL4cdVX6J+tGiM187uT5E= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -686,6 +734,7 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= diff --git a/receiver/vmwarevcenterreceiver/logs_receiver.go b/receiver/vmwarevcenterreceiver/logs_receiver.go index 0a3781c769974..a0a6f0159eb01 100644 --- a/receiver/vmwarevcenterreceiver/logs_receiver.go +++ b/receiver/vmwarevcenterreceiver/logs_receiver.go @@ -2,25 +2,46 @@ package vmwarevcenterreceiver import ( "context" + "fmt" "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/consumer" ) -type logsReceiver struct { - cfg *Config +var _ component.Receiver = (*vcenterLogsReceiver)(nil) + +type vcenterLogsReceiver struct { + cfg *Config + params component.ReceiverCreateSettings + consumer consumer.Logs + tcpLogReceiver component.LogsReceiver } -func newLogsReceiver(c *Config) *logsReceiver { - return &logsReceiver{ - cfg: c, +func newLogsReceiver(c *Config, params component.ReceiverCreateSettings, consumer consumer.Logs) *vcenterLogsReceiver { + return &vcenterLogsReceiver{ + cfg: c, + params: params, + consumer: consumer, } } -func (lr *logsReceiver) Start(_ context.Context, h component.Host) error { - h.GetFactory(component.KindReceiver, "tcp") - return nil +func (lr *vcenterLogsReceiver) Start(ctx context.Context, h component.Host) error { + f := h.GetFactory(component.KindReceiver, "tcplog") + rf, ok := f.(component.ReceiverFactory) + if !ok { + return fmt.Errorf("unable to wrap the tcplog receiver that the %s component wraps", typeStr) + } + tcp, err := rf.CreateLogsReceiver(ctx, lr.params, lr.cfg.LoggingConfig.TCPLogConfig, lr.consumer) + if err != nil { + return fmt.Errorf("unable to start the wrapped tcplog receiver: %w", err) + } + lr.tcpLogReceiver = tcp + return lr.tcpLogReceiver.Start(ctx, h) } -func (lr *logsReceiver) Shutdown(_ context.Context) error { +func (lr *vcenterLogsReceiver) Shutdown(ctx context.Context) error { + if lr.tcpLogReceiver != nil { + return lr.tcpLogReceiver.Shutdown(ctx) + } return nil } diff --git a/receiver/vmwarevcenterreceiver/logs_receiver_test.go b/receiver/vmwarevcenterreceiver/logs_receiver_test.go index cfc9e44ab5d58..05ed7702e9662 100644 --- a/receiver/vmwarevcenterreceiver/logs_receiver_test.go +++ b/receiver/vmwarevcenterreceiver/logs_receiver_test.go @@ -10,6 +10,7 @@ import ( ) func TestStart(t *testing.T) { + f := vcenterReceiverFactory{} cases := []struct { desc string expectedErr error @@ -24,7 +25,7 @@ func TestStart(t *testing.T) { tc := cases[i] t.Run(tc.desc, func(t *testing.T) { dc := createDefaultConfig() - lr, err := createLogsReceiver( + lr, err := f.createLogsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), dc, @@ -41,8 +42,9 @@ func TestStart(t *testing.T) { } func TestShutdown(t *testing.T) { + f := vcenterReceiverFactory{} dc := createDefaultConfig() - lr, err := createLogsReceiver( + lr, err := f.createLogsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), dc, diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index 52fc174e6152e..19d11fa9ef281 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -13,7 +13,7 @@ import ( "go.opentelemetry.io/collector/receiver/scrapererror" ) -func (v *vmwareVcenterScraper) recordHostSystemMemoryUsage( +func (v *vcenterMetricScraper) recordHostSystemMemoryUsage( now pdata.Timestamp, hs mo.HostSystem, hostname string, @@ -36,7 +36,7 @@ func (v *vmwareVcenterScraper) recordHostSystemMemoryUsage( v.mb.RecordVcenterHostCPUUtilizationDataPoint(now, cpuUtilization, hostname) } -func (v *vmwareVcenterScraper) recordVMUsages( +func (v *vcenterMetricScraper) recordVMUsages( now pdata.Timestamp, vm mo.VirtualMachine, instanceID string, @@ -57,7 +57,7 @@ func (v *vmwareVcenterScraper) recordVMUsages( v.mb.RecordVcenterVMDiskUtilizationDataPoint(now, diskUtilization, instanceName, instanceID, ps) } -func (v *vmwareVcenterScraper) recordDatastoreProperties( +func (v *vcenterMetricScraper) recordDatastoreProperties( now pdata.Timestamp, ds mo.Datastore, ) { @@ -68,7 +68,7 @@ func (v *vmwareVcenterScraper) recordDatastoreProperties( v.mb.RecordVcenterDatastoreDiskUtilizationDataPoint(now, diskUtilization, ds.Name) } -func (v *vmwareVcenterScraper) recordResourcePool( +func (v *vcenterMetricScraper) recordResourcePool( now pdata.Timestamp, rp mo.ResourcePool, ) { @@ -79,7 +79,7 @@ func (v *vmwareVcenterScraper) recordResourcePool( v.mb.RecordVcenterResourcePoolMemoryUsageDataPoint(now, s.GetResourcePoolSummary().QuickStats.GuestMemoryUsage, rp.Name) } -func (v *vmwareVcenterScraper) recordVMPerformance( +func (v *vcenterMetricScraper) recordVMPerformance( ctx context.Context, vm mo.VirtualMachine, vmUUID, ps string, @@ -105,7 +105,7 @@ func (v *vmwareVcenterScraper) recordVMPerformance( v.processVMPerformanceMetrics(metrics, vm, vmUUID, ps) } -func (v *vmwareVcenterScraper) processVMPerformanceMetrics(metrics []performance.EntityMetric, vm mo.VirtualMachine, vmUUID, ps string) { +func (v *vcenterMetricScraper) processVMPerformanceMetrics(metrics []performance.EntityMetric, vm mo.VirtualMachine, vmUUID, ps string) { for _, m := range metrics { for i := 0; i < len(m.SampleInfo); i++ { val := m.Value[i] @@ -144,7 +144,7 @@ var congestion = "congestion" var clientCacheHits = "clientCacheHits" var clientCacheHitRate = "clientCacheHitRate" -func (v *vmwareVcenterScraper) recordClusterVsanMetric( +func (v *vcenterMetricScraper) recordClusterVsanMetric( now pdata.Timestamp, metricID string, cluster string, @@ -211,7 +211,7 @@ func (v *vmwareVcenterScraper) recordClusterVsanMetric( } } -func (v *vmwareVcenterScraper) recordHostVsanMetric( +func (v *vcenterMetricScraper) recordHostVsanMetric( now pdata.Timestamp, metricID string, hostname string, @@ -313,7 +313,7 @@ func (v *vmwareVcenterScraper) recordHostVsanMetric( } } -func (v *vmwareVcenterScraper) recordVMVsanMetric( +func (v *vcenterMetricScraper) recordVMVsanMetric( now pdata.Timestamp, metricID string, instanceName string, diff --git a/receiver/vmwarevcenterreceiver/receiver.go b/receiver/vmwarevcenterreceiver/receiver.go new file mode 100644 index 0000000000000..776dc5bec7d73 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/receiver.go @@ -0,0 +1,52 @@ +package vmwarevcenterreceiver + +import ( + "context" + + "go.opentelemetry.io/collector/component" + "go.uber.org/multierr" + "go.uber.org/zap" +) + +var _ component.Receiver = (*vcenterReceiver)(nil) + +type vcenterReceiver struct { + config *Config + logger *zap.Logger + scraper component.Receiver + logsReceiver component.Receiver +} + +func (v *vcenterReceiver) Start(ctx context.Context, host component.Host) error { + var err error + if v.scraper != nil { + scraperErr := v.scraper.Start(ctx, host) + if scraperErr != nil { + err = multierr.Append(err, scraperErr) + } + } + if v.logsReceiver != nil { + logErr := v.logsReceiver.Start(ctx, host) + if logErr != nil { + err = multierr.Append(err, logErr) + } + } + return err +} + +func (v *vcenterReceiver) Shutdown(ctx context.Context) error { + var err error + if v.scraper != nil { + scraperErr := v.scraper.Shutdown(ctx) + if scraperErr != nil { + err = multierr.Append(err, scraperErr) + } + } + if v.logsReceiver != nil { + logErr := v.logsReceiver.Shutdown(ctx) + if logErr != nil { + err = multierr.Append(err, logErr) + } + } + return err +} diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go index 36bf0ec1fd6c1..a118e87cbdb68 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -37,36 +37,34 @@ const timeFormat = "2006-01-02 15:04:05" const instrumentationLibraryName = "otelcol/vcenter" -type vmwareVcenterScraper struct { +var _ component.Receiver = (*vcenterMetricScraper)(nil) + +type vcenterMetricScraper struct { client *VmwareVcenterClient - logger *zap.Logger - config *Config mb *metadata.MetricsBuilder } func newVmwareVcenterScraper( logger *zap.Logger, config *Config, -) *vmwareVcenterScraper { +) *vcenterMetricScraper { l := logger.Named("vcenter-client") client := newVmwarevcenterClient(config, l) - return &vmwareVcenterScraper{ - logger: logger, + return &vcenterMetricScraper{ client: client, - config: config, mb: metadata.NewMetricsBuilder(config.MetricsConfig.Metrics), } } -func (v *vmwareVcenterScraper) start(ctx context.Context, host component.Host) error { +func (v *vcenterMetricScraper) Start(ctx context.Context, _ component.Host) error { return v.client.Connect(ctx) } -func (v *vmwareVcenterScraper) shutdown(ctx context.Context) error { +func (v *vcenterMetricScraper) Shutdown(ctx context.Context) error { return v.client.Disconnect(ctx) } -func (v *vmwareVcenterScraper) scrape(ctx context.Context) (pdata.Metrics, error) { +func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error) { if v.client == nil { return pdata.Metrics{}, errors.New("failed to connect to http client") } @@ -85,7 +83,7 @@ func (v *vmwareVcenterScraper) scrape(ctx context.Context) (pdata.Metrics, error return metrics, errs.Combine() } -func (v *vmwareVcenterScraper) collectClusters(ctx context.Context, rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors) error { +func (v *vcenterMetricScraper) collectClusters(ctx context.Context, rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors) error { clusters, err := v.client.Clusters(ctx) if err != nil { return err @@ -104,7 +102,7 @@ func (v *vmwareVcenterScraper) collectClusters(ctx context.Context, rms pdata.Re return nil } -func (v *vmwareVcenterScraper) collectCluster( +func (v *vcenterMetricScraper) collectCluster( ctx context.Context, c *object.ClusterComputeResource, rm pdata.ResourceMetrics, @@ -120,7 +118,7 @@ func (v *vmwareVcenterScraper) collectCluster( v.mb.EmitCluster(ilms.Metrics()) } -func (v *vmwareVcenterScraper) collectClusterVSAN( +func (v *vcenterMetricScraper) collectClusterVSAN( ctx context.Context, cluster *object.ClusterComputeResource, errs *scrapererror.ScrapeErrors, @@ -150,7 +148,7 @@ func (v *vmwareVcenterScraper) collectClusterVSAN( } } -func (v *vmwareVcenterScraper) collectDatastores( +func (v *vcenterMetricScraper) collectDatastores( ctx context.Context, colTime pdata.Timestamp, _ *object.ClusterComputeResource, @@ -167,7 +165,7 @@ func (v *vmwareVcenterScraper) collectDatastores( } } -func (v *vmwareVcenterScraper) collectDatastore( +func (v *vcenterMetricScraper) collectDatastore( ctx context.Context, now pdata.Timestamp, rms pdata.ResourceMetricsSlice, @@ -185,7 +183,7 @@ func (v *vmwareVcenterScraper) collectDatastore( v.mb.EmitDatastore(ilms.Metrics()) } -func (v *vmwareVcenterScraper) collectHosts( +func (v *vcenterMetricScraper) collectHosts( ctx context.Context, colTime pdata.Timestamp, cluster *object.ClusterComputeResource, @@ -219,7 +217,7 @@ func (v *vmwareVcenterScraper) collectHosts( } -func (v *vmwareVcenterScraper) collectHost( +func (v *vcenterMetricScraper) collectHost( ctx context.Context, now pdata.Timestamp, host *object.HostSystem, @@ -246,7 +244,7 @@ func (v *vmwareVcenterScraper) collectHost( } } -func (v *vmwareVcenterScraper) collectResourcePools( +func (v *vcenterMetricScraper) collectResourcePools( ctx context.Context, ts pdata.Timestamp, rms pdata.ResourceMetricsSlice, @@ -277,7 +275,7 @@ func (v *vmwareVcenterScraper) collectResourcePools( } } -func (v *vmwareVcenterScraper) collectVMs( +func (v *vcenterMetricScraper) collectVMs( ctx context.Context, colTime pdata.Timestamp, cluster *object.ClusterComputeResource, @@ -301,6 +299,7 @@ func (v *vmwareVcenterScraper) collectVMs( rm := rms.AppendEmpty() resourceAttrs := rm.Resource().Attributes() resourceAttrs.InsertString(metadata.A.InstanceName, vm.Name()) + resourceAttrs.InsertString(metadata.A.InstanceID, vm.UUID(ctx)) ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) @@ -311,7 +310,7 @@ func (v *vmwareVcenterScraper) collectVMs( } -func (v *vmwareVcenterScraper) collectVM( +func (v *vcenterMetricScraper) collectVM( ctx context.Context, colTime pdata.Timestamp, vm *object.VirtualMachine, @@ -349,7 +348,7 @@ const ( vmType ) -func (v *vmwareVcenterScraper) addVSAN( +func (v *vcenterMetricScraper) addVSAN( csvs []types.VsanPerfEntityMetricCSV, entityID string, entityName string, From a61e96394b686444c647429a22cf201b4dae3a9c Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 7 Apr 2022 13:02:20 -0400 Subject: [PATCH 005/105] checkpoint before updated mdatagen --- go.mod | 6 ++ go.sum | 5 ++ internal/components/components.go | 2 + receiver/vmwarevcenterreceiver/client_test.go | 79 +++++++++++++++++++ receiver/vmwarevcenterreceiver/e2e_test.go | 20 +++++ .../vmwarevcenterreceiver/factory_test.go | 10 ++- receiver/vmwarevcenterreceiver/go.mod | 1 + .../logs_receiver_test.go | 60 -------------- receiver/vmwarevcenterreceiver/metadata.yaml | 22 ++++++ receiver/vmwarevcenterreceiver/scraper.go | 6 +- .../vmwarevcenterreceiver/scraper_test.go | 28 +++++++ 11 files changed, 172 insertions(+), 67 deletions(-) create mode 100644 receiver/vmwarevcenterreceiver/client_test.go delete mode 100644 receiver/vmwarevcenterreceiver/logs_receiver_test.go diff --git a/go.mod b/go.mod index 467d811c76f6b..53e70644891b1 100644 --- a/go.mod +++ b/go.mod @@ -272,6 +272,7 @@ require ( github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-uuid v1.0.2 // indirect + github.com/hashicorp/go-version v1.4.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/serf v0.9.6 // indirect @@ -362,6 +363,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.48.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver v0.0.0-00010101000000-000000000000 // indirect github.com/open-telemetry/opentelemetry-log-collection v0.28.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect @@ -433,11 +435,13 @@ require ( github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.1 // indirect github.com/xdg-go/stringprep v1.0.3 // indirect + github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect github.com/yusufpapurcu/wmi v1.2.2 // indirect go.elastic.co/apm v1.15.0 // indirect go.elastic.co/fastjson v1.1.0 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.mongodb.org/atlas v0.15.0 // indirect + go.mongodb.org/mongo-driver v1.8.4 // indirect go.opencensus.io v0.23.0 // indirect go.opentelemetry.io/collector/model v0.48.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0 // indirect @@ -746,6 +750,8 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubel replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver => ./receiver/memcachedreceiver +replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver => ./receiver/mongodbreceiver + replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver => ./receiver/mongodbatlasreceiver replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver => ./receiver/mysqlreceiver diff --git a/go.sum b/go.sum index 01d7cd2438c65..fe67ef0668ae8 100644 --- a/go.sum +++ b/go.sum @@ -1185,6 +1185,8 @@ github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2I github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.4.0 h1:aAQzgqIrRKRa7w75CKpbBxYsmUoPjzVm1W59ca1L0J4= +github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -2146,6 +2148,7 @@ github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -2198,6 +2201,8 @@ go.mongodb.org/mongo-driver v1.5.2/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +go.mongodb.org/mongo-driver v1.8.4 h1:NruvZPPL0PBcRJKmbswoWSrmHeUvzdxA3GCPfD/NEOA= +go.mongodb.org/mongo-driver v1.8.4/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= diff --git a/internal/components/components.go b/internal/components/components.go index dc7ad4f077e59..bf1363fa2d25e 100644 --- a/internal/components/components.go +++ b/internal/components/components.go @@ -122,6 +122,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver" @@ -198,6 +199,7 @@ func Components() (component.Factories, error) { k8seventsreceiver.NewFactory(), kubeletstatsreceiver.NewFactory(), memcachedreceiver.NewFactory(), + mongodbreceiver.NewFactory(), mongodbatlasreceiver.NewFactory(), mysqlreceiver.NewFactory(), opencensusreceiver.NewFactory(), diff --git a/receiver/vmwarevcenterreceiver/client_test.go b/receiver/vmwarevcenterreceiver/client_test.go new file mode 100644 index 0000000000000..e643fdade1fe6 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/client_test.go @@ -0,0 +1,79 @@ +package vmwarevcenterreceiver + +import ( + "context" + "testing" + "time" + + "github.com/stretchr/testify/require" + "github.com/vmware/govmomi/find" + "github.com/vmware/govmomi/performance" + "github.com/vmware/govmomi/simulator" + "github.com/vmware/govmomi/vim25" + "github.com/vmware/govmomi/vim25/mo" + "github.com/vmware/govmomi/vim25/types" +) + +func TestSimulatorCluster(t *testing.T) { + simulator.Test(func(ctx context.Context, c *vim25.Client) { + finder := find.NewFinder(c) + pm := performance.NewManager(c) + // vsManager, err := vsan.NewClient(ctx, c) + // require.NoError(t, err) + + clusters, err := finder.ClusterComputeResourceList(ctx, "*") + require.NoError(t, err) + require.NotEmpty(t, clusters, 0) + + for _, c := range clusters { + // cluster properties + var objC mo.ClusterComputeResource + c.Properties(ctx, c.Reference(), []string{"summary"}, &objC) + totalMem := objC.Summary.GetComputeResourceSummary().TotalMemory + require.Greater(t, totalMem, int64(0)) + + // host collection + hosts, err := c.Hosts(ctx) + require.NoError(t, err) + require.NotEmpty(t, hosts) + + // vsan Collection appeared to not work out of the box + // startTime := time.Now().Add(-10 * time.Minute) + // endTime := time.Now().Add(-1 * time.Minute) + // querySpec := []vsanTypes.VsanPerfQuerySpec{ + // { + // EntityRefId: "host-domclient:*", + // StartTime: &startTime, + // EndTime: &endTime, + // }, + // } + // cRef := c.Reference() + // results, err := vsManager.VsanPerfQueryPerf(ctx, &cRef, querySpec) + // require.NoError(t, err) + // require.NotEmpty(t, results) + + // datastores + dss, err := c.Datastores(ctx) + require.NoError(t, err) + for _, ds := range dss { + var moDS mo.Datastore + ds.Properties(ctx, ds.Reference(), []string{"summary"}, &moDS) + capacity := moDS.Summary.Capacity + require.Greater(t, capacity, int64(0)) + + qs := []types.PerfQuerySpec{} + startTime := time.Now().Add(-10 * time.Minute) + endTime := time.Now().Add(-1 * time.Minute) + qs = append(qs, types.PerfQuerySpec{ + Entity: ds.Reference(), + StartTime: &startTime, + EndTime: &endTime, + MetricId: []types.PerfMetricId{}, + }) + results, err := pm.Query(ctx, qs) + require.NoError(t, err) + require.NotEmpty(t, results) + } + } + }) +} diff --git a/receiver/vmwarevcenterreceiver/e2e_test.go b/receiver/vmwarevcenterreceiver/e2e_test.go index b06a4b0293835..7114b3a221926 100644 --- a/receiver/vmwarevcenterreceiver/e2e_test.go +++ b/receiver/vmwarevcenterreceiver/e2e_test.go @@ -1 +1,21 @@ package vmwarevcenterreceiver + +import ( + "context" + "testing" + + "github.com/stretchr/testify/require" + vmTest "github.com/vmware/govmomi/test" +) + +func TestEndtoEnd(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + driver := vmTest.NewAuthenticatedClient(t) + client := VmwareVcenterClient{ + vimDriver: driver, + } + clusters, err := client.Clusters(ctx) + require.NoError(t, err) + require.Greater(t, len(clusters), 0) +} diff --git a/receiver/vmwarevcenterreceiver/factory_test.go b/receiver/vmwarevcenterreceiver/factory_test.go index 77036aabf8189..dc1a1f9d48ba4 100644 --- a/receiver/vmwarevcenterreceiver/factory_test.go +++ b/receiver/vmwarevcenterreceiver/factory_test.go @@ -11,7 +11,9 @@ import ( ) func TestCreateMetricsReceiver(t *testing.T) { - f := vcenterReceiverFactory{} + f := vcenterReceiverFactory{ + receivers: make(map[*Config]*vcenterReceiver), + } testCases := []struct { desc string testFn func(t *testing.T) @@ -20,14 +22,12 @@ func TestCreateMetricsReceiver(t *testing.T) { desc: "Default config", testFn: func(t *testing.T) { t.Parallel() - _, err := f.createMetricsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), createDefaultConfig(), consumertest.NewNop(), ) - require.NoError(t, err) }, }, @@ -66,7 +66,9 @@ func TestCreateMetricsReceiver(t *testing.T) { } func TestCreateLogsReceiver(t *testing.T) { - f := vcenterReceiverFactory{} + f := vcenterReceiverFactory{ + receivers: make(map[*Config]*vcenterReceiver), + } testCases := []struct { desc string testFn func(t *testing.T) diff --git a/receiver/vmwarevcenterreceiver/go.mod b/receiver/vmwarevcenterreceiver/go.mod index 5ef225aacf8e3..350b4ed436e6b 100644 --- a/receiver/vmwarevcenterreceiver/go.mod +++ b/receiver/vmwarevcenterreceiver/go.mod @@ -20,6 +20,7 @@ require ( require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/google/uuid v1.3.0 // indirect github.com/knadh/koanf v1.4.0 // indirect github.com/kr/pretty v0.3.0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect diff --git a/receiver/vmwarevcenterreceiver/logs_receiver_test.go b/receiver/vmwarevcenterreceiver/logs_receiver_test.go deleted file mode 100644 index 05ed7702e9662..0000000000000 --- a/receiver/vmwarevcenterreceiver/logs_receiver_test.go +++ /dev/null @@ -1,60 +0,0 @@ -package vmwarevcenterreceiver - -import ( - "context" - "testing" - - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component/componenttest" - "go.opentelemetry.io/collector/consumer/consumertest" -) - -func TestStart(t *testing.T) { - f := vcenterReceiverFactory{} - cases := []struct { - desc string - expectedErr error - cfg LoggingConfig - }{ - { - desc: "valid start", - }, - } - - for i := range cases { - tc := cases[i] - t.Run(tc.desc, func(t *testing.T) { - dc := createDefaultConfig() - lr, err := f.createLogsReceiver( - context.Background(), - componenttest.NewNopReceiverCreateSettings(), - dc, - consumertest.NewNop(), - ) - require.NoError(t, err) - - err = lr.Start(context.Background(), componenttest.NewNopHost()) - if tc.expectedErr != nil { - require.ErrorIs(t, tc.expectedErr, err) - } - }) - } -} - -func TestShutdown(t *testing.T) { - f := vcenterReceiverFactory{} - dc := createDefaultConfig() - lr, err := f.createLogsReceiver( - context.Background(), - componenttest.NewNopReceiverCreateSettings(), - dc, - consumertest.NewNop(), - ) - require.NoError(t, err) - - err = lr.Start(context.Background(), componenttest.NewNopHost()) - require.NoError(t, err) - - err = lr.Shutdown(context.Background()) - require.NoError(t, err) -} diff --git a/receiver/vmwarevcenterreceiver/metadata.yaml b/receiver/vmwarevcenterreceiver/metadata.yaml index 2a6bbbdb25c50..849c06763d1a8 100644 --- a/receiver/vmwarevcenterreceiver/metadata.yaml +++ b/receiver/vmwarevcenterreceiver/metadata.yaml @@ -1,5 +1,27 @@ name: vmwarevcenterreceiver +resource_attributes: + vcenter.cluster.name: + description: The name of the vCenter Cluster + type: string + vcenter.host.name: + description: The hostname of the vCenter ESXi host + type: string + vcenter.resource_pool.name: + description: The name of the resource pool + vcenter.datastore.name: + description: The name of the vCenter datastore + type: string + vcenter.vm.name: + description: The name of the virtual machine + type: string + vcenter.vm.power_state: + description: Whether the virtual machine is powered on/off. + type: string + vcenter.vm.id: + description: The instance UUID of the virtual machine + type: string + attributes: cluster: description: The name of the vCenter Cluster diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go index a118e87cbdb68..9d50ebacf6796 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -151,11 +151,11 @@ func (v *vcenterMetricScraper) collectClusterVSAN( func (v *vcenterMetricScraper) collectDatastores( ctx context.Context, colTime pdata.Timestamp, - _ *object.ClusterComputeResource, + cluster *object.ClusterComputeResource, rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors, ) { - datastores, err := v.client.DataStores(ctx) + datastores, err := cluster.Datastores(ctx) if err != nil { errs.AddPartial(1, err) return @@ -190,7 +190,7 @@ func (v *vcenterMetricScraper) collectHosts( rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors, ) { - hosts, err := v.client.Hosts(ctx) + hosts, err := cluster.Hosts(ctx) if err != nil { errs.AddPartial(1, err) return diff --git a/receiver/vmwarevcenterreceiver/scraper_test.go b/receiver/vmwarevcenterreceiver/scraper_test.go index b06a4b0293835..aef0cece442c6 100644 --- a/receiver/vmwarevcenterreceiver/scraper_test.go +++ b/receiver/vmwarevcenterreceiver/scraper_test.go @@ -1 +1,29 @@ package vmwarevcenterreceiver + +import ( + "context" + "testing" + + "github.com/stretchr/testify/require" + vmTest "github.com/vmware/govmomi/test" + "go.opentelemetry.io/collector/model/pdata" + "go.opentelemetry.io/collector/receiver/scrapererror" +) + +func TestStart(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + defer cancel() + + driver := vmTest.NewAuthenticatedClient(t) + client := VmwareVcenterClient{ + vimDriver: driver, + } + s := vcenterMetricScraper{ + client: &client, + } + rms := pdata.NewMetrics().ResourceMetrics() + errs := scrapererror.ScrapeErrors{} + s.collectClusters(ctx, rms, &errs) + + require.NoError(t, errs.Combine()) +} From 0a9edb4186f8e5f978dde50a583659a5f1288c5f Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 8 Apr 2022 16:56:17 -0400 Subject: [PATCH 006/105] use syslog receiver rather than tcplogreceiver --- receiver/vmwarevcenterreceiver/README.md | 0 receiver/vmwarevcenterreceiver/config.go | 27 +- .../vmwarevcenterreceiver/documentation.md | 112 +-- receiver/vmwarevcenterreceiver/factory.go | 18 +- receiver/vmwarevcenterreceiver/go.mod | 3 + receiver/vmwarevcenterreceiver/go.sum | 7 + .../internal/metadata/emitters.go | 70 +- .../internal/metadata/generated_metrics_v2.go | 692 +++++++++--------- .../vmwarevcenterreceiver/logs_receiver.go | 14 +- receiver/vmwarevcenterreceiver/metadata.yaml | 127 ++-- receiver/vmwarevcenterreceiver/metrics.go | 169 +++-- receiver/vmwarevcenterreceiver/scraper.go | 221 +++--- .../vmwarevcenterreceiver/scraper_test.go | 4 +- 13 files changed, 735 insertions(+), 729 deletions(-) create mode 100644 receiver/vmwarevcenterreceiver/README.md diff --git a/receiver/vmwarevcenterreceiver/README.md b/receiver/vmwarevcenterreceiver/README.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/receiver/vmwarevcenterreceiver/config.go b/receiver/vmwarevcenterreceiver/config.go index 454e7c11b9c96..c8f2fce115525 100644 --- a/receiver/vmwarevcenterreceiver/config.go +++ b/receiver/vmwarevcenterreceiver/config.go @@ -19,31 +19,33 @@ import ( "fmt" "net/url" + "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/configtls" "go.opentelemetry.io/collector/receiver/scraperhelper" "go.uber.org/multierr" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" ) type Config struct { - scraperhelper.ScraperControllerSettings `mapstructure:",squash"` - MetricsConfig *MetricsConfig `mapstructure:"metrics,omitempty"` - LoggingConfig *LoggingConfig `mapstructure:"logging,omitempty"` + config.ReceiverSettings `mapstructure:",squash"` + MetricsConfig *MetricsConfig `mapstructure:"metrics,omitempty"` + LoggingConfig *LoggingConfig `mapstructure:"logging,omitempty"` } type MetricsConfig struct { - configtls.TLSClientSetting `mapstructure:"tls,omitempty"` - Metrics metadata.MetricsSettings `mapstructure:"metrics"` - Endpoint string `mapstructure:"endpoint"` - Username string `mapstructure:"username"` - Password string `mapstructure:"password"` + scraperhelper.ScraperControllerSettings `mapstructure:",squash"` + configtls.TLSClientSetting `mapstructure:"tls,omitempty"` + Metrics metadata.MetricsSettings `mapstructure:"metrics"` + Endpoint string `mapstructure:"endpoint"` + Username string `mapstructure:"username"` + Password string `mapstructure:"password"` } type LoggingConfig struct { configtls.TLSClientSetting `mapstructure:"tls,omitempty"` - *tcplogreceiver.TCPLogConfig `mapstructure:",squash"` + *syslogreceiver.SysLogConfig `mapstructure:",squash"` } // Validate checks to see if the supplied config will work for the vmwarevcenterreceiver @@ -94,10 +96,9 @@ func (c *Config) validateLoggingConfig() error { var err error lc := c.LoggingConfig if lc != nil { - if len(lc.Operators) != 0 { - return errors.New("custom operators are not supported for this component") + if len(lc.SysLogConfig.Operators) != 0 { + err = multierr.Append(err, errors.New("custom operators are not supported for this component")) } - // TODO: validate logging input params } return err } diff --git a/receiver/vmwarevcenterreceiver/documentation.md b/receiver/vmwarevcenterreceiver/documentation.md index 2ef9829c0fc91..a3f05d4a1e055 100644 --- a/receiver/vmwarevcenterreceiver/documentation.md +++ b/receiver/vmwarevcenterreceiver/documentation.md @@ -8,52 +8,53 @@ These are the metrics available for this scraper. | Name | Description | Unit | Type | Attributes | | ---- | ----------- | ---- | ---- | ---------- | -| **vcenter.cluster.cpu.available** | The amount of CPU available to the cluster | {MHz} | Sum(Int) |
  • cluster
| -| **vcenter.cluster.cpu.effective** | The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. | {MHz} | Sum(Int) |
  • cluster
| -| **vcenter.cluster.cpu.used** | The amount of CPU used by the cluster | {MHz} | Sum(Int) |
  • cluster
| -| **vcenter.cluster.memory.available** | The available memory of the cluster. | By | Sum(Int) |
  • cluster
| -| **vcenter.cluster.memory.effective** | The available memory of the cluster. | By | Sum(Int) |
  • cluster
| -| **vcenter.cluster.memory.used** | The memory that is currently used by the cluster | By | Sum(Int) |
  • cluster
| -| **vcenter.cluster.vsan.congestions** | Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. | {congestions/sec} | Sum(Int) |
  • cluster
| -| **vcenter.cluster.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients in the cluster. | µs | Sum(Int) |
  • vsan_latency_type
  • cluster
| -| **vcenter.cluster.vsan.operations** | IOPS consumed by all vSAN clients in the cluster | {operations/sec} | Sum(Int) |
  • vsan_operation_type
  • cluster
| -| **vcenter.cluster.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the cluster | {operations} | Sum(Int) |
  • cluster
| -| **vcenter.cluster.vsan.throughput** | Throughput consumed by all vSAN clients in the cluster. | By/sec | Sum(Int) |
  • vsan_throughput_direction
  • cluster
| +| **vcenter.cluster.cpu.available** | The amount of CPU available to the cluster | {MHz} | Sum(Int) |
| +| **vcenter.cluster.cpu.effective** | The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. | {MHz} | Sum(Int) |
| +| **vcenter.cluster.cpu.used** | The amount of CPU used by the cluster | {MHz} | Sum(Int) |
| +| **vcenter.cluster.memory.available** | The available memory of the cluster. | By | Sum(Int) |
| +| **vcenter.cluster.memory.effective** | The available memory of the cluster. | By | Sum(Int) |
| +| **vcenter.cluster.memory.used** | The memory that is currently used by the cluster | By | Sum(Int) |
| +| **vcenter.cluster.vsan.congestions** | Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. | {congestions/sec} | Sum(Int) |
| +| **vcenter.cluster.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients in the cluster. | µs | Sum(Int) |
  • vsan_latency_type
| +| **vcenter.cluster.vsan.operations** | IOPS consumed by all vSAN clients in the cluster | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| +| **vcenter.cluster.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the cluster | {operations} | Sum(Int) |
| +| **vcenter.cluster.vsan.throughput** | Throughput consumed by all vSAN clients in the cluster. | By/sec | Sum(Int) |
  • vsan_throughput_direction
| | **vcenter.datacenter.host.count** | the number of hosts in the datacenter | {hosts} | Sum(Int) |
| | **vcenter.datacenter.vm.count** | the number of virtual machines in the datacenter | {virtual_machines} | Sum(Int) |
| -| **vcenter.datastore.disk.usage** | The amount of space in the datastore. | By | Sum(Int) |
  • datastore
  • disk_state
| -| **vcenter.datastore.disk.utilization** | The utilization of the datastore | % | Gauge(Double) |
  • datastore
| -| **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host | MHz | Sum(Int) |
  • hostname
| -| **vcenter.host.cpu.utilization** | The CPU utilization of the host system | % | Gauge(Double) |
  • hostname
| -| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk | ms | Sum(Int) |
  • hostname
| -| **vcenter.host.disk.throughput** | The throughput to the host system's disk | By/s | Sum(Int) |
  • hostname
| -| **vcenter.host.memory.usage** | The amount of memory the host system is using | By | Sum(Int) |
  • hostname
| -| **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized | % | Gauge(Double) |
  • hostname
| -| **vcenter.host.network.packets** | The number of packets sent over an interval | {packets/sec} | Sum(Int) |
  • hostname
| -| **vcenter.host.network.throughput** | The amount of data that was sent or recieved over the network by the host | {By/s} | Sum(Int) |
  • hostname
| -| **vcenter.host.vsan.cache.hit_rate** | Percentage of read IOs which could be satisfied by the local client cache | % | Gauge(Double) |
  • hostname
| -| **vcenter.host.vsan.cache.reads** | Average latency of IOs generated by all vSAN clients on the host | {operations/sec} | Sum(Int) |
  • hostname
| -| **vcenter.host.vsan.congestions** | Congestions of IOs generated by all vSAN clients on the host | {congestions/sec} | Sum(Int) |
  • hostname
| -| **vcenter.host.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients on the host. | µs | Sum(Int) |
  • hostname
  • vsan_latency_type
| -| **vcenter.host.vsan.operations** | IOPs consumed by all vSAN clients on the host. | {operations/sec} | Sum(Int) |
  • hostname
  • vsan_operation_type
| -| **vcenter.host.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc. | {operations/sec} | Sum(Int) |
  • hostname
| -| **vcenter.host.vsan.throughput** | Throughput consumed by all vSAN clients on the host. | By/s | Sum(Int) |
  • hostname
  • vsan_throughput_direction
| -| **vcenter.resource_pool.cpu.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
  • pool
| -| **vcenter.resource_pool.cpu.usage** | The usage of the CPU used by the resource pool | {MHz} | Sum(Int) |
  • pool
| -| **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
  • pool
| -| **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool | MBy | Sum(Int) |
  • pool
| -| **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine | % | Gauge(Double) |
  • instance_name
  • instance_id
  • power_state
| -| **vcenter.vm.disk.latency** | The latency of operations to the virtual machine's disk | µs | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
  • latency_type
| -| **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk | By/sec | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
| -| **vcenter.vm.disk.usage** | The amount of storage space the virtual machine is using | By | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
  • disk_state
| -| **vcenter.vm.disk.utilization** | The utilization of storage on the virtual machine | % | Gauge(Double) |
  • instance_name
  • instance_id
  • power_state
| -| **vcenter.vm.memory.ballooned** | The amount of memory that is ballooned due to virtualization. | By | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
| -| **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine | By | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
| -| **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network | {packets/sec} | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
| -| **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine | By/sec | Sum(Int) |
  • instance_name
  • instance_id
  • power_state
  • throughput_direction
| -| **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) |
  • instance_name
  • instance_id
  • power_state
  • vsan_latency_type
| -| **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs | {operations/sec} | Sum(Int) |
  • instance_name
  • vsan_operation_type
  • instance_id
  • power_state
| -| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Gauge(Int) |
  • instance_name
  • vsan_throughput_direction
  • instance_id
  • power_state
| +| **vcenter.datastore.disk.usage** | The amount of space in the datastore. | By | Sum(Int) |
  • disk_state
| +| **vcenter.datastore.disk.utilization** | The utilization of the datastore | % | Gauge(Double) |
| +| **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host | MHz | Sum(Int) |
| +| **vcenter.host.cpu.utilization** | The CPU utilization of the host system | % | Gauge(Double) |
| +| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk | ms | Sum(Int) |
  • latency_type
| +| **vcenter.host.disk.throughput** | The throughput to the host system's disk | By/s | Sum(Int) |
| +| **vcenter.host.memory.usage** | The amount of memory the host system is using | MBy | Sum(Int) |
| +| **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized | % | Gauge(Double) |
| +| **vcenter.host.network.packets** | The number of packets sent over an interval | {packets/sec} | Sum(Int) |
| +| **vcenter.host.network.throughput** | The amount of data that was sent or recieved over the network by the host | {By/s} | Sum(Int) |
  • throughput_direction
| +| **vcenter.host.vsan.cache.hit_rate** | Percentage of read IOs which could be satisfied by the local client cache | % | Gauge(Double) |
| +| **vcenter.host.vsan.cache.reads** | Average latency of IOs generated by all vSAN clients on the host | {operations/sec} | Sum(Int) |
| +| **vcenter.host.vsan.congestions** | Congestions of IOs generated by all vSAN clients on the host | {congestions/sec} | Sum(Int) |
| +| **vcenter.host.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients on the host. | µs | Sum(Int) |
  • vsan_latency_type
| +| **vcenter.host.vsan.operations** | IOPs consumed by all vSAN clients on the host. | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| +| **vcenter.host.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc. | {operations/sec} | Sum(Int) |
| +| **vcenter.host.vsan.throughput** | Throughput consumed by all vSAN clients on the host. | By/s | Sum(Int) |
  • vsan_throughput_direction
| +| **vcenter.resource_pool.cpu.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
| +| **vcenter.resource_pool.cpu.usage** | The usage of the CPU used by the resource pool | {MHz} | Sum(Int) |
| +| **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
| +| **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool | MBy | Sum(Int) |
| +| **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine | % | Gauge(Double) |
| +| **vcenter.vm.disk.latency** | The latency of operations to the virtual machine's disk | µs | Sum(Int) |
  • latency_type
| +| **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk | By/sec | Sum(Int) |
| +| **vcenter.vm.disk.usage** | The amount of storage space the virtual machine is using | By | Sum(Int) |
  • disk_state
| +| **vcenter.vm.disk.utilization** | The utilization of storage on the virtual machine | % | Gauge(Double) |
| +| **vcenter.vm.memory.ballooned** | The amount of memory that is ballooned due to virtualization. | By | Sum(Int) |
| +| **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine | MBy | Sum(Int) |
| +| **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network. | {packets/sec} | Sum(Int) |
| +| **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine. | By/sec | Sum(Int) |
  • throughput_direction
| +| **vcenter.vm.network.usage** | The network utilizaiton combined transmit and receive rates during an interval. | {KBy/s} | Sum(Int) |
| +| **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) |
  • vsan_latency_type
| +| **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| +| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Gauge(Int) |
  • vsan_throughput_direction
| **Highlighted metrics** are emitted by default. Other metrics are optional and not emitted by default. Any metric can be enabled or disabled with the following scraper configuration: @@ -64,20 +65,25 @@ metrics: enabled: ``` -## Attributes +## Resource attributes + +| Name | Description | Type | +| ---- | ----------- | ---- | +| vcenter.cluster.name | The name of the vCenter Cluster | String | +| vcenter.datacenter.name | The name of the vCenter datacenter | String | +| vcenter.datastore.name | The name of the vCenter datastore | String | +| vcenter.host.name | The hostname of the vCenter ESXi host | String | +| vcenter.resource_pool.name | The name of the resource pool | String | +| vcenter.vm.id | The instance UUID of the virtual machine | String | +| vcenter.vm.name | The name of the virtual machine | String | +| vcenter.vm.power_state | Whether the virtual machine is powered on/off. | String | + +## Metric attributes | Name | Description | | ---- | ----------- | -| cluster | The name of the vCenter Cluster | -| datacenter | The name of the datacenter | -| datastore | The name of the Datastore | | disk_state | The state of storage and whether it is already allocated or free. | -| hostname | The name of the ESXi Host System | -| instance_id | The instance UUID of the Virtual Machine | -| instance_name | The name of the Virtual Machine | | latency_type | The type of disk latency. | -| pool | The name of the Resource Pool | -| power_state | The power state of the virtual machine instance | | throughput_direction | The direction of network throughput. | | vsan_latency_type | The type of vSAN latency. | | vsan_operation_type | The type of vSAN operation. | diff --git a/receiver/vmwarevcenterreceiver/factory.go b/receiver/vmwarevcenterreceiver/factory.go index cb6efa6be2cb5..cde3e00d6d011 100644 --- a/receiver/vmwarevcenterreceiver/factory.go +++ b/receiver/vmwarevcenterreceiver/factory.go @@ -27,7 +27,7 @@ import ( "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/receiver/scraperhelper" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" ) @@ -52,14 +52,14 @@ func NewFactory() component.ReceiverFactory { } func createDefaultConfig() config.Receiver { - tcpLogConfig := tcplogreceiver.NewFactory().CreateDefaultConfig() - tcpCfg, _ := tcpLogConfig.(*tcplogreceiver.TCPLogConfig) + syslogConfig := syslogreceiver.NewFactory().CreateDefaultConfig() + syslog, _ := syslogConfig.(*syslogreceiver.SysLogConfig) return &Config{ - ScraperControllerSettings: scraperhelper.ScraperControllerSettings{ - ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), - CollectionInterval: 5 * time.Minute, - }, MetricsConfig: &MetricsConfig{ + ScraperControllerSettings: scraperhelper.ScraperControllerSettings{ + ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), + CollectionInterval: 5 * time.Minute, + }, TLSClientSetting: configtls.TLSClientSetting{}, Metrics: metadata.DefaultMetricsSettings(), Endpoint: "", @@ -67,7 +67,7 @@ func createDefaultConfig() config.Receiver { Password: "", }, LoggingConfig: &LoggingConfig{ - TCPLogConfig: tcpCfg, + SysLogConfig: syslog, TLSClientSetting: configtls.TLSClientSetting{}, }, } @@ -126,7 +126,7 @@ func (f *vcenterReceiverFactory) createMetricsReceiver( } rcvr, err := scraperhelper.NewScraperControllerReceiver( - &cfg.ScraperControllerSettings, + &cfg.MetricsConfig.ScraperControllerSettings, params, consumer, scraperhelper.AddScraper(scraper), diff --git a/receiver/vmwarevcenterreceiver/go.mod b/receiver/vmwarevcenterreceiver/go.mod index 350b4ed436e6b..f670eccd12975 100644 --- a/receiver/vmwarevcenterreceiver/go.mod +++ b/receiver/vmwarevcenterreceiver/go.mod @@ -26,6 +26,7 @@ require ( github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect + github.com/observiq/go-syslog/v3 v3.0.2 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/spf13/cast v1.4.1 // indirect @@ -54,4 +55,6 @@ require ( require ( github.com/jpillora/backoff v1.0.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza v0.48.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0 ) diff --git a/receiver/vmwarevcenterreceiver/go.sum b/receiver/vmwarevcenterreceiver/go.sum index a488909c977e6..d717a8d46e165 100644 --- a/receiver/vmwarevcenterreceiver/go.sum +++ b/receiver/vmwarevcenterreceiver/go.sum @@ -251,6 +251,7 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= github.com/lucasb-eyer/go-colorful v1.0.2/go.mod h1:0MS4r+7BZKSJ5mw4/S5MPN+qHFF1fYclkSPilDOKW0s= github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= @@ -289,14 +290,20 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= github.com/observiq/ctimefmt v1.0.0 h1:r7vTJ+Slkrt9fZ67mkf+mA6zAdR5nGIJRMTzkUyvilk= github.com/observiq/ctimefmt v1.0.0/go.mod h1:mxi62//WbSpG/roCO1c6MqZ7zQTvjVtYheqHN3eOjvc= +github.com/observiq/go-syslog/v3 v3.0.2 h1:vaeINFErM/E3cKE2Ot1FAhhGq5mv7uGBOzjnGL3qhbY= +github.com/observiq/go-syslog/v3 v3.0.2/go.mod h1:9abcumkQwDUY0VgWdH6CaaJ3Ks39A7NvIelMlavPru0= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza v0.48.0 h1:s5ohX+d597BxUGy/NqppCUIYxwiGBqqfX8IB7rEl87M= github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza v0.48.0/go.mod h1:nW/TWTLlp/3lGEjsJxPnYBi3Gfm/BwM1Jz2BSKPQL3k= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0 h1:vxJ6t4fU+/FqC2cOrszulaPqujw9KyWAyecWTbbqjtI= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0/go.mod h1:c/Z9s9QuQpsMKHT2MNn0+KHnLfi5B6CnwdtC9nvC3Wk= github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 h1:ys7lH6p/0BAW0aNcbEAfc9oDgyAcHvR8vjBapTeglMg= github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0/go.mod h1:Bhf6RnymOBA8Je3yRRvVBMTr501E1bBruid6ENyteL8= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0 h1:MjS/LSmu9mfhpVNhL6mqj8B3klpMyvQqw6L/T6AC3xU= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0/go.mod h1:aiY30lmt7Pmcb1RXOkLLzyVw8B6NvEAN9iCa9kuNnJs= github.com/open-telemetry/opentelemetry-log-collection v0.27.2 h1:6ld2e2whN9uQXPuq0IavqUNePOI5NQFjXplCf6oQnoo= github.com/open-telemetry/opentelemetry-log-collection v0.27.2/go.mod h1:hGtoh7foY5hn3Gvev+QwrQ4ef59pfBiZn5DX1XN9uEs= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go b/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go index ca60205261133..abfab0cea755f 100644 --- a/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go +++ b/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go @@ -14,68 +14,30 @@ package metadata -import "go.opentelemetry.io/collector/model/pdata" - -func (mb *MetricsBuilder) EmitVM(metrics pdata.MetricSlice) { - mb.metricVcenterVMCPUUtilization.emit(metrics) - mb.metricVcenterVMDiskLatency.emit(metrics) - mb.metricVcenterVMDiskThroughput.emit(metrics) - mb.metricVcenterVMDiskUsage.emit(metrics) - mb.metricVcenterVMDiskLatency.emit(metrics) - mb.metricVcenterVMMemoryBallooned.emit(metrics) - mb.metricVcenterVMMemoryUsage.emit(metrics) - mb.metricVcenterVMNetworkPackets.emit(metrics) - mb.metricVcenterVMNetworkThroughput.emit(metrics) - mb.metricVcenterVMVsanLatencyAvg.emit(metrics) - mb.metricVcenterVMVsanOperations.emit(metrics) - mb.metricVcenterVMVsanThroughput.emit(metrics) +func (mb *MetricsBuilder) EmitVM(vmName, vmID, powerstate string) { + mb.EmitForResource( + WithVcenterVMName(vmName), + WithVcenterVMID(vmID), + WithVcenterVMPowerState(powerstate), + ) } -func (mb *MetricsBuilder) EmitHost(metrics pdata.MetricSlice) { - mb.metricVcenterHostCPUUsage.emit(metrics) - mb.metricVcenterHostCPUUtilization.emit(metrics) - mb.metricVcenterHostDiskLatencyAvg.emit(metrics) - mb.metricVcenterHostDiskThroughput.emit(metrics) - mb.metricVcenterHostMemoryUsage.emit(metrics) - mb.metricVcenterHostMemoryUtilization.emit(metrics) - mb.metricVcenterHostNetworkPackets.emit(metrics) - mb.metricVcenterHostNetworkThroughput.emit(metrics) - mb.metricVcenterHostVsanCacheHitRate.emit(metrics) - mb.metricVcenterHostVsanCacheReads.emit(metrics) - mb.metricVcenterHostVsanCongestions.emit(metrics) - mb.metricVcenterHostVsanLatencyAvg.emit(metrics) - mb.metricVcenterHostVsanOperations.emit(metrics) - mb.metricVcenterHostVsanOutstandingIo.emit(metrics) - mb.metricVcenterHostVsanThroughput.emit(metrics) +func (mb *MetricsBuilder) EmitHost(hostname string) { + mb.EmitForResource(WithVcenterHostName(hostname)) } -func (mb *MetricsBuilder) EmitResourcePool(metrics pdata.MetricSlice) { - mb.metricVcenterResourcePoolCPUShares.emit(metrics) - mb.metricVcenterResourcePoolCPUUsage.emit(metrics) - mb.metricVcenterResourcePoolMemoryShares.emit(metrics) - mb.metricVcenterResourcePoolMemoryUsage.emit(metrics) +func (mb *MetricsBuilder) EmitResourcePool(poolName string) { + mb.EmitForResource(WithVcenterResourcePoolName(poolName)) } -func (mb *MetricsBuilder) EmitDatastore(metrics pdata.MetricSlice) { - mb.metricVcenterDatastoreDiskUsage.emit(metrics) - mb.metricVcenterDatastoreDiskUtilization.emit(metrics) +func (mb *MetricsBuilder) EmitDatastore(datastoreName string) { + mb.EmitForResource(WithVcenterDatastoreName(datastoreName)) } -func (mb *MetricsBuilder) EmitDatacenter(metrics pdata.MetricSlice) { - mb.metricVcenterDatacenterHostCount.emit(metrics) - mb.metricVcenterDatacenterVMCount.emit(metrics) +func (mb *MetricsBuilder) EmitDatacenter(dcName string) { + mb.EmitForResource(WithVcenterDatacenterName(dcName)) } -func (mb *MetricsBuilder) EmitCluster(metrics pdata.MetricSlice) { - mb.metricVcenterClusterCPUAvailable.emit(metrics) - mb.metricVcenterClusterCPUEffective.emit(metrics) - mb.metricVcenterClusterCPUUsed.emit(metrics) - mb.metricVcenterClusterMemoryAvailable.emit(metrics) - mb.metricVcenterClusterMemoryEffective.emit(metrics) - mb.metricVcenterClusterMemoryUsed.emit(metrics) - mb.metricVcenterClusterVsanCongestions.emit(metrics) - mb.metricVcenterClusterVsanLatencyAvg.emit(metrics) - mb.metricVcenterClusterVsanOperations.emit(metrics) - mb.metricVcenterClusterVsanOutstandingIo.emit(metrics) - mb.metricVcenterClusterVsanThroughput.emit(metrics) +func (mb *MetricsBuilder) EmitCluster(clusterName string) { + mb.EmitForResource(WithVcenterClusterName(clusterName)) } diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go index 2062c976ea95e..03f537ee8cda4 100644 --- a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -58,6 +58,7 @@ type MetricsSettings struct { VcenterVMMemoryUsage MetricSettings `mapstructure:"vcenter.vm.memory.usage"` VcenterVMNetworkPackets MetricSettings `mapstructure:"vcenter.vm.network.packets"` VcenterVMNetworkThroughput MetricSettings `mapstructure:"vcenter.vm.network.throughput"` + VcenterVMNetworkUsage MetricSettings `mapstructure:"vcenter.vm.network.usage"` VcenterVMVsanLatencyAvg MetricSettings `mapstructure:"vcenter.vm.vsan.latency.avg"` VcenterVMVsanOperations MetricSettings `mapstructure:"vcenter.vm.vsan.operations"` VcenterVMVsanThroughput MetricSettings `mapstructure:"vcenter.vm.vsan.throughput"` @@ -194,6 +195,9 @@ func DefaultMetricsSettings() MetricsSettings { VcenterVMNetworkThroughput: MetricSettings{ Enabled: true, }, + VcenterVMNetworkUsage: MetricSettings{ + Enabled: true, + }, VcenterVMVsanLatencyAvg: MetricSettings{ Enabled: true, }, @@ -220,10 +224,9 @@ func (m *metricVcenterClusterCPUAvailable) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterCPUAvailable) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { +func (m *metricVcenterClusterCPUAvailable) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -231,7 +234,6 @@ func (m *metricVcenterClusterCPUAvailable) recordDataPoint(start pdata.Timestamp dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -273,10 +275,9 @@ func (m *metricVcenterClusterCPUEffective) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterCPUEffective) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { +func (m *metricVcenterClusterCPUEffective) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -284,7 +285,6 @@ func (m *metricVcenterClusterCPUEffective) recordDataPoint(start pdata.Timestamp dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -326,10 +326,9 @@ func (m *metricVcenterClusterCPUUsed) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterCPUUsed) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { +func (m *metricVcenterClusterCPUUsed) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -337,7 +336,6 @@ func (m *metricVcenterClusterCPUUsed) recordDataPoint(start pdata.Timestamp, ts dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -379,10 +377,9 @@ func (m *metricVcenterClusterMemoryAvailable) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterMemoryAvailable) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { +func (m *metricVcenterClusterMemoryAvailable) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -390,7 +387,6 @@ func (m *metricVcenterClusterMemoryAvailable) recordDataPoint(start pdata.Timest dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -432,10 +428,9 @@ func (m *metricVcenterClusterMemoryEffective) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterMemoryEffective) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { +func (m *metricVcenterClusterMemoryEffective) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -443,7 +438,6 @@ func (m *metricVcenterClusterMemoryEffective) recordDataPoint(start pdata.Timest dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -485,10 +479,9 @@ func (m *metricVcenterClusterMemoryUsed) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterMemoryUsed) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { +func (m *metricVcenterClusterMemoryUsed) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -496,7 +489,6 @@ func (m *metricVcenterClusterMemoryUsed) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -538,10 +530,9 @@ func (m *metricVcenterClusterVsanCongestions) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterVsanCongestions) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { +func (m *metricVcenterClusterVsanCongestions) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -549,7 +540,6 @@ func (m *metricVcenterClusterVsanCongestions) recordDataPoint(start pdata.Timest dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -594,7 +584,7 @@ func (m *metricVcenterClusterVsanLatencyAvg) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string, clusterAttributeValue string) { +func (m *metricVcenterClusterVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -602,8 +592,7 @@ func (m *metricVcenterClusterVsanLatencyAvg) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanLatencyType, pdata.NewAttributeValueString(vsanLatencyTypeAttributeValue)) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) + dp.Attributes().Insert(A.VsanLatencyType, pdata.NewValueString(vsanLatencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -648,7 +637,7 @@ func (m *metricVcenterClusterVsanOperations) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string, clusterAttributeValue string) { +func (m *metricVcenterClusterVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -656,8 +645,7 @@ func (m *metricVcenterClusterVsanOperations) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanOperationType, pdata.NewAttributeValueString(vsanOperationTypeAttributeValue)) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) + dp.Attributes().Insert(A.VsanOperationType, pdata.NewValueString(vsanOperationTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -699,10 +687,9 @@ func (m *metricVcenterClusterVsanOutstandingIo) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterVsanOutstandingIo) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, clusterAttributeValue string) { +func (m *metricVcenterClusterVsanOutstandingIo) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -710,7 +697,6 @@ func (m *metricVcenterClusterVsanOutstandingIo) recordDataPoint(start pdata.Time dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -755,7 +741,7 @@ func (m *metricVcenterClusterVsanThroughput) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string, clusterAttributeValue string) { +func (m *metricVcenterClusterVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -763,8 +749,7 @@ func (m *metricVcenterClusterVsanThroughput) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewAttributeValueString(vsanThroughputDirectionAttributeValue)) - dp.Attributes().Insert(A.Cluster, pdata.NewAttributeValueString(clusterAttributeValue)) + dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewValueString(vsanThroughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -911,7 +896,7 @@ func (m *metricVcenterDatastoreDiskUsage) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, datastoreAttributeValue string, diskStateAttributeValue string) { +func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, diskStateAttributeValue string) { if !m.settings.Enabled { return } @@ -919,8 +904,7 @@ func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Datastore, pdata.NewAttributeValueString(datastoreAttributeValue)) - dp.Attributes().Insert(A.DiskState, pdata.NewAttributeValueString(diskStateAttributeValue)) + dp.Attributes().Insert(A.DiskState, pdata.NewValueString(diskStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -960,10 +944,9 @@ func (m *metricVcenterDatastoreDiskUtilization) init() { m.data.SetDescription("The utilization of the datastore") m.data.SetUnit("%") m.data.SetDataType(pdata.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterDatastoreDiskUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, datastoreAttributeValue string) { +func (m *metricVcenterDatastoreDiskUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -971,7 +954,6 @@ func (m *metricVcenterDatastoreDiskUtilization) recordDataPoint(start pdata.Time dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetDoubleVal(val) - dp.Attributes().Insert(A.Datastore, pdata.NewAttributeValueString(datastoreAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1013,10 +995,9 @@ func (m *metricVcenterHostCPUUsage) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostCPUUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { +func (m *metricVcenterHostCPUUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1024,7 +1005,6 @@ func (m *metricVcenterHostCPUUsage) recordDataPoint(start pdata.Timestamp, ts pd dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1064,10 +1044,9 @@ func (m *metricVcenterHostCPUUtilization) init() { m.data.SetDescription("The CPU utilization of the host system") m.data.SetUnit("%") m.data.SetDataType(pdata.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostCPUUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, hostnameAttributeValue string) { +func (m *metricVcenterHostCPUUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -1075,7 +1054,6 @@ func (m *metricVcenterHostCPUUtilization) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetDoubleVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1120,7 +1098,7 @@ func (m *metricVcenterHostDiskLatencyAvg) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { +func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -1128,7 +1106,7 @@ func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) + dp.Attributes().Insert(A.LatencyType, pdata.NewValueString(latencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1170,10 +1148,9 @@ func (m *metricVcenterHostDiskThroughput) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { +func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1181,7 +1158,6 @@ func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1219,14 +1195,13 @@ type metricVcenterHostMemoryUsage struct { func (m *metricVcenterHostMemoryUsage) init() { m.data.SetName("vcenter.host.memory.usage") m.data.SetDescription("The amount of memory the host system is using") - m.data.SetUnit("By") + m.data.SetUnit("MBy") m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { +func (m *metricVcenterHostMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1234,7 +1209,6 @@ func (m *metricVcenterHostMemoryUsage) recordDataPoint(start pdata.Timestamp, ts dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1274,10 +1248,9 @@ func (m *metricVcenterHostMemoryUtilization) init() { m.data.SetDescription("The percentage of the host system's memory capacity that is being utilized") m.data.SetUnit("%") m.data.SetDataType(pdata.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostMemoryUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, hostnameAttributeValue string) { +func (m *metricVcenterHostMemoryUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -1285,7 +1258,6 @@ func (m *metricVcenterHostMemoryUtilization) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetDoubleVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1327,10 +1299,9 @@ func (m *metricVcenterHostNetworkPackets) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { +func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1338,7 +1309,6 @@ func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1383,7 +1353,7 @@ func (m *metricVcenterHostNetworkThroughput) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { +func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1391,7 +1361,7 @@ func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) + dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1431,10 +1401,9 @@ func (m *metricVcenterHostVsanCacheHitRate) init() { m.data.SetDescription("Percentage of read IOs which could be satisfied by the local client cache") m.data.SetUnit("%") m.data.SetDataType(pdata.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanCacheHitRate) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, hostnameAttributeValue string) { +func (m *metricVcenterHostVsanCacheHitRate) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -1442,7 +1411,6 @@ func (m *metricVcenterHostVsanCacheHitRate) recordDataPoint(start pdata.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetDoubleVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1484,10 +1452,9 @@ func (m *metricVcenterHostVsanCacheReads) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanCacheReads) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { +func (m *metricVcenterHostVsanCacheReads) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1495,7 +1462,6 @@ func (m *metricVcenterHostVsanCacheReads) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1537,10 +1503,9 @@ func (m *metricVcenterHostVsanCongestions) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanCongestions) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { +func (m *metricVcenterHostVsanCongestions) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1548,7 +1513,6 @@ func (m *metricVcenterHostVsanCongestions) recordDataPoint(start pdata.Timestamp dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1593,7 +1557,7 @@ func (m *metricVcenterHostVsanLatencyAvg) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanLatencyTypeAttributeValue string) { +func (m *metricVcenterHostVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -1601,8 +1565,7 @@ func (m *metricVcenterHostVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) - dp.Attributes().Insert(A.VsanLatencyType, pdata.NewAttributeValueString(vsanLatencyTypeAttributeValue)) + dp.Attributes().Insert(A.VsanLatencyType, pdata.NewValueString(vsanLatencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1647,7 +1610,7 @@ func (m *metricVcenterHostVsanOperations) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanOperationTypeAttributeValue string) { +func (m *metricVcenterHostVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -1655,8 +1618,7 @@ func (m *metricVcenterHostVsanOperations) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) - dp.Attributes().Insert(A.VsanOperationType, pdata.NewAttributeValueString(vsanOperationTypeAttributeValue)) + dp.Attributes().Insert(A.VsanOperationType, pdata.NewValueString(vsanOperationTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1698,10 +1660,9 @@ func (m *metricVcenterHostVsanOutstandingIo) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanOutstandingIo) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string) { +func (m *metricVcenterHostVsanOutstandingIo) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1709,7 +1670,6 @@ func (m *metricVcenterHostVsanOutstandingIo) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1754,7 +1714,7 @@ func (m *metricVcenterHostVsanThroughput) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanThroughputDirectionAttributeValue string) { +func (m *metricVcenterHostVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1762,8 +1722,7 @@ func (m *metricVcenterHostVsanThroughput) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Hostname, pdata.NewAttributeValueString(hostnameAttributeValue)) - dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewAttributeValueString(vsanThroughputDirectionAttributeValue)) + dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewValueString(vsanThroughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1805,10 +1764,9 @@ func (m *metricVcenterResourcePoolCPUShares) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterResourcePoolCPUShares) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, poolAttributeValue string) { +func (m *metricVcenterResourcePoolCPUShares) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1816,7 +1774,6 @@ func (m *metricVcenterResourcePoolCPUShares) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Pool, pdata.NewAttributeValueString(poolAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1858,10 +1815,9 @@ func (m *metricVcenterResourcePoolCPUUsage) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterResourcePoolCPUUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, poolAttributeValue string) { +func (m *metricVcenterResourcePoolCPUUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1869,7 +1825,6 @@ func (m *metricVcenterResourcePoolCPUUsage) recordDataPoint(start pdata.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Pool, pdata.NewAttributeValueString(poolAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1911,10 +1866,9 @@ func (m *metricVcenterResourcePoolMemoryShares) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterResourcePoolMemoryShares) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, poolAttributeValue string) { +func (m *metricVcenterResourcePoolMemoryShares) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1922,7 +1876,6 @@ func (m *metricVcenterResourcePoolMemoryShares) recordDataPoint(start pdata.Time dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Pool, pdata.NewAttributeValueString(poolAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1964,10 +1917,9 @@ func (m *metricVcenterResourcePoolMemoryUsage) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterResourcePoolMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, poolAttributeValue string) { +func (m *metricVcenterResourcePoolMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1975,7 +1927,6 @@ func (m *metricVcenterResourcePoolMemoryUsage) recordDataPoint(start pdata.Times dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.Pool, pdata.NewAttributeValueString(poolAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2015,10 +1966,9 @@ func (m *metricVcenterVMCPUUtilization) init() { m.data.SetDescription("The CPU utilization of the virtual machine") m.data.SetUnit("%") m.data.SetDataType(pdata.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMCPUUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { +func (m *metricVcenterVMCPUUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -2026,9 +1976,6 @@ func (m *metricVcenterVMCPUUtilization) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetDoubleVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2073,7 +2020,7 @@ func (m *metricVcenterVMDiskLatency) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskLatency) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, latencyTypeAttributeValue string) { +func (m *metricVcenterVMDiskLatency) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -2081,10 +2028,7 @@ func (m *metricVcenterVMDiskLatency) recordDataPoint(start pdata.Timestamp, ts p dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) - dp.Attributes().Insert(A.LatencyType, pdata.NewAttributeValueString(latencyTypeAttributeValue)) + dp.Attributes().Insert(A.LatencyType, pdata.NewValueString(latencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2126,10 +2070,9 @@ func (m *metricVcenterVMDiskThroughput) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { +func (m *metricVcenterVMDiskThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2137,9 +2080,6 @@ func (m *metricVcenterVMDiskThroughput) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2184,7 +2124,7 @@ func (m *metricVcenterVMDiskUsage) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, diskStateAttributeValue string) { +func (m *metricVcenterVMDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, diskStateAttributeValue string) { if !m.settings.Enabled { return } @@ -2192,10 +2132,7 @@ func (m *metricVcenterVMDiskUsage) recordDataPoint(start pdata.Timestamp, ts pda dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) - dp.Attributes().Insert(A.DiskState, pdata.NewAttributeValueString(diskStateAttributeValue)) + dp.Attributes().Insert(A.DiskState, pdata.NewValueString(diskStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2235,10 +2172,9 @@ func (m *metricVcenterVMDiskUtilization) init() { m.data.SetDescription("The utilization of storage on the virtual machine") m.data.SetUnit("%") m.data.SetDataType(pdata.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { +func (m *metricVcenterVMDiskUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -2246,9 +2182,6 @@ func (m *metricVcenterVMDiskUtilization) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetDoubleVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2290,10 +2223,9 @@ func (m *metricVcenterVMMemoryBallooned) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMMemoryBallooned) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { +func (m *metricVcenterVMMemoryBallooned) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2301,9 +2233,6 @@ func (m *metricVcenterVMMemoryBallooned) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2341,14 +2270,13 @@ type metricVcenterVMMemoryUsage struct { func (m *metricVcenterVMMemoryUsage) init() { m.data.SetName("vcenter.vm.memory.usage") m.data.SetDescription("The amount of memory that is used by the virtual machine") - m.data.SetUnit("By") + m.data.SetUnit("MBy") m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { +func (m *metricVcenterVMMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2356,9 +2284,6 @@ func (m *metricVcenterVMMemoryUsage) recordDataPoint(start pdata.Timestamp, ts p dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2395,15 +2320,14 @@ type metricVcenterVMNetworkPackets struct { // init fills vcenter.vm.network.packets metric with initial data. func (m *metricVcenterVMNetworkPackets) init() { m.data.SetName("vcenter.vm.network.packets") - m.data.SetDescription("The amount of packets that was received or transmitted over the instance's network") + m.data.SetDescription("The amount of packets that was received or transmitted over the instance's network.") m.data.SetUnit("{packets/sec}") m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { +func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2411,9 +2335,6 @@ func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2450,7 +2371,7 @@ type metricVcenterVMNetworkThroughput struct { // init fills vcenter.vm.network.throughput metric with initial data. func (m *metricVcenterVMNetworkThroughput) init() { m.data.SetName("vcenter.vm.network.throughput") - m.data.SetDescription("The amount of data that was received or sent over the network of the virtual machine") + m.data.SetDescription("The amount of data that was received or sent over the network of the virtual machine.") m.data.SetUnit("By/sec") m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -2458,7 +2379,7 @@ func (m *metricVcenterVMNetworkThroughput) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, throughputDirectionAttributeValue string) { +func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -2466,10 +2387,7 @@ func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pdata.Timestamp dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) - dp.Attributes().Insert(A.ThroughputDirection, pdata.NewAttributeValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2497,6 +2415,57 @@ func newMetricVcenterVMNetworkThroughput(settings MetricSettings) metricVcenterV return m } +type metricVcenterVMNetworkUsage struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.network.usage metric with initial data. +func (m *metricVcenterVMNetworkUsage) init() { + m.data.SetName("vcenter.vm.network.usage") + m.data.SetDescription("The network utilizaiton combined transmit and receive rates during an interval.") + m.data.SetUnit("{KBy/s}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) +} + +func (m *metricVcenterVMNetworkUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMNetworkUsage) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMNetworkUsage) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMNetworkUsage(settings MetricSettings) metricVcenterVMNetworkUsage { + m := metricVcenterVMNetworkUsage{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + type metricVcenterVMVsanLatencyAvg struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -2512,7 +2481,7 @@ func (m *metricVcenterVMVsanLatencyAvg) init() { m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, vsanLatencyTypeAttributeValue string) { +func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -2520,10 +2489,7 @@ func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) - dp.Attributes().Insert(A.VsanLatencyType, pdata.NewAttributeValueString(vsanLatencyTypeAttributeValue)) + dp.Attributes().Insert(A.VsanLatencyType, pdata.NewValueString(vsanLatencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2568,7 +2534,7 @@ func (m *metricVcenterVMVsanOperations) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanOperationTypeAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { +func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -2576,10 +2542,7 @@ func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.VsanOperationType, pdata.NewAttributeValueString(vsanOperationTypeAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) + dp.Attributes().Insert(A.VsanOperationType, pdata.NewValueString(vsanOperationTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2622,7 +2585,7 @@ func (m *metricVcenterVMVsanThroughput) init() { m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanThroughputDirectionAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { +func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -2630,10 +2593,7 @@ func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.InstanceName, pdata.NewAttributeValueString(instanceNameAttributeValue)) - dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewAttributeValueString(vsanThroughputDirectionAttributeValue)) - dp.Attributes().Insert(A.InstanceID, pdata.NewAttributeValueString(instanceIDAttributeValue)) - dp.Attributes().Insert(A.PowerState, pdata.NewAttributeValueString(powerStateAttributeValue)) + dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewValueString(vsanThroughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2664,7 +2624,10 @@ func newMetricVcenterVMVsanThroughput(settings MetricSettings) metricVcenterVMVs // MetricsBuilder provides an interface for scrapers to report metrics while taking care of all the transformations // required to produce metric representation defined in metadata and user settings. type MetricsBuilder struct { - startTime pdata.Timestamp + startTime pdata.Timestamp // start time that will be applied to all recorded data points. + metricsCapacity int // maximum observed number of metrics per resource. + resourceCapacity int // maximum observed number of resource attributes. + metricsBuffer pdata.Metrics // accumulates metrics data before emitting. metricVcenterClusterCPUAvailable metricVcenterClusterCPUAvailable metricVcenterClusterCPUEffective metricVcenterClusterCPUEffective metricVcenterClusterCPUUsed metricVcenterClusterCPUUsed @@ -2708,6 +2671,7 @@ type MetricsBuilder struct { metricVcenterVMMemoryUsage metricVcenterVMMemoryUsage metricVcenterVMNetworkPackets metricVcenterVMNetworkPackets metricVcenterVMNetworkThroughput metricVcenterVMNetworkThroughput + metricVcenterVMNetworkUsage metricVcenterVMNetworkUsage metricVcenterVMVsanLatencyAvg metricVcenterVMVsanLatencyAvg metricVcenterVMVsanOperations metricVcenterVMVsanOperations metricVcenterVMVsanThroughput metricVcenterVMVsanThroughput @@ -2726,6 +2690,7 @@ func WithStartTime(startTime pdata.Timestamp) metricBuilderOption { func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) *MetricsBuilder { mb := &MetricsBuilder{ startTime: pdata.NewTimestampFromTime(time.Now()), + metricsBuffer: pdata.NewMetrics(), metricVcenterClusterCPUAvailable: newMetricVcenterClusterCPUAvailable(settings.VcenterClusterCPUAvailable), metricVcenterClusterCPUEffective: newMetricVcenterClusterCPUEffective(settings.VcenterClusterCPUEffective), metricVcenterClusterCPUUsed: newMetricVcenterClusterCPUUsed(settings.VcenterClusterCPUUsed), @@ -2769,6 +2734,7 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) metricVcenterVMMemoryUsage: newMetricVcenterVMMemoryUsage(settings.VcenterVMMemoryUsage), metricVcenterVMNetworkPackets: newMetricVcenterVMNetworkPackets(settings.VcenterVMNetworkPackets), metricVcenterVMNetworkThroughput: newMetricVcenterVMNetworkThroughput(settings.VcenterVMNetworkThroughput), + metricVcenterVMNetworkUsage: newMetricVcenterVMNetworkUsage(settings.VcenterVMNetworkUsage), metricVcenterVMVsanLatencyAvg: newMetricVcenterVMVsanLatencyAvg(settings.VcenterVMVsanLatencyAvg), metricVcenterVMVsanOperations: newMetricVcenterVMVsanOperations(settings.VcenterVMVsanOperations), metricVcenterVMVsanThroughput: newMetricVcenterVMVsanThroughput(settings.VcenterVMVsanThroughput), @@ -2779,111 +2745,204 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) return mb } -// Emit appends generated metrics to a pdata.MetricsSlice and updates the internal state to be ready for recording -// another set of data points. This function will be doing all transformations required to produce metric representation -// defined in metadata and user settings, e.g. delta/cumulative translation. -func (mb *MetricsBuilder) Emit(metrics pdata.MetricSlice) { - mb.metricVcenterClusterCPUAvailable.emit(metrics) - mb.metricVcenterClusterCPUEffective.emit(metrics) - mb.metricVcenterClusterCPUUsed.emit(metrics) - mb.metricVcenterClusterMemoryAvailable.emit(metrics) - mb.metricVcenterClusterMemoryEffective.emit(metrics) - mb.metricVcenterClusterMemoryUsed.emit(metrics) - mb.metricVcenterClusterVsanCongestions.emit(metrics) - mb.metricVcenterClusterVsanLatencyAvg.emit(metrics) - mb.metricVcenterClusterVsanOperations.emit(metrics) - mb.metricVcenterClusterVsanOutstandingIo.emit(metrics) - mb.metricVcenterClusterVsanThroughput.emit(metrics) - mb.metricVcenterDatacenterHostCount.emit(metrics) - mb.metricVcenterDatacenterVMCount.emit(metrics) - mb.metricVcenterDatastoreDiskUsage.emit(metrics) - mb.metricVcenterDatastoreDiskUtilization.emit(metrics) - mb.metricVcenterHostCPUUsage.emit(metrics) - mb.metricVcenterHostCPUUtilization.emit(metrics) - mb.metricVcenterHostDiskLatencyAvg.emit(metrics) - mb.metricVcenterHostDiskThroughput.emit(metrics) - mb.metricVcenterHostMemoryUsage.emit(metrics) - mb.metricVcenterHostMemoryUtilization.emit(metrics) - mb.metricVcenterHostNetworkPackets.emit(metrics) - mb.metricVcenterHostNetworkThroughput.emit(metrics) - mb.metricVcenterHostVsanCacheHitRate.emit(metrics) - mb.metricVcenterHostVsanCacheReads.emit(metrics) - mb.metricVcenterHostVsanCongestions.emit(metrics) - mb.metricVcenterHostVsanLatencyAvg.emit(metrics) - mb.metricVcenterHostVsanOperations.emit(metrics) - mb.metricVcenterHostVsanOutstandingIo.emit(metrics) - mb.metricVcenterHostVsanThroughput.emit(metrics) - mb.metricVcenterResourcePoolCPUShares.emit(metrics) - mb.metricVcenterResourcePoolCPUUsage.emit(metrics) - mb.metricVcenterResourcePoolMemoryShares.emit(metrics) - mb.metricVcenterResourcePoolMemoryUsage.emit(metrics) - mb.metricVcenterVMCPUUtilization.emit(metrics) - mb.metricVcenterVMDiskLatency.emit(metrics) - mb.metricVcenterVMDiskThroughput.emit(metrics) - mb.metricVcenterVMDiskUsage.emit(metrics) - mb.metricVcenterVMDiskUtilization.emit(metrics) - mb.metricVcenterVMMemoryBallooned.emit(metrics) - mb.metricVcenterVMMemoryUsage.emit(metrics) - mb.metricVcenterVMNetworkPackets.emit(metrics) - mb.metricVcenterVMNetworkThroughput.emit(metrics) - mb.metricVcenterVMVsanLatencyAvg.emit(metrics) - mb.metricVcenterVMVsanOperations.emit(metrics) - mb.metricVcenterVMVsanThroughput.emit(metrics) +// updateCapacity updates max length of metrics and resource attributes that will be used for the slice capacity. +func (mb *MetricsBuilder) updateCapacity(rm pdata.ResourceMetrics) { + if mb.metricsCapacity < rm.ScopeMetrics().At(0).Metrics().Len() { + mb.metricsCapacity = rm.ScopeMetrics().At(0).Metrics().Len() + } + if mb.resourceCapacity < rm.Resource().Attributes().Len() { + mb.resourceCapacity = rm.Resource().Attributes().Len() + } +} + +// ResourceOption applies changes to provided resource. +type ResourceOption func(pdata.Resource) + +// WithVcenterClusterName sets provided value as "vcenter.cluster.name" attribute for current resource. +func WithVcenterClusterName(val string) ResourceOption { + return func(r pdata.Resource) { + r.Attributes().UpsertString("vcenter.cluster.name", val) + } +} + +// WithVcenterDatacenterName sets provided value as "vcenter.datacenter.name" attribute for current resource. +func WithVcenterDatacenterName(val string) ResourceOption { + return func(r pdata.Resource) { + r.Attributes().UpsertString("vcenter.datacenter.name", val) + } +} + +// WithVcenterDatastoreName sets provided value as "vcenter.datastore.name" attribute for current resource. +func WithVcenterDatastoreName(val string) ResourceOption { + return func(r pdata.Resource) { + r.Attributes().UpsertString("vcenter.datastore.name", val) + } +} + +// WithVcenterHostName sets provided value as "vcenter.host.name" attribute for current resource. +func WithVcenterHostName(val string) ResourceOption { + return func(r pdata.Resource) { + r.Attributes().UpsertString("vcenter.host.name", val) + } +} + +// WithVcenterResourcePoolName sets provided value as "vcenter.resource_pool.name" attribute for current resource. +func WithVcenterResourcePoolName(val string) ResourceOption { + return func(r pdata.Resource) { + r.Attributes().UpsertString("vcenter.resource_pool.name", val) + } +} + +// WithVcenterVMID sets provided value as "vcenter.vm.id" attribute for current resource. +func WithVcenterVMID(val string) ResourceOption { + return func(r pdata.Resource) { + r.Attributes().UpsertString("vcenter.vm.id", val) + } +} + +// WithVcenterVMName sets provided value as "vcenter.vm.name" attribute for current resource. +func WithVcenterVMName(val string) ResourceOption { + return func(r pdata.Resource) { + r.Attributes().UpsertString("vcenter.vm.name", val) + } +} + +// WithVcenterVMPowerState sets provided value as "vcenter.vm.power_state" attribute for current resource. +func WithVcenterVMPowerState(val string) ResourceOption { + return func(r pdata.Resource) { + r.Attributes().UpsertString("vcenter.vm.power_state", val) + } +} + +// EmitForResource saves all the generated metrics under a new resource and updates the internal state to be ready for +// recording another set of data points as part of another resource. This function can be helpful when one scraper +// needs to emit metrics from several resources. Otherwise calling this function is not required, +// just `Emit` function can be called instead. Resource attributes should be provided as ResourceOption arguments. +func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { + rm := pdata.NewResourceMetrics() + rm.Resource().Attributes().EnsureCapacity(mb.resourceCapacity) + for _, op := range ro { + op(rm.Resource()) + } + ils := rm.ScopeMetrics().AppendEmpty() + ils.Scope().SetName("otelcol/vmwarevcenterreceiver") + ils.Metrics().EnsureCapacity(mb.metricsCapacity) + mb.metricVcenterClusterCPUAvailable.emit(ils.Metrics()) + mb.metricVcenterClusterCPUEffective.emit(ils.Metrics()) + mb.metricVcenterClusterCPUUsed.emit(ils.Metrics()) + mb.metricVcenterClusterMemoryAvailable.emit(ils.Metrics()) + mb.metricVcenterClusterMemoryEffective.emit(ils.Metrics()) + mb.metricVcenterClusterMemoryUsed.emit(ils.Metrics()) + mb.metricVcenterClusterVsanCongestions.emit(ils.Metrics()) + mb.metricVcenterClusterVsanLatencyAvg.emit(ils.Metrics()) + mb.metricVcenterClusterVsanOperations.emit(ils.Metrics()) + mb.metricVcenterClusterVsanOutstandingIo.emit(ils.Metrics()) + mb.metricVcenterClusterVsanThroughput.emit(ils.Metrics()) + mb.metricVcenterDatacenterHostCount.emit(ils.Metrics()) + mb.metricVcenterDatacenterVMCount.emit(ils.Metrics()) + mb.metricVcenterDatastoreDiskUsage.emit(ils.Metrics()) + mb.metricVcenterDatastoreDiskUtilization.emit(ils.Metrics()) + mb.metricVcenterHostCPUUsage.emit(ils.Metrics()) + mb.metricVcenterHostCPUUtilization.emit(ils.Metrics()) + mb.metricVcenterHostDiskLatencyAvg.emit(ils.Metrics()) + mb.metricVcenterHostDiskThroughput.emit(ils.Metrics()) + mb.metricVcenterHostMemoryUsage.emit(ils.Metrics()) + mb.metricVcenterHostMemoryUtilization.emit(ils.Metrics()) + mb.metricVcenterHostNetworkPackets.emit(ils.Metrics()) + mb.metricVcenterHostNetworkThroughput.emit(ils.Metrics()) + mb.metricVcenterHostVsanCacheHitRate.emit(ils.Metrics()) + mb.metricVcenterHostVsanCacheReads.emit(ils.Metrics()) + mb.metricVcenterHostVsanCongestions.emit(ils.Metrics()) + mb.metricVcenterHostVsanLatencyAvg.emit(ils.Metrics()) + mb.metricVcenterHostVsanOperations.emit(ils.Metrics()) + mb.metricVcenterHostVsanOutstandingIo.emit(ils.Metrics()) + mb.metricVcenterHostVsanThroughput.emit(ils.Metrics()) + mb.metricVcenterResourcePoolCPUShares.emit(ils.Metrics()) + mb.metricVcenterResourcePoolCPUUsage.emit(ils.Metrics()) + mb.metricVcenterResourcePoolMemoryShares.emit(ils.Metrics()) + mb.metricVcenterResourcePoolMemoryUsage.emit(ils.Metrics()) + mb.metricVcenterVMCPUUtilization.emit(ils.Metrics()) + mb.metricVcenterVMDiskLatency.emit(ils.Metrics()) + mb.metricVcenterVMDiskThroughput.emit(ils.Metrics()) + mb.metricVcenterVMDiskUsage.emit(ils.Metrics()) + mb.metricVcenterVMDiskUtilization.emit(ils.Metrics()) + mb.metricVcenterVMMemoryBallooned.emit(ils.Metrics()) + mb.metricVcenterVMMemoryUsage.emit(ils.Metrics()) + mb.metricVcenterVMNetworkPackets.emit(ils.Metrics()) + mb.metricVcenterVMNetworkThroughput.emit(ils.Metrics()) + mb.metricVcenterVMNetworkUsage.emit(ils.Metrics()) + mb.metricVcenterVMVsanLatencyAvg.emit(ils.Metrics()) + mb.metricVcenterVMVsanOperations.emit(ils.Metrics()) + mb.metricVcenterVMVsanThroughput.emit(ils.Metrics()) + if ils.Metrics().Len() > 0 { + mb.updateCapacity(rm) + rm.MoveTo(mb.metricsBuffer.ResourceMetrics().AppendEmpty()) + } +} + +// Emit returns all the metrics accumulated by the metrics builder and updates the internal state to be ready for +// recording another set of metrics. This function will be responsible for applying all the transformations required to +// produce metric representation defined in metadata and user settings, e.g. delta or cumulative. +func (mb *MetricsBuilder) Emit(ro ...ResourceOption) pdata.Metrics { + mb.EmitForResource(ro...) + metrics := pdata.NewMetrics() + mb.metricsBuffer.MoveTo(metrics) + return metrics } // RecordVcenterClusterCPUAvailableDataPoint adds a data point to vcenter.cluster.cpu.available metric. -func (mb *MetricsBuilder) RecordVcenterClusterCPUAvailableDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { - mb.metricVcenterClusterCPUAvailable.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterCPUAvailableDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterClusterCPUAvailable.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterCPUEffectiveDataPoint adds a data point to vcenter.cluster.cpu.effective metric. -func (mb *MetricsBuilder) RecordVcenterClusterCPUEffectiveDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { - mb.metricVcenterClusterCPUEffective.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterCPUEffectiveDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterClusterCPUEffective.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterCPUUsedDataPoint adds a data point to vcenter.cluster.cpu.used metric. -func (mb *MetricsBuilder) RecordVcenterClusterCPUUsedDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { - mb.metricVcenterClusterCPUUsed.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterCPUUsedDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterClusterCPUUsed.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterMemoryAvailableDataPoint adds a data point to vcenter.cluster.memory.available metric. -func (mb *MetricsBuilder) RecordVcenterClusterMemoryAvailableDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { - mb.metricVcenterClusterMemoryAvailable.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterMemoryAvailableDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterClusterMemoryAvailable.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterMemoryEffectiveDataPoint adds a data point to vcenter.cluster.memory.effective metric. -func (mb *MetricsBuilder) RecordVcenterClusterMemoryEffectiveDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { - mb.metricVcenterClusterMemoryEffective.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterMemoryEffectiveDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterClusterMemoryEffective.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterMemoryUsedDataPoint adds a data point to vcenter.cluster.memory.used metric. -func (mb *MetricsBuilder) RecordVcenterClusterMemoryUsedDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { - mb.metricVcenterClusterMemoryUsed.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterMemoryUsedDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterClusterMemoryUsed.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterVsanCongestionsDataPoint adds a data point to vcenter.cluster.vsan.congestions metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanCongestionsDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { - mb.metricVcenterClusterVsanCongestions.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterVsanCongestionsDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterClusterVsanCongestions.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterVsanLatencyAvgDataPoint adds a data point to vcenter.cluster.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string, clusterAttributeValue string) { - mb.metricVcenterClusterVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { + mb.metricVcenterClusterVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue) } // RecordVcenterClusterVsanOperationsDataPoint adds a data point to vcenter.cluster.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanOperationsDataPoint(ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string, clusterAttributeValue string) { - mb.metricVcenterClusterVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterVsanOperationsDataPoint(ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { + mb.metricVcenterClusterVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue) } // RecordVcenterClusterVsanOutstandingIoDataPoint adds a data point to vcenter.cluster.vsan.outstanding_io metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanOutstandingIoDataPoint(ts pdata.Timestamp, val int64, clusterAttributeValue string) { - mb.metricVcenterClusterVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterVsanOutstandingIoDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterClusterVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterVsanThroughputDataPoint adds a data point to vcenter.cluster.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanThroughputDataPoint(ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string, clusterAttributeValue string) { - mb.metricVcenterClusterVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue, clusterAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterVsanThroughputDataPoint(ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { + mb.metricVcenterClusterVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue) } // RecordVcenterDatacenterHostCountDataPoint adds a data point to vcenter.datacenter.host.count metric. @@ -2897,168 +2956,173 @@ func (mb *MetricsBuilder) RecordVcenterDatacenterVMCountDataPoint(ts pdata.Times } // RecordVcenterDatastoreDiskUsageDataPoint adds a data point to vcenter.datastore.disk.usage metric. -func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pdata.Timestamp, val int64, datastoreAttributeValue string, diskStateAttributeValue string) { - mb.metricVcenterDatastoreDiskUsage.recordDataPoint(mb.startTime, ts, val, datastoreAttributeValue, diskStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pdata.Timestamp, val int64, diskStateAttributeValue string) { + mb.metricVcenterDatastoreDiskUsage.recordDataPoint(mb.startTime, ts, val, diskStateAttributeValue) } // RecordVcenterDatastoreDiskUtilizationDataPoint adds a data point to vcenter.datastore.disk.utilization metric. -func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUtilizationDataPoint(ts pdata.Timestamp, val float64, datastoreAttributeValue string) { - mb.metricVcenterDatastoreDiskUtilization.recordDataPoint(mb.startTime, ts, val, datastoreAttributeValue) +func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUtilizationDataPoint(ts pdata.Timestamp, val float64) { + mb.metricVcenterDatastoreDiskUtilization.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostCPUUsageDataPoint adds a data point to vcenter.host.cpu.usage metric. -func (mb *MetricsBuilder) RecordVcenterHostCPUUsageDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { - mb.metricVcenterHostCPUUsage.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostCPUUsageDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterHostCPUUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostCPUUtilizationDataPoint adds a data point to vcenter.host.cpu.utilization metric. -func (mb *MetricsBuilder) RecordVcenterHostCPUUtilizationDataPoint(ts pdata.Timestamp, val float64, hostnameAttributeValue string) { - mb.metricVcenterHostCPUUtilization.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostCPUUtilizationDataPoint(ts pdata.Timestamp, val float64) { + mb.metricVcenterHostCPUUtilization.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostDiskLatencyAvgDataPoint adds a data point to vcenter.host.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { - mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { + mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyTypeAttributeValue) } // RecordVcenterHostDiskThroughputDataPoint adds a data point to vcenter.host.disk.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskThroughputDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { - mb.metricVcenterHostDiskThroughput.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostDiskThroughputDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterHostDiskThroughput.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostMemoryUsageDataPoint adds a data point to vcenter.host.memory.usage metric. -func (mb *MetricsBuilder) RecordVcenterHostMemoryUsageDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { - mb.metricVcenterHostMemoryUsage.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostMemoryUsageDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterHostMemoryUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostMemoryUtilizationDataPoint adds a data point to vcenter.host.memory.utilization metric. -func (mb *MetricsBuilder) RecordVcenterHostMemoryUtilizationDataPoint(ts pdata.Timestamp, val float64, hostnameAttributeValue string) { - mb.metricVcenterHostMemoryUtilization.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostMemoryUtilizationDataPoint(ts pdata.Timestamp, val float64) { + mb.metricVcenterHostMemoryUtilization.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostNetworkPacketsDataPoint adds a data point to vcenter.host.network.packets metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { - mb.metricVcenterHostNetworkPackets.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketsDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterHostNetworkPackets.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostNetworkThroughputDataPoint adds a data point to vcenter.host.network.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { - mb.metricVcenterHostNetworkThroughput.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { + mb.metricVcenterHostNetworkThroughput.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterHostVsanCacheHitRateDataPoint adds a data point to vcenter.host.vsan.cache.hit_rate metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanCacheHitRateDataPoint(ts pdata.Timestamp, val float64, hostnameAttributeValue string) { - mb.metricVcenterHostVsanCacheHitRate.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostVsanCacheHitRateDataPoint(ts pdata.Timestamp, val float64) { + mb.metricVcenterHostVsanCacheHitRate.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanCacheReadsDataPoint adds a data point to vcenter.host.vsan.cache.reads metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanCacheReadsDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { - mb.metricVcenterHostVsanCacheReads.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostVsanCacheReadsDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterHostVsanCacheReads.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanCongestionsDataPoint adds a data point to vcenter.host.vsan.congestions metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanCongestionsDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { - mb.metricVcenterHostVsanCongestions.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostVsanCongestionsDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterHostVsanCongestions.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanLatencyAvgDataPoint adds a data point to vcenter.host.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanLatencyTypeAttributeValue string) { - mb.metricVcenterHostVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue, vsanLatencyTypeAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { + mb.metricVcenterHostVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue) } // RecordVcenterHostVsanOperationsDataPoint adds a data point to vcenter.host.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanOperationsDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanOperationTypeAttributeValue string) { - mb.metricVcenterHostVsanOperations.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue, vsanOperationTypeAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostVsanOperationsDataPoint(ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { + mb.metricVcenterHostVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue) } // RecordVcenterHostVsanOutstandingIoDataPoint adds a data point to vcenter.host.vsan.outstanding_io metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanOutstandingIoDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string) { - mb.metricVcenterHostVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostVsanOutstandingIoDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterHostVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanThroughputDataPoint adds a data point to vcenter.host.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanThroughputDataPoint(ts pdata.Timestamp, val int64, hostnameAttributeValue string, vsanThroughputDirectionAttributeValue string) { - mb.metricVcenterHostVsanThroughput.recordDataPoint(mb.startTime, ts, val, hostnameAttributeValue, vsanThroughputDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostVsanThroughputDataPoint(ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { + mb.metricVcenterHostVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue) } // RecordVcenterResourcePoolCPUSharesDataPoint adds a data point to vcenter.resource_pool.cpu.shares metric. -func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUSharesDataPoint(ts pdata.Timestamp, val int64, poolAttributeValue string) { - mb.metricVcenterResourcePoolCPUShares.recordDataPoint(mb.startTime, ts, val, poolAttributeValue) +func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUSharesDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterResourcePoolCPUShares.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterResourcePoolCPUUsageDataPoint adds a data point to vcenter.resource_pool.cpu.usage metric. -func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUUsageDataPoint(ts pdata.Timestamp, val int64, poolAttributeValue string) { - mb.metricVcenterResourcePoolCPUUsage.recordDataPoint(mb.startTime, ts, val, poolAttributeValue) +func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUUsageDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterResourcePoolCPUUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterResourcePoolMemorySharesDataPoint adds a data point to vcenter.resource_pool.memory.shares metric. -func (mb *MetricsBuilder) RecordVcenterResourcePoolMemorySharesDataPoint(ts pdata.Timestamp, val int64, poolAttributeValue string) { - mb.metricVcenterResourcePoolMemoryShares.recordDataPoint(mb.startTime, ts, val, poolAttributeValue) +func (mb *MetricsBuilder) RecordVcenterResourcePoolMemorySharesDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterResourcePoolMemoryShares.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterResourcePoolMemoryUsageDataPoint adds a data point to vcenter.resource_pool.memory.usage metric. -func (mb *MetricsBuilder) RecordVcenterResourcePoolMemoryUsageDataPoint(ts pdata.Timestamp, val int64, poolAttributeValue string) { - mb.metricVcenterResourcePoolMemoryUsage.recordDataPoint(mb.startTime, ts, val, poolAttributeValue) +func (mb *MetricsBuilder) RecordVcenterResourcePoolMemoryUsageDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterResourcePoolMemoryUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMCPUUtilizationDataPoint adds a data point to vcenter.vm.cpu.utilization metric. -func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pdata.Timestamp, val float64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { - mb.metricVcenterVMCPUUtilization.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pdata.Timestamp, val float64) { + mb.metricVcenterVMCPUUtilization.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMDiskLatencyDataPoint adds a data point to vcenter.vm.disk.latency metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, latencyTypeAttributeValue string) { - mb.metricVcenterVMDiskLatency.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue, latencyTypeAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyDataPoint(ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { + mb.metricVcenterVMDiskLatency.recordDataPoint(mb.startTime, ts, val, latencyTypeAttributeValue) } // RecordVcenterVMDiskThroughputDataPoint adds a data point to vcenter.vm.disk.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { - mb.metricVcenterVMDiskThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMDiskThroughputDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterVMDiskThroughput.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMDiskUsageDataPoint adds a data point to vcenter.vm.disk.usage metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskUsageDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, diskStateAttributeValue string) { - mb.metricVcenterVMDiskUsage.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue, diskStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMDiskUsageDataPoint(ts pdata.Timestamp, val int64, diskStateAttributeValue string) { + mb.metricVcenterVMDiskUsage.recordDataPoint(mb.startTime, ts, val, diskStateAttributeValue) } // RecordVcenterVMDiskUtilizationDataPoint adds a data point to vcenter.vm.disk.utilization metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskUtilizationDataPoint(ts pdata.Timestamp, val float64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { - mb.metricVcenterVMDiskUtilization.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMDiskUtilizationDataPoint(ts pdata.Timestamp, val float64) { + mb.metricVcenterVMDiskUtilization.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMMemoryBalloonedDataPoint adds a data point to vcenter.vm.memory.ballooned metric. -func (mb *MetricsBuilder) RecordVcenterVMMemoryBalloonedDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { - mb.metricVcenterVMMemoryBallooned.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMMemoryBalloonedDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterVMMemoryBallooned.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMMemoryUsageDataPoint adds a data point to vcenter.vm.memory.usage metric. -func (mb *MetricsBuilder) RecordVcenterVMMemoryUsageDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { - mb.metricVcenterVMMemoryUsage.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMMemoryUsageDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterVMMemoryUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMNetworkPacketsDataPoint adds a data point to vcenter.vm.network.packets metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { - mb.metricVcenterVMNetworkPackets.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketsDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterVMNetworkPackets.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMNetworkThroughputDataPoint adds a data point to vcenter.vm.network.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, throughputDirectionAttributeValue string) { - mb.metricVcenterVMNetworkThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue, throughputDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { + mb.metricVcenterVMNetworkThroughput.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +} + +// RecordVcenterVMNetworkUsageDataPoint adds a data point to vcenter.vm.network.usage metric. +func (mb *MetricsBuilder) RecordVcenterVMNetworkUsageDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterVMNetworkUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMVsanLatencyAvgDataPoint adds a data point to vcenter.vm.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string, vsanLatencyTypeAttributeValue string) { - mb.metricVcenterVMVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, instanceIDAttributeValue, powerStateAttributeValue, vsanLatencyTypeAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { + mb.metricVcenterVMVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue) } // RecordVcenterVMVsanOperationsDataPoint adds a data point to vcenter.vm.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanOperationsDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanOperationTypeAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { - mb.metricVcenterVMVsanOperations.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, vsanOperationTypeAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMVsanOperationsDataPoint(ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { + mb.metricVcenterVMVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue) } // RecordVcenterVMVsanThroughputDataPoint adds a data point to vcenter.vm.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanThroughputDataPoint(ts pdata.Timestamp, val int64, instanceNameAttributeValue string, vsanThroughputDirectionAttributeValue string, instanceIDAttributeValue string, powerStateAttributeValue string) { - mb.metricVcenterVMVsanThroughput.recordDataPoint(mb.startTime, ts, val, instanceNameAttributeValue, vsanThroughputDirectionAttributeValue, instanceIDAttributeValue, powerStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMVsanThroughputDataPoint(ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { + mb.metricVcenterVMVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue) } // Reset resets metrics builder to its initial state. It should be used when external metrics source is restarted, @@ -3070,38 +3134,12 @@ func (mb *MetricsBuilder) Reset(options ...metricBuilderOption) { } } -// NewMetricData creates new pdata.Metrics and sets the InstrumentationLibrary -// name on the ResourceMetrics. -func (mb *MetricsBuilder) NewMetricData() pdata.Metrics { - md := pdata.NewMetrics() - rm := md.ResourceMetrics().AppendEmpty() - ilm := rm.InstrumentationLibraryMetrics().AppendEmpty() - ilm.InstrumentationLibrary().SetName("otelcol/vmwarevcenterreceiver") - return md -} - // Attributes contains the possible metric attributes that can be used. var Attributes = struct { - // Cluster (The name of the vCenter Cluster) - Cluster string - // Datacenter (The name of the datacenter) - Datacenter string - // Datastore (The name of the Datastore) - Datastore string // DiskState (The state of storage and whether it is already allocated or free.) DiskState string - // Hostname (The name of the ESXi Host System) - Hostname string - // InstanceID (The instance UUID of the Virtual Machine) - InstanceID string - // InstanceName (The name of the Virtual Machine) - InstanceName string // LatencyType (The type of disk latency.) LatencyType string - // Pool (The name of the Resource Pool) - Pool string - // PowerState (The power state of the virtual machine instance) - PowerState string // ThroughputDirection (The direction of network throughput.) ThroughputDirection string // VsanLatencyType (The type of vSAN latency.) @@ -3111,16 +3149,8 @@ var Attributes = struct { // VsanThroughputDirection (The type of vSAN throughput.) VsanThroughputDirection string }{ - "cluster", - "datacenter", - "datastore", "disk_state", - "hostname", - "instance_id", - "instance_name", "type", - "pool", - "power_state", "direction", "type", "type", diff --git a/receiver/vmwarevcenterreceiver/logs_receiver.go b/receiver/vmwarevcenterreceiver/logs_receiver.go index a0a6f0159eb01..64829b213707a 100644 --- a/receiver/vmwarevcenterreceiver/logs_receiver.go +++ b/receiver/vmwarevcenterreceiver/logs_receiver.go @@ -14,7 +14,7 @@ type vcenterLogsReceiver struct { cfg *Config params component.ReceiverCreateSettings consumer consumer.Logs - tcpLogReceiver component.LogsReceiver + syslogReceiver component.LogsReceiver } func newLogsReceiver(c *Config, params component.ReceiverCreateSettings, consumer consumer.Logs) *vcenterLogsReceiver { @@ -26,22 +26,22 @@ func newLogsReceiver(c *Config, params component.ReceiverCreateSettings, consume } func (lr *vcenterLogsReceiver) Start(ctx context.Context, h component.Host) error { - f := h.GetFactory(component.KindReceiver, "tcplog") + f := h.GetFactory(component.KindReceiver, "syslog") rf, ok := f.(component.ReceiverFactory) if !ok { return fmt.Errorf("unable to wrap the tcplog receiver that the %s component wraps", typeStr) } - tcp, err := rf.CreateLogsReceiver(ctx, lr.params, lr.cfg.LoggingConfig.TCPLogConfig, lr.consumer) + tcp, err := rf.CreateLogsReceiver(ctx, lr.params, lr.cfg.LoggingConfig.SysLogConfig, lr.consumer) if err != nil { return fmt.Errorf("unable to start the wrapped tcplog receiver: %w", err) } - lr.tcpLogReceiver = tcp - return lr.tcpLogReceiver.Start(ctx, h) + lr.syslogReceiver = tcp + return lr.syslogReceiver.Start(ctx, h) } func (lr *vcenterLogsReceiver) Shutdown(ctx context.Context) error { - if lr.tcpLogReceiver != nil { - return lr.tcpLogReceiver.Shutdown(ctx) + if lr.syslogReceiver != nil { + return lr.syslogReceiver.Shutdown(ctx) } return nil } diff --git a/receiver/vmwarevcenterreceiver/metadata.yaml b/receiver/vmwarevcenterreceiver/metadata.yaml index 849c06763d1a8..fd8510b428527 100644 --- a/receiver/vmwarevcenterreceiver/metadata.yaml +++ b/receiver/vmwarevcenterreceiver/metadata.yaml @@ -4,11 +4,15 @@ resource_attributes: vcenter.cluster.name: description: The name of the vCenter Cluster type: string + vcenter.datacenter.name: + description: The name of the vCenter datacenter + type: string vcenter.host.name: description: The hostname of the vCenter ESXi host type: string vcenter.resource_pool.name: description: The name of the resource pool + type: string vcenter.datastore.name: description: The name of the vCenter datastore type: string @@ -23,22 +27,6 @@ resource_attributes: type: string attributes: - cluster: - description: The name of the vCenter Cluster - hostname: - description: The name of the ESXi Host System - datastore: - description: The name of the Datastore - instance_name: - description: The name of the Virtual Machine - instance_id: - description: The instance UUID of the Virtual Machine - pool: - description: The name of the Resource Pool - datacenter: - description: The name of the datacenter - power_state: - description: The power state of the virtual machine instance disk_state: description: The state of storage and whether it is already allocated or free. enum: @@ -85,7 +73,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [cluster] + attributes: [] vcenter.cluster.cpu.effective: enabled: true description: The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. @@ -94,7 +82,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [cluster] + attributes: [] vcenter.cluster.cpu.used: enabled: true description: The amount of CPU used by the cluster @@ -103,7 +91,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [cluster] + attributes: [] vcenter.cluster.memory.available: enabled: true description: The available memory of the cluster. @@ -112,7 +100,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [cluster] + attributes: [] vcenter.cluster.memory.effective: enabled: true description: The available memory of the cluster. @@ -121,7 +109,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [cluster] + attributes: [] vcenter.cluster.memory.used: enabled: true description: The memory that is currently used by the cluster @@ -130,7 +118,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [cluster] + attributes: [] vcenter.cluster.vsan.latency.avg: enabled: true description: Average latency of IOs generated by all vSAN clients in the cluster. @@ -139,7 +127,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [vsan_latency_type, cluster] + attributes: [vsan_latency_type] vcenter.cluster.vsan.operations: enabled: true description: IOPS consumed by all vSAN clients in the cluster @@ -148,7 +136,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [vsan_operation_type, cluster] + attributes: [vsan_operation_type] vcenter.cluster.vsan.congestions: enabled: true description: Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. @@ -157,7 +145,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [cluster] + attributes: [] vcenter.cluster.vsan.outstanding_io: enabled: true description: Outstanding IO from all vSAN clients in the cluster @@ -166,7 +154,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [cluster] + attributes: [] vcenter.cluster.vsan.throughput: enabled: true description: Throughput consumed by all vSAN clients in the cluster. @@ -175,7 +163,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [vsan_throughput_direction, cluster] + attributes: [vsan_throughput_direction] vcenter.datacenter.vm.count: enabled: true description: the number of virtual machines in the datacenter @@ -202,21 +190,21 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [datastore, disk_state] + attributes: [disk_state] vcenter.datastore.disk.utilization: enabled: true description: The utilization of the datastore unit: "%" gauge: value_type: double - attributes: [datastore] + attributes: [] vcenter.host.cpu.utilization: enabled: true description: The CPU utilization of the host system unit: "%" gauge: value_type: double - attributes: [hostname] + attributes: [] vcenter.host.cpu.usage: enabled: true description: The amount of CPU in Hz used by the host @@ -225,7 +213,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname] + attributes: [] vcenter.host.disk.throughput: enabled: true description: The throughput to the host system's disk @@ -234,7 +222,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname] + attributes: [] vcenter.host.disk.latency.avg: enabled: true description: The latency of operations to the host system's disk @@ -243,23 +231,23 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname] + attributes: [latency_type] vcenter.host.memory.utilization: enabled: true description: The percentage of the host system's memory capacity that is being utilized unit: "%" gauge: value_type: double - attributes: [hostname] + attributes: [] vcenter.host.memory.usage: enabled: true description: The amount of memory the host system is using - unit: By + unit: MBy sum: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname] + attributes: [] vcenter.host.network.throughput: enabled: true description: The amount of data that was sent or recieved over the network by the host @@ -268,7 +256,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname] + attributes: [throughput_direction] vcenter.host.network.packets: enabled: true description: The number of packets sent over an interval @@ -277,7 +265,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname] + attributes: [] vcenter.host.vsan.throughput: enabled: true description: Throughput consumed by all vSAN clients on the host. @@ -286,7 +274,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname, vsan_throughput_direction] + attributes: [vsan_throughput_direction] vcenter.host.vsan.operations: enabled: true description: IOPs consumed by all vSAN clients on the host. @@ -295,7 +283,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname, vsan_operation_type] + attributes: [vsan_operation_type] vcenter.host.vsan.congestions: enabled: true description: Congestions of IOs generated by all vSAN clients on the host @@ -304,7 +292,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname] + attributes: [] vcenter.host.vsan.latency.avg: enabled: true description: Average latency of IOs generated by all vSAN clients on the host. @@ -313,7 +301,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname, vsan_latency_type] + attributes: [vsan_latency_type] vcenter.host.vsan.cache.reads: enabled: true description: Average latency of IOs generated by all vSAN clients on the host @@ -322,14 +310,14 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname] + attributes: [] vcenter.host.vsan.cache.hit_rate: enabled: true description: Percentage of read IOs which could be satisfied by the local client cache unit: "%" gauge: value_type: double - attributes: [hostname] + attributes: [] vcenter.host.vsan.outstanding_io: enabled: true description: Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc. @@ -338,7 +326,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [hostname] + attributes: [] vcenter.resource_pool.memory.usage: enabled: true description: The usage of the memory by the resource pool @@ -347,7 +335,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [pool] + attributes: [] vcenter.resource_pool.memory.shares: enabled: true description: The amount of shares of memory in the resource pool @@ -356,7 +344,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [pool] + attributes: [] vcenter.resource_pool.cpu.usage: enabled: true description: The usage of the CPU used by the resource pool @@ -365,7 +353,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [pool] + attributes: [] vcenter.resource_pool.cpu.shares: enabled: true description: The amount of shares of memory in the resource pool @@ -374,7 +362,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [pool] + attributes: [] vcenter.vm.memory.ballooned: enabled: true description: The amount of memory that is ballooned due to virtualization. @@ -383,23 +371,23 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name, instance_id, power_state] + attributes: [] vcenter.vm.memory.usage: enabled: true description: The amount of memory that is used by the virtual machine - unit: By + unit: MBy sum: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name, instance_id, power_state] + attributes: [] vcenter.vm.cpu.utilization: enabled: true description: The CPU utilization of the virtual machine unit: "%" gauge: value_type: double - attributes: [instance_name, instance_id, power_state] + attributes: [] vcenter.vm.disk.usage: enabled: true description: The amount of storage space the virtual machine is using @@ -408,14 +396,14 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name, instance_id, power_state, disk_state] + attributes: [disk_state] vcenter.vm.disk.utilization: enabled: true description: The utilization of storage on the virtual machine unit: "%" gauge: value_type: double - attributes: [instance_name, instance_id, power_state] + attributes: [] vcenter.vm.disk.latency: enabled: true description: The latency of operations to the virtual machine's disk @@ -424,7 +412,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name, instance_id, power_state, latency_type] + attributes: [latency_type] vcenter.vm.disk.throughput: enabled: true description: The throughput of the virtual machine's disk @@ -433,25 +421,35 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name, instance_id, power_state] + attributes: [] + vcenter.vm.network.throughput: enabled: true - description: The amount of data that was received or sent over the network of the virtual machine + description: The amount of data that was received or sent over the network of the virtual machine. unit: By/sec sum: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name, instance_id, power_state, throughput_direction] + attributes: [throughput_direction] vcenter.vm.network.packets: enabled: true - description: The amount of packets that was received or transmitted over the instance's network + description: The amount of packets that was received or transmitted over the instance's network. unit: "{packets/sec}" sum: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name, instance_id, power_state] + attributes: [] + vcenter.vm.network.usage: + enabled: true + description: The network utilizaiton combined transmit and receive rates during an interval. + unit: "{KBy/s}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [] vcenter.vm.vsan.operations: enabled: true description: Virtual Machine vSAN IOPs @@ -460,19 +458,18 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [instance_name, vsan_operation_type, instance_id, power_state] + attributes: [vsan_operation_type] vcenter.vm.vsan.throughput: enabled: true description: The VSAN throughput of a virtual machine unit: By/s gauge: value_type: int - attributes: - [instance_name, vsan_throughput_direction, instance_id, power_state] + attributes: [vsan_throughput_direction] vcenter.vm.vsan.latency.avg: enabled: true description: The latency while accessing VSAN storage unit: us gauge: value_type: int - attributes: [instance_name, instance_id, power_state, vsan_latency_type] + attributes: [vsan_latency_type] diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index 19d11fa9ef281..8c30b8faf7230 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -16,45 +16,40 @@ import ( func (v *vcenterMetricScraper) recordHostSystemMemoryUsage( now pdata.Timestamp, hs mo.HostSystem, - hostname string, ) { s := hs.Summary h := s.Hardware z := s.QuickStats memUsage := z.OverallMemoryUsage - v.mb.RecordVcenterHostMemoryUsageDataPoint(now, int64(memUsage), hostname) + v.mb.RecordVcenterHostMemoryUsageDataPoint(now, int64(memUsage)) memUtilization := 100 * float64(z.OverallMemoryUsage) / float64(h.MemorySize>>20) - v.mb.RecordVcenterHostMemoryUtilizationDataPoint(now, memUtilization, hostname) + v.mb.RecordVcenterHostMemoryUtilizationDataPoint(now, memUtilization) ncpu := int32(h.NumCpuCores) cpuUsage := z.OverallCpuUsage cpuUtilization := 100 * float64(z.OverallCpuUsage) / float64(ncpu*h.CpuMhz) - v.mb.RecordVcenterHostCPUUsageDataPoint(now, int64(cpuUsage), hostname) - v.mb.RecordVcenterHostCPUUtilizationDataPoint(now, cpuUtilization, hostname) + v.mb.RecordVcenterHostCPUUsageDataPoint(now, int64(cpuUsage)) + v.mb.RecordVcenterHostCPUUtilizationDataPoint(now, cpuUtilization) } func (v *vcenterMetricScraper) recordVMUsages( now pdata.Timestamp, vm mo.VirtualMachine, - instanceID string, - instanceName string, ) { - ps := string(vm.Runtime.PowerState) - memUsage := vm.Summary.QuickStats.GuestMemoryUsage balloonedMem := vm.Summary.QuickStats.BalloonedMemory - v.mb.RecordVcenterVMMemoryUsageDataPoint(now, int64(memUsage), instanceName, instanceID, ps) - v.mb.RecordVcenterVMMemoryBalloonedDataPoint(now, int64(balloonedMem), instanceName, instanceID, ps) + v.mb.RecordVcenterVMMemoryUsageDataPoint(now, int64(memUsage)) + v.mb.RecordVcenterVMMemoryBalloonedDataPoint(now, int64(balloonedMem)) diskUsed := vm.Summary.Storage.Committed diskFree := vm.Summary.Storage.Uncommitted diskUtilization := float64(diskUsed) / float64(diskFree) * 100 - v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskUsed, instanceName, instanceID, ps, "used") - v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskFree, instanceName, instanceID, ps, "available") - v.mb.RecordVcenterVMDiskUtilizationDataPoint(now, diskUtilization, instanceName, instanceID, ps) + v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskUsed, "used") + v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskFree, "total") + v.mb.RecordVcenterVMDiskUtilizationDataPoint(now, diskUtilization) } func (v *vcenterMetricScraper) recordDatastoreProperties( @@ -64,8 +59,9 @@ func (v *vcenterMetricScraper) recordDatastoreProperties( s := ds.Summary diskUsage := s.Capacity - s.FreeSpace diskUtilization := float64(diskUsage) / float64(s.Capacity) * 100 - v.mb.RecordVcenterDatastoreDiskUsageDataPoint(now, diskUsage, ds.Name, ds.Name) - v.mb.RecordVcenterDatastoreDiskUtilizationDataPoint(now, diskUtilization, ds.Name) + v.mb.RecordVcenterDatastoreDiskUsageDataPoint(now, diskUsage, "used") + v.mb.RecordVcenterDatastoreDiskUsageDataPoint(now, s.Capacity, "total") + v.mb.RecordVcenterDatastoreDiskUtilizationDataPoint(now, diskUtilization) } func (v *vcenterMetricScraper) recordResourcePool( @@ -73,24 +69,54 @@ func (v *vcenterMetricScraper) recordResourcePool( rp mo.ResourcePool, ) { s := rp.Summary - v.mb.RecordVcenterResourcePoolCPUUsageDataPoint(now, s.GetResourcePoolSummary().QuickStats.OverallCpuUsage, rp.Name) - v.mb.RecordVcenterResourcePoolCPUSharesDataPoint(now, int64(s.GetResourcePoolSummary().Config.CpuAllocation.Shares.Shares), rp.Name) - v.mb.RecordVcenterResourcePoolMemorySharesDataPoint(now, int64(s.GetResourcePoolSummary().Config.MemoryAllocation.Shares.Shares), rp.Name) - v.mb.RecordVcenterResourcePoolMemoryUsageDataPoint(now, s.GetResourcePoolSummary().QuickStats.GuestMemoryUsage, rp.Name) + v.mb.RecordVcenterResourcePoolCPUUsageDataPoint(now, s.GetResourcePoolSummary().QuickStats.OverallCpuUsage) + v.mb.RecordVcenterResourcePoolCPUSharesDataPoint(now, int64(s.GetResourcePoolSummary().Config.CpuAllocation.Shares.Shares)) + v.mb.RecordVcenterResourcePoolMemorySharesDataPoint(now, int64(s.GetResourcePoolSummary().Config.MemoryAllocation.Shares.Shares)) + v.mb.RecordVcenterResourcePoolMemoryUsageDataPoint(now, s.GetResourcePoolSummary().QuickStats.GuestMemoryUsage) +} + +func (v *vcenterMetricScraper) recordHostPerformanceMetrics( + ctx context.Context, + host mo.HostSystem, + startTime time.Time, + endTime time.Time, + errs *scrapererror.ScrapeErrors, +) { + specs := []types.PerfQuerySpec{ + { + Entity: host.Reference(), + MetricId: []types.PerfMetricId{}, + StartTime: &startTime, + EndTime: &endTime, + Format: "normal", + }, + } + hostRef := host.Reference() + metrics, err := v.client.PerformanceQuery(ctx, &hostRef, specs, startTime, endTime) + + if err != nil { + errs.AddPartial(1, err) + return + } + v.processHostPerformance(metrics) } func (v *vcenterMetricScraper) recordVMPerformance( ctx context.Context, vm mo.VirtualMachine, - vmUUID, ps string, startTime time.Time, endTime time.Time, errs *scrapererror.ScrapeErrors, ) { specs := []types.PerfQuerySpec{ { - Entity: vm.Reference(), - MetricId: []types.PerfMetricId{}, + Entity: vm.Reference(), + MetricId: []types.PerfMetricId{ + { + CounterId: 0, + Instance: "", + }, + }, StartTime: &startTime, EndTime: &endTime, Format: "normal", @@ -102,10 +128,36 @@ func (v *vcenterMetricScraper) recordVMPerformance( errs.AddPartial(1, err) return } - v.processVMPerformanceMetrics(metrics, vm, vmUUID, ps) + v.processVMPerformanceMetrics(metrics) +} + +func (v *vcenterMetricScraper) processVMPerformanceMetrics(metrics []performance.EntityMetric) { + for _, m := range metrics { + for i := 0; i < len(m.SampleInfo); i++ { + val := m.Value[i] + si := m.SampleInfo[i] + switch strings.ToLower(val.Name) { + // Performance monitoring level 1 metrics + case "net.bytesTx.average": + v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "transmitted") + case "net.bytesRx.average": + v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "received") + case "cpu.usage.average": + case "net.usage.average": + v.mb.RecordVcenterVMNetworkUsageDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i]) + case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": + v.mb.RecordVcenterVMDiskLatencyDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "read") + case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": + v.mb.RecordVcenterVMDiskLatencyDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "write") + // Performance monitoring level 2 metrics + case "": + + } + } + } } -func (v *vcenterMetricScraper) processVMPerformanceMetrics(metrics []performance.EntityMetric, vm mo.VirtualMachine, vmUUID, ps string) { +func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.EntityMetric) { for _, m := range metrics { for i := 0; i < len(m.SampleInfo); i++ { val := m.Value[i] @@ -113,15 +165,15 @@ func (v *vcenterMetricScraper) processVMPerformanceMetrics(metrics []performance switch strings.ToLower(val.Name) { // Performance monitoring level 1 metrics case "net.bytesTx.average": - v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], vm.Name, vmUUID, ps, "transmitted") + v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "transmitted") case "net.bytesRx.average": - v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], vm.Name, vmUUID, ps, "received") + v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "received") case "cpu.usage.average": case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": - v.mb.RecordVcenterVMDiskLatencyDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], vm.Name, vmUUID, ps, "read") + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "read") case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": - v.mb.RecordVcenterVMDiskLatencyDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], vm.Name, vmUUID, ps, "write") + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "write") // Performance monitoring level 2 metrics // } @@ -147,7 +199,6 @@ var clientCacheHitRate = "clientCacheHitRate" func (v *vcenterMetricScraper) recordClusterVsanMetric( now pdata.Timestamp, metricID string, - cluster string, val string, errs *scrapererror.ScrapeErrors, ) { @@ -157,56 +208,56 @@ func (v *vcenterMetricScraper) recordClusterVsanMetric( if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterClusterVsanOperationsDataPoint(now, value, "read", cluster) + v.mb.RecordVcenterClusterVsanOperationsDataPoint(now, value, "read") } case iopsWrite: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterClusterVsanOperationsDataPoint(now, value, "write", cluster) + v.mb.RecordVcenterClusterVsanOperationsDataPoint(now, value, "write") } case throughputRead: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterClusterVsanThroughputDataPoint(now, value, "read", cluster) + v.mb.RecordVcenterClusterVsanThroughputDataPoint(now, value, "read") } case throughputWrite: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterClusterVsanThroughputDataPoint(now, value, "write", cluster) + v.mb.RecordVcenterClusterVsanThroughputDataPoint(now, value, "write") } case latencyAvgRead: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterClusterVsanLatencyAvgDataPoint(now, value, "read", cluster) + v.mb.RecordVcenterClusterVsanLatencyAvgDataPoint(now, value, "read") } case latencyAvgWrite: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterClusterVsanLatencyAvgDataPoint(now, value, "write", cluster) + v.mb.RecordVcenterClusterVsanLatencyAvgDataPoint(now, value, "write") } case outstandingIO: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterClusterVsanOutstandingIoDataPoint(now, value, cluster) + v.mb.RecordVcenterClusterVsanOutstandingIoDataPoint(now, value) } case congestion: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterClusterVsanCongestionsDataPoint(now, value, cluster) + v.mb.RecordVcenterClusterVsanCongestionsDataPoint(now, value) } } } @@ -214,7 +265,6 @@ func (v *vcenterMetricScraper) recordClusterVsanMetric( func (v *vcenterMetricScraper) recordHostVsanMetric( now pdata.Timestamp, metricID string, - hostname string, val string, errs *scrapererror.ScrapeErrors, ) { @@ -224,91 +274,91 @@ func (v *vcenterMetricScraper) recordHostVsanMetric( if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanCacheReadsDataPoint(now, value, hostname) + v.mb.RecordVcenterHostVsanCacheReadsDataPoint(now, value) } case clientCacheHitRate: value, err := parseFloat(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanCacheHitRateDataPoint(now, value, hostname) + v.mb.RecordVcenterHostVsanCacheHitRateDataPoint(now, value) } case iopsRead: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "read", hostname) + v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "read") } case iopsWrite: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "write", hostname) + v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "write") } case iopsUnmap: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "unmap", hostname) + v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "unmap") } case throughputRead: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, hostname, "read") + v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, "read") } case throughputWrite: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, hostname, "write") + v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, "write") } case throughputUnmap: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, hostname, "unmap") + v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, "unmap") } case latencyAvgRead: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, hostname, "read") + v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, "read") } case latencyAvgWrite: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, hostname, "write") + v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, "write") } case latencyAvgUnmap: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, hostname, "unmap") + v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, "unmap") } case outstandingIO: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanOutstandingIoDataPoint(now, value, hostname) + v.mb.RecordVcenterHostVsanOutstandingIoDataPoint(now, value) } case congestion: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterHostVsanOutstandingIoDataPoint(now, value, hostname) + v.mb.RecordVcenterHostVsanOutstandingIoDataPoint(now, value) } } } @@ -316,9 +366,6 @@ func (v *vcenterMetricScraper) recordHostVsanMetric( func (v *vcenterMetricScraper) recordVMVsanMetric( now pdata.Timestamp, metricID string, - instanceName string, - instanceUUID string, - powerState string, val string, errs *scrapererror.ScrapeErrors, ) { @@ -328,42 +375,42 @@ func (v *vcenterMetricScraper) recordVMVsanMetric( if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, instanceName, "read", instanceUUID, powerState) + v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, "read") } case iopsWrite: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, instanceName, "write", instanceUUID, powerState) + v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, "write") } case "throughputRead": value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, instanceName, "read", instanceUUID, powerState) + v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, "read") } case "throughputWrite": value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, instanceName, "write", instanceUUID, powerState) + v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, "write") } case "latencyReadAvg": value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, instanceName, "read", instanceUUID, powerState) + v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, "read") } case "latencyWriteAvg": value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { - v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, instanceName, "write", instanceUUID, powerState) + v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, "write") } } } diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go index 9d50ebacf6796..cee68e7a92b19 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -35,13 +35,12 @@ import ( // example 2022-03-10 14:15:00 const timeFormat = "2006-01-02 15:04:05" -const instrumentationLibraryName = "otelcol/vcenter" - var _ component.Receiver = (*vcenterMetricScraper)(nil) type vcenterMetricScraper struct { - client *VmwareVcenterClient - mb *metadata.MetricsBuilder + client *VmwareVcenterClient + mb *metadata.MetricsBuilder + vsanEnabled bool } func newVmwareVcenterScraper( @@ -51,8 +50,9 @@ func newVmwareVcenterScraper( l := logger.Named("vcenter-client") client := newVmwarevcenterClient(config, l) return &vcenterMetricScraper{ - client: client, - mb: metadata.NewMetricsBuilder(config.MetricsConfig.Metrics), + client: client, + mb: metadata.NewMetricsBuilder(config.MetricsConfig.Metrics), + vsanEnabled: true, } } @@ -69,21 +69,18 @@ func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error return pdata.Metrics{}, errors.New("failed to connect to http client") } - metrics := pdata.NewMetrics() - rms := metrics.ResourceMetrics() errs := &scrapererror.ScrapeErrors{} - err := v.client.ConnectVSAN(ctx) if err != nil { + // vsan is not required for a proper collection errs.AddPartial(1, err) + v.vsanEnabled = false } - - v.collectClusters(ctx, rms, errs) - - return metrics, errs.Combine() + v.collectClusters(ctx, errs) + return v.mb.Emit(), errs.Combine() } -func (v *vcenterMetricScraper) collectClusters(ctx context.Context, rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors) error { +func (v *vcenterMetricScraper) collectClusters(ctx context.Context, errs *scrapererror.ScrapeErrors) error { clusters, err := v.client.Clusters(ctx) if err != nil { return err @@ -91,68 +88,42 @@ func (v *vcenterMetricScraper) collectClusters(ctx context.Context, rms pdata.Re now := pdata.NewTimestampFromTime(time.Now()) for _, c := range clusters { - rm := rms.AppendEmpty() - v.collectCluster(ctx, c, rm, errs) - v.collectHosts(ctx, now, c, rms, errs) - v.collectDatastores(ctx, now, c, rms, errs) - v.collectVMs(ctx, now, c, rms, errs) - v.collectResourcePools(ctx, now, rms, errs) + v.collectCluster(ctx, now, c, errs) + v.collectHosts(ctx, now, c, errs) + v.collectDatastores(ctx, now, c, errs) + v.collectVMs(ctx, now, c, errs) } + v.collectResourcePools(ctx, now, errs) return nil } func (v *vcenterMetricScraper) collectCluster( ctx context.Context, + now pdata.Timestamp, c *object.ClusterComputeResource, - rm pdata.ResourceMetrics, errs *scrapererror.ScrapeErrors, ) { - resourceAttrs := rm.Resource().Attributes() - resourceAttrs.InsertString(metadata.A.Cluster, c.Name()) - - ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() - ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) - - v.collectClusterVSAN(ctx, c, errs) - v.mb.EmitCluster(ilms.Metrics()) -} + var moCluster mo.ClusterComputeResource + c.Properties(ctx, c.Reference(), []string{"summary"}, &moCluster) + s := moCluster.Summary.GetComputeResourceSummary() + v.mb.RecordVcenterClusterCPUAvailableDataPoint(now, int64(s.TotalCpu)) -func (v *vcenterMetricScraper) collectClusterVSAN( - ctx context.Context, - cluster *object.ClusterComputeResource, - errs *scrapererror.ScrapeErrors, -) { - mor := cluster.Reference() + mor := c.Reference() csvs, err := v.client.CollectVSANCluster(ctx, &mor, time.Now().UTC(), time.Now().UTC()) if err != nil { errs.AddPartial(1, err) - return } - - for _, r := range *csvs { - time, err := time.Parse(timeFormat, r.SampleInfo) - if err != nil { - errs.AddPartial(1, err) - continue - } - - ts := pdata.NewTimestampFromTime(time) - - for _, val := range r.Value { - values := strings.Split(val.Values, ",") - for _, value := range values { - v.recordClusterVsanMetric(ts, val.MetricId.Label, cluster.Name(), value, errs) - } - } + if csvs != nil { + v.addVSANMetrics(*csvs, "*", clusterType, errs) } + v.mb.EmitCluster(c.Name()) } func (v *vcenterMetricScraper) collectDatastores( ctx context.Context, colTime pdata.Timestamp, cluster *object.ClusterComputeResource, - rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors, ) { datastores, err := cluster.Datastores(ctx) @@ -160,34 +131,28 @@ func (v *vcenterMetricScraper) collectDatastores( errs.AddPartial(1, err) return } + for _, ds := range datastores { - v.collectDatastore(ctx, colTime, rms, ds) + v.collectDatastore(ctx, colTime, ds) } } func (v *vcenterMetricScraper) collectDatastore( ctx context.Context, now pdata.Timestamp, - rms pdata.ResourceMetricsSlice, ds *object.Datastore, ) { - rm := rms.AppendEmpty() - ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() - resourceAttrs := rm.Resource().Attributes() - resourceAttrs.InsertString(metadata.A.Datastore, ds.Name()) - ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) - var moDS mo.Datastore - ds.Properties(ctx, ds.Reference(), []string{"summary"}, &moDS) + ds.Properties(ctx, ds.Reference(), []string{"summary", "name"}, &moDS) + v.recordDatastoreProperties(now, moDS) - v.mb.EmitDatastore(ilms.Metrics()) + v.mb.EmitDatastore(moDS.Name) } func (v *vcenterMetricScraper) collectHosts( ctx context.Context, colTime pdata.Timestamp, cluster *object.ClusterComputeResource, - rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors, ) { hosts, err := cluster.Hosts(ctx) @@ -197,24 +162,18 @@ func (v *vcenterMetricScraper) collectHosts( } clusterRef := cluster.Reference() - hostVsanCSVs, err := v.client.CollectVSANHosts(ctx, &clusterRef, time.Now(), time.Now()) - if err != nil { - errs.AddPartial(1, err) - return + var hostVsanCSVs *[]types.VsanPerfEntityMetricCSV + if v.vsanEnabled { + hostVsanCSVs, err = v.client.CollectVSANHosts(ctx, &clusterRef, time.Now(), time.Now()) + if err != nil { + errs.AddPartial(1, err) + } } for _, h := range hosts { - rm := rms.AppendEmpty() - resourceAttrs := rm.Resource().Attributes() - resourceAttrs.InsertString("hostname", h.Name()) - - ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() - ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) - v.collectHost(ctx, colTime, h, hostVsanCSVs, errs) - v.mb.EmitHost(ilms.Metrics()) + v.mb.EmitHost(h.Name()) } - } func (v *vcenterMetricScraper) collectHost( @@ -227,6 +186,7 @@ func (v *vcenterMetricScraper) collectHost( var hwSum mo.HostSystem err := host.Properties(ctx, host.Reference(), []string{ + "config", "summary.hardware", "summary.quickStats", }, &hwSum) @@ -235,19 +195,19 @@ func (v *vcenterMetricScraper) collectHost( errs.AddPartial(1, err) return } - v.recordHostSystemMemoryUsage(now, hwSum, host.Name()) + v.recordHostSystemMemoryUsage(now, hwSum) + v.recordHostPerformanceMetrics(ctx, hwSum, time.Now().Add(-15*time.Minute).UTC(), time.Now().Add(-5*time.Minute).UTC(), errs) if vsanCsvs != nil { entityRef := fmt.Sprintf("host-domclient:%v", - hwSum.Summary.Hardware.Uuid, + hwSum.Config.VsanHostConfig.ClusterInfo.NodeUuid, ) - v.addVSAN(*vsanCsvs, entityRef, host.Name(), "", hostType, errs) + v.addVSANMetrics(*vsanCsvs, entityRef, hostType, errs) } } func (v *vcenterMetricScraper) collectResourcePools( ctx context.Context, ts pdata.Timestamp, - rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors, ) { rps, err := v.client.ResourcePools(ctx) @@ -256,13 +216,6 @@ func (v *vcenterMetricScraper) collectResourcePools( return } for _, rp := range rps { - rm := rms.AppendEmpty() - resourceAttrs := rm.Resource().Attributes() - resourceAttrs.InsertString("resource_pool", rp.Name()) - - ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() - ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) - var moRP mo.ResourcePool rp.Properties(ctx, rp.Reference(), []string{ "summary", @@ -270,8 +223,7 @@ func (v *vcenterMetricScraper) collectResourcePools( "name", }, &moRP) v.recordResourcePool(ts, moRP) - - v.mb.EmitResourcePool(ilms.Metrics()) + v.mb.EmitResourcePool(rp.Name()) } } @@ -279,7 +231,6 @@ func (v *vcenterMetricScraper) collectVMs( ctx context.Context, colTime pdata.Timestamp, cluster *object.ClusterComputeResource, - rms pdata.ResourceMetricsSlice, errs *scrapererror.ScrapeErrors, ) { vms, err := v.client.VMs(ctx) @@ -288,24 +239,34 @@ func (v *vcenterMetricScraper) collectVMs( return } - clusterRef := cluster.Reference() - vsanCsvs, err := v.client.CollectVSANVirtualMachine(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) - if err != nil { - errs.AddPartial(1, err) - return + var vsanCsvs *[]types.VsanPerfEntityMetricCSV + if v.vsanEnabled { + clusterRef := cluster.Reference() + vsanCsvs, err = v.client.CollectVSANVirtualMachine(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) + if err != nil { + errs.AddPartial(1, err) + } } for _, vm := range vms { - rm := rms.AppendEmpty() - resourceAttrs := rm.Resource().Attributes() - resourceAttrs.InsertString(metadata.A.InstanceName, vm.Name()) - resourceAttrs.InsertString(metadata.A.InstanceID, vm.UUID(ctx)) + var moVM mo.VirtualMachine + err := vm.Properties(ctx, vm.Reference(), []string{ + "config", + "runtime", + "summary", + }, &moVM) + + if err != nil { + errs.AddPartial(1, err) + continue + } - ilms := rm.InstrumentationLibraryMetrics().AppendEmpty() - ilms.InstrumentationLibrary().SetName(instrumentationLibraryName) - v.collectVM(ctx, colTime, vm, vsanCsvs, errs) + vmUUID := moVM.Config.InstanceUuid + entityRefID := fmt.Sprintf("virtual-machine:%s", vmUUID) + ps := string(moVM.Runtime.PowerState) - v.mb.EmitVM(ilms.Metrics()) + v.collectVM(ctx, colTime, moVM, entityRefID, vsanCsvs, errs) + v.mb.EmitVM(vm.Name(), vmUUID, ps) } } @@ -313,30 +274,23 @@ func (v *vcenterMetricScraper) collectVMs( func (v *vcenterMetricScraper) collectVM( ctx context.Context, colTime pdata.Timestamp, - vm *object.VirtualMachine, + vm mo.VirtualMachine, + entityRefID string, vsanCsvs *[]types.VsanPerfEntityMetricCSV, errs *scrapererror.ScrapeErrors, ) { - var moVM mo.VirtualMachine - err := vm.Properties(ctx, vm.Reference(), []string{ - "config", - "runtime", - "summary", - }, &moVM) - vmUUID := moVM.Config.InstanceUuid - - if err != nil { - errs.AddPartial(1, err) - return - } - - ps := string(moVM.Runtime.PowerState) - v.recordVMUsages(colTime, moVM, vmUUID, vm.Name()) - v.recordVMPerformance(ctx, moVM, vmUUID, ps, time.Now().Add(-15*time.Minute).UTC(), time.Now().Add(-5*time.Minute).UTC(), errs) + v.recordVMUsages(colTime, vm) + v.recordVMPerformance(ctx, + vm, + // start time + time.Now().Add(-15*time.Minute).UTC(), + // end time + time.Now().Add(-5*time.Minute).UTC(), + errs, + ) if vsanCsvs != nil { - entityRef := fmt.Sprintf("virtual-machine:%s", vmUUID) - v.addVSAN(*vsanCsvs, entityRef, vm.Name(), ps, vmType, errs) + v.addVSANMetrics(*vsanCsvs, entityRefID, vmType, errs) } } @@ -348,17 +302,19 @@ const ( vmType ) -func (v *vcenterMetricScraper) addVSAN( +func (v *vcenterMetricScraper) addVSANMetrics( csvs []types.VsanPerfEntityMetricCSV, entityID string, - entityName string, - // virtual machine specific - powerState string, vsanType vsanType, errs *scrapererror.ScrapeErrors, ) { for _, r := range csvs { - if r.EntityRefId != entityID || r.SampleInfo == "" { + // can't correlate this point to a timestamp so just skip it + if r.SampleInfo == "" { + continue + } + // If not this entity ID, then skip it + if vsanType != clusterType && r.EntityRefId != entityID { continue } @@ -374,12 +330,11 @@ func (v *vcenterMetricScraper) addVSAN( for _, value := range values { switch vsanType { case clusterType: - v.recordClusterVsanMetric(ts, val.MetricId.Label, entityName, value, errs) + v.recordClusterVsanMetric(ts, val.MetricId.Label, value, errs) case hostType: - v.recordHostVsanMetric(ts, val.MetricId.Label, entityName, value, errs) + v.recordHostVsanMetric(ts, val.MetricId.Label, value, errs) case vmType: - instanceUUID := strings.Split(entityID, ":")[1] - v.recordVMVsanMetric(ts, val.MetricId.Label, entityName, instanceUUID, powerState, value, errs) + v.recordVMVsanMetric(ts, val.MetricId.Label, value, errs) } } } diff --git a/receiver/vmwarevcenterreceiver/scraper_test.go b/receiver/vmwarevcenterreceiver/scraper_test.go index aef0cece442c6..31234f813123f 100644 --- a/receiver/vmwarevcenterreceiver/scraper_test.go +++ b/receiver/vmwarevcenterreceiver/scraper_test.go @@ -6,7 +6,6 @@ import ( "github.com/stretchr/testify/require" vmTest "github.com/vmware/govmomi/test" - "go.opentelemetry.io/collector/model/pdata" "go.opentelemetry.io/collector/receiver/scrapererror" ) @@ -21,9 +20,8 @@ func TestStart(t *testing.T) { s := vcenterMetricScraper{ client: &client, } - rms := pdata.NewMetrics().ResourceMetrics() errs := scrapererror.ScrapeErrors{} - s.collectClusters(ctx, rms, &errs) + s.collectClusters(ctx, &errs) require.NoError(t, errs.Combine()) } From ffe05e47f898f9960738422a7cf16b322960f327 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 08:42:31 -0400 Subject: [PATCH 007/105] getting more performance counter refinements --- go.mod | 2 +- go.sum | 367 ++++++++++++++++++ receiver/vmwarevcenterreceiver/client.go | 92 +++-- receiver/vmwarevcenterreceiver/client_test.go | 87 ++--- receiver/vmwarevcenterreceiver/config.go | 12 + .../vmwarevcenterreceiver/documentation.md | 10 +- receiver/vmwarevcenterreceiver/e2e_test.go | 47 ++- receiver/vmwarevcenterreceiver/factory.go | 11 +- .../internal/metadata/emitters.go | 43 -- .../internal/metadata/generated_metrics_v2.go | 180 +++++++-- receiver/vmwarevcenterreceiver/metadata.yaml | 30 +- receiver/vmwarevcenterreceiver/metrics.go | 173 +++++---- receiver/vmwarevcenterreceiver/scraper.go | 56 +-- .../vmwarevcenterreceiver/scraper_test.go | 47 ++- 14 files changed, 847 insertions(+), 310 deletions(-) delete mode 100644 receiver/vmwarevcenterreceiver/internal/metadata/emitters.go diff --git a/go.mod b/go.mod index 7cf8547e6b0ae..c91069f60c07d 100644 --- a/go.mod +++ b/go.mod @@ -102,6 +102,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver v0.48.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver v0.48.0 @@ -364,7 +365,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/prometheusremotewrite v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.48.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver v0.0.0-00010101000000-000000000000 // indirect github.com/open-telemetry/opentelemetry-log-collection v0.28.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect diff --git a/go.sum b/go.sum index fe67ef0668ae8..25bc15d0ee37f 100644 --- a/go.sum +++ b/go.sum @@ -5,11 +5,13 @@ bitbucket.org/atlassian/go-asap/v2 v2.6.0/go.mod h1:cuRgWb7eeGtsocKmqY2kPlMMlwpk cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= @@ -40,6 +42,8 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= +cloud.google.com/go/bigtable v1.3.0/go.mod h1:z5EyKrPE8OQmeg4h5MNdKvuSnI9CCT49Ki3f23aBzio= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.2.0/go.mod h1:xlogom/6gr8RJGBe7nT2eGsQYAFUbbv8dbC29qE3Xmw= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= @@ -48,6 +52,7 @@ cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6m cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.6.0/go.mod h1:afJwI0vaXwAG54kI7A//lP/lSPDkQORQuMkv56TxEPU= cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= cloud.google.com/go/monitoring v1.1.0/go.mod h1:L81pzz7HKn14QCMaCs6NTQkdBnE87TElyanS95vIcl4= cloud.google.com/go/monitoring v1.2.0 h1:fEvQITrhVcPM6vuDQcgPMbU5kZFeQFwZmE7v6+S8BPo= @@ -76,13 +81,19 @@ code.cloudfoundry.org/go-loggregator v7.4.0+incompatible h1:KqZYloMQWM5Zg/BQKunO code.cloudfoundry.org/go-loggregator v7.4.0+incompatible/go.mod h1:KPBTRqj+y738Nhf1+g4JHFaBU8j7dedirR5ETNHvMXU= code.cloudfoundry.org/rfc5424 v0.0.0-20201103192249-000122071b78 h1:mrZQaZmuDIPhSp6b96b+CRKC2uH44ifa5cjDV2epKis= code.cloudfoundry.org/rfc5424 v0.0.0-20201103192249-000122071b78/go.mod h1:tkZo8GtzBjySJ7USvxm4E36lNQw1D3xM6oKHGqdaAJ4= +collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= contrib.go.opencensus.io/exporter/prometheus v0.4.0 h1:0QfIkj9z/iVZgK31D9H9ohjjIDApI2GOPScCKwxedbs= contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0QmaQNhGnptITnPQB+z1+qeFB0= contrib.go.opencensus.io/exporter/stackdriver v0.13.10 h1:a9+GZPUe+ONKUwULjlEOucMMG0qfSCCenlji0Nhqbys= contrib.go.opencensus.io/exporter/stackdriver v0.13.10/go.mod h1:I5htMbyta491eUxufwwZPQdcKvvgzMB4O9ni41YnIM8= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= +github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v41.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v61.1.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v62.0.0+incompatible h1:8N2k27SYtc12qj5nTsuFMFJPZn5CGmgMWqTy4y9I7Jw= github.com/Azure/azure-sdk-for-go v62.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= @@ -93,27 +104,39 @@ github.com/Azure/go-autorest v10.8.1+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSW github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest v0.10.0/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.9/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= github.com/Azure/go-autorest/autorest v0.11.12/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest v0.11.23/go.mod h1:BAWYUWGPEtKPzjVkp0Q6an0MJcJDsoh5Z1BFAEFs4Xs= github.com/Azure/go-autorest/autorest v0.11.24 h1:1fIGgHKqVm54KIPT+q8Zmd1QlVsmHqeUGso5qm2BqqE= github.com/Azure/go-autorest/autorest v0.11.24/go.mod h1:G6kyRlFnTuSbEYkQGawPfsCswgme4iYf6rfSKUDzbCc= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/adal v0.8.3/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.14/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= github.com/Azure/go-autorest/autorest/adal v0.9.18 h1:kLnPsRjzZZUF3K5REu/Kc+qMQrvuza2bwSnNdhmzLfQ= github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.3/go.mod h1:4bJZhUhcq8LB20TruwHbAQsmUs2Xh+QR7utuJpLXX3A= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk= github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA= github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk= github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= +github.com/Azure/go-autorest/autorest/validation v0.2.0/go.mod h1:3EEqHnBxQGHXRYq3HT1WyXAvT7LLY3tl70hw6tQIbjI= github.com/Azure/go-autorest/autorest/validation v0.3.1 h1:AgyqjAd94fwNAoTjl/WQXg4VvFeRFpO+UhNyRXqF1ac= github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= @@ -128,7 +151,10 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ClickHouse/clickhouse-go v1.5.4 h1:cKjXeYLNWVJIx2J1K6H2CqyRmfwVJVY1OV1coaaFcI0= github.com/ClickHouse/clickhouse-go v1.5.4/go.mod h1:EaI/sW7Azgz9UATzd5ZdZHRUhHgv5+JMS9NSr2smCJI= +github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno= +github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DATA-DOG/go-sqlmock v1.4.1/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/agent-payload/v5 v5.0.19 h1:Qm89IzxFz1tUlhg6XZLEePENOlUlXmd/MPs8tOsWOeQ= github.com/DataDog/agent-payload/v5 v5.0.19/go.mod h1:2gapp8p4Vd548JI+axD8kCExklNvVI6AMF5/+IfN/4g= github.com/DataDog/datadog-agent/pkg/obfuscate v0.0.0-20211129110424-6491aa3bf583/go.mod h1:EP9f4GqaDJyP1F5jTNMtzdIpw3JpNs3rMSJOnYywCiw= @@ -146,11 +172,15 @@ github.com/DataDog/datadog-go v4.8.2+incompatible h1:qbcKSx29aBLD+5QLvlQZlGmRMF/ github.com/DataDog/datadog-go v4.8.2+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/datadog-go/v5 v5.0.2/go.mod h1:ZI9JFB4ewXbw1sBnF4sxsR2k1H3xjV+PUAOUsHvKpcU= github.com/DataDog/gostackparse v0.5.0/go.mod h1:lTfqcJKqS9KnXQGnyQMCugq3u1FP6UZMfWR0aitKFMM= +github.com/DataDog/mmh3 v0.0.0-20200805151601-30884ca2197a/go.mod h1:SvsjzyJlSg0rKsqYgdcFxeEVflx3ZNAyFfkUHP0TxXg= github.com/DataDog/sketches-go v1.0.0/go.mod h1:O+XkJHWk9w4hDwY2ZUDU31ZC9sNYlYo8DiFsxjYeo1k= github.com/DataDog/zstd v1.3.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= +github.com/DataDog/zstd v1.4.8/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= github.com/DataDog/zstd v1.5.0 h1:+K/VEwIAaPcHiMtQvpLD4lqW7f0Gk3xdYZmI1hD+CXo= github.com/DataDog/zstd v1.5.0/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= +github.com/DataDog/zstd_0 v0.0.0-20210310093942-586c1286621f/go.mod h1:oXfOhM/Kr8OvqS6tVqJwxPBornV0yrx3bc+l0BDr7PQ= +github.com/Flaque/filet v0.0.0-20201012163910-45f684403088/go.mod h1:TK+jB3mBs+8ZMWhU5BqZKnZWJ1MrLo8etNVg51ueTBo= github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962 h1:KeNholpO2xKjgaaSyd+DyQRrsQjhbSeS7qe4nEw8aQw= github.com/GehirnInc/crypt v0.0.0-20200316065508-bb7000b8a962/go.mod h1:kC29dT1vFpj7py2OvG1khBdQpo3kInWP+6QipLbdngo= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/collector v0.26.1-0.20220307211504-dc45061a44f9 h1:M44b4uiPlQyME2csIZe2Y4e7SWqiy4EDxr8dQOyQdoM= @@ -161,9 +191,14 @@ github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.3.0 github.com/HdrHistogram/hdrhistogram-go v0.9.0/go.mod h1:nxrse8/Tzg2tg3DZcZjm6qEclQKK70g0KxO61gFFZD4= github.com/HdrHistogram/hdrhistogram-go v1.0.1/go.mod h1:BWJ+nMSHY3L41Zj7CA3uXnloDp7xxV0YvstAE7nKTaM= github.com/HdrHistogram/hdrhistogram-go v1.1.0 h1:6dpdDPTRoo78HxAJ6T1HfMiKSnqhgRRqzCuPshRkQ7I= +github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= +github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Masterminds/semver v1.4.2 h1:WBLTQ37jOCzSLtXNdoo8bNM8876KhNqOKvrlGITgsTc= +github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/sprig v2.16.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= @@ -202,8 +237,10 @@ github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdko github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/ReneKroon/ttlcache/v2 v2.11.0 h1:OvlcYFYi941SBN3v9dsDcC2N8vRxyHcCmJb3Vl4QMoM= github.com/ReneKroon/ttlcache/v2 v2.11.0/go.mod h1:mBxvsNY+BT8qLLd6CuAJubbKo6r0jh3nb5et22bbfGY= +github.com/SAP/go-hdb v0.14.1/go.mod h1:7fdQLVC2lER3urZLjZCm0AuMQfApof92n3aylBPEkMo= github.com/SermoDigital/jose v0.9.2-0.20161205224733-f6df55f235c2 h1:koK7z0nSsRiRiBWwa+E714Puh+DO+ZRdIyAXiXzL+lg= github.com/SermoDigital/jose v0.9.2-0.20161205224733-f6df55f235c2/go.mod h1:ARgCUhI1MHQH+ONky/PAtmVHQrP5JlGY0F3poXOp/fA= +github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/sarama v1.22.0/go.mod h1:lm3THZ8reqBDBQKQyb5HB3sY1lKp3grEbQ81aWSgPp4= @@ -227,6 +264,11 @@ github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/ github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= +github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -242,9 +284,14 @@ github.com/aliyun/aliyun-log-go-sdk v0.1.29/go.mod h1:aBG0R+MWRTgvlIODQkz+a3/RM9 github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y= +github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antonmedv/expr v1.9.0 h1:j4HI3NHEdgDnN9p6oI6Ndr0G5QryMY0FNxT4ONrFDGU= github.com/antonmedv/expr v1.9.0/go.mod h1:5qsM3oLGDND7sDmQGDXHkYfkjYMUX14qsgqmHhwGEk8= +github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= +github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= +github.com/apache/arrow/go/arrow v0.0.0-20200601151325-b2287a20f230/go.mod h1:QNYViu/X0HXDHw7m3KXzWSVXIbfUvJqBFe6Gj8/pYA0= +github.com/apache/arrow/go/arrow v0.0.0-20200923215132-ac86123a3f01/go.mod h1:QNYViu/X0HXDHw7m3KXzWSVXIbfUvJqBFe6Gj8/pYA0= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.14.2/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= @@ -274,12 +321,15 @@ github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQ github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.29.16/go.mod h1:1KvfttTE3SPKMpo8g2c6jL3ZKfXtFvKscTgahTma5Xg= +github.com/aws/aws-sdk-go v1.30.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/aws/aws-sdk-go v1.35.24/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9+muhnW+k= github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.38.68/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.40.11/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go v1.42.31/go.mod h1:OGr6lGMAKGlG9CVrYnWYDKIyb829c6EVBRjxqjmPepc= github.com/aws/aws-sdk-go v1.43.10/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.43.32 h1:b2NQnfWfImfo7yzXq6gzXEC+6s5v1t2RU3G9o+VirYo= github.com/aws/aws-sdk-go v1.43.32/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= @@ -316,12 +366,15 @@ github.com/aws/smithy-go v1.5.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAm github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.11.0 h1:nOfSDwiiH232f90OuevPnAEQO5ZqH+xnn8uGVsvBCw4= github.com/aws/smithy-go v1.11.0/go.mod h1:3xHYmszWVx2c0kIwQeEVf9uSm4fYZt67FBJnwub1bgM= +github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g= github.com/beeker1121/goque v2.1.0+incompatible h1:m5pZ5b8nqzojS2DF2ioZphFYQUqGYsDORq6uefUItPM= github.com/beeker1121/goque v2.1.0+incompatible/go.mod h1:L6dOWBhDOnxUVQsb0wkLve0VCnt2xJW/MI8pdRX4ANw= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/benbjohnson/immutable v0.2.1/go.mod h1:uc6OHo6PN2++n98KHLxW8ef4W42ylHiQSENghE1ezxI= +github.com/benbjohnson/tmpl v1.0.0/go.mod h1:igT620JFIi44B6awvU9IsDhR77IXWtFigTLil/RPdps= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= @@ -341,6 +394,11 @@ github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb github.com/bmatcuk/doublestar/v3 v3.0.0 h1:TQtVPlDnAYwcrVNB2JiGuMc++H5qzWZd9PhkNo5WyHI= github.com/bmatcuk/doublestar/v3 v3.0.0/go.mod h1:6PcTVMw80pCY1RVuoqu3V++99uQB3vsSYKPTd8AWA0k= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= +github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/bonitoo-io/go-sql-bigquery v0.3.4-1.4.0/go.mod h1:J4Y6YJm0qTWB9aFziB7cPeSyc6dOZFyJdteSeybVpXQ= +github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/bradfitz/gomemcache v0.0.0-20220106215444-fb4bf637b56d/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA= github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= github.com/bsm/sarama-cluster v2.1.13+incompatible/go.mod h1:r7ao+4tTNXvWm+VRpRJchr2kQhqxgmAp2iEX5W96gMM= @@ -349,10 +407,13 @@ github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx2 github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/cactus/go-statsd-client/statsd v0.0.0-20191106001114-12b4e2b38748/go.mod h1:l/bIBLeOl9eX+wxJAzxS4TveKRtAqlyDpHjhkfO0MEI= github.com/caio/go-tdigest v3.1.0+incompatible h1:uoVMJ3Q5lXmVLCCqaMGHLBWnbGoN6Lpu7OAUPR60cds= github.com/caio/go-tdigest v3.1.0+incompatible/go.mod h1:sHQM/ubZStBUmF1WbB8FAm8q9GjDajLC5T7ydxE3JHI= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/casbin/casbin/v2 v2.31.6/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= +github.com/cenkalti/backoff v0.0.0-20181003080854-62661b46c409/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= @@ -364,7 +425,9 @@ github.com/census-instrumentation/opencensus-proto v0.3.0 h1:t/LhUZLVitR1Ow2YOnd github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -411,6 +474,7 @@ github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h 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= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM= github.com/confluentinc/confluent-kafka-go v1.4.0/go.mod h1:u2zNLny2xq+5rWeTQjFHbDzzNuba4P1vo31r9r4uAdg= github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= @@ -453,6 +517,7 @@ github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoT github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= github.com/containerd/containerd v1.5.8/go.mod h1:YdFSv5bTFLpG2HIYmfqDpSYYTDX+mc5qtSuYx1YUb/s= +github.com/containerd/containerd v1.5.9/go.mod h1:fvQqCfadDGga5HZyn3j4+dx56qj2I9YwBrlSdalvJYQ= github.com/containerd/containerd v1.6.1 h1:oa2uY0/0G+JX4X7hpGCYvkp9FjUancz56kSNnb1sG3o= github.com/containerd/containerd v1.6.1/go.mod h1:1nJz5xCZPusx6jJU8Frfct988y0NpumIq9ODB0kLtoE= github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= @@ -533,6 +598,7 @@ github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f h1:JOrtw2xFKzlg+cbHpyrpLDmnN1HqhBfnX7WDiW7eG2c= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= @@ -548,6 +614,7 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/crossdock/crossdock-go v0.0.0-20160816171116-049aabb0122b/go.mod h1:v9FBN7gdVTpiD/+LZ7Po0UKvROyT87uLVxTHVky/dlQ= +github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI= github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= @@ -555,17 +622,21 @@ github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1S github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= +github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892/go.mod h1:CTDl0pzVzE5DEzZhPfvhY/9sPFMQIxaJ9VAMs9AagrE= +github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denisenkom/go-mssqldb v0.11.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= +github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= github.com/dgraph-io/badger/v3 v3.2103.0/go.mod h1:GHMCYxuDWyzbHkh4k3yyg4PM61tJPFfEGSMbE3Vd5QE= github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= @@ -574,14 +645,18 @@ github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/Lu github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dgryski/go-sip13 v0.0.0-20190329191031-25c5027a8c7b/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/digitalocean/godo v1.73.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs= github.com/digitalocean/godo v1.75.0 h1:UijUv60I095CqJqGKdjY2RTPnnIa4iFddmq+1wfyS4Y= github.com/digitalocean/godo v1.75.0/go.mod h1:GBmu8MkjZmNARE7IXRPmkbbnocNN8+uBm0xbEVw2LCs= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= @@ -593,6 +668,7 @@ github.com/docker/distribution v2.8.0-beta.1+incompatible h1:9MjVa+OTMHm4C0kKZB6 github.com/docker/distribution v2.8.0-beta.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.11+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.12+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v20.10.14+incompatible h1:+T9/PRYWNDo5SZl5qS1r9Mo/0Q8AwxKKPtu9S1yxM0w= github.com/docker/docker v20.10.14+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= @@ -624,8 +700,10 @@ github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8 github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= +github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM= github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI= github.com/elastic/go-elasticsearch/v7 v7.17.1 h1:49mHcHx7lpCL8cW1aioEwSEVKQF3s+Igi4Ye/QTWwmk= github.com/elastic/go-elasticsearch/v7 v7.17.1/go.mod h1:OJ4wdbtDNk5g503kvlHLyErCgQwwzmDtaFC4XyOxXA4= @@ -658,6 +736,7 @@ github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E github.com/envoyproxy/protoc-gen-validate v0.6.6 h1:BApABShi05CepE340unZKC07YxY/I8KgnWPICc3U5yM= github.com/envoyproxy/protoc-gen-validate v0.6.6/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= +github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw= github.com/euank/go-kmsg-parser v2.0.0+incompatible h1:cHD53+PLQuuQyLZeriD1V/esuG4MuU0Pjs5y6iknohY= github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw= github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= @@ -682,16 +761,20 @@ github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpm github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.2 h1:+nS9g82KMXccJ/wp0zyRW9ZBHFETmMGtkk+2CTTrW4o= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15/go.mod h1:tPg4cp4nseejPd+UKxtCVQ2hUxNTZ7qQZJa7CLriIeo= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.4.0/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= @@ -710,8 +793,10 @@ github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5 github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/garyburd/redigo v1.6.3/go.mod h1:rTb6epsqigu3kYKBnaF028A7Tf/Aw5s0cqA47doKKqw= +github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= github.com/gdamore/tcell v1.3.0/go.mod h1:Hjvr+Ofd+gLglo7RYKxxnzCBmev3BzsS67MebKS4zMM= +github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/getsentry/sentry-go v0.13.0 h1:20dgTiUSfxRB/EhMPtxcL9ZEbM1ZdR+W/7f7NWD+xWo= @@ -721,13 +806,24 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do= github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= +github.com/gin-gonic/gin v1.7.7/go.mod h1:axIBovoeJpVj8S3BwE0uPMTeReE4+AfFtqpqaZ1qq1U= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= github.com/go-chi/chi v1.5.0/go.mod h1:REp24E+25iKvxgeTfHmdUoL5x15kBiDBlnIl5bCwe2k= github.com/go-chi/chi v4.0.0+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= +github.com/go-chi/chi v4.1.0+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -740,6 +836,8 @@ github.com/go-kit/kit v0.11.0/go.mod h1:73/6Ixaufkvb5Osvkls8C79vuQ49Ba1rUEUYNSf+ github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8= github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= @@ -760,6 +858,7 @@ github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jT 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 v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= +github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8= github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= @@ -779,6 +878,7 @@ github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQH github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= +github.com/go-openapi/errors v0.19.4/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= @@ -804,6 +904,7 @@ github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= +github.com/go-openapi/loads v0.19.4/go.mod h1:zZVHonKd8DXyxyw4yfnVjPzBjIQcLt0CCsn0N0ZrQsk= github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= @@ -819,6 +920,7 @@ github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiS github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk= github.com/go-openapi/runtime v0.19.28/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M= github.com/go-openapi/runtime v0.19.29/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M= +github.com/go-openapi/runtime v0.21.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= github.com/go-openapi/runtime v0.22.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= github.com/go-openapi/runtime v0.23.1/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= @@ -828,6 +930,7 @@ github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcs github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= github.com/go-openapi/spec v0.19.5/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= +github.com/go-openapi/spec v0.19.7/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= @@ -863,6 +966,7 @@ github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/e github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= +github.com/go-openapi/validate v0.19.8/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8= github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4= github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI= @@ -870,6 +974,8 @@ github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE github.com/go-openapi/validate v0.20.2/go.mod h1:e7OJoKNgd0twXZwIn0A43tHbvIcr/rZIVCbJBpTUoY0= github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZXeftD16byIjA4= github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-pg/pg/v10 v10.0.0/go.mod h1:XHU1AkQW534GFuUdSiQ46+Xw6Ah+9+b8DlT4YwhiXL8= github.com/go-pg/zerochecker v0.2.0/go.mod h1:NJZ4wKL0NmTtz0GKCoJ8kym6Xn/EQzXRl2OnAe7MmDo= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= @@ -878,6 +984,7 @@ github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTM github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= +github.com/go-redis/redis v6.15.9+incompatible h1:K0pv1D7EQUjfyoMql+r/jZqCLizCGKFlFgcHWWmHQjg= github.com/go-redis/redis v6.15.9+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= github.com/go-redis/redis/v7 v7.1.0/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= github.com/go-redis/redis/v7 v7.4.1 h1:PASvf36gyUpr2zdOUS/9Zqc80GbM+9BDyiJSJDDOrTI= @@ -886,6 +993,7 @@ github.com/go-redis/redis/v8 v8.0.0/go.mod h1:isLoQT/NFSP7V67lyvM9GmdvLdyZ7pEhsX github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48 h1:JVrqSeQfdhYRFk24TvhTZWU0q8lfCojxZQFi3Ou7+uY= github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= @@ -925,11 +1033,15 @@ github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/V github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= +github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/gocql/gocql v0.0.0-20200228163523-cd4b606dd2fb/go.mod h1:DL0ekTmBSTdlNF25Orwt/JMzqIq3EJ4MVa/J/uK64OY= github.com/gocql/gocql v0.0.0-20211222173705-d73e6b1002a7/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= github.com/gocql/gocql v0.0.0-20220224095938-0eacd3183625/go.mod h1:3gM2c4D3AnkISwBxGnMMsS8Oy4y2lhbPRsH4xnJrHG8= github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= +github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e h1:BWhy2j3IXJhjCbC68FptL43tDKIq8FladmaTs3Xs7Z8= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -946,19 +1058,25 @@ github.com/gogo/googleapis v1.3.1/go.mod h1:d+q1s/xVJxZGKWwC/6UfPIF33J+G1Tq4GYv9 github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= github.com/gogo/googleapis v1.4.1 h1:1Yx4Myt7BxzvUr5ldGSbwYiZG6t9wGBZ+8/fX3Wvtq0= github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4= +github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.2.2-0.20190730201129-28a6bbf47e48/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= +github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8eU= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -1002,7 +1120,9 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= github.com/gomodule/redigo v1.7.0/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= +github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/addlicense v0.0.0-20190510175307-22550fa7c1b0/go.mod h1:QtPG26W17m+OIQgE6gQ24gC1M6pUaMBAbFrTIDtwG/E= 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= @@ -1010,8 +1130,10 @@ github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/cadvisor v0.44.0 h1:523mBK94XHKAsU1TIQl/tYoPyYpWQdalf2CQ8Gv2Xek= github.com/google/cadvisor v0.44.0/go.mod h1:GQ9KQfz0iNHQk3D6ftzJWK4TXabfIgM10Oy3FkR+Gzg= +github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/flatbuffers v1.12.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v2.0.0+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -1044,6 +1166,7 @@ github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OI github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200417002340-c6e0a841f49a/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= @@ -1055,6 +1178,7 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210715191844-86eeefc3e471/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= github.com/google/pprof v0.0.0-20220218203455-0368bd9e19a7/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -1070,6 +1194,7 @@ github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0 github.com/googleapis/gax-go/v2 v2.2.0 h1:s7jOdKSaksJVOxE0Y/S32otcfiP+UQ0cL8/GTKaONwE= github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.4.0/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= @@ -1077,6 +1202,7 @@ github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97Dwqy github.com/googleinterns/cloud-operations-api-mock v0.0.0-20200709193332-a1e58c29bdd3 h1:eHv/jVY/JNop1xg2J9cBb4EzyMpWZoNCP1BslSAIkOI= github.com/googleinterns/cloud-operations-api-mock v0.0.0-20200709193332-a1e58c29bdd3/go.mod h1:h/KNeRx7oYU4SpA4SoY7W2/NxDKEEVuwA6j9A27L4OI= github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= +github.com/gophercloud/gophercloud v0.10.0/go.mod h1:gmC5oQqMDOMO1t1gq5DquX/yAU808e/4mzjjDA76+Ss= github.com/gophercloud/gophercloud v0.24.0 h1:jDsIMGJ1KZpAjYfQgGI2coNQj5Q83oPzuiGJRFWgMzw= github.com/gophercloud/gophercloud v0.24.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= @@ -1095,6 +1221,7 @@ github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+ github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grafana/regexp v0.0.0-20220304095617-2e8d9baf4ac2 h1:uirlL/j72L93RhV4+mkWhjv0cov2I0MIgPOG9rMDr1k= github.com/grafana/regexp v0.0.0-20220304095617-2e8d9baf4ac2/go.mod h1:M5qHK+eWfAv8VR/265dIuEpL3fNfeC21tXXp9itM24A= @@ -1109,6 +1236,7 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.14.4/go.mod h1:6CwZWGDSPRJidgKAtJVvND6soZe6fT7iteq8wDPdhb0= github.com/grpc-ecosystem/grpc-gateway v1.15.2/go.mod h1:vO11I9oWA+KsxmfFQPhLnnIb1VDE24M+pdxZFiuZcA8= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= @@ -1117,13 +1245,16 @@ github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMW github.com/hashicorp/consul/api v1.0.0/go.mod h1:mbFwfRxOTDHZpT3iUsMAFcLNoVm6Xbe1xZ6KiSm8FY0= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= +github.com/hashicorp/consul/api v1.4.0/go.mod h1:xc8u05kyMa3Wjr9eEAsIAo3dg8+LywT5E/Cl7cNS5nU= github.com/hashicorp/consul/api v1.8.1/go.mod h1:sDjTOq0yUyv5G4h+BqSea7Fn6BU+XbolEz1952UB+mk= +github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.11.0/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/api v1.12.0 h1:k3y1FYv6nuKyNTqj6w9gXOx5r5CfLj/k/euUeBXj1OY= github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= github.com/hashicorp/consul/internal v0.1.0/go.mod h1:zi9bMZYbiPHyAjgBWo7kCUcy5l2NrTdrkVupCc7Oo6c= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.4.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM= github.com/hashicorp/consul/sdk v0.7.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM= github.com/hashicorp/consul/sdk v0.8.0 h1:OJtKBtEjboEZvG6AOUdh4Z1Zbyu0WcxQ0qatRrZHTVU= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= @@ -1154,6 +1285,7 @@ github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjh github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= +github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= @@ -1199,13 +1331,16 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.1.4/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/memberlist v0.1.6/go.mod h1:5VDNHjqFMgEcclnwmkCnC99IPwxBmIsxwY8qn+Nl0H4= +github.com/hashicorp/memberlist v0.2.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/memberlist v0.2.4/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/memberlist v0.3.0 h1:8+567mCcFDnS5ADl7lrpxPMWiFCElyUEeW0gtj34fMA= github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hashicorp/serf v0.8.6/go.mod h1:P/AVgr4UHsUYqVHG1y9eFhz8S35pqhGhLZaDpfGKIMo= +github.com/hashicorp/serf v0.9.0/go.mod h1:YL0HO+FifKOW2u1ke99DGVu1zhcpZzNwrLIqBC7vbYU= github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= github.com/hashicorp/serf v0.9.6 h1:uuEX1kLR6aoda1TBttmJQKDLZE1Ob7KN0NPdE7EtCDc= github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= @@ -1221,22 +1356,31 @@ github.com/hetznercloud/hcloud-go v1.33.1/go.mod h1:XX/TQub3ge0yWR2yHWmnDVIrB+MQ github.com/honeycombio/libhoney-go v1.15.8 h1:TECEltZ48K6J4NG1JVYqmi0vCJNnHYooFor83fgKesA= github.com/honeycombio/libhoney-go v1.15.8/go.mod h1:+tnL2etFnJmVx30yqmoUkVyQjp7uRJw0a2QGu48lSyY= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/influxdata/flux v0.65.0/go.mod h1:BwN2XG2lMszOoquQaFdPET8FRQfrXiZsWmcMO9rkaVY= +github.com/influxdata/flux v0.131.0/go.mod h1:CKvnYe6FHpTj/E0YGI7TcOZdGiYHoToOPSnoa12RtKI= github.com/influxdata/go-syslog/v3 v3.0.1-0.20210608084020-ac565dc76ba6 h1:s9ZL6ZhFF8y6ebnm1FLvobkzoIu5xwDQUcRPk/IEhpM= github.com/influxdata/go-syslog/v3 v3.0.1-0.20210608084020-ac565dc76ba6/go.mod h1:aXdIdfn2OcGnMhOTojXmwZqXKgC3MU5riiNvzwwG9OY= +github.com/influxdata/httprouter v1.3.1-0.20191122104820-ee83e2772f69/go.mod h1:pwymjR6SrP3gD3pRj9RJwdl1j5s3doEEV8gS4X9qSzA= +github.com/influxdata/influxdb v1.8.0/go.mod h1:SIzcnsjaHRFpmlxpJ4S3NT64qtEKYweNTUMb/vh0OMQ= +github.com/influxdata/influxdb v1.9.5/go.mod h1:4uPVvcry9KWQVWLxyT9641qpkRXUBN+xa0MJFFNNLKo= +github.com/influxdata/influxdb-client-go/v2 v2.3.1-0.20210518120617-5d1fff431040/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= github.com/influxdata/influxdb-observability/common v0.2.14/go.mod h1:3p02X0t4Jh0cIL1afoQpWwZK6Bz5JQz0z7/jDK4Y7OE= github.com/influxdata/influxdb-observability/common v0.2.16 h1:rwyrfmLv13HQCo4l+FfjPg6NBhdQYMmubOlbYQCrsCM= github.com/influxdata/influxdb-observability/common v0.2.16/go.mod h1:pFd2q8dXcIc2J22JcHd2Ad0osUpKC3RcVPMQ75ivlgM= @@ -1246,6 +1390,11 @@ github.com/influxdata/influxdb-observability/otel2influx v0.2.16 h1:Gc6vug7T1ApW github.com/influxdata/influxdb-observability/otel2influx v0.2.16/go.mod h1:DPwevrEcjH/iXKkbmbcCKvfrfgQTYjDsjqoPN5gGRro= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= +github.com/influxdata/influxql v1.1.0/go.mod h1:KpVI7okXjK6PRi3Z5B+mtKZli+R1DnZgb3N+tzevNgo= +github.com/influxdata/influxql v1.1.1-0.20210223160523-b6ab99450c93/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= +github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839 h1:W9WBk7wlPfJLvMCdtV4zPulc4uCPrlywQOmbFOhgQNU= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= github.com/influxdata/line-protocol-corpus v0.0.0-20210519164801-ca6fa5da0184/go.mod h1:03nmhxzZ7Xk2pdG+lmMd7mHDfeVOYFyhOgwO61qWU98= github.com/influxdata/line-protocol-corpus v0.0.0-20210922080147-aa28ccfb8937 h1:MHJNQ+p99hFATQm6ORoLmpUCF7ovjwEFshs/NHzAbig= github.com/influxdata/line-protocol-corpus v0.0.0-20210922080147-aa28ccfb8937/go.mod h1:BKR9c0uHSmRgM/se9JhFHtTT7JTO67X23MtKMHtZcpo= @@ -1253,9 +1402,21 @@ github.com/influxdata/line-protocol/v2 v2.0.0-20210312151457-c52fdecb625a/go.mod github.com/influxdata/line-protocol/v2 v2.1.0/go.mod h1:QKw43hdUBg3GTk2iC3iyCxksNj7PX9aUSeYOYE/ceHY= github.com/influxdata/line-protocol/v2 v2.2.1 h1:EAPkqJ9Km4uAxtMRgUubJyqAr6zgWM0dznKMLRauQRE= github.com/influxdata/line-protocol/v2 v2.2.1/go.mod h1:DmB3Cnh+3oxmG6LOBIxce4oaL4CPj3OmMPgvauXh+tM= +github.com/influxdata/pkg-config v0.2.8/go.mod h1:EMS7Ll0S4qkzDk53XS3Z72/egBsPInt+BeRxb0WeSwk= +github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= +github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= +github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= +github.com/influxdata/tdigest v0.0.2-0.20210216194612-fc98d27c9e8b/go.mod h1:Z0kXnxzbTC2qrx4NaIzYkE1k66+6oEDQTvL95hQFh5Y= +github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= github.com/intel/goresctrl v0.2.0/go.mod h1:+CZdzouYFn5EsxgqAQTEzMfwKwuc0fVdMrT9FCCAVRQ= +github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI= +github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0= +github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk= +github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g= +github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw= github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= github.com/j-keck/arping v1.0.2/go.mod h1:aJbELhR92bSk7tp79AWM/ftfc90EfEi2bQJrbBFOsPw= +github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= @@ -1281,6 +1442,7 @@ github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5W github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0 h1:FYYE4yRw+AgI8wXIinMlNjBbp/UitDJwfj5LqqewP1A= github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= @@ -1326,6 +1488,7 @@ github.com/jackc/puddle v1.2.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dv github.com/jackc/puddle v1.2.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jaegertracing/jaeger v1.15.1/go.mod h1:LUWPSnzNPGRubM8pk0inANGitpiMOOxihXx0+53llXI= github.com/jaegertracing/jaeger v1.24.0/go.mod h1:mqdtFDA447va5j0UewDaAWyNlGreGQyhGxXVhbF58gQ= +github.com/jaegertracing/jaeger v1.28.0/go.mod h1:CfqVll05gkdPxNc5xrCnR44UmeVYZoYJtO4Ub8qn2wI= github.com/jaegertracing/jaeger v1.31.0/go.mod h1:KukZMhuamI3NVbzWmngcmXbcnxiB3WyaNf0nxio+sUw= github.com/jaegertracing/jaeger v1.32.0 h1:aKtCeFMWsJ/TuNx+5mMscOCcGhnkG7ZSYx3zsCpDVAQ= github.com/jaegertracing/jaeger v1.32.0/go.mod h1:2bCBxuy0Pdb+wGRL5YhjSyrp6Wpz1vvfL4hEYbLfrCc= @@ -1353,6 +1516,7 @@ github.com/jinzhu/now v1.1.3/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/ github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= @@ -1380,6 +1544,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= +github.com/jsternberg/zap-logfmt v1.2.0/go.mod h1:kz+1CUmCutPWABnNkOu9hOHKdT2q3TDYCcsFy9hpqb0= github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/juju/errors v0.0.0-20181012004132-a4583d0a56ea h1:g2k+8WR7cHch4g0tBDhfiEvAp7fXxTNBiD1oC1Oxj3E= @@ -1389,17 +1555,28 @@ github.com/juju/testing v0.0.0-20191001232224-ce9dec17d28b/go.mod h1:63prj8cnj0t github.com/julienschmidt/httprouter v1.1.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw= github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8= +github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE= +github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE= +github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro= +github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.12/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= @@ -1412,7 +1589,11 @@ github.com/klauspost/compress v1.14.2/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47e github.com/klauspost/compress v1.14.4/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.1 h1:y9FcTHGyrebwfP0ZZqFiaxTaiDnUrGkJkI+f583BL1A= github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= github.com/klauspost/crc32 v1.2.0/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= +github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/knadh/koanf v1.4.0 h1:/k0Bh49SqLyLNfte9r6cvuZWrApOQhglOmhIU3L/zDw= github.com/knadh/koanf v1.4.0/go.mod h1:1cfH5223ZeZUOs8FU2UdTmaNfHpqgtjV0+NHjRO43gs= github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b h1:iNjcivnc6lhbvJA3LD622NPrUponluJrBWPIwGG/3Bg= @@ -1433,12 +1614,16 @@ github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v0.0.0-20160406211939-eadb3ce320cb/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/labstack/echo v3.3.10+incompatible/go.mod h1:0INS7j/VjnFxD4E2wkz67b8cVwCLbBmJyDaka6Cmk1s= github.com/labstack/echo/v4 v4.2.0/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= +github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= +github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y= github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= github.com/labstack/gommon v0.3.1/go.mod h1:uW6kP17uPlLJsD3ijUYn3/M5bAxtlZhMI6m3MFxTMTM= github.com/leesper/go_rng v0.0.0-20190531154944-a612b043e353 h1:X/79QL0b4YJVO5+OsPH9rF2u428CIrGL/jLmPsoOQQ4= +github.com/leesper/go_rng v0.0.0-20190531154944-a612b043e353/go.mod h1:N0SVk0uhy+E1PZ3C9ctsPRlvOPAFPkCNlcPBDkt0N3U= github.com/leodido/go-urn v1.1.0/go.mod h1:+cyI34gQWZcE1eQU7NVgKkkzdXDQHr1dBMtdAPozLkw= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= @@ -1453,6 +1638,7 @@ github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linode/linodego v1.2.1/go.mod h1:x/7+BoaKd4unViBmS2umdjYyVAmpFtBtEXZ0wou7FYQ= github.com/linode/linodego v1.3.0 h1:77BPapuzhfIhXodiDUt/M76H46UiFYOytEupVN2auDI= github.com/linode/linodego v1.3.0/go.mod h1:PVsRxSlOiJyvG4/scTszpmZDTdgS+to3X6eS8pRrWI8= github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= @@ -1486,6 +1672,7 @@ github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= +github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= @@ -1509,28 +1696,38 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.14.12/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v2.0.3+incompatible h1:gXHsfypPkaMZrKbD5209QV9jbUTJKjyR5WD3HYQSd+U= github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= +github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= +github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8= +github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc= github.com/microsoft/ApplicationInsights-Go v0.4.4 h1:G4+H9WNs6ygSCe6sUyxRc2U81TI5Es90b2t/MwX5KqY= github.com/microsoft/ApplicationInsights-Go v0.4.4/go.mod h1:fKRUseBqkw6bDiXTs3ESTiU/4YTIHsQS4W3fP2ieF4U= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.22/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.25/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.29/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/miekg/dns v1.1.45/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= github.com/miekg/dns v1.1.46 h1:uzwpxRtSVxtcIZmz/4Uz6/Rn7G11DvsaslXoy5LxQio= github.com/miekg/dns v1.1.46/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/mileusna/useragent v0.0.0-20190129205925-3e331f0949a5/go.mod h1:JWhYAp2EXqUtsxTKdeGlY8Wp44M7VxThC9FEoNGi2IE= github.com/mindprince/gonvml v0.0.0-20190828220739-9ebdce4bb989 h1:PS1dLCGtD8bb9RPKJrc8bS7qHL6JnW1CZvwzH9dPoUs= github.com/mindprince/gonvml v0.0.0-20190828220739-9ebdce4bb989/go.mod h1:2eu9pRWp8mo84xCg6KswZ+USQHjwgRhNp06sozOdsTY= github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= @@ -1555,6 +1752,7 @@ github.com/mitchellh/hashstructure v1.1.0/go.mod h1:xUDAozZz0Wmdiufv0uyhnHkUTN6/ github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= @@ -1570,6 +1768,7 @@ github.com/mjibson/esc v0.2.0/go.mod h1:9Hw9gxxfHulMF5OJKCyhYD7PzlSdhzXyaGEBRPH1 github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= github.com/moby/sys/mount v0.2.0 h1:WhCW5B355jtxndN5ovugJlMFJawbUODuW8fSnEH6SSM= +github.com/moby/sys/mount v0.2.0/go.mod h1:aAivFE2LB3W4bACsUXChRHQ0qKWsetY4Y9V7sxOougM= github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/moby/sys/mountinfo v0.5.0 h1:2Ks8/r6lopsxWi9m58nlwjaeSzUX9iiL1vj5qB/9ObI= @@ -1578,6 +1777,7 @@ github.com/moby/sys/signal v0.6.0/go.mod h1:GQ6ObYZfqacOwTtlXvcmh9A26dVRul/hbOZn github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= github.com/moby/sys/symlink v0.2.0/go.mod h1:7uZVF2dqJjG/NsClqul95CqKOBRQyYSNnJ6BMgR/gFs= github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= +github.com/moby/term v0.0.0-20201216013528-df9cb8a40635/go.mod h1:FBS0z0QWA44HXygs7VXDUOGoN/1TV3RuWkLO04am3wc= github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 h1:dcztxKSvZ4Id8iPpHERQBbIJfabdt4wUm5qy3wOL2Zc= github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= @@ -1593,13 +1793,16 @@ github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3P github.com/mongodb-forks/digest v1.0.3 h1:ZUK1vyZnBiRMvET0O1SzmnBmv935CkcOTjhfR4zIQ2s= github.com/mongodb-forks/digest v1.0.3/go.mod h1:eHRfgovT+dvSFfltrOa27hy1oR/rcwyDdp5H1ZQxEMA= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mostynb/go-grpc-compression v1.1.16 h1:D9tGUINmcII049pxOj9dl32Fzhp26TrDVQXECoKJqQg= github.com/mostynb/go-grpc-compression v1.1.16/go.mod h1:xxa6UoYynYS2h+5HB/Hglu81iYAp87ARaNmhhwi0s1s= +github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/mozilla/tls-observatory v0.0.0-20190404164649-a3c1b6cfecfd/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk= github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -1630,7 +1833,9 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/observiq/ctimefmt v1.0.0 h1:r7vTJ+Slkrt9fZ67mkf+mA6zAdR5nGIJRMTzkUyvilk= github.com/observiq/ctimefmt v1.0.0/go.mod h1:mxi62//WbSpG/roCO1c6MqZ7zQTvjVtYheqHN3eOjvc= +github.com/observiq/go-syslog/v3 v3.0.2/go.mod h1:9abcumkQwDUY0VgWdH6CaaJ3Ks39A7NvIelMlavPru0= github.com/observiq/nanojack v0.0.0-20201106172433-343928847ebc h1:49ewVBwLcy+eYqI4R0ICilCI4dPjddpFXWv3liXzUxM= +github.com/observiq/nanojack v0.0.0-20201106172433-343928847ebc/go.mod h1:WXIHwGy+c7/IK2PiJ4oxuTHkpnkSut7TNFpKnI5llPU= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= @@ -1672,7 +1877,9 @@ github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je4 github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= +github.com/open-telemetry/opentelemetry-log-collection v0.27.2/go.mod h1:hGtoh7foY5hn3Gvev+QwrQ4ef59pfBiZn5DX1XN9uEs= github.com/open-telemetry/opentelemetry-log-collection v0.28.0 h1:qKreydspLlcAZnuxkbn3yqgz9Aj/5kznHLMHhYVVYwc= github.com/open-telemetry/opentelemetry-log-collection v0.28.0/go.mod h1:ybKbU2jpv6JHt3gf649dCKWyORXq2HKaF1k5QRVUG5U= github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= @@ -1692,6 +1899,7 @@ github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= +github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runc v1.1.0 h1:O9+X96OcDjkmmZyfaG996kV7yq8HsoU2h1XRRQcefG8= github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= @@ -1720,6 +1928,7 @@ github.com/opentracing-contrib/go-stdlib v0.0.0-20190519235532-cf7a6c988dc9/go.m github.com/opentracing-contrib/go-stdlib v1.0.0/go.mod h1:qtI1ogk+2JhVPIXVc6q+NHziSmy2W5GbdQZFUHADCBU= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= @@ -1736,6 +1945,7 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= +github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= github.com/pavius/impi v0.0.0-20180302134524-c1cbdcb8df2b/go.mod h1:x/hU0bfdWIhuOT1SKwiJg++yvkk6EuOtJk8WtDZqgr8= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= @@ -1747,9 +1957,13 @@ github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhEC github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= github.com/philhofer/fwd v1.1.1 h1:GdGcTjf5RNAxwS4QLsiMzJYj5KEvPJD3Abr261yRQXQ= github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/cmdflag v0.0.2/go.mod h1:a3zKGZ3cdQUfxjd0RGMLZr8xI3nvpJOB+m6o/1X5BmU= github.com/pierrec/lz4 v0.0.0-20190327172049-315a67e90e41/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= @@ -1761,6 +1975,9 @@ github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi github.com/pierrec/lz4/v3 v3.3.4/go.mod h1:280XNCGS8jAcG++AHdd6SeWnzyJ1w9oow2vbORyey8Q= github.com/pierrec/lz4/v4 v4.1.14/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= +github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8= +github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1768,6 +1985,7 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -1778,6 +1996,7 @@ github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:Om github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= github.com/pquerna/cachecontrol v0.1.0 h1:yJMy84ti9h/+OEWa752kBTKv4XC30OtVVHYv/8cTqKc= github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= +github.com/prometheus/alertmanager v0.20.0/go.mod h1:9g2i48FAyZW6BtbsnvHtMHQXl2aVtrORKwKVCQ+nbrg= github.com/prometheus/alertmanager v0.23.0/go.mod h1:0MLTrjQI8EuVmvykEhcfr/7X0xmaDAZrqMgxIq3OXHk= github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= @@ -1786,8 +2005,10 @@ github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= +github.com/prometheus/client_golang v1.2.1/go.mod h1:XMU6Z2MjaRKVu/dC1qupJI9SiNkDYzz3xecMgSW/F+U= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= @@ -1833,11 +2054,15 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/prometheus v0.0.0-20200609090129-a6600f564e3c/go.mod h1:S5n0C6tSgdnwWshBUceRx5G1OsjLv/EeZ9t3wIfEtsY= +github.com/prometheus/prometheus v1.8.2-0.20220111145625-076109fa1910/go.mod h1:eScIgoPGdQ/nQTcPdoejuRgPs18qbNSDJpYZzFOOiiY= +github.com/prometheus/prometheus v1.8.2-0.20220117154355-4855a0c067e2/go.mod h1:RrRAjMWE8O7w9BZVp12yi6eovtsZAs54pTpiyBBbpbk= github.com/prometheus/prometheus v1.8.2-0.20220324155304-4d8bbfd4164c h1:bSycx2Oqv9uTAatXvbPXiZsdc6dRUH5Ckk8afENqWE4= github.com/prometheus/prometheus v1.8.2-0.20220324155304-4d8bbfd4164c/go.mod h1:NKnOBxc55oA1m/lbiEoLGKkIj9/n4igtIUvtfs35/pM= github.com/prometheus/statsd_exporter v0.21.0 h1:hA05Q5RFeIjgwKIYEdFd59xu5Wwaznf33yKI+pyX6T8= @@ -1848,6 +2073,7 @@ github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqn github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= github.com/rivo/tview v0.0.0-20200219210816-cd38d7432498/go.mod h1:6lkG1x+13OShEf0EaOCaTQYyB7d5nSbb181KtjlS+84= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -1858,7 +2084,10 @@ github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= +github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.0/go.mod h1:EBwu+T5AvHOcXwvZIkQFjUN6s8Czyqw12GL/Y0tUyRM= github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= @@ -1868,11 +2097,14 @@ github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThC github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= +github.com/sagikazarmark/crypt v0.1.0/go.mod h1:B/mN0msZuINBtQ1zZLEQcegFJJf9vnYIR88KRMEuODE= github.com/sagikazarmark/crypt v0.3.0/go.mod h1:uD/D+6UF4SrIR1uGEv7bBNkNqLGqUr43MRiaGWX1Nig= github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= github.com/samuel/go-zookeeper v0.0.0-20190810000440-0ceca61e4d75/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= @@ -1880,9 +2112,13 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0 github.com/sanity-io/litter v1.2.0/go.mod h1:JF6pZUFgu2Q0sBZ+HSV35P8TVPI1TTzEwyu9FXAw2W4= github.com/santhosh-tekuri/jsonschema v1.2.4 h1:hNhW8e7t+H1vgY+1QeEQpveR6D4+OwKPXCfD2aieJis= github.com/santhosh-tekuri/jsonschema v1.2.4/go.mod h1:TEAUOeZSmIxTTuHatJzrvARHiuO9LYd+cIxzgEHCQI4= +github.com/satori/go.uuid v0.0.0-20160603004225-b111a074d5ef/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/scaleway/scaleway-sdk-go v1.0.0-beta.7.0.20210223165440-c65ae3540d44/go.mod h1:CJJ5VAbozOl0yEw7nHB9+7BXTJbIn6h7W+f6Gau5IP8= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9 h1:0roa6gXKgyta64uqh52AQG3wzZXH21unn+ltzQSXML0= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= +github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= github.com/schollz/progressbar/v2 v2.13.2/go.mod h1:6YZjqdthH6SCZKv2rqGryrxPtfmRB/DWZxSMfCXPyD8= github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= @@ -1892,6 +2128,8 @@ github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvW github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921 h1:58EBmR2dMNL2n/FnbQewK3D14nXr0V9CObDSvMJLq+Y= github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/securego/gosec v0.0.0-20200203094520-d13bb6d2420c/go.mod h1:gp0gaHj0WlmPh9BdsTmo1aq6C27yIPWdxCKGFGdVKBE= +github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/segmentio/kafka-go v0.4.29/go.mod h1:m1lXeqJtIFYZayv0shM/tjrAFljvWLTprxBHd+3PnaU= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/shirou/gopsutil v2.18.10+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= @@ -1899,6 +2137,7 @@ github.com/shirou/gopsutil v2.20.9+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu github.com/shirou/gopsutil v3.21.10+incompatible h1:AL2kpVykjkqeN+MFe1WcwSBVUjGjvdU8/ubvCuXAjrU= github.com/shirou/gopsutil v3.21.10+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/gopsutil/v3 v3.21.6/go.mod h1:JfVbDpIBLVzT8oKbvMg9P3wEIMDDpVn+LwHTKj0ST88= +github.com/shirou/gopsutil/v3 v3.22.1/go.mod h1:WapW1AOOPlHyXr+yOyw3uYx36enocrtSoSBy0L5vUHY= github.com/shirou/gopsutil/v3 v3.22.2/go.mod h1:WapW1AOOPlHyXr+yOyw3uYx36enocrtSoSBy0L5vUHY= github.com/shirou/gopsutil/v3 v3.22.3 h1:UebRzEomgMpv61e3hgD1tGooqX5trFbdU/ehphbHd00= github.com/shirou/gopsutil/v3 v3.22.3/go.mod h1:D01hZJ4pVHPpCTZ3m3T2+wDF2YAGfd+H4ifUguaQzHM= @@ -1909,6 +2148,7 @@ github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXY github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/signalfx/com_signalfx_metrics_protobuf v0.0.1/go.mod h1:QkslgLDW0N9qRi9qkxcNDaf812gg0kWcf3ZZORE5/FI= github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3 h1:32k2QLgsKhcEs55q4REPKyIadvid5FPy2+VMgvbmKJ0= @@ -1942,6 +2182,7 @@ github.com/smartystreets/goconvey v1.6.4-0.20190306220146-200a235640ff/go.mod h1 github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/gunit v1.1.3/go.mod h1:EH5qMBab2UclzXUcpR8b93eHsIlp9u+pDQIRp5DZNzQ= +github.com/snowflakedb/gosnowflake v1.3.13/go.mod h1:6nfka9aTXkUNha1p1cjeeyjDvcyh7jfjp0l8kGpDBok= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= @@ -1980,6 +2221,7 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/spf13/viper v1.9.0/go.mod h1:+i6ajR7OX2XaiBkrcZJFK21htRk7eDeLg7+O6bhUPP4= github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= @@ -1999,6 +2241,7 @@ github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoH github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -2020,6 +2263,7 @@ github.com/tedsuo/ifrit v0.0.0-20180802180643-bea94bb476cc/go.mod h1:eyZnKCc955u github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.377 h1:yZng+fWCOnCLcZq0lDD1/DBY2Ox69Z9AJUc3pCQflbk= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.377/go.mod h1:7sCQWVkxcsR38nffDW057DRGk8mUjK1Ing/EFOK8s8Y= github.com/testcontainers/testcontainers-go v0.12.0 h1:SK0NryGHIx7aifF6YqReORL18aGAA4bsDPtikDVCEyg= +github.com/testcontainers/testcontainers-go v0.12.0/go.mod h1:SIndOQXZng0IW8iWU1Js0ynrfZ8xcxrTtDfF6rD2pxs= github.com/tg123/go-htpasswd v1.2.0 h1:UKp34m9H467/xklxUxU15wKRru7fwXoTojtxg25ITF0= github.com/tg123/go-htpasswd v1.2.0/go.mod h1:h7IzlfpvIWnVJhNZ0nQ9HaFxHb7pn5uFJYLlEUJa2sM= github.com/tidwall/assert v0.1.0/go.mod h1:QLYtGyeqse53vuELQheYl9dngGCJQ+mTtlxcktb+Kj8= @@ -2053,6 +2297,8 @@ github.com/tidwall/tinylru v1.1.0/go.mod h1:3+bX+TJ2baOLMWTnlyNWHh4QMnFyARg2TLTQ github.com/tidwall/tinyqueue v0.1.1/go.mod h1:O/QNHwrnjqr6IHItYrzoHAKYhBkLI67Q096fQP5zMYw= github.com/tidwall/wal v1.1.7 h1:emc1TRjIVsdKKSnpwGBAcsAGg0767SvUk8+ygx7Bb+4= github.com/tidwall/wal v1.1.7/go.mod h1:r6lR1j27W9EPalgHiB7zLJDYu3mzW5BQP5KrzBpYY/E= +github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tinylib/msgp v1.1.6 h1:i+SbKraHhnrf9M5MYmvQhFnbLhAXSDWF8WWsuyRdocw= github.com/tinylib/msgp v1.1.6/go.mod h1:75BAfg2hauQhs3qedfdDZmWAPcFMAvJE5b9rGOMufyw= @@ -2071,9 +2317,14 @@ github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GH github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/twitchtv/twirp v8.1.1+incompatible/go.mod h1:RRJoFSAmTEh2weEqWtpPE3vFK5YBhA6bqp2l1kfCC5A= +github.com/uber-go/tally v3.3.15+incompatible/go.mod h1:YDTIBxdXyOU/sCWilKB4bgyufu1cEi0jdVnRdxvjnmU= +github.com/uber/athenadriver v1.1.4/go.mod h1:tQjho4NzXw55LGfSZEcETuYydpY1vtmixUabHkC1K/E= +github.com/uber/jaeger-client-go v2.23.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-client-go v2.28.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-client-go v2.29.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= @@ -2087,10 +2338,12 @@ github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtX github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= github.com/valyala/fasthttp v1.26.0/go.mod h1:cmWIqlu99AO/RKcp1HWaViTqc57FswJOfYYdPJBl8BA= github.com/valyala/fasthttp v1.32.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= github.com/vaughan0/go-ini v0.0.0-20130923145212-a98ad7ee00ec/go.mod h1:owBmyHYMLkxyrugmfwE/DLJyW8Ro9mkphwuVErQ0iUw= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= @@ -2126,6 +2379,8 @@ github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9o github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad/go.mod h1:Hy8o65+MXnS6EwGElrSRjUzQDLXreJlzYLlWiHtt8hM= github.com/wavefronthq/wavefront-sdk-go v0.9.10 h1:L4eiEdHpudHTGwrJaPYaCXSjCYDex8FEKVqaprU2sY0= github.com/wavefronthq/wavefront-sdk-go v0.9.10/go.mod h1:ACJVXk0ksPHFkkTkXckqKEJGU3YDoAWjxTESkZlp+IE= +github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= @@ -2145,11 +2400,16 @@ github.com/xdg/stringprep v1.0.3/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0 github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= +github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +github.com/yudai/gojsondiff v1.0.0/go.mod h1:AY32+k2cwILAkW1fbgxQ5mUmMiZFgLIV+FBNExI05xg= +github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82/go.mod h1:lgjkn3NuSvDfVJdfcVVdX+jpBxNmX4rDAzaS45IcYoM= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -2165,6 +2425,7 @@ github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/zenazn/goji v1.0.1/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/zorkian/go-datadog-api v2.30.0+incompatible h1:R4ryGocppDqZZbnNc5EDR8xGWF/z/MxzWnqTUijDQes= +github.com/zorkian/go-datadog-api v2.30.0+incompatible/go.mod h1:PkXwHX9CUQa/FpB9ZwAD45N1uhCW4MT/Wj7m36PbKss= go.elastic.co/apm v1.15.0 h1:uPk2g/whK7c7XiZyz/YCUnAUBNPiyNeE3ARX3G6Gx7Q= go.elastic.co/apm v1.15.0/go.mod h1:dylGv2HKR0tiCV+wliJz1KHtDyuD8SPe69oV7VyK6WY= go.elastic.co/fastjson v1.1.0 h1:3MrGBWWVIxe/xvsbpghtkFoPciPhOCmjsR/HfwEeQR4= @@ -2191,7 +2452,9 @@ go.mongodb.org/atlas v0.15.0 h1:YyOBdBIuI//krRITf4r7PSirJ3YDNNUfNmapxwSyDow= go.mongodb.org/atlas v0.15.0/go.mod h1:lQhRHIxc6jQHEK3/q9WLu/SdBkPj2fQYhjLGUF6Z3U8= go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= +go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= +go.mongodb.org/mongo-driver v1.3.2/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= @@ -2214,16 +2477,20 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/collector v0.46.0/go.mod h1:3G6HUzm11xa5ZHxf8QWMYYUwtSmPkTZT9DiTuo3fodQ= go.opentelemetry.io/collector v0.48.0 h1:/kUmNzsYgdPmbdscOGtCFPyZvxICrzmCFth2krzJuWs= go.opentelemetry.io/collector v0.48.0/go.mod h1:iklh3+Npx1DalC6PvEi9ysjx9zLbjgOUQFTIh2MufQU= +go.opentelemetry.io/collector/model v0.38.0/go.mod h1:gS8A27wi+8gM3hrXL+dEjTbrbLxktjHjAwwqI31ELgQ= go.opentelemetry.io/collector/model v0.44.0/go.mod h1:4jo1R8uBDspLCxUGhQ0k3v/EFXFbW7s0AIy3LuGLbcU= go.opentelemetry.io/collector/model v0.45.0/go.mod h1:uyiyyq8lV45zrJ94MnLip26sorfNLP6J9XmOvaEmy7w= go.opentelemetry.io/collector/model v0.46.0/go.mod h1:uyiyyq8lV45zrJ94MnLip26sorfNLP6J9XmOvaEmy7w= go.opentelemetry.io/collector/model v0.48.0 h1:xmN4LdZ92q6PZnaKhMdIlC5KGtPJeOYaWCnA1PQ2oZw= go.opentelemetry.io/collector/model v0.48.0/go.mod h1:1QVYv8TqsTMt9wVC5BUF9fqMVtk2C5EclWDnuVqdKoU= +go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= 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/google.golang.org/grpc/otelgrpc v0.28.0/go.mod h1:vEhqr0m4eTc+DWxfsXoXue2GBgV2uUwVznkGIHW/e5w= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0/go.mod h1:LsankqVDx4W+RhZNA5uWarULII/MBhF5qwCYxTuyXjs= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0 h1:li8u9OSMvLau7rMs8bmiL82OazG6MAkwPz2i6eS8TBQ= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0/go.mod h1:SY9qHHUES6W3oZnO1H2W8NvsSovIoXRg/A1AH9px8+I= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= @@ -2232,6 +2499,7 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.26.0/go.mod h1: go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0/go.mod h1:tLYsuf2v8fZreBVwp9gVMhefZlLFZaUiNVSq8QxXRII= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0 h1:woM+Mb4d0A+Dxa3rYPenSN5ZeS9qHUvE8rlObiLRXTY= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0/go.mod h1:PFmBsWbldL1kiWZk9+0LBZz2brhByaGsvp6pRICMlPE= +go.opentelemetry.io/contrib/zpages v0.29.0/go.mod h1:iHy2K1Cjz1Ss0Sv6cQPEExP0nD+gj7gAF024foxzFFE= go.opentelemetry.io/contrib/zpages v0.31.0 h1:P75HGsEZp/TSdY0QSknzI9ubo7DU3i5MPGHM7h9IwL4= go.opentelemetry.io/contrib/zpages v0.31.0/go.mod h1:CAB55C1K7YhinQfNNIdNLgJJ+dVRlb6zQpbGQjeIDf8= go.opentelemetry.io/otel v0.11.0/go.mod h1:G8UCk+KooF2HLkgo8RHX9epABH/aRGYET7gQOqBVdB0= @@ -2255,6 +2523,7 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.3.0/go.mod h1 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.4.1/go.mod h1:c6E4V3/U+miqjs/8l950wggHGL1qzlp0Ypj9xoGrPqo= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.3.0/go.mod h1:QNX1aly8ehqqX1LEa6YniTU7VY9I6R3X/oPxhGdTceE= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.4.1/go.mod h1:VwYo0Hak6Efuy0TXsZs8o1hnV3dHDPNtDbycG0hI8+M= +go.opentelemetry.io/otel/exporters/prometheus v0.27.0/go.mod h1:u0vTzijx2B6gGDa8FuIVoESW6z0HdKkXZWZMSTsoJKs= go.opentelemetry.io/otel/exporters/prometheus v0.28.0 h1:6JY0KEQC1WKOjEFu5QJqz+H0kZ51c/lPiudkxGzwaQg= go.opentelemetry.io/otel/exporters/prometheus v0.28.0/go.mod h1:nN2uGmk/rLmcbPTaZakIMqYH2Q0T8V1sOnKOHe/HLH0= go.opentelemetry.io/otel/internal/metric v0.23.0/go.mod h1:z+RPiDJe30YnCrOhFGivwBS+DU1JU/PiLKkk4re2DNY= @@ -2270,12 +2539,14 @@ go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= go.opentelemetry.io/otel/sdk v1.0.1/go.mod h1:HrdXne+BiwsOHYYkBE5ysIcv2bvdZstxzmCQhxTcZkI= go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= +go.opentelemetry.io/otel/sdk v1.4.0/go.mod h1:71GJPNJh4Qju6zJuYl1CrYtXbrgfau/M9UAggqiy1UE= go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= go.opentelemetry.io/otel/sdk v1.6.0/go.mod h1:PjLRUfDsoPy0zl7yrDGSUqjj43tL7rEtFdCEiGlxXRM= go.opentelemetry.io/otel/sdk v1.6.1 h1:ZmcNyMhcuAYIb/Nr6QhBPTMopMTbov/47wHt1gibkoY= go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= 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 v0.27.0/go.mod h1:lOgrT5C3ORdbqp2LsDrx+pBj6gbZtQ5Omk27vH3EaW0= go.opentelemetry.io/otel/sdk/metric v0.28.0 h1:+1ndwHSiknwZtC8VmXM3xtMsd6kbFxtqti4qevn2J+o= go.opentelemetry.io/otel/sdk/metric v0.28.0/go.mod h1:DqJmT0ovBgoW6TJ8CAQyTnwxZPIp3KWtCiDDZ1uHAzU= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= @@ -2295,6 +2566,7 @@ go.opentelemetry.io/proto/otlp v0.12.0/go.mod h1:TsIjwGWIx5VFYv9KGVlOpxoBl5Dy+63 go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.8.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -2302,11 +2574,13 @@ go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/automaxprocs v1.4.0/go.mod h1:/mTEdr7LvHhs0v7mjdxDreTz1OG5zdZGqgOnhWiR/+Q= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= @@ -2316,13 +2590,17 @@ go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9E go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.14.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.14.1/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= go.uber.org/zap v1.20.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -2348,8 +2626,14 @@ golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200422194213-44a606286825/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -2357,6 +2641,7 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= @@ -2370,21 +2655,37 @@ golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220214200702-86341886e292 h1:f+lwQ+GtmgoY+A2YaQxlSOnDjXcQ7ZRLWOHbC6HtRqE= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/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= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= golang.org/x/exp v0.0.0-20200901203048-c4f52b2c50aa/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200908183739-ae8ad444f925 h1:5XVKs2rlCg8EFyRcvO8/XFwYxh1oKJO1Q3X5vttIf9c= golang.org/x/exp v0.0.0-20200908183739-ae8ad444f925/go.mod h1:1phAWC201xIgDyaFpmDeZkgf70Q4Pd/CNqfRtVPtxNw= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -2430,6 +2731,7 @@ golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73r golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -2446,6 +2748,7 @@ golang.org/x/net v0.0.0-20190921015927-1a5e07d1ff72/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191126235420-ef20fe5d7933/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -2453,6 +2756,7 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= @@ -2490,8 +2794,10 @@ golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211020060615-d418f374d309/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211108170745-6635138e15ea/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -2586,11 +2892,13 @@ golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191128015809-6d18c012aee9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2603,6 +2911,7 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2635,6 +2944,7 @@ golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2669,6 +2979,7 @@ golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211103235746-7861aae1554b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211109184856-51b60fd695b3/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2682,6 +2993,7 @@ golang.org/x/sys v0.0.0-20220207234003-57398862261d/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220222172238-00053529121e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886 h1:eJv7u3ksNXoLbGSKuv2s/SIO4tJVxc/A+MTpzxDgz/Q= golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2717,17 +3029,21 @@ golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20220224211638-0e9765cccd65 h1:M73Iuj3xbbb9Uk1DYhzydthsj6oOd6l9bpuFcNoUvTs= golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181112210238-4b1f3b6b1646/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -2744,11 +3060,13 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190813034749-528a2984e271/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190906203814-12febf440ab1/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -2759,9 +3077,12 @@ golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191203134012-c197fd4bf371/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -2771,9 +3092,11 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304024140-c4206d458c3f/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200422205258-72e4a01eba43/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -2784,6 +3107,7 @@ golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200701151220-7cb253f4c4f8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200721032237-77f530d86f9a/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= @@ -2805,6 +3129,8 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= +golang.org/x/tools v0.1.8/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +golang.org/x/tools v0.1.9-0.20211209172050-90a85b2969be/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.9 h1:j9KsMiaP1c3B0OTQGth0/k+miLGTgLsAFUCrF2vLcF8= golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -2814,8 +3140,19 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/gonum v0.7.0/go.mod h1:L02bwd0sqlsvRv41G7wGWFCsVNZFv/k1xzGIxeANHGM= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/gonum v0.11.0 h1:f1IJhK4Km5tBJmaiJXtk/PkL4cdVX6J+tGiM187uT5E= gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= +gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= @@ -2854,6 +3191,7 @@ google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUb google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= google.golang.org/api v0.62.0/go.mod h1:dKmwPCydfsad4qCH08MSdgWjfHOyfpd4VtDGgRFdavw= google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/api v0.64.0/go.mod h1:931CdxA8Rm4t6zqTFGSsgwbAEZ2+GMYurbndwSimebM= google.golang.org/api v0.66.0/go.mod h1:I1dmXYpX7HGwz/ejRxwQp2qj5bFAz93HiCU1C1oYd9M= google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g= google.golang.org/api v0.68.0/go.mod h1:sOM8pTpwgflXRhz+oC8H2Dr+UcbMqkPPWNJo88Q7TH8= @@ -2881,13 +3219,16 @@ google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRn google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= @@ -2898,6 +3239,7 @@ google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200420144010-e5e8543f8aeb/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -2953,6 +3295,7 @@ google.golang.org/genproto v0.0.0-20211203200212-54befc351ae9/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220114231437-d2e6a121cae0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20220201184016-50beb8ab5c44/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= @@ -2986,6 +3329,7 @@ google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= @@ -3043,6 +3387,7 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= @@ -3051,10 +3396,13 @@ gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:a gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.63.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/jinzhu/gorm.v1 v1.9.1/go.mod h1:56JJPUzbikvTVnoyP1nppSkbJ2L8sunqTBDY2fDrmFg= +gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= @@ -3074,10 +3422,12 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -3091,6 +3441,7 @@ gorm.io/driver/sqlserver v1.0.4/go.mod h1:ciEo5btfITTBCj9BkoUVDvgQbUdLWQNqdFY5OG gorm.io/gorm v1.9.19/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= gorm.io/gorm v1.20.0/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= gorm.io/gorm v1.20.6/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= @@ -3104,26 +3455,33 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= honnef.co/go/tools v0.2.0/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY= howett.net/plist v0.0.0-20181124034731-591f970eefbb h1:jhnBjNi9UFpfpl8YZhA9CrOqpnJdvzuiHsl/dnxl11M= howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= k8s.io/api v0.17.0/go.mod h1:npsyOePkeP0CPwyGfXDHxvypiYMJxBWAMpQxCaJ4ZxI= +k8s.io/api v0.17.5/go.mod h1:0zV5/ungglgy2Rlm3QK8fbxkXVs+BSJWpJP/+8gUVLY= k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= k8s.io/api v0.21.1/go.mod h1:FstGROTmsSHBarKc8bylzXih8BLNYTiS3TZcsoEDg2s= +k8s.io/api v0.22.4/go.mod h1:Rgs+9gIGYC5laXQSZZ9JqT5NevNgoGiOdVWi1BAB3qk= k8s.io/api v0.22.5/go.mod h1:mEhXyLaSD1qTOf40rRiKXkc+2iCem09rWLlFwhCEiAs= k8s.io/api v0.22.7/go.mod h1:7hejA1BgBEiSsWljUyRkIjj+AISXO16IwsaDgFjJsQE= +k8s.io/api v0.23.4/go.mod h1:i77F4JfyNNrhOjZF7OwwNJS5Y1S9dpwvb9iYRYRczfI= k8s.io/api v0.23.5 h1:zno3LUiMubxD/V1Zw3ijyKO3wxrhbUF1Ck+VjBvfaoA= k8s.io/api v0.23.5/go.mod h1:Na4XuKng8PXJ2JsploYYrivXrINeTaycCGcYgF91Xm8= k8s.io/apimachinery v0.17.0/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg= +k8s.io/apimachinery v0.17.5/go.mod h1:ioIo1G/a+uONV7Tv+ZmCbMG1/a3kVw5YcDdncd8ugQ0= k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= k8s.io/apimachinery v0.21.1/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apimachinery v0.22.4/go.mod h1:yU6oA6Gnax9RrxGzVvPFFJ+mpnW6PBSqp0sx0I0HHW0= k8s.io/apimachinery v0.22.5/go.mod h1:xziclGKwuuJ2RM5/rSFQSYAj0zdbci3DH8kj+WvyN0U= k8s.io/apimachinery v0.22.7/go.mod h1:ZvVLP5iLhwVFg2Yx9Gh5W0um0DUauExbRhe+2Z8I1EU= +k8s.io/apimachinery v0.23.4/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= k8s.io/apimachinery v0.23.5 h1:Va7dwhp8wgkUPWsEXk6XglXWU4IKYLKNlv8VkX7SDM0= k8s.io/apimachinery v0.23.5/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= @@ -3131,12 +3489,15 @@ k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= k8s.io/apiserver v0.22.5/go.mod h1:s2WbtgZAkTKt679sYtSudEQrTGWUSQAPe6MupLnlmaQ= k8s.io/client-go v0.17.0/go.mod h1:TYgR6EUHs6k45hb6KWjVD6jFZvJV4gHDikv/It0xz+k= +k8s.io/client-go v0.17.5/go.mod h1:S8uZpBpjJJdEH/fEyxcqg7Rn0P5jH+ilkgBHjriSmNo= k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= k8s.io/client-go v0.21.1/go.mod h1:/kEw4RgW+3xnBGzvp9IWxKSNA+lXn3A7AuH3gdOAzLs= +k8s.io/client-go v0.22.4/go.mod h1:Yzw4e5e7h1LNHA4uqnMVrpEpUs1hJOiuBsJKIlRCHDA= k8s.io/client-go v0.22.5/go.mod h1:cs6yf/61q2T1SdQL5Rdcjg9J1ElXSwbjSrW2vFImM4Y= k8s.io/client-go v0.22.7/go.mod h1:pGU/tWSzzvsYT7M3npHhoZ3Jh9qJTTIvFvDtWuW31dw= +k8s.io/client-go v0.23.4/go.mod h1:PKnIL4pqLuvYUK1WU7RLTMYKPiIh7MYShLshtRY9cj0= k8s.io/client-go v0.23.5 h1:zUXHmEuqx0RY4+CsnkOn5l0GU+skkRXKGJrhmE2SLd8= k8s.io/client-go v0.23.5/go.mod h1:flkeinTO1CirYgzMPRWxUCnV0G4Fbu2vLhYCObnt/r4= k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= @@ -3170,6 +3531,7 @@ k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.40.1 h1:P4RRucWk/lFOlDdkAr3mc7iWFkgKrZY9qZMAgek06S4= k8s.io/klog/v2 v2.40.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= +k8s.io/kube-openapi v0.0.0-20200316234421-82d701f24f9d/go.mod h1:F+5wygcW0wmRTnM3cOgIqGivxkwSWIWT5YdsDbeAOaU= k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE= @@ -3182,6 +3544,7 @@ k8s.io/kubelet v0.23.5 h1:eCGJ7olStiyF7TYHlUTjpXg2ltw7Bs9OPZcch8HP2Go= k8s.io/kubelet v0.23.5/go.mod h1:M0aj0gaX+rOaGfCfqkV6P7QbwtMwqbL6RdwviHmnehU= k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +k8s.io/utils v0.0.0-20200414100711-2df71ebbae66/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= @@ -3191,6 +3554,7 @@ k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 h1:HNSDgDCrr/6Ly3WEGKZftiE7IY19V k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= mellium.im/sasl v0.2.1/go.mod h1:ROaEDLQNuf9vjKqE1SrAfnsobm2YKXT1gnN1uDp1PjQ= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= @@ -3199,7 +3563,9 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyz sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 h1:kDi4JBNAsJWfz1aEXhO8Jg87JJaPNLh5tIzYHgStQ9Y= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff/v2 v2.0.1/go.mod h1:Wb7vfKAodbKgf6tn1Kl0VvGj7mRH6DGaRcixXEJXTsE= sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= @@ -3211,6 +3577,7 @@ sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +skywalking.apache.org/repo/goapi v0.0.0-20211122071111-ffc517fbfe21/go.mod h1:4KrWd+Oi4lkB+PtxZgIlf+3T6EECPru4fOWNMEHjxRk= skywalking.apache.org/repo/goapi v0.0.0-20220121092418-9c455d0dda3f h1:i0cL/mhLt8xVO05SCKshkzWNUkXOkiW+zRIIuVWjPko= skywalking.apache.org/repo/goapi v0.0.0-20220121092418-9c455d0dda3f/go.mod h1:4KrWd+Oi4lkB+PtxZgIlf+3T6EECPru4fOWNMEHjxRk= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/receiver/vmwarevcenterreceiver/client.go b/receiver/vmwarevcenterreceiver/client.go index 231a4a8ad94af..952939e07e079 100644 --- a/receiver/vmwarevcenterreceiver/client.go +++ b/receiver/vmwarevcenterreceiver/client.go @@ -27,31 +27,29 @@ import ( "github.com/vmware/govmomi/performance" "github.com/vmware/govmomi/property" "github.com/vmware/govmomi/vim25" + "github.com/vmware/govmomi/vim25/mo" vt "github.com/vmware/govmomi/vim25/types" "github.com/vmware/govmomi/vsan" "github.com/vmware/govmomi/vsan/types" - "go.uber.org/zap" ) -// VmwareVcenterClient is a client that -type VmwareVcenterClient struct { +// vmwareVcenterClient is a client that +type vmwareVcenterClient struct { moClient *govmomi.Client vimDriver *vim25.Client vsanDriver *vsan.Client finder *find.Finder pc *property.Collector cfg *Config - logger *zap.Logger } -func newVmwarevcenterClient(c *Config, debuglogger *zap.Logger) *VmwareVcenterClient { - return &VmwareVcenterClient{ - cfg: c, - logger: debuglogger, +func newVmwarevcenterClient(c *Config) *vmwareVcenterClient { + return &vmwareVcenterClient{ + cfg: c, } } -func (vc *VmwareVcenterClient) Connect(ctx context.Context) error { +func (vc *vmwareVcenterClient) Connect(ctx context.Context) error { if vc.moClient == nil { sdkURL, err := vc.cfg.SDKUrl() if err != nil { @@ -79,14 +77,14 @@ func (vc *VmwareVcenterClient) Connect(ctx context.Context) error { return nil } -func (vc *VmwareVcenterClient) Disconnect(ctx context.Context) error { +func (vc *vmwareVcenterClient) Disconnect(ctx context.Context) error { if vc.moClient != nil { return vc.moClient.Logout(ctx) } return nil } -func (vc *VmwareVcenterClient) ConnectVSAN(ctx context.Context) error { +func (vc *vmwareVcenterClient) ConnectVSAN(ctx context.Context) error { vsanDriver, err := vsan.NewClient(ctx, vc.vimDriver) if err != nil { return err @@ -95,7 +93,7 @@ func (vc *VmwareVcenterClient) ConnectVSAN(ctx context.Context) error { return nil } -func (vc *VmwareVcenterClient) Clusters(ctx context.Context) ([]*object.ClusterComputeResource, error) { +func (vc *vmwareVcenterClient) Clusters(ctx context.Context) ([]*object.ClusterComputeResource, error) { clusters, err := vc.finder.ClusterComputeResourceList(ctx, "*") if err != nil { return []*object.ClusterComputeResource{}, err @@ -103,23 +101,7 @@ func (vc *VmwareVcenterClient) Clusters(ctx context.Context) ([]*object.ClusterC return clusters, nil } -func (vc *VmwareVcenterClient) Hosts(ctx context.Context) ([]*object.HostSystem, error) { - hss, err := vc.finder.HostSystemList(ctx, "*") - if err != nil { - return nil, fmt.Errorf("unable to retrieve host list %w", err) - } - return hss, nil -} - -func (vc *VmwareVcenterClient) DataStores(ctx context.Context) ([]*object.Datastore, error) { - dss, err := vc.finder.DatastoreList(ctx, "*") - if err != nil { - return nil, fmt.Errorf("unable to retrieve datastores %w", err) - } - return dss, err -} - -func (vc *VmwareVcenterClient) ResourcePools(ctx context.Context) ([]*object.ResourcePool, error) { +func (vc *vmwareVcenterClient) ResourcePools(ctx context.Context) ([]*object.ResourcePool, error) { rps, err := vc.finder.ResourcePoolList(ctx, "*") if err != nil { return nil, fmt.Errorf("unable to retrieve resource pools: %w", err) @@ -127,7 +109,7 @@ func (vc *VmwareVcenterClient) ResourcePools(ctx context.Context) ([]*object.Res return rps, err } -func (vc *VmwareVcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachine, error) { +func (vc *vmwareVcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachine, error) { rps, err := vc.finder.VirtualMachineList(ctx, "*") if err != nil { return nil, fmt.Errorf("unable to retrieve resource pools: %w", err) @@ -135,7 +117,7 @@ func (vc *VmwareVcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachin return rps, err } -func (vc *VmwareVcenterClient) CollectVSANCluster(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *vmwareVcenterClient) CollectVSANCluster(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { if vc.vsanDriver == nil { return nil, errors.New("vsan client not instantiated") } @@ -149,7 +131,7 @@ func (vc *VmwareVcenterClient) CollectVSANCluster(ctx context.Context, clusterRe return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *VmwareVcenterClient) CollectVSANHosts(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *vmwareVcenterClient) CollectVSANHosts(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { if vc.vsanDriver == nil { return nil, errors.New("vsan client not instantiated") } @@ -163,7 +145,7 @@ func (vc *VmwareVcenterClient) CollectVSANHosts(ctx context.Context, clusterRef return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *VmwareVcenterClient) CollectVSANVirtualMachine( +func (vc *vmwareVcenterClient) CollectVSANVirtualMachine( ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, @@ -183,23 +165,49 @@ func (vc *VmwareVcenterClient) CollectVSANVirtualMachine( return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *VmwareVcenterClient) PerformanceQuery( +type perfSampleResult struct { + counters map[string]*vt.PerfCounterInfo + results []performance.EntityMetric +} + +func (vc *vmwareVcenterClient) performanceQuery( ctx context.Context, - ent *vt.ManagedObjectReference, - specs []vt.PerfQuerySpec, - startTime time.Time, - endTime time.Time, -) ([]performance.EntityMetric, error) { + spec vt.PerfQuerySpec, + names []string, + objs []vt.ManagedObjectReference, +) (*perfSampleResult, error) { mgr := performance.NewManager(vc.vimDriver) - metrics, err := mgr.Query(ctx, specs) + mgr.Sort = true + if intervalID, ok := performance.Intervals[vc.cfg.MetricsConfig.PerformanceInterval]; ok { + spec.IntervalId = intervalID + } + sample, err := mgr.SampleByName(ctx, spec, names, objs) + if err != nil { + return nil, err + } + result, err := mgr.ToMetricSeries(ctx, sample) if err != nil { return nil, err } - return mgr.ToMetricSeries(ctx, metrics) + counterInfoByName, err := mgr.CounterInfoByName(ctx) + if err != nil { + return nil, err + } + return &perfSampleResult{ + counters: counterInfoByName, + results: result, + }, nil +} + +func (vc *vmwareVcenterClient) EntityName(e vt.ManagedObjectReference) string { + var me mo.ManagedEntity + mgr := performance.NewManager(vc.vimDriver) + _ = mgr.Properties(context.Background(), e, []string{"name"}, &me) + return me.Name } -func (vc *VmwareVcenterClient) queryVsan(ctx context.Context, ref *vt.ManagedObjectReference, qs []types.VsanPerfQuerySpec) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *vmwareVcenterClient) queryVsan(ctx context.Context, ref *vt.ManagedObjectReference, qs []types.VsanPerfQuerySpec) (*[]types.VsanPerfEntityMetricCSV, error) { CSVs, err := vc.vsanDriver.VsanPerfQueryPerf(ctx, ref, qs) if err != nil { return nil, err diff --git a/receiver/vmwarevcenterreceiver/client_test.go b/receiver/vmwarevcenterreceiver/client_test.go index e643fdade1fe6..44a9aa4ac580f 100644 --- a/receiver/vmwarevcenterreceiver/client_test.go +++ b/receiver/vmwarevcenterreceiver/client_test.go @@ -3,77 +3,48 @@ package vmwarevcenterreceiver import ( "context" "testing" - "time" "github.com/stretchr/testify/require" "github.com/vmware/govmomi/find" - "github.com/vmware/govmomi/performance" "github.com/vmware/govmomi/simulator" "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" ) -func TestSimulatorCluster(t *testing.T) { +func TestGetClusters(t *testing.T) { simulator.Test(func(ctx context.Context, c *vim25.Client) { finder := find.NewFinder(c) - pm := performance.NewManager(c) - // vsManager, err := vsan.NewClient(ctx, c) - // require.NoError(t, err) - - clusters, err := finder.ClusterComputeResourceList(ctx, "*") + client := vmwareVcenterClient{ + vimDriver: c, + finder: finder, + } + clusters, err := client.Clusters(ctx) require.NoError(t, err) require.NotEmpty(t, clusters, 0) + }) +} - for _, c := range clusters { - // cluster properties - var objC mo.ClusterComputeResource - c.Properties(ctx, c.Reference(), []string{"summary"}, &objC) - totalMem := objC.Summary.GetComputeResourceSummary().TotalMemory - require.Greater(t, totalMem, int64(0)) - - // host collection - hosts, err := c.Hosts(ctx) - require.NoError(t, err) - require.NotEmpty(t, hosts) - - // vsan Collection appeared to not work out of the box - // startTime := time.Now().Add(-10 * time.Minute) - // endTime := time.Now().Add(-1 * time.Minute) - // querySpec := []vsanTypes.VsanPerfQuerySpec{ - // { - // EntityRefId: "host-domclient:*", - // StartTime: &startTime, - // EndTime: &endTime, - // }, - // } - // cRef := c.Reference() - // results, err := vsManager.VsanPerfQueryPerf(ctx, &cRef, querySpec) - // require.NoError(t, err) - // require.NotEmpty(t, results) - - // datastores - dss, err := c.Datastores(ctx) - require.NoError(t, err) - for _, ds := range dss { - var moDS mo.Datastore - ds.Properties(ctx, ds.Reference(), []string{"summary"}, &moDS) - capacity := moDS.Summary.Capacity - require.Greater(t, capacity, int64(0)) +func TestGetResourcePools(t *testing.T) { + simulator.Test(func(ctx context.Context, c *vim25.Client) { + finder := find.NewFinder(c) + client := vmwareVcenterClient{ + vimDriver: c, + finder: finder, + } + resourcePools, err := client.ResourcePools(ctx) + require.NoError(t, err) + require.NotEmpty(t, resourcePools) + }) +} - qs := []types.PerfQuerySpec{} - startTime := time.Now().Add(-10 * time.Minute) - endTime := time.Now().Add(-1 * time.Minute) - qs = append(qs, types.PerfQuerySpec{ - Entity: ds.Reference(), - StartTime: &startTime, - EndTime: &endTime, - MetricId: []types.PerfMetricId{}, - }) - results, err := pm.Query(ctx, qs) - require.NoError(t, err) - require.NotEmpty(t, results) - } +func TestGetVMs(t *testing.T) { + simulator.Test(func(ctx context.Context, c *vim25.Client) { + finder := find.NewFinder(c) + client := vmwareVcenterClient{ + vimDriver: c, + finder: finder, } + vms, err := client.VMs(ctx) + require.NoError(t, err) + require.NotEmpty(t, vms) }) } diff --git a/receiver/vmwarevcenterreceiver/config.go b/receiver/vmwarevcenterreceiver/config.go index c8f2fce115525..6d2534699cf15 100644 --- a/receiver/vmwarevcenterreceiver/config.go +++ b/receiver/vmwarevcenterreceiver/config.go @@ -41,6 +41,7 @@ type MetricsConfig struct { Endpoint string `mapstructure:"endpoint"` Username string `mapstructure:"username"` Password string `mapstructure:"password"` + PerformanceInterval string `mapstructure:"performance_interval"` } type LoggingConfig struct { @@ -89,6 +90,17 @@ func (c *Config) validateMetricsConfig() error { err = multierr.Append(err, fmt.Errorf("error loading tls configuration: %w", tlsErr)) } + // var validIntervalKey bool = false + // for k, _ := range performance.Intervals { + // if k == mc.PerformanceInterval { + // validIntervalKey = true + // break + // } + // } + // if !validIntervalKey { + // err = multierr.Append(err, errors.New("")) + // } + return err } diff --git a/receiver/vmwarevcenterreceiver/documentation.md b/receiver/vmwarevcenterreceiver/documentation.md index a3f05d4a1e055..7c95bddbb264e 100644 --- a/receiver/vmwarevcenterreceiver/documentation.md +++ b/receiver/vmwarevcenterreceiver/documentation.md @@ -25,12 +25,13 @@ These are the metrics available for this scraper. | **vcenter.datastore.disk.utilization** | The utilization of the datastore | % | Gauge(Double) |
| | **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host | MHz | Sum(Int) |
| | **vcenter.host.cpu.utilization** | The CPU utilization of the host system | % | Gauge(Double) |
| -| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk | ms | Sum(Int) |
  • latency_type
| +| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Sum(Int) |
  • latency_type
| +| **vcenter.host.disk.latency.max** | The highest reported total latency (device and kernel times) | ms | Sum(Int) |
| | **vcenter.host.disk.throughput** | The throughput to the host system's disk | By/s | Sum(Int) |
| | **vcenter.host.memory.usage** | The amount of memory the host system is using | MBy | Sum(Int) |
| | **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized | % | Gauge(Double) |
| -| **vcenter.host.network.packets** | The number of packets sent over an interval | {packets/sec} | Sum(Int) |
| -| **vcenter.host.network.throughput** | The amount of data that was sent or recieved over the network by the host | {By/s} | Sum(Int) |
  • throughput_direction
| +| **vcenter.host.network.packets** | The number of packets sent over an interval | {packets/sec} | Sum(Int) |
  • throughput_direction
| +| **vcenter.host.network.throughput** | The amount of data that was sent or recieved over the network by the host | {KBy/s} | Sum(Int) |
| | **vcenter.host.vsan.cache.hit_rate** | Percentage of read IOs which could be satisfied by the local client cache | % | Gauge(Double) |
| | **vcenter.host.vsan.cache.reads** | Average latency of IOs generated by all vSAN clients on the host | {operations/sec} | Sum(Int) |
| | **vcenter.host.vsan.congestions** | Congestions of IOs generated by all vSAN clients on the host | {congestions/sec} | Sum(Int) |
| @@ -43,7 +44,8 @@ These are the metrics available for this scraper. | **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
| | **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool | MBy | Sum(Int) |
| | **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine | % | Gauge(Double) |
| -| **vcenter.vm.disk.latency** | The latency of operations to the virtual machine's disk | µs | Sum(Int) |
  • latency_type
| +| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | µs | Sum(Int) |
  • latency_type
| +| **vcenter.vm.disk.latency.max** | The highest reported total latency (device and kernel times) | ms | Sum(Int) |
| | **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk | By/sec | Sum(Int) |
| | **vcenter.vm.disk.usage** | The amount of storage space the virtual machine is using | By | Sum(Int) |
  • disk_state
| | **vcenter.vm.disk.utilization** | The utilization of storage on the virtual machine | % | Gauge(Double) |
| diff --git a/receiver/vmwarevcenterreceiver/e2e_test.go b/receiver/vmwarevcenterreceiver/e2e_test.go index 7114b3a221926..e291aa25858ea 100644 --- a/receiver/vmwarevcenterreceiver/e2e_test.go +++ b/receiver/vmwarevcenterreceiver/e2e_test.go @@ -5,17 +5,44 @@ import ( "testing" "github.com/stretchr/testify/require" - vmTest "github.com/vmware/govmomi/test" + "github.com/vmware/govmomi" + "github.com/vmware/govmomi/session" + "github.com/vmware/govmomi/simulator" + "github.com/vmware/govmomi/vim25" + "go.opentelemetry.io/collector/component/componenttest" + "go.opentelemetry.io/collector/config/configtls" + "go.uber.org/zap" ) func TestEndtoEnd(t *testing.T) { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - driver := vmTest.NewAuthenticatedClient(t) - client := VmwareVcenterClient{ - vimDriver: driver, - } - clusters, err := client.Clusters(ctx) - require.NoError(t, err) - require.Greater(t, len(clusters), 0) + sim := simulator.ESX() + defer sim.Remove() + + sim.Run(func(ctx context.Context, c *vim25.Client) error { + cfg := &Config{ + MetricsConfig: &MetricsConfig{ + TLSClientSetting: configtls.TLSClientSetting{ + Insecure: true, + }, + }, + } + s := session.NewManager(c) + + scraper := newVmwareVcenterScraper(zap.NewNop(), cfg) + scraper.client.moClient = &govmomi.Client{ + Client: c, + SessionManager: s, + } + rcvr := &vcenterReceiver{ + config: cfg, + scraper: scraper, + } + + err := rcvr.Start(ctx, componenttest.NewNopHost()) + require.NoError(t, err) + + err = rcvr.Shutdown(ctx) + require.NoError(t, err) + return nil + }) } diff --git a/receiver/vmwarevcenterreceiver/factory.go b/receiver/vmwarevcenterreceiver/factory.go index cde3e00d6d011..59aaf59ed1208 100644 --- a/receiver/vmwarevcenterreceiver/factory.go +++ b/receiver/vmwarevcenterreceiver/factory.go @@ -60,11 +60,12 @@ func createDefaultConfig() config.Receiver { ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), CollectionInterval: 5 * time.Minute, }, - TLSClientSetting: configtls.TLSClientSetting{}, - Metrics: metadata.DefaultMetricsSettings(), - Endpoint: "", - Username: "", - Password: "", + TLSClientSetting: configtls.TLSClientSetting{}, + Metrics: metadata.DefaultMetricsSettings(), + Endpoint: "", + Username: "", + Password: "", + PerformanceInterval: "real", }, LoggingConfig: &LoggingConfig{ SysLogConfig: syslog, diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go b/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go deleted file mode 100644 index abfab0cea755f..0000000000000 --- a/receiver/vmwarevcenterreceiver/internal/metadata/emitters.go +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright The OpenTelemetry Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package metadata - -func (mb *MetricsBuilder) EmitVM(vmName, vmID, powerstate string) { - mb.EmitForResource( - WithVcenterVMName(vmName), - WithVcenterVMID(vmID), - WithVcenterVMPowerState(powerstate), - ) -} - -func (mb *MetricsBuilder) EmitHost(hostname string) { - mb.EmitForResource(WithVcenterHostName(hostname)) -} - -func (mb *MetricsBuilder) EmitResourcePool(poolName string) { - mb.EmitForResource(WithVcenterResourcePoolName(poolName)) -} - -func (mb *MetricsBuilder) EmitDatastore(datastoreName string) { - mb.EmitForResource(WithVcenterDatastoreName(datastoreName)) -} - -func (mb *MetricsBuilder) EmitDatacenter(dcName string) { - mb.EmitForResource(WithVcenterDatacenterName(dcName)) -} - -func (mb *MetricsBuilder) EmitCluster(clusterName string) { - mb.EmitForResource(WithVcenterClusterName(clusterName)) -} diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go index 03f537ee8cda4..a31d1e7eb39db 100644 --- a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -33,6 +33,7 @@ type MetricsSettings struct { VcenterHostCPUUsage MetricSettings `mapstructure:"vcenter.host.cpu.usage"` VcenterHostCPUUtilization MetricSettings `mapstructure:"vcenter.host.cpu.utilization"` VcenterHostDiskLatencyAvg MetricSettings `mapstructure:"vcenter.host.disk.latency.avg"` + VcenterHostDiskLatencyMax MetricSettings `mapstructure:"vcenter.host.disk.latency.max"` VcenterHostDiskThroughput MetricSettings `mapstructure:"vcenter.host.disk.throughput"` VcenterHostMemoryUsage MetricSettings `mapstructure:"vcenter.host.memory.usage"` VcenterHostMemoryUtilization MetricSettings `mapstructure:"vcenter.host.memory.utilization"` @@ -50,7 +51,8 @@ type MetricsSettings struct { VcenterResourcePoolMemoryShares MetricSettings `mapstructure:"vcenter.resource_pool.memory.shares"` VcenterResourcePoolMemoryUsage MetricSettings `mapstructure:"vcenter.resource_pool.memory.usage"` VcenterVMCPUUtilization MetricSettings `mapstructure:"vcenter.vm.cpu.utilization"` - VcenterVMDiskLatency MetricSettings `mapstructure:"vcenter.vm.disk.latency"` + VcenterVMDiskLatencyAvg MetricSettings `mapstructure:"vcenter.vm.disk.latency.avg"` + VcenterVMDiskLatencyMax MetricSettings `mapstructure:"vcenter.vm.disk.latency.max"` VcenterVMDiskThroughput MetricSettings `mapstructure:"vcenter.vm.disk.throughput"` VcenterVMDiskUsage MetricSettings `mapstructure:"vcenter.vm.disk.usage"` VcenterVMDiskUtilization MetricSettings `mapstructure:"vcenter.vm.disk.utilization"` @@ -120,6 +122,9 @@ func DefaultMetricsSettings() MetricsSettings { VcenterHostDiskLatencyAvg: MetricSettings{ Enabled: true, }, + VcenterHostDiskLatencyMax: MetricSettings{ + Enabled: true, + }, VcenterHostDiskThroughput: MetricSettings{ Enabled: true, }, @@ -171,7 +176,10 @@ func DefaultMetricsSettings() MetricsSettings { VcenterVMCPUUtilization: MetricSettings{ Enabled: true, }, - VcenterVMDiskLatency: MetricSettings{ + VcenterVMDiskLatencyAvg: MetricSettings{ + Enabled: true, + }, + VcenterVMDiskLatencyMax: MetricSettings{ Enabled: true, }, VcenterVMDiskThroughput: MetricSettings{ @@ -1090,7 +1098,7 @@ type metricVcenterHostDiskLatencyAvg struct { // init fills vcenter.host.disk.latency.avg metric with initial data. func (m *metricVcenterHostDiskLatencyAvg) init() { m.data.SetName("vcenter.host.disk.latency.avg") - m.data.SetDescription("The latency of operations to the host system's disk") + m.data.SetDescription("The latency of operations to the host system's disk.") m.data.SetUnit("ms") m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -1134,6 +1142,57 @@ func newMetricVcenterHostDiskLatencyAvg(settings MetricSettings) metricVcenterHo return m } +type metricVcenterHostDiskLatencyMax struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.disk.latency.max metric with initial data. +func (m *metricVcenterHostDiskLatencyMax) init() { + m.data.SetName("vcenter.host.disk.latency.max") + m.data.SetDescription("The highest reported total latency (device and kernel times)") + m.data.SetUnit("ms") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) +} + +func (m *metricVcenterHostDiskLatencyMax) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostDiskLatencyMax) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostDiskLatencyMax) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostDiskLatencyMax(settings MetricSettings) metricVcenterHostDiskLatencyMax { + m := metricVcenterHostDiskLatencyMax{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + type metricVcenterHostDiskThroughput struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -1299,9 +1358,10 @@ func (m *metricVcenterHostNetworkPackets) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1309,6 +1369,7 @@ func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) + dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1346,14 +1407,13 @@ type metricVcenterHostNetworkThroughput struct { func (m *metricVcenterHostNetworkThroughput) init() { m.data.SetName("vcenter.host.network.throughput") m.data.SetDescription("The amount of data that was sent or recieved over the network by the host") - m.data.SetUnit("{By/s}") + m.data.SetUnit("{KBy/s}") m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1361,7 +1421,6 @@ func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2003,15 +2062,15 @@ func newMetricVcenterVMCPUUtilization(settings MetricSettings) metricVcenterVMCP return m } -type metricVcenterVMDiskLatency struct { +type metricVcenterVMDiskLatencyAvg struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.vm.disk.latency metric with initial data. -func (m *metricVcenterVMDiskLatency) init() { - m.data.SetName("vcenter.vm.disk.latency") +// init fills vcenter.vm.disk.latency.avg metric with initial data. +func (m *metricVcenterVMDiskLatencyAvg) init() { + m.data.SetName("vcenter.vm.disk.latency.avg") m.data.SetDescription("The latency of operations to the virtual machine's disk") m.data.SetUnit("µs") m.data.SetDataType(pdata.MetricDataTypeSum) @@ -2020,7 +2079,7 @@ func (m *metricVcenterVMDiskLatency) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskLatency) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { +func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -2032,14 +2091,14 @@ func (m *metricVcenterVMDiskLatency) recordDataPoint(start pdata.Timestamp, ts p } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterVMDiskLatency) updateCapacity() { +func (m *metricVcenterVMDiskLatencyAvg) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMDiskLatency) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMDiskLatencyAvg) emit(metrics pdata.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2047,8 +2106,59 @@ func (m *metricVcenterVMDiskLatency) emit(metrics pdata.MetricSlice) { } } -func newMetricVcenterVMDiskLatency(settings MetricSettings) metricVcenterVMDiskLatency { - m := metricVcenterVMDiskLatency{settings: settings} +func newMetricVcenterVMDiskLatencyAvg(settings MetricSettings) metricVcenterVMDiskLatencyAvg { + m := metricVcenterVMDiskLatencyAvg{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + +type metricVcenterVMDiskLatencyMax struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.vm.disk.latency.max metric with initial data. +func (m *metricVcenterVMDiskLatencyMax) init() { + m.data.SetName("vcenter.vm.disk.latency.max") + m.data.SetDescription("The highest reported total latency (device and kernel times)") + m.data.SetUnit("ms") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) +} + +func (m *metricVcenterVMDiskLatencyMax) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterVMDiskLatencyMax) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterVMDiskLatencyMax) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterVMDiskLatencyMax(settings MetricSettings) metricVcenterVMDiskLatencyMax { + m := metricVcenterVMDiskLatencyMax{settings: settings} if settings.Enabled { m.data = pdata.NewMetric() m.init() @@ -2646,6 +2756,7 @@ type MetricsBuilder struct { metricVcenterHostCPUUsage metricVcenterHostCPUUsage metricVcenterHostCPUUtilization metricVcenterHostCPUUtilization metricVcenterHostDiskLatencyAvg metricVcenterHostDiskLatencyAvg + metricVcenterHostDiskLatencyMax metricVcenterHostDiskLatencyMax metricVcenterHostDiskThroughput metricVcenterHostDiskThroughput metricVcenterHostMemoryUsage metricVcenterHostMemoryUsage metricVcenterHostMemoryUtilization metricVcenterHostMemoryUtilization @@ -2663,7 +2774,8 @@ type MetricsBuilder struct { metricVcenterResourcePoolMemoryShares metricVcenterResourcePoolMemoryShares metricVcenterResourcePoolMemoryUsage metricVcenterResourcePoolMemoryUsage metricVcenterVMCPUUtilization metricVcenterVMCPUUtilization - metricVcenterVMDiskLatency metricVcenterVMDiskLatency + metricVcenterVMDiskLatencyAvg metricVcenterVMDiskLatencyAvg + metricVcenterVMDiskLatencyMax metricVcenterVMDiskLatencyMax metricVcenterVMDiskThroughput metricVcenterVMDiskThroughput metricVcenterVMDiskUsage metricVcenterVMDiskUsage metricVcenterVMDiskUtilization metricVcenterVMDiskUtilization @@ -2709,6 +2821,7 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) metricVcenterHostCPUUsage: newMetricVcenterHostCPUUsage(settings.VcenterHostCPUUsage), metricVcenterHostCPUUtilization: newMetricVcenterHostCPUUtilization(settings.VcenterHostCPUUtilization), metricVcenterHostDiskLatencyAvg: newMetricVcenterHostDiskLatencyAvg(settings.VcenterHostDiskLatencyAvg), + metricVcenterHostDiskLatencyMax: newMetricVcenterHostDiskLatencyMax(settings.VcenterHostDiskLatencyMax), metricVcenterHostDiskThroughput: newMetricVcenterHostDiskThroughput(settings.VcenterHostDiskThroughput), metricVcenterHostMemoryUsage: newMetricVcenterHostMemoryUsage(settings.VcenterHostMemoryUsage), metricVcenterHostMemoryUtilization: newMetricVcenterHostMemoryUtilization(settings.VcenterHostMemoryUtilization), @@ -2726,7 +2839,8 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) metricVcenterResourcePoolMemoryShares: newMetricVcenterResourcePoolMemoryShares(settings.VcenterResourcePoolMemoryShares), metricVcenterResourcePoolMemoryUsage: newMetricVcenterResourcePoolMemoryUsage(settings.VcenterResourcePoolMemoryUsage), metricVcenterVMCPUUtilization: newMetricVcenterVMCPUUtilization(settings.VcenterVMCPUUtilization), - metricVcenterVMDiskLatency: newMetricVcenterVMDiskLatency(settings.VcenterVMDiskLatency), + metricVcenterVMDiskLatencyAvg: newMetricVcenterVMDiskLatencyAvg(settings.VcenterVMDiskLatencyAvg), + metricVcenterVMDiskLatencyMax: newMetricVcenterVMDiskLatencyMax(settings.VcenterVMDiskLatencyMax), metricVcenterVMDiskThroughput: newMetricVcenterVMDiskThroughput(settings.VcenterVMDiskThroughput), metricVcenterVMDiskUsage: newMetricVcenterVMDiskUsage(settings.VcenterVMDiskUsage), metricVcenterVMDiskUtilization: newMetricVcenterVMDiskUtilization(settings.VcenterVMDiskUtilization), @@ -2845,6 +2959,7 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { mb.metricVcenterHostCPUUsage.emit(ils.Metrics()) mb.metricVcenterHostCPUUtilization.emit(ils.Metrics()) mb.metricVcenterHostDiskLatencyAvg.emit(ils.Metrics()) + mb.metricVcenterHostDiskLatencyMax.emit(ils.Metrics()) mb.metricVcenterHostDiskThroughput.emit(ils.Metrics()) mb.metricVcenterHostMemoryUsage.emit(ils.Metrics()) mb.metricVcenterHostMemoryUtilization.emit(ils.Metrics()) @@ -2862,7 +2977,8 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { mb.metricVcenterResourcePoolMemoryShares.emit(ils.Metrics()) mb.metricVcenterResourcePoolMemoryUsage.emit(ils.Metrics()) mb.metricVcenterVMCPUUtilization.emit(ils.Metrics()) - mb.metricVcenterVMDiskLatency.emit(ils.Metrics()) + mb.metricVcenterVMDiskLatencyAvg.emit(ils.Metrics()) + mb.metricVcenterVMDiskLatencyMax.emit(ils.Metrics()) mb.metricVcenterVMDiskThroughput.emit(ils.Metrics()) mb.metricVcenterVMDiskUsage.emit(ils.Metrics()) mb.metricVcenterVMDiskUtilization.emit(ils.Metrics()) @@ -2980,6 +3096,11 @@ func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pdata.Time mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyTypeAttributeValue) } +// RecordVcenterHostDiskLatencyMaxDataPoint adds a data point to vcenter.host.disk.latency.max metric. +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyMaxDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterHostDiskLatencyMax.recordDataPoint(mb.startTime, ts, val) +} + // RecordVcenterHostDiskThroughputDataPoint adds a data point to vcenter.host.disk.throughput metric. func (mb *MetricsBuilder) RecordVcenterHostDiskThroughputDataPoint(ts pdata.Timestamp, val int64) { mb.metricVcenterHostDiskThroughput.recordDataPoint(mb.startTime, ts, val) @@ -2996,13 +3117,13 @@ func (mb *MetricsBuilder) RecordVcenterHostMemoryUtilizationDataPoint(ts pdata.T } // RecordVcenterHostNetworkPacketsDataPoint adds a data point to vcenter.host.network.packets metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketsDataPoint(ts pdata.Timestamp, val int64) { - mb.metricVcenterHostNetworkPackets.recordDataPoint(mb.startTime, ts, val) +func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { + mb.metricVcenterHostNetworkPackets.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterHostNetworkThroughputDataPoint adds a data point to vcenter.host.network.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { - mb.metricVcenterHostNetworkThroughput.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterHostNetworkThroughput.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanCacheHitRateDataPoint adds a data point to vcenter.host.vsan.cache.hit_rate metric. @@ -3065,9 +3186,14 @@ func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pdata.Timest mb.metricVcenterVMCPUUtilization.recordDataPoint(mb.startTime, ts, val) } -// RecordVcenterVMDiskLatencyDataPoint adds a data point to vcenter.vm.disk.latency metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyDataPoint(ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { - mb.metricVcenterVMDiskLatency.recordDataPoint(mb.startTime, ts, val, latencyTypeAttributeValue) +// RecordVcenterVMDiskLatencyAvgDataPoint adds a data point to vcenter.vm.disk.latency.avg metric. +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { + mb.metricVcenterVMDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyTypeAttributeValue) +} + +// RecordVcenterVMDiskLatencyMaxDataPoint adds a data point to vcenter.vm.disk.latency.max metric. +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyMaxDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterVMDiskLatencyMax.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMDiskThroughputDataPoint adds a data point to vcenter.vm.disk.throughput metric. diff --git a/receiver/vmwarevcenterreceiver/metadata.yaml b/receiver/vmwarevcenterreceiver/metadata.yaml index fd8510b428527..60007e08da1fe 100644 --- a/receiver/vmwarevcenterreceiver/metadata.yaml +++ b/receiver/vmwarevcenterreceiver/metadata.yaml @@ -225,13 +225,23 @@ metrics: attributes: [] vcenter.host.disk.latency.avg: enabled: true - description: The latency of operations to the host system's disk + description: The latency of operations to the host system's disk. unit: ms sum: monotonic: false value_type: int aggregation: cumulative attributes: [latency_type] + extended_documentation: This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. + vcenter.host.disk.latency.max: + enabled: true + description: The highest reported total latency (device and kernel times) + unit: ms + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [] vcenter.host.memory.utilization: enabled: true description: The percentage of the host system's memory capacity that is being utilized @@ -251,12 +261,12 @@ metrics: vcenter.host.network.throughput: enabled: true description: The amount of data that was sent or recieved over the network by the host - unit: "{By/s}" + unit: "{KBy/s}" sum: monotonic: false value_type: int aggregation: cumulative - attributes: [throughput_direction] + attributes: [] vcenter.host.network.packets: enabled: true description: The number of packets sent over an interval @@ -265,7 +275,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [] + attributes: [throughput_direction] vcenter.host.vsan.throughput: enabled: true description: Throughput consumed by all vSAN clients on the host. @@ -404,7 +414,7 @@ metrics: gauge: value_type: double attributes: [] - vcenter.vm.disk.latency: + vcenter.vm.disk.latency.avg: enabled: true description: The latency of operations to the virtual machine's disk unit: µs @@ -413,6 +423,16 @@ metrics: value_type: int aggregation: cumulative attributes: [latency_type] + extended_documentation: This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. + vcenter.vm.disk.latency.max: + enabled: true + description: The highest reported total latency (device and kernel times) + unit: ms + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [] vcenter.vm.disk.throughput: enabled: true description: The throughput of the virtual machine's disk diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index 8c30b8faf7230..d3efcdf4f1e78 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -68,89 +68,113 @@ func (v *vcenterMetricScraper) recordResourcePool( now pdata.Timestamp, rp mo.ResourcePool, ) { - s := rp.Summary - v.mb.RecordVcenterResourcePoolCPUUsageDataPoint(now, s.GetResourcePoolSummary().QuickStats.OverallCpuUsage) - v.mb.RecordVcenterResourcePoolCPUSharesDataPoint(now, int64(s.GetResourcePoolSummary().Config.CpuAllocation.Shares.Shares)) - v.mb.RecordVcenterResourcePoolMemorySharesDataPoint(now, int64(s.GetResourcePoolSummary().Config.MemoryAllocation.Shares.Shares)) - v.mb.RecordVcenterResourcePoolMemoryUsageDataPoint(now, s.GetResourcePoolSummary().QuickStats.GuestMemoryUsage) + s := rp.Summary.GetResourcePoolSummary() + if s.QuickStats != nil { + v.mb.RecordVcenterResourcePoolCPUUsageDataPoint(now, s.QuickStats.OverallCpuUsage) + v.mb.RecordVcenterResourcePoolMemoryUsageDataPoint(now, s.QuickStats.GuestMemoryUsage) + } + + v.mb.RecordVcenterResourcePoolCPUSharesDataPoint(now, int64(s.Config.CpuAllocation.Shares.Shares)) + v.mb.RecordVcenterResourcePoolMemorySharesDataPoint(now, int64(s.Config.MemoryAllocation.Shares.Shares)) + +} + +var hostPerfMetricList = []string{ + "net.bytesTx.average", + "net.droppedRx.summation", + "net.droppedTx.summation", + "net.bytesRx.average", + "net.usage.average", + "virtualDisk.totalWriteLatency.average", } func (v *vcenterMetricScraper) recordHostPerformanceMetrics( ctx context.Context, host mo.HostSystem, - startTime time.Time, - endTime time.Time, errs *scrapererror.ScrapeErrors, ) { - specs := []types.PerfQuerySpec{ - { - Entity: host.Reference(), - MetricId: []types.PerfMetricId{}, - StartTime: &startTime, - EndTime: &endTime, - Format: "normal", - }, + st := time.Now().Add(-5 * time.Minute) + et := time.Now().Add(-1 * time.Minute) + spec := types.PerfQuerySpec{ + Entity: host.Reference(), + MaxSample: 5, + Format: string(types.PerfFormatNormal), + MetricId: []types.PerfMetricId{{Instance: "*"}}, + // right now we are only grabbing real time metrics from the performance + // manager + StartTime: &st, + EndTime: &et, } - hostRef := host.Reference() - metrics, err := v.client.PerformanceQuery(ctx, &hostRef, specs, startTime, endTime) + info, err := v.client.performanceQuery(ctx, spec, hostPerfMetricList, []types.ManagedObjectReference{host.Reference()}) if err != nil { errs.AddPartial(1, err) return } - v.processHostPerformance(metrics) + v.processHostPerformance(info.results) +} + +var vmPerfMetricList = []string{ + // network metrics + "net.packetsTx.summation", + "net.packetsRx.summation", + "net.bytesRx.average", + "net.bytesTx.average", + "net.usage.average", + + // disk metrics + "disk.write.average", + + "disk.totalWriteLatency.average", + "virtualDisk.totalWriteLatency.average", } func (v *vcenterMetricScraper) recordVMPerformance( ctx context.Context, vm mo.VirtualMachine, - startTime time.Time, - endTime time.Time, errs *scrapererror.ScrapeErrors, ) { - specs := []types.PerfQuerySpec{ - { - Entity: vm.Reference(), - MetricId: []types.PerfMetricId{ - { - CounterId: 0, - Instance: "", - }, - }, - StartTime: &startTime, - EndTime: &endTime, - Format: "normal", - }, + spec := types.PerfQuerySpec{ + Entity: vm.Reference(), + Format: string(types.PerfFormatNormal), + // Just grabbing real time performance metrics of the current + // supported metrics by this receiver. If more are added we may need + // a system of changin this to 5 minute interval per metric + IntervalId: int32(20), } - vmRef := vm.Reference() - metrics, err := v.client.PerformanceQuery(ctx, &vmRef, specs, startTime, endTime) + + info, err := v.client.performanceQuery(ctx, spec, vmPerfMetricList, []types.ManagedObjectReference{vm.Reference()}) if err != nil { errs.AddPartial(1, err) return } - v.processVMPerformanceMetrics(metrics) + + v.processVMPerformanceMetrics(info) } -func (v *vcenterMetricScraper) processVMPerformanceMetrics(metrics []performance.EntityMetric) { - for _, m := range metrics { - for i := 0; i < len(m.SampleInfo); i++ { - val := m.Value[i] - si := m.SampleInfo[i] - switch strings.ToLower(val.Name) { - // Performance monitoring level 1 metrics - case "net.bytesTx.average": - v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "transmitted") - case "net.bytesRx.average": - v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "received") - case "cpu.usage.average": - case "net.usage.average": - v.mb.RecordVcenterVMNetworkUsageDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i]) - case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": - v.mb.RecordVcenterVMDiskLatencyDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "read") - case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": - v.mb.RecordVcenterVMDiskLatencyDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "write") - // Performance monitoring level 2 metrics - case "": +func (v *vcenterMetricScraper) processVMPerformanceMetrics(info *perfSampleResult) { + for _, m := range info.results { + for _, val := range m.Value { + for j, nestedValue := range val.Value { + si := m.SampleInfo[j] + switch strings.ToLower(val.Name) { + // Performance monitoring level 1 metrics + case "net.bytesTx.average": + v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + case "net.bytesRx.average": + v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + case "cpu.usage.average": + case "net.usage.average": + v.mb.RecordVcenterVMNetworkUsageDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) + case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": + v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "read") + case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": + v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") + case "disk.maxTotalLatency": + v.mb.RecordVcenterVMDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) + // Performance monitoring level 2 metrics + case "": + } } } @@ -159,23 +183,26 @@ func (v *vcenterMetricScraper) processVMPerformanceMetrics(metrics []performance func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.EntityMetric) { for _, m := range metrics { - for i := 0; i < len(m.SampleInfo); i++ { - val := m.Value[i] - si := m.SampleInfo[i] - switch strings.ToLower(val.Name) { - // Performance monitoring level 1 metrics - case "net.bytesTx.average": - v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "transmitted") - case "net.bytesRx.average": - v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "received") - case "cpu.usage.average": - - case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": - v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "read") - case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": - v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), val.Value[i], "write") - // Performance monitoring level 2 metrics - // + for _, val := range m.Value { + for j, nestedValue := range val.Value { + si := m.SampleInfo[j] + switch strings.ToLower(val.Name) { + // Performance monitoring level 1 metrics + case "net.usage.average": + v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) + case "net.packetsTx.summation": + v.mb.RecordVcenterHostNetworkPacketsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + case "net.packetsRx.summation": + v.mb.RecordVcenterHostNetworkPacketsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "read") + case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") + // Performance monitoring level 2 metrics + // + case "disk.totalLatency.average": + v.mb.RecordVcenterHostDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) + } } } } diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go index cee68e7a92b19..ce3b506e305d8 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -38,8 +38,9 @@ const timeFormat = "2006-01-02 15:04:05" var _ component.Receiver = (*vcenterMetricScraper)(nil) type vcenterMetricScraper struct { - client *VmwareVcenterClient + client *vmwareVcenterClient mb *metadata.MetricsBuilder + logger *zap.Logger vsanEnabled bool } @@ -47,10 +48,10 @@ func newVmwareVcenterScraper( logger *zap.Logger, config *Config, ) *vcenterMetricScraper { - l := logger.Named("vcenter-client") - client := newVmwarevcenterClient(config, l) + client := newVmwarevcenterClient(config) return &vcenterMetricScraper{ client: client, + logger: logger, mb: metadata.NewMetricsBuilder(config.MetricsConfig.Metrics), vsanEnabled: true, } @@ -73,7 +74,6 @@ func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error err := v.client.ConnectVSAN(ctx) if err != nil { // vsan is not required for a proper collection - errs.AddPartial(1, err) v.vsanEnabled = false } v.collectClusters(ctx, errs) @@ -109,15 +109,20 @@ func (v *vcenterMetricScraper) collectCluster( s := moCluster.Summary.GetComputeResourceSummary() v.mb.RecordVcenterClusterCPUAvailableDataPoint(now, int64(s.TotalCpu)) - mor := c.Reference() - csvs, err := v.client.CollectVSANCluster(ctx, &mor, time.Now().UTC(), time.Now().UTC()) - if err != nil { - errs.AddPartial(1, err) - } - if csvs != nil { - v.addVSANMetrics(*csvs, "*", clusterType, errs) + if v.vsanEnabled { + mor := c.Reference() + csvs, err := v.client.CollectVSANCluster(ctx, &mor, time.Now().UTC(), time.Now().UTC()) + if err != nil { + errs.AddPartial(1, err) + } + if csvs != nil { + v.addVSANMetrics(*csvs, "*", clusterType, errs) + } } - v.mb.EmitCluster(c.Name()) + + v.mb.EmitForResource( + metadata.WithVcenterClusterName(c.Name()), + ) } func (v *vcenterMetricScraper) collectDatastores( @@ -146,7 +151,9 @@ func (v *vcenterMetricScraper) collectDatastore( ds.Properties(ctx, ds.Reference(), []string{"summary", "name"}, &moDS) v.recordDatastoreProperties(now, moDS) - v.mb.EmitDatastore(moDS.Name) + v.mb.EmitForResource( + metadata.WithVcenterDatastoreName(moDS.Name), + ) } func (v *vcenterMetricScraper) collectHosts( @@ -172,7 +179,9 @@ func (v *vcenterMetricScraper) collectHosts( for _, h := range hosts { v.collectHost(ctx, colTime, h, hostVsanCSVs, errs) - v.mb.EmitHost(h.Name()) + v.mb.EmitForResource( + metadata.WithVcenterHostName(h.Name()), + ) } } @@ -196,7 +205,7 @@ func (v *vcenterMetricScraper) collectHost( return } v.recordHostSystemMemoryUsage(now, hwSum) - v.recordHostPerformanceMetrics(ctx, hwSum, time.Now().Add(-15*time.Minute).UTC(), time.Now().Add(-5*time.Minute).UTC(), errs) + v.recordHostPerformanceMetrics(ctx, hwSum, errs) if vsanCsvs != nil { entityRef := fmt.Sprintf("host-domclient:%v", hwSum.Config.VsanHostConfig.ClusterInfo.NodeUuid, @@ -223,7 +232,7 @@ func (v *vcenterMetricScraper) collectResourcePools( "name", }, &moRP) v.recordResourcePool(ts, moRP) - v.mb.EmitResourcePool(rp.Name()) + v.mb.EmitForResource(metadata.WithVcenterResourcePoolName(rp.Name())) } } @@ -266,7 +275,11 @@ func (v *vcenterMetricScraper) collectVMs( ps := string(moVM.Runtime.PowerState) v.collectVM(ctx, colTime, moVM, entityRefID, vsanCsvs, errs) - v.mb.EmitVM(vm.Name(), vmUUID, ps) + v.mb.EmitForResource( + metadata.WithVcenterVMName(vm.Name()), + metadata.WithVcenterVMID(vmUUID), + metadata.WithVcenterVMPowerState(ps), + ) } } @@ -280,14 +293,7 @@ func (v *vcenterMetricScraper) collectVM( errs *scrapererror.ScrapeErrors, ) { v.recordVMUsages(colTime, vm) - v.recordVMPerformance(ctx, - vm, - // start time - time.Now().Add(-15*time.Minute).UTC(), - // end time - time.Now().Add(-5*time.Minute).UTC(), - errs, - ) + v.recordVMPerformance(ctx, vm, errs) if vsanCsvs != nil { v.addVSANMetrics(*vsanCsvs, entityRefID, vmType, errs) diff --git a/receiver/vmwarevcenterreceiver/scraper_test.go b/receiver/vmwarevcenterreceiver/scraper_test.go index 31234f813123f..ef100c3f32fd1 100644 --- a/receiver/vmwarevcenterreceiver/scraper_test.go +++ b/receiver/vmwarevcenterreceiver/scraper_test.go @@ -5,23 +5,36 @@ import ( "testing" "github.com/stretchr/testify/require" - vmTest "github.com/vmware/govmomi/test" - "go.opentelemetry.io/collector/receiver/scrapererror" -) - -func TestStart(t *testing.T) { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() + "github.com/vmware/govmomi" + "github.com/vmware/govmomi/find" + "github.com/vmware/govmomi/session" + "github.com/vmware/govmomi/simulator" + "github.com/vmware/govmomi/vim25" + "go.uber.org/zap" - driver := vmTest.NewAuthenticatedClient(t) - client := VmwareVcenterClient{ - vimDriver: driver, - } - s := vcenterMetricScraper{ - client: &client, - } - errs := scrapererror.ScrapeErrors{} - s.collectClusters(ctx, &errs) + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" +) - require.NoError(t, errs.Combine()) +func TestScrape_NoVsan(t *testing.T) { + simulator.Test(func(ctx context.Context, c *vim25.Client) { + finder := find.NewFinder(c) + client := &vmwareVcenterClient{ + cfg: NewFactory().CreateDefaultConfig().(*Config), + moClient: &govmomi.Client{ + SessionManager: session.NewManager(c), + Client: c, + }, + vimDriver: c, + finder: finder, + } + scraper := &vcenterMetricScraper{ + client: client, + mb: metadata.NewMetricsBuilder(metadata.DefaultMetricsSettings()), + logger: zap.NewNop(), + vsanEnabled: false, + } + metrics, err := scraper.scrape(ctx) + require.NoError(t, err) + require.NotEqual(t, metrics.MetricCount(), 0) + }) } From 4f4aeb6d290b0c0e60dff900f935e2915d2f0abf Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 09:04:34 -0400 Subject: [PATCH 008/105] remove unneccessary component addition --- go.mod | 4 ---- go.sum | 5 ----- internal/components/components.go | 2 -- 3 files changed, 11 deletions(-) diff --git a/go.mod b/go.mod index c12a60a98025c..a231b29747f92 100644 --- a/go.mod +++ b/go.mod @@ -102,7 +102,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver v0.48.0 @@ -274,7 +273,6 @@ require ( github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-uuid v1.0.2 // indirect - github.com/hashicorp/go-version v1.4.0 // indirect github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/serf v0.9.6 // indirect @@ -436,13 +434,11 @@ require ( github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.1 // indirect github.com/xdg-go/stringprep v1.0.3 // indirect - github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect github.com/yusufpapurcu/wmi v1.2.2 // indirect go.elastic.co/apm v1.15.0 // indirect go.elastic.co/fastjson v1.1.0 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.mongodb.org/atlas v0.15.0 // indirect - go.mongodb.org/mongo-driver v1.8.4 // indirect go.opencensus.io v0.23.0 // indirect go.opentelemetry.io/collector/model v0.48.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0 // indirect diff --git a/go.sum b/go.sum index f4e3ebee723b0..51b44526846fa 100644 --- a/go.sum +++ b/go.sum @@ -1185,8 +1185,6 @@ github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2I github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go-version v1.4.0 h1:aAQzgqIrRKRa7w75CKpbBxYsmUoPjzVm1W59ca1L0J4= -github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -2148,7 +2146,6 @@ github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d h1:splanxYIlg+5LfHAM6xpdFEAYOk8iySO56hMFq6uLyA= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -2201,8 +2198,6 @@ go.mongodb.org/mongo-driver v1.5.2/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= -go.mongodb.org/mongo-driver v1.8.4 h1:NruvZPPL0PBcRJKmbswoWSrmHeUvzdxA3GCPfD/NEOA= -go.mongodb.org/mongo-driver v1.8.4/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= diff --git a/internal/components/components.go b/internal/components/components.go index a710bb4f0537e..8697f9ebf1cf7 100644 --- a/internal/components/components.go +++ b/internal/components/components.go @@ -122,7 +122,6 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver" @@ -200,7 +199,6 @@ func Components() (component.Factories, error) { k8seventsreceiver.NewFactory(), kubeletstatsreceiver.NewFactory(), memcachedreceiver.NewFactory(), - mongodbreceiver.NewFactory(), mongodbatlasreceiver.NewFactory(), mysqlreceiver.NewFactory(), opencensusreceiver.NewFactory(), From d95221fa7dec89ec0683ba652c1a46d7719fe5ce Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 09:25:28 -0400 Subject: [PATCH 009/105] try to fix go.mod resolution issues --- go.mod | 26 +++++++++++------------ receiver/vmwarevcenterreceiver/metrics.go | 4 ++-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index a231b29747f92..3e9e5903cf06b 100644 --- a/go.mod +++ b/go.mod @@ -7,13 +7,13 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter v0.46.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter v0.46.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter v0.46.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsprometheusremotewriteexporter v0.46.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsprometheusremotewriteexporter v0.0.0-00010101000000-000000000000 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/carbonexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/clickhouseexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/coralogixexporter v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/datadogexporter v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/dynatraceexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.48.0 @@ -39,13 +39,13 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/skywalkingexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/stackdriverexporter v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/stackdriverexporter v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sumologicexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tanzuobservabilityexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/tencentcloudlogserviceexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/zipkinexporter v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/extension/asapauthextension v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/extension/fluentbitextension v0.48.0 @@ -72,16 +72,16 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricsgenerationprocessor v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourceprocessor v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanmetricsprocessor v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanmetricsprocessor v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanprocessor v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscontainerinsightreceiver v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awscontainerinsightreceiver v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsecscontainermetricsreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsfirehosereceiver v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsxrayreceiver v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/awsxrayreceiver v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/carbonreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/cloudfoundryreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/collectdreceiver v0.48.0 @@ -97,8 +97,8 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/journaldreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8sclusterreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/k8seventsreceiver v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.46.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.0.0-00010101000000-000000000000 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubeletstatsreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver v0.48.0 @@ -106,14 +106,14 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/opencensusreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/podmanreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/postgresqlreceiver v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusexecreceiver v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusexecreceiver v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/receivercreator v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/redisreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/riakreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sapmreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/signalfxreceiver v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/simpleprometheusreceiver v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/simpleprometheusreceiver v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/skywalkingreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/splunkhecreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/statsdreceiver v0.48.0 diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index d3efcdf4f1e78..5d93a2f330cf4 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -411,14 +411,14 @@ func (v *vcenterMetricScraper) recordVMVsanMetric( } else { v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, "write") } - case "throughputRead": + case throughputRead: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) } else { v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, "read") } - case "throughputWrite": + case throughputWrite: value, err := parseInt(val) if err != nil { errs.AddPartial(1, err) From d2f9356d0034679d2413d5c3d7a0f636f0f4e770 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 09:26:47 -0400 Subject: [PATCH 010/105] try to fix go.mod resolution issues pt 2 --- go.mod | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3e9e5903cf06b..5d00b12bcacc8 100644 --- a/go.mod +++ b/go.mod @@ -4,9 +4,9 @@ go 1.17 require ( github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter v0.46.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter v0.46.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter v0.46.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter v0.0.0-00010101000000-000000000000 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter v0.0.0-00010101000000-000000000000 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsprometheusremotewriteexporter v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsxrayexporter v0.0.0-00010101000000-000000000000 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/azuremonitorexporter v0.48.0 From d52200b194eace56677694105514e4518cf6f9a4 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 10:52:39 -0400 Subject: [PATCH 011/105] addlicense --- go.mod | 2 - receiver/vmwarevcenterreceiver/client_test.go | 14 ++++ receiver/vmwarevcenterreceiver/config_test.go | 14 ++++ receiver/vmwarevcenterreceiver/e2e_test.go | 14 ++++ .../vmwarevcenterreceiver/factory_test.go | 14 ++++ receiver/vmwarevcenterreceiver/go.sum | 81 ++++--------------- receiver/vmwarevcenterreceiver/metrics.go | 14 ++++ receiver/vmwarevcenterreceiver/receiver.go | 14 ++++ .../vmwarevcenterreceiver/scraper_test.go | 14 ++++ 9 files changed, 112 insertions(+), 69 deletions(-) diff --git a/go.mod b/go.mod index 5d00b12bcacc8..1c1fbd6cbaec3 100644 --- a/go.mod +++ b/go.mod @@ -747,8 +747,6 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kubel replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/memcachedreceiver => ./receiver/memcachedreceiver -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbreceiver => ./receiver/mongodbreceiver - replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mongodbatlasreceiver => ./receiver/mongodbatlasreceiver replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/mysqlreceiver => ./receiver/mysqlreceiver diff --git a/receiver/vmwarevcenterreceiver/client_test.go b/receiver/vmwarevcenterreceiver/client_test.go index 44a9aa4ac580f..3855ed7d8dae1 100644 --- a/receiver/vmwarevcenterreceiver/client_test.go +++ b/receiver/vmwarevcenterreceiver/client_test.go @@ -1,3 +1,17 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package vmwarevcenterreceiver import ( diff --git a/receiver/vmwarevcenterreceiver/config_test.go b/receiver/vmwarevcenterreceiver/config_test.go index 152be47c30a52..e6e688efd4213 100644 --- a/receiver/vmwarevcenterreceiver/config_test.go +++ b/receiver/vmwarevcenterreceiver/config_test.go @@ -1,3 +1,17 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package vmwarevcenterreceiver import ( diff --git a/receiver/vmwarevcenterreceiver/e2e_test.go b/receiver/vmwarevcenterreceiver/e2e_test.go index e291aa25858ea..4c08ace71d50d 100644 --- a/receiver/vmwarevcenterreceiver/e2e_test.go +++ b/receiver/vmwarevcenterreceiver/e2e_test.go @@ -1,3 +1,17 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package vmwarevcenterreceiver import ( diff --git a/receiver/vmwarevcenterreceiver/factory_test.go b/receiver/vmwarevcenterreceiver/factory_test.go index a98ba65bd89e2..b6f40f0e161d1 100644 --- a/receiver/vmwarevcenterreceiver/factory_test.go +++ b/receiver/vmwarevcenterreceiver/factory_test.go @@ -1,3 +1,17 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" import ( diff --git a/receiver/vmwarevcenterreceiver/go.sum b/receiver/vmwarevcenterreceiver/go.sum index d717a8d46e165..f488ab46aa9f7 100644 --- a/receiver/vmwarevcenterreceiver/go.sum +++ b/receiver/vmwarevcenterreceiver/go.sum @@ -35,8 +35,6 @@ contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/Mottl/ctimefmt v0.0.0-20190803144728-fd2ac23a585a/go.mod h1:eyj2WSIdoPMPs2eNTLpSmM6Nzqo4V80/d6jHpnJ1SAI= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -45,8 +43,6 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antonmedv/expr v1.9.0 h1:j4HI3NHEdgDnN9p6oI6Ndr0G5QryMY0FNxT4ONrFDGU= -github.com/antonmedv/expr v1.9.0/go.mod h1:5qsM3oLGDND7sDmQGDXHkYfkjYMUX14qsgqmHhwGEk8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= @@ -84,7 +80,6 @@ github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -105,8 +100,6 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg= -github.com/gdamore/tcell v1.3.0/go.mod h1:Hjvr+Ofd+gLglo7RYKxxnzCBmev3BzsS67MebKS4zMM= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -118,8 +111,8 @@ github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v1.2.2 h1:ahHml/yUpnlb96Rp8HCvtYVPY8ZYpxq3g7UYchIYwbs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= @@ -223,12 +216,10 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= @@ -251,15 +242,10 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165/go.mod h1:WZxr2/6a/Ar9bMDc2rN/LJrE/hF6bXE4LPyDSIxwAfg= -github.com/lucasb-eyer/go-colorful v1.0.2/go.mod h1:0MS4r+7BZKSJ5mw4/S5MPN+qHFF1fYclkSPilDOKW0s= -github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= @@ -278,34 +264,18 @@ github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mostynb/go-grpc-compression v1.1.16/go.mod h1:xxa6UoYynYS2h+5HB/Hglu81iYAp87ARaNmhhwi0s1s= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= -github.com/observiq/ctimefmt v1.0.0 h1:r7vTJ+Slkrt9fZ67mkf+mA6zAdR5nGIJRMTzkUyvilk= -github.com/observiq/ctimefmt v1.0.0/go.mod h1:mxi62//WbSpG/roCO1c6MqZ7zQTvjVtYheqHN3eOjvc= -github.com/observiq/go-syslog/v3 v3.0.2 h1:vaeINFErM/E3cKE2Ot1FAhhGq5mv7uGBOzjnGL3qhbY= -github.com/observiq/go-syslog/v3 v3.0.2/go.mod h1:9abcumkQwDUY0VgWdH6CaaJ3Ks39A7NvIelMlavPru0= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza v0.48.0 h1:s5ohX+d597BxUGy/NqppCUIYxwiGBqqfX8IB7rEl87M= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza v0.48.0/go.mod h1:nW/TWTLlp/3lGEjsJxPnYBi3Gfm/BwM1Jz2BSKPQL3k= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0 h1:vxJ6t4fU+/FqC2cOrszulaPqujw9KyWAyecWTbbqjtI= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0/go.mod h1:c/Z9s9QuQpsMKHT2MNn0+KHnLfi5B6CnwdtC9nvC3Wk= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 h1:ys7lH6p/0BAW0aNcbEAfc9oDgyAcHvR8vjBapTeglMg= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0/go.mod h1:Bhf6RnymOBA8Je3yRRvVBMTr501E1bBruid6ENyteL8= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0 h1:MjS/LSmu9mfhpVNhL6mqj8B3klpMyvQqw6L/T6AC3xU= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0/go.mod h1:aiY30lmt7Pmcb1RXOkLLzyVw8B6NvEAN9iCa9kuNnJs= -github.com/open-telemetry/opentelemetry-log-collection v0.27.2 h1:6ld2e2whN9uQXPuq0IavqUNePOI5NQFjXplCf6oQnoo= -github.com/open-telemetry/opentelemetry-log-collection v0.27.2/go.mod h1:hGtoh7foY5hn3Gvev+QwrQ4ef59pfBiZn5DX1XN9uEs= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= @@ -318,7 +288,6 @@ github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= @@ -344,8 +313,6 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= -github.com/rivo/tview v0.0.0-20200219210816-cd38d7432498/go.mod h1:6lkG1x+13OShEf0EaOCaTQYyB7d5nSbb181KtjlS+84= -github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= @@ -355,7 +322,6 @@ github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/sanity-io/litter v1.2.0/go.mod h1:JF6pZUFgu2Q0sBZ+HSV35P8TVPI1TTzEwyu9FXAw2W4= github.com/schollz/progressbar/v2 v2.13.2/go.mod h1:6YZjqdthH6SCZKv2rqGryrxPtfmRB/DWZxSMfCXPyD8= github.com/shirou/gopsutil/v3 v3.22.2/go.mod h1:WapW1AOOPlHyXr+yOyw3uYx36enocrtSoSBy0L5vUHY= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -369,13 +335,11 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -397,37 +361,23 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/collector v0.47.0 h1:jri01YG2UehiqDnSRGYekruZISosz5p75ppKhNLxHnc= -go.opentelemetry.io/collector v0.47.0/go.mod h1:jIdx4BySsmKANBZYlTsigZT/I+vGsAhJIHTYjsx7/O8= go.opentelemetry.io/collector v0.48.0 h1:/kUmNzsYgdPmbdscOGtCFPyZvxICrzmCFth2krzJuWs= go.opentelemetry.io/collector v0.48.0/go.mod h1:iklh3+Npx1DalC6PvEi9ysjx9zLbjgOUQFTIh2MufQU= -go.opentelemetry.io/collector/model v0.47.0 h1:qfIc/rhua50MTowB5BFveEVaYyZWL3Yld3pMmhUDU5w= -go.opentelemetry.io/collector/model v0.47.0/go.mod h1:tyZ1XdPtljZ9I09pJGcz5ktV9G1AAZ/HDmf6YOMHebc= go.opentelemetry.io/collector/model v0.48.0 h1:xmN4LdZ92q6PZnaKhMdIlC5KGtPJeOYaWCnA1PQ2oZw= go.opentelemetry.io/collector/model v0.48.0/go.mod h1:1QVYv8TqsTMt9wVC5BUF9fqMVtk2C5EclWDnuVqdKoU= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.29.0/go.mod h1:LsankqVDx4W+RhZNA5uWarULII/MBhF5qwCYxTuyXjs= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.29.0/go.mod h1:tLYsuf2v8fZreBVwp9gVMhefZlLFZaUiNVSq8QxXRII= -go.opentelemetry.io/contrib/zpages v0.29.0/go.mod h1:iHy2K1Cjz1Ss0Sv6cQPEExP0nD+gj7gAF024foxzFFE= -go.opentelemetry.io/otel v1.4.0/go.mod h1:jeAqMFKy2uLIxCtKxoFj0FAL5zAPKQagc3+GtBWakzk= -go.opentelemetry.io/otel v1.4.1 h1:QbINgGDDcoQUoMJa2mMaWno49lja9sHwp6aoa2n3a4g= -go.opentelemetry.io/otel v1.4.1/go.mod h1:StM6F/0fSwpd8dKWDCdRr7uRvEPYdW0hBSlbdTiUde4= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0/go.mod h1:SY9qHHUES6W3oZnO1H2W8NvsSovIoXRg/A1AH9px8+I= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0/go.mod h1:PFmBsWbldL1kiWZk9+0LBZz2brhByaGsvp6pRICMlPE= +go.opentelemetry.io/contrib/zpages v0.31.0/go.mod h1:CAB55C1K7YhinQfNNIdNLgJJ+dVRlb6zQpbGQjeIDf8= go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ= go.opentelemetry.io/otel v1.6.1 h1:6r1YrcTenBvYa1x491d0GGpTVBsNECmrc/K6b+zDeis= go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= -go.opentelemetry.io/otel/exporters/prometheus v0.27.0/go.mod h1:u0vTzijx2B6gGDa8FuIVoESW6z0HdKkXZWZMSTsoJKs= -go.opentelemetry.io/otel/internal/metric v0.27.0 h1:9dAVGAfFiiEq5NVB9FUJ5et+btbDQAUIJehJ+ikyryk= -go.opentelemetry.io/otel/internal/metric v0.27.0/go.mod h1:n1CVxRqKqYZtqyTh9U/onvKapPGv7y/rpyOTI+LFNzw= -go.opentelemetry.io/otel/metric v0.27.0 h1:HhJPsGhJoKRSegPQILFbODU56NS/L1UE4fS1sC5kIwQ= -go.opentelemetry.io/otel/metric v0.27.0/go.mod h1:raXDJ7uP2/Jc0nVZWQjJtzoyssOYWu/+pjZqRzfvZ7g= +go.opentelemetry.io/otel/exporters/prometheus v0.28.0/go.mod h1:nN2uGmk/rLmcbPTaZakIMqYH2Q0T8V1sOnKOHe/HLH0= go.opentelemetry.io/otel/metric v0.28.0 h1:o5YNh+jxACMODoAo1bI7OES0RUW4jAMae0Vgs2etWAQ= go.opentelemetry.io/otel/metric v0.28.0/go.mod h1:TrzsfQAmQaB1PDcdhBauLMk7nyyg9hm+GoQq/ekE9Iw= -go.opentelemetry.io/otel/sdk v1.4.0/go.mod h1:71GJPNJh4Qju6zJuYl1CrYtXbrgfau/M9UAggqiy1UE= -go.opentelemetry.io/otel/sdk v1.4.1 h1:J7EaW71E0v87qflB4cDolaqq3AcujGrtyIPGQoZOB0Y= -go.opentelemetry.io/otel/sdk v1.4.1/go.mod h1:NBwHDgDIBYjwK2WNu1OPgsIc2IJzmBXNnvIJxJc8BpE= -go.opentelemetry.io/otel/sdk/metric v0.27.0/go.mod h1:lOgrT5C3ORdbqp2LsDrx+pBj6gbZtQ5Omk27vH3EaW0= -go.opentelemetry.io/otel/trace v1.4.0/go.mod h1:uc3eRsqDfWs9R7b92xbQbU42/eTNz4N+gLP8qJCi4aE= -go.opentelemetry.io/otel/trace v1.4.1 h1:O+16qcdTrT7zxv2J6GejTPFinSwA++cYerC5iSiF8EQ= -go.opentelemetry.io/otel/trace v1.4.1/go.mod h1:iYEVbroFCNut9QkwEczV9vMRPHNKSSwYZjulEtsmhFc= +go.opentelemetry.io/otel/sdk v1.6.0/go.mod h1:PjLRUfDsoPy0zl7yrDGSUqjj43tL7rEtFdCEiGlxXRM= +go.opentelemetry.io/otel/sdk v1.6.1 h1:ZmcNyMhcuAYIb/Nr6QhBPTMopMTbov/47wHt1gibkoY= +go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= +go.opentelemetry.io/otel/sdk/metric v0.28.0/go.mod h1:DqJmT0ovBgoW6TJ8CAQyTnwxZPIp3KWtCiDDZ1uHAzU= go.opentelemetry.io/otel/trace v1.6.0/go.mod h1:qs7BrU5cZ8dXQHBGxHMOxwME/27YH2qEp4/+tZLLwJE= go.opentelemetry.io/otel/trace v1.6.1 h1:f8c93l5tboBYZna1nWk0W9DYyMzJXDWdZcJZ0Kb400U= go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= @@ -545,7 +495,6 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626150813-e07cf5db2756/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -580,8 +529,9 @@ golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 h1:8IVLkfbr2cLhv0a/vKq4UFUcJym8RmDoDboxCFWEjYE= +golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= 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= @@ -591,7 +541,6 @@ 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 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= 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= @@ -644,8 +593,6 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gonum.org/v1/gonum v0.11.0 h1:f1IJhK4Km5tBJmaiJXtk/PkL4cdVX6J+tGiM187uT5E= -gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -719,7 +666,6 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= 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= @@ -733,14 +679,15 @@ 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.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= 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= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index 5d93a2f330cf4..61cd356d50f74 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -1,3 +1,17 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package vmwarevcenterreceiver import ( diff --git a/receiver/vmwarevcenterreceiver/receiver.go b/receiver/vmwarevcenterreceiver/receiver.go index 5c2b84194b2fe..c753d47fc2d00 100644 --- a/receiver/vmwarevcenterreceiver/receiver.go +++ b/receiver/vmwarevcenterreceiver/receiver.go @@ -1,3 +1,17 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package vmwarevcenterreceiver import ( diff --git a/receiver/vmwarevcenterreceiver/scraper_test.go b/receiver/vmwarevcenterreceiver/scraper_test.go index ef100c3f32fd1..aad95e4b0c112 100644 --- a/receiver/vmwarevcenterreceiver/scraper_test.go +++ b/receiver/vmwarevcenterreceiver/scraper_test.go @@ -1,3 +1,17 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package vmwarevcenterreceiver import ( From a684fd523b624c8847731ea947bcfb9f11936894 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 13:02:41 -0400 Subject: [PATCH 012/105] fix go.mod by fixing require directive --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 1c1fbd6cbaec3..5333c3936d5fb 100644 --- a/go.mod +++ b/go.mod @@ -120,7 +120,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver v0.0.0-00010101000000-000000000000 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.48.0 From bc35c192c65ba1567d2350bbd4c993c0d2b55b64 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 14:34:15 -0400 Subject: [PATCH 013/105] add readme for metrics --- receiver/vmwarevcenterreceiver/README.md | 63 + receiver/vmwarevcenterreceiver/go.mod | 26 +- receiver/vmwarevcenterreceiver/go.sum | 7 + .../vmwarevcenterreceiver/scraper_test.go | 9 + .../testdata/config.yaml | 20 + .../testdata/metrics/expected.json | 1067 +++++++++++++++++ 6 files changed, 1174 insertions(+), 18 deletions(-) create mode 100644 receiver/vmwarevcenterreceiver/testdata/config.yaml create mode 100644 receiver/vmwarevcenterreceiver/testdata/metrics/expected.json diff --git a/receiver/vmwarevcenterreceiver/README.md b/receiver/vmwarevcenterreceiver/README.md index e69de29bb2d1d..9a60cc91233d8 100644 --- a/receiver/vmwarevcenterreceiver/README.md +++ b/receiver/vmwarevcenterreceiver/README.md @@ -0,0 +1,63 @@ +# vCenter Receiver + +This receiver fetches metrics from a vCenter or ESXi host running VMware vSphere APIs. + +Supported pipeline types: `metrics` and `logs` + +> :construction: This receiver is in **BETA**. Configuration fields and metric data model are subject to change. + +## Prerequisites + +This receiver has been built to support ESXi and vCenter versions: + +- 6.5 +- 6.7 +- 7.0 + +But may also work on older versions such as: + +- 5.1 +- 5.5 +- 6.0 + +A user with at least “Read Only” assigned to a vSphere User with permissions to the vCenter server, cluster and all subsequent resources being monitored must be specified in order for the receiver to retrieve information about them. + +## Configuration + +Configuration is split up into `metrics` and `logging` + +```yaml +receivers: + vcenter: + metrics: + logging: +``` + +### Metrics Configuration + +| Parameter | Default | Type | Notes | +| --- | --- | --- | --- | +| endpoint | | String | Endpoint to the vCenter Server or ESXi host that has the sdk path enabled. Required. The expected format is `://`

i.e: `https://vcsa.hostname.localnet` | +| username | | String | Required | +| password | | String | Required | +| tls | | TLSClientSetting | Not Required. Will use defaults for configtls.TLSClientSetting. By default insecure settings are rejected and certificate verification is on. | +| collection_interval | 5m | Duration | This receiver collects metrics on an interval. Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h` | + +### Example Configuration + +```yaml +receivers: + vcenter: + metrics: + endpoint: http://localhost:15672 + username: otelu + password: $RABBITMQ_PASSWORD + collection_interval: 10s + metrics: [] +``` + +The full list of settings exposed for this receiver are documented [here](./config.go) with detailed sample configurations [here](./testdata/config.yaml). TLS config is documented further under the [opentelemetry collector's configtls package](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md). + +## Metrics + +Details about the metrics produced by this receiver can be found in [metadata.yaml](./metadata.yaml) with further documentation in [documentation.md](./documentation.md) diff --git a/receiver/vmwarevcenterreceiver/go.mod b/receiver/vmwarevcenterreceiver/go.mod index f670eccd12975..e8097a75401f1 100644 --- a/receiver/vmwarevcenterreceiver/go.mod +++ b/receiver/vmwarevcenterreceiver/go.mod @@ -20,13 +20,13 @@ require ( require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/protobuf v1.5.2 // indirect github.com/google/uuid v1.3.0 // indirect github.com/knadh/koanf v1.4.0 // indirect github.com/kr/pretty v0.3.0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/observiq/go-syslog/v3 v3.0.2 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/spf13/cast v1.4.1 // indirect @@ -35,26 +35,16 @@ require ( go.opentelemetry.io/otel/metric v0.28.0 // indirect go.opentelemetry.io/otel/trace v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect + golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d // indirect + golang.org/x/text v0.3.7 // indirect + google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa // indirect + google.golang.org/grpc v1.45.0 // indirect + google.golang.org/protobuf v1.28.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) require ( - github.com/antonmedv/expr v1.9.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/observiq/ctimefmt v1.0.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 - github.com/open-telemetry/opentelemetry-log-collection v0.27.2 // indirect - golang.org/x/text v0.3.7 // indirect - gonum.org/v1/gonum v0.11.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect -) - -require ( - github.com/jpillora/backoff v1.0.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/stanza v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.48.0 + golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 // indirect ) diff --git a/receiver/vmwarevcenterreceiver/go.sum b/receiver/vmwarevcenterreceiver/go.sum index f488ab46aa9f7..9980183971182 100644 --- a/receiver/vmwarevcenterreceiver/go.sum +++ b/receiver/vmwarevcenterreceiver/go.sum @@ -150,6 +150,7 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -276,6 +277,8 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.48.0 h1:BQ6k/dNdqgyx1oV37Vp3SRXfk5hTuTEeNkbzmSkpoyQ= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.48.0/go.mod h1:RPm742U2KeW8ioVrHsSNQIyZw83XSiLx/S5bVA6alS0= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= @@ -462,6 +465,7 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d h1:LO7XpTYMwTqxjLcGWPijK3vRXg1aWdlNOVOHRq45d7c= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= 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= @@ -541,6 +545,7 @@ 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 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= 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= @@ -646,6 +651,7 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -666,6 +672,7 @@ google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= 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= diff --git a/receiver/vmwarevcenterreceiver/scraper_test.go b/receiver/vmwarevcenterreceiver/scraper_test.go index aad95e4b0c112..8eb547d038f2c 100644 --- a/receiver/vmwarevcenterreceiver/scraper_test.go +++ b/receiver/vmwarevcenterreceiver/scraper_test.go @@ -16,6 +16,7 @@ package vmwarevcenterreceiver import ( "context" + "path/filepath" "testing" "github.com/stretchr/testify/require" @@ -26,6 +27,8 @@ import ( "github.com/vmware/govmomi/vim25" "go.uber.org/zap" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest/golden" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" ) @@ -50,5 +53,11 @@ func TestScrape_NoVsan(t *testing.T) { metrics, err := scraper.scrape(ctx) require.NoError(t, err) require.NotEqual(t, metrics.MetricCount(), 0) + + goldenPath := filepath.Join("testdata", "metrics", "expected.json") + expectedMetrics, err := golden.ReadMetrics(goldenPath) + require.NoError(t, err) + + scrapertest.CompareMetrics(expectedMetrics, metrics) }) } diff --git a/receiver/vmwarevcenterreceiver/testdata/config.yaml b/receiver/vmwarevcenterreceiver/testdata/config.yaml new file mode 100644 index 0000000000000..1a14418e9d4b8 --- /dev/null +++ b/receiver/vmwarevcenterreceiver/testdata/config.yaml @@ -0,0 +1,20 @@ +receivers: + vcenter: + metrics: + endpoint: http://vcsa.host.localnet + username: otelu + password: $VCENTER_PASSWORD + collection_interval: 5m + +processors: + nop: + +exporters: + nop: + +service: + pipelines: + metrics: + receivers: [vcenter] + processors: [nop] + exporters: [nop] diff --git a/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json b/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json new file mode 100644 index 0000000000000..84375624c535c --- /dev/null +++ b/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json @@ -0,0 +1,1067 @@ +{ + "resourceMetrics": [ + { + "resource": { + "attributes": [ + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.cluster.cpu.available", + "description": "The amount of CPU available to the cluster", + "unit": "{MHz}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "6882" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or recieved over the network by the host", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776859988721000", + "asInt": "1790" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776839988721000", + "asInt": "874" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776819988721000", + "asInt": "1678" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776799988721000", + "asInt": "3500" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776779988721000", + "asInt": "2769" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H1" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or recieved over the network by the host", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776860036182000", + "asInt": "892" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776840036182000", + "asInt": "1891" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776820036182000", + "asInt": "1658" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776800036182000", + "asInt": "2589" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776780036182000", + "asInt": "2375" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H2" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or recieved over the network by the host", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776860084872000", + "asInt": "1384" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776840084872000", + "asInt": "1622" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776820084872000", + "asInt": "2668" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776800084872000", + "asInt": "2233" + }, + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776780084872000", + "asInt": "2296" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.datastore.name", + "value": { + "stringValue": "LocalDS_0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.datastore.disk.usage", + "description": "The amount of space in the datastore.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "42949672960" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "total" + } + } + ], + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "10995116277760" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.datastore.disk.utilization", + "description": "The utilization of the datastore", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": 0.390625 + } + ] + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_H0_VM0" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "b4689bed-97f0-5bcd-8a4c-07477cc8f06f" + } + }, + { + "key": "vcenter.vm.power_state", + "value": { + "stringValue": "poweredOn" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space the virtual machine is using", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "total" + } + } + ], + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.disk.utilization", + "description": "The utilization of storage on the virtual machine", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": "NaN" + } + ] + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776920171509000", + "asInt": "471" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_H0_VM1" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "12f8928d-f144-5c57-89db-dd2d0902c9fa" + } + }, + { + "key": "vcenter.vm.power_state", + "value": { + "stringValue": "poweredOn" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space the virtual machine is using", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "total" + } + } + ], + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.disk.utilization", + "description": "The utilization of storage on the virtual machine", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": "NaN" + } + ] + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776920203514000", + "asInt": "443" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_C0_RP0_VM0" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "bfff331f-7f07-572d-951e-edd3701dc061" + } + }, + { + "key": "vcenter.vm.power_state", + "value": { + "stringValue": "poweredOn" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space the virtual machine is using", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "total" + } + } + ], + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.disk.utilization", + "description": "The utilization of storage on the virtual machine", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": "NaN" + } + ] + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776920232900000", + "asInt": "453" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_C0_RP0_VM1" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "6132d223-1566-5921-bc3b-df91ece09a4d" + } + }, + { + "key": "vcenter.vm.power_state", + "value": { + "stringValue": "poweredOn" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space the virtual machine is using", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "total" + } + } + ], + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.disk.utilization", + "description": "The utilization of storage on the virtual machine", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asDouble": "NaN" + } + ] + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776920255045000", + "asInt": "298" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.resource_pool.name", + "value": { + "stringValue": "Resources" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.resource_pool.cpu.shares", + "description": "The amount of shares of memory in the resource pool", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.resource_pool.memory.shares", + "description": "The amount of shares of memory in the resource pool", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.resource_pool.name", + "value": { + "stringValue": "Resources" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.resource_pool.cpu.shares", + "description": "The amount of shares of memory in the resource pool", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.resource_pool.memory.shares", + "description": "The amount of shares of memory in the resource pool", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649776919977236000", + "timeUnixNano": "1649776919979664000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + } + ] +} \ No newline at end of file From ac811375c971fe3d53d4cbd492fc3e6be95f3ced Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 14:51:07 -0400 Subject: [PATCH 014/105] update readme --- receiver/vmwarevcenterreceiver/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/receiver/vmwarevcenterreceiver/README.md b/receiver/vmwarevcenterreceiver/README.md index 9a60cc91233d8..dc8a02a56128b 100644 --- a/receiver/vmwarevcenterreceiver/README.md +++ b/receiver/vmwarevcenterreceiver/README.md @@ -51,8 +51,8 @@ receivers: metrics: endpoint: http://localhost:15672 username: otelu - password: $RABBITMQ_PASSWORD - collection_interval: 10s + password: $VCENTER_PASSWORD + collection_interval: 5m metrics: [] ``` From 85bcccd2c5cfaac1fee4c9eb9b46150f63bae8f7 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 15:17:57 -0400 Subject: [PATCH 015/105] fix go.mod referring nonexistent version --- go.mod | 3 +- receiver/vmwarevcenterreceiver/go.mod | 1 - receiver/vmwarevcenterreceiver/go.sum | 387 +------------------------- 3 files changed, 2 insertions(+), 389 deletions(-) diff --git a/go.mod b/go.mod index 1441e899110c0..4a3feb6462448 100644 --- a/go.mod +++ b/go.mod @@ -120,7 +120,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.48.0 @@ -431,7 +430,7 @@ require ( github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/vmware/govmomi v0.27.4 // indirect - github.com/wavefronthq/wavefront-sdk-go v0.9.10 // indirect + github.com/wavefronthq/wavefront-sdk-go v0.9.11 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.1 // indirect github.com/xdg-go/stringprep v1.0.3 // indirect diff --git a/receiver/vmwarevcenterreceiver/go.mod b/receiver/vmwarevcenterreceiver/go.mod index e8097a75401f1..145059d6cf11c 100644 --- a/receiver/vmwarevcenterreceiver/go.mod +++ b/receiver/vmwarevcenterreceiver/go.mod @@ -23,7 +23,6 @@ require ( github.com/golang/protobuf v1.5.2 // indirect github.com/google/uuid v1.3.0 // indirect github.com/knadh/koanf v1.4.0 // indirect - github.com/kr/pretty v0.3.0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect diff --git a/receiver/vmwarevcenterreceiver/go.sum b/receiver/vmwarevcenterreceiver/go.sum index 9980183971182..398629ad1d96b 100644 --- a/receiver/vmwarevcenterreceiver/go.sum +++ b/receiver/vmwarevcenterreceiver/go.sum @@ -1,47 +1,8 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -code.cloudfoundry.org/bytefmt v0.0.0-20190710193110-1eb035ffe2b6/go.mod h1:wN/zk7mhREp/oviagqUXY3EwuHhWyOvAdsn5Y4CzOrc= -contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0QmaQNhGnptITnPQB+z1+qeFB0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -57,19 +18,10 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21 github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= 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.1.2/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= @@ -78,8 +30,6 @@ github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -93,54 +43,27 @@ github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go. github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/frankban/quicktest v1.4.0/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= -github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= 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-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= @@ -153,40 +76,21 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -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/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/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.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/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/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/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= @@ -210,46 +114,23 @@ github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoI github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.14.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/knadh/koanf v1.4.0 h1:/k0Bh49SqLyLNfte9r6cvuZWrApOQhglOmhIU3L/zDw= github.com/knadh/koanf v1.4.0/go.mod h1:1cfH5223ZeZUOs8FU2UdTmaNfHpqgtjV0+NHjRO43gs= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= @@ -264,123 +145,60 @@ github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mostynb/go-grpc-compression v1.1.16/go.mod h1:xxa6UoYynYS2h+5HB/Hglu81iYAp87ARaNmhhwi0s1s= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.48.0 h1:BQ6k/dNdqgyx1oV37Vp3SRXfk5hTuTEeNkbzmSkpoyQ= github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.48.0/go.mod h1:RPm742U2KeW8ioVrHsSNQIyZw83XSiLx/S5bVA6alS0= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pierrec/cmdflag v0.0.2/go.mod h1:a3zKGZ3cdQUfxjd0RGMLZr8xI3nvpJOB+m6o/1X5BmU= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4/v3 v3.3.4/go.mod h1:280XNCGS8jAcG++AHdd6SeWnzyJ1w9oow2vbORyey8Q= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/schollz/progressbar/v2 v2.13.2/go.mod h1:6YZjqdthH6SCZKv2rqGryrxPtfmRB/DWZxSMfCXPyD8= -github.com/shirou/gopsutil/v3 v3.22.2/go.mod h1:WapW1AOOPlHyXr+yOyw3uYx36enocrtSoSBy0L5vUHY= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/tklauser/go-sysconf v0.3.9/go.mod h1:11DU/5sG7UexIrp/O6g35hrWzu0JxlwQ3LSFUzyeuhs= -github.com/tklauser/numcpus v0.3.0/go.mod h1:yFGUr7TUHQRAhyqBcEg0Ge34zDBAsIvJJcyE6boqnA8= github.com/vmware/govmomi v0.27.4 h1:5kY8TAkhB20lsjzrjE073eRb8+HixBI29PVMG5lxq6I= github.com/vmware/govmomi v0.27.4/go.mod h1:daTuJEcQosNMXYJOeku0qdBJP9SOLLWB3Mqz8THtv6o= github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/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/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -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.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/collector v0.48.0 h1:/kUmNzsYgdPmbdscOGtCFPyZvxICrzmCFth2krzJuWs= go.opentelemetry.io/collector v0.48.0/go.mod h1:iklh3+Npx1DalC6PvEi9ysjx9zLbjgOUQFTIh2MufQU= go.opentelemetry.io/collector/model v0.48.0 h1:xmN4LdZ92q6PZnaKhMdIlC5KGtPJeOYaWCnA1PQ2oZw= go.opentelemetry.io/collector/model v0.48.0/go.mod h1:1QVYv8TqsTMt9wVC5BUF9fqMVtk2C5EclWDnuVqdKoU= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0/go.mod h1:SY9qHHUES6W3oZnO1H2W8NvsSovIoXRg/A1AH9px8+I= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0/go.mod h1:PFmBsWbldL1kiWZk9+0LBZz2brhByaGsvp6pRICMlPE= -go.opentelemetry.io/contrib/zpages v0.31.0/go.mod h1:CAB55C1K7YhinQfNNIdNLgJJ+dVRlb6zQpbGQjeIDf8= go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ= go.opentelemetry.io/otel v1.6.1 h1:6r1YrcTenBvYa1x491d0GGpTVBsNECmrc/K6b+zDeis= go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= -go.opentelemetry.io/otel/exporters/prometheus v0.28.0/go.mod h1:nN2uGmk/rLmcbPTaZakIMqYH2Q0T8V1sOnKOHe/HLH0= go.opentelemetry.io/otel/metric v0.28.0 h1:o5YNh+jxACMODoAo1bI7OES0RUW4jAMae0Vgs2etWAQ= go.opentelemetry.io/otel/metric v0.28.0/go.mod h1:TrzsfQAmQaB1PDcdhBauLMk7nyyg9hm+GoQq/ekE9Iw= -go.opentelemetry.io/otel/sdk v1.6.0/go.mod h1:PjLRUfDsoPy0zl7yrDGSUqjj43tL7rEtFdCEiGlxXRM= go.opentelemetry.io/otel/sdk v1.6.1 h1:ZmcNyMhcuAYIb/Nr6QhBPTMopMTbov/47wHt1gibkoY= -go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= -go.opentelemetry.io/otel/sdk/metric v0.28.0/go.mod h1:DqJmT0ovBgoW6TJ8CAQyTnwxZPIp3KWtCiDDZ1uHAzU= go.opentelemetry.io/otel/trace v1.6.0/go.mod h1:qs7BrU5cZ8dXQHBGxHMOxwME/27YH2qEp4/+tZLLwJE= go.opentelemetry.io/otel/trace v1.6.1 h1:f8c93l5tboBYZna1nWk0W9DYyMzJXDWdZcJZ0Kb400U= go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= @@ -395,202 +213,72 @@ go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= 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= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= 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/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= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= 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-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d h1:LO7XpTYMwTqxjLcGWPijK3vRXg1aWdlNOVOHRq45d7c= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= 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.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= 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= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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/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= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/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-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816074244-15123e1e1f71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 h1:8IVLkfbr2cLhv0a/vKq4UFUcJym8RmDoDboxCFWEjYE= golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -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= golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -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 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -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= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -598,80 +286,25 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -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.6/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= google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -682,43 +315,25 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= 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.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= 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= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= From a191060d2b00dbe2b519aaf911cd68af40312034 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 16:27:00 -0400 Subject: [PATCH 016/105] add performance manager tests --- go.mod | 1 + .../vmwarevcenterreceiver/documentation.md | 35 +- .../internal/metadata/generated_metrics_v2.go | 490 +++-- receiver/vmwarevcenterreceiver/metadata.yaml | 66 +- receiver/vmwarevcenterreceiver/metrics.go | 64 +- receiver/vmwarevcenterreceiver/scraper.go | 2 + .../testdata/metrics/expected.json | 1584 ++++++++++++++--- 7 files changed, 1811 insertions(+), 431 deletions(-) diff --git a/go.mod b/go.mod index 4a3feb6462448..24327271a6de5 100644 --- a/go.mod +++ b/go.mod @@ -363,6 +363,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/winperfcounters v0.48.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver v0.0.0-00010101000000-000000000000 // indirect github.com/open-telemetry/opentelemetry-log-collection v0.29.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect diff --git a/receiver/vmwarevcenterreceiver/documentation.md b/receiver/vmwarevcenterreceiver/documentation.md index 7c95bddbb264e..9c9321b5bfc8c 100644 --- a/receiver/vmwarevcenterreceiver/documentation.md +++ b/receiver/vmwarevcenterreceiver/documentation.md @@ -11,27 +11,29 @@ These are the metrics available for this scraper. | **vcenter.cluster.cpu.available** | The amount of CPU available to the cluster | {MHz} | Sum(Int) |
| | **vcenter.cluster.cpu.effective** | The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. | {MHz} | Sum(Int) |
| | **vcenter.cluster.cpu.used** | The amount of CPU used by the cluster | {MHz} | Sum(Int) |
| +| **vcenter.cluster.host.count** | The number of hosts in the datacenter | {hosts} | Sum(Int) |
  • host_effective
| | **vcenter.cluster.memory.available** | The available memory of the cluster. | By | Sum(Int) |
| | **vcenter.cluster.memory.effective** | The available memory of the cluster. | By | Sum(Int) |
| | **vcenter.cluster.memory.used** | The memory that is currently used by the cluster | By | Sum(Int) |
| +| **vcenter.cluster.vm.count** | the number of virtual machines in the datacenter | {virtual_machines} | Sum(Int) |
| | **vcenter.cluster.vsan.congestions** | Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. | {congestions/sec} | Sum(Int) |
| | **vcenter.cluster.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients in the cluster. | µs | Sum(Int) |
  • vsan_latency_type
| | **vcenter.cluster.vsan.operations** | IOPS consumed by all vSAN clients in the cluster | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| | **vcenter.cluster.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the cluster | {operations} | Sum(Int) |
| | **vcenter.cluster.vsan.throughput** | Throughput consumed by all vSAN clients in the cluster. | By/sec | Sum(Int) |
  • vsan_throughput_direction
| -| **vcenter.datacenter.host.count** | the number of hosts in the datacenter | {hosts} | Sum(Int) |
| -| **vcenter.datacenter.vm.count** | the number of virtual machines in the datacenter | {virtual_machines} | Sum(Int) |
| | **vcenter.datastore.disk.usage** | The amount of space in the datastore. | By | Sum(Int) |
  • disk_state
| | **vcenter.datastore.disk.utilization** | The utilization of the datastore | % | Gauge(Double) |
| | **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host | MHz | Sum(Int) |
| | **vcenter.host.cpu.utilization** | The CPU utilization of the host system | % | Gauge(Double) |
| -| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Sum(Int) |
  • latency_type
| -| **vcenter.host.disk.latency.max** | The highest reported total latency (device and kernel times) | ms | Sum(Int) |
| +| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Sum(Int) |
  • latency_direction
  • latency_type
| +| **vcenter.host.disk.latency.total** | The total reported total latency (device and kernel times) | ms | Sum(Int) |
  • latency_direction
| | **vcenter.host.disk.throughput** | The throughput to the host system's disk | By/s | Sum(Int) |
| | **vcenter.host.memory.usage** | The amount of memory the host system is using | MBy | Sum(Int) |
| | **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized | % | Gauge(Double) |
| +| **vcenter.host.network.errors** | The summation of errors on the host network. | {errors} | Sum(Int) |
  • throughput_direction
| | **vcenter.host.network.packets** | The number of packets sent over an interval | {packets/sec} | Sum(Int) |
  • throughput_direction
| -| **vcenter.host.network.throughput** | The amount of data that was sent or recieved over the network by the host | {KBy/s} | Sum(Int) |
| +| **vcenter.host.network.throughput** | The amount of data that was sent or received over the network by the host | {KBy/s} | Sum(Int) |
  • throughput_direction
| +| **vcenter.host.network.usage** | The sum of the data transmitted and received for all the NIC instances of the host. | {KBy/s} | Sum(Int) |
| | **vcenter.host.vsan.cache.hit_rate** | Percentage of read IOs which could be satisfied by the local client cache | % | Gauge(Double) |
| | **vcenter.host.vsan.cache.reads** | Average latency of IOs generated by all vSAN clients on the host | {operations/sec} | Sum(Int) |
| | **vcenter.host.vsan.congestions** | Congestions of IOs generated by all vSAN clients on the host | {congestions/sec} | Sum(Int) |
| @@ -44,14 +46,14 @@ These are the metrics available for this scraper. | **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
| | **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool | MBy | Sum(Int) |
| | **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine | % | Gauge(Double) |
| -| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | µs | Sum(Int) |
  • latency_type
| +| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | µs | Sum(Int) |
  • latency_direction
| | **vcenter.vm.disk.latency.max** | The highest reported total latency (device and kernel times) | ms | Sum(Int) |
| | **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk | By/sec | Sum(Int) |
| | **vcenter.vm.disk.usage** | The amount of storage space the virtual machine is using | By | Sum(Int) |
  • disk_state
| | **vcenter.vm.disk.utilization** | The utilization of storage on the virtual machine | % | Gauge(Double) |
| | **vcenter.vm.memory.ballooned** | The amount of memory that is ballooned due to virtualization. | By | Sum(Int) |
| | **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine | MBy | Sum(Int) |
| -| **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network. | {packets/sec} | Sum(Int) |
| +| **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network. | {packets/sec} | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine. | By/sec | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.usage** | The network utilizaiton combined transmit and receive rates during an interval. | {KBy/s} | Sum(Int) |
| | **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) |
  • vsan_latency_type
| @@ -72,7 +74,6 @@ metrics: | Name | Description | Type | | ---- | ----------- | ---- | | vcenter.cluster.name | The name of the vCenter Cluster | String | -| vcenter.datacenter.name | The name of the vCenter datacenter | String | | vcenter.datastore.name | The name of the vCenter datastore | String | | vcenter.host.name | The hostname of the vCenter ESXi host | String | | vcenter.resource_pool.name | The name of the resource pool | String | @@ -82,11 +83,13 @@ metrics: ## Metric attributes -| Name | Description | -| ---- | ----------- | -| disk_state | The state of storage and whether it is already allocated or free. | -| latency_type | The type of disk latency. | -| throughput_direction | The direction of network throughput. | -| vsan_latency_type | The type of vSAN latency. | -| vsan_operation_type | The type of vSAN operation. | -| vsan_throughput_direction | The type of vSAN throughput. | +| Name | Description | Values | +| ---- | ----------- | ------ | +| disk_state | The state of storage and whether it is already allocated or free. | available, used | +| host_effective | Whether the host is effective in the vCenter cluster | true, false | +| latency_direction (direction) | The direction of disk latency. | read, write | +| latency_type (type) | The type of disk latency being reported. | kernel, device | +| throughput_direction (direction) | The direction of network throughput. | transmitted, received | +| vsan_latency_type (type) | The type of vSAN latency. | read, write | +| vsan_operation_type (type) | The type of vSAN operation. | read, write, unmap | +| vsan_throughput_direction (direction) | The type of vSAN throughput. | read, write | diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go index a31d1e7eb39db..10b8c4443b9e7 100644 --- a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -18,27 +18,29 @@ type MetricsSettings struct { VcenterClusterCPUAvailable MetricSettings `mapstructure:"vcenter.cluster.cpu.available"` VcenterClusterCPUEffective MetricSettings `mapstructure:"vcenter.cluster.cpu.effective"` VcenterClusterCPUUsed MetricSettings `mapstructure:"vcenter.cluster.cpu.used"` + VcenterClusterHostCount MetricSettings `mapstructure:"vcenter.cluster.host.count"` VcenterClusterMemoryAvailable MetricSettings `mapstructure:"vcenter.cluster.memory.available"` VcenterClusterMemoryEffective MetricSettings `mapstructure:"vcenter.cluster.memory.effective"` VcenterClusterMemoryUsed MetricSettings `mapstructure:"vcenter.cluster.memory.used"` + VcenterClusterVMCount MetricSettings `mapstructure:"vcenter.cluster.vm.count"` VcenterClusterVsanCongestions MetricSettings `mapstructure:"vcenter.cluster.vsan.congestions"` VcenterClusterVsanLatencyAvg MetricSettings `mapstructure:"vcenter.cluster.vsan.latency.avg"` VcenterClusterVsanOperations MetricSettings `mapstructure:"vcenter.cluster.vsan.operations"` VcenterClusterVsanOutstandingIo MetricSettings `mapstructure:"vcenter.cluster.vsan.outstanding_io"` VcenterClusterVsanThroughput MetricSettings `mapstructure:"vcenter.cluster.vsan.throughput"` - VcenterDatacenterHostCount MetricSettings `mapstructure:"vcenter.datacenter.host.count"` - VcenterDatacenterVMCount MetricSettings `mapstructure:"vcenter.datacenter.vm.count"` VcenterDatastoreDiskUsage MetricSettings `mapstructure:"vcenter.datastore.disk.usage"` VcenterDatastoreDiskUtilization MetricSettings `mapstructure:"vcenter.datastore.disk.utilization"` VcenterHostCPUUsage MetricSettings `mapstructure:"vcenter.host.cpu.usage"` VcenterHostCPUUtilization MetricSettings `mapstructure:"vcenter.host.cpu.utilization"` VcenterHostDiskLatencyAvg MetricSettings `mapstructure:"vcenter.host.disk.latency.avg"` - VcenterHostDiskLatencyMax MetricSettings `mapstructure:"vcenter.host.disk.latency.max"` + VcenterHostDiskLatencyTotal MetricSettings `mapstructure:"vcenter.host.disk.latency.total"` VcenterHostDiskThroughput MetricSettings `mapstructure:"vcenter.host.disk.throughput"` VcenterHostMemoryUsage MetricSettings `mapstructure:"vcenter.host.memory.usage"` VcenterHostMemoryUtilization MetricSettings `mapstructure:"vcenter.host.memory.utilization"` + VcenterHostNetworkErrors MetricSettings `mapstructure:"vcenter.host.network.errors"` VcenterHostNetworkPackets MetricSettings `mapstructure:"vcenter.host.network.packets"` VcenterHostNetworkThroughput MetricSettings `mapstructure:"vcenter.host.network.throughput"` + VcenterHostNetworkUsage MetricSettings `mapstructure:"vcenter.host.network.usage"` VcenterHostVsanCacheHitRate MetricSettings `mapstructure:"vcenter.host.vsan.cache.hit_rate"` VcenterHostVsanCacheReads MetricSettings `mapstructure:"vcenter.host.vsan.cache.reads"` VcenterHostVsanCongestions MetricSettings `mapstructure:"vcenter.host.vsan.congestions"` @@ -77,6 +79,9 @@ func DefaultMetricsSettings() MetricsSettings { VcenterClusterCPUUsed: MetricSettings{ Enabled: true, }, + VcenterClusterHostCount: MetricSettings{ + Enabled: true, + }, VcenterClusterMemoryAvailable: MetricSettings{ Enabled: true, }, @@ -86,6 +91,9 @@ func DefaultMetricsSettings() MetricsSettings { VcenterClusterMemoryUsed: MetricSettings{ Enabled: true, }, + VcenterClusterVMCount: MetricSettings{ + Enabled: true, + }, VcenterClusterVsanCongestions: MetricSettings{ Enabled: true, }, @@ -101,12 +109,6 @@ func DefaultMetricsSettings() MetricsSettings { VcenterClusterVsanThroughput: MetricSettings{ Enabled: true, }, - VcenterDatacenterHostCount: MetricSettings{ - Enabled: true, - }, - VcenterDatacenterVMCount: MetricSettings{ - Enabled: true, - }, VcenterDatastoreDiskUsage: MetricSettings{ Enabled: true, }, @@ -122,7 +124,7 @@ func DefaultMetricsSettings() MetricsSettings { VcenterHostDiskLatencyAvg: MetricSettings{ Enabled: true, }, - VcenterHostDiskLatencyMax: MetricSettings{ + VcenterHostDiskLatencyTotal: MetricSettings{ Enabled: true, }, VcenterHostDiskThroughput: MetricSettings{ @@ -134,12 +136,18 @@ func DefaultMetricsSettings() MetricsSettings { VcenterHostMemoryUtilization: MetricSettings{ Enabled: true, }, + VcenterHostNetworkErrors: MetricSettings{ + Enabled: true, + }, VcenterHostNetworkPackets: MetricSettings{ Enabled: true, }, VcenterHostNetworkThroughput: MetricSettings{ Enabled: true, }, + VcenterHostNetworkUsage: MetricSettings{ + Enabled: true, + }, VcenterHostVsanCacheHitRate: MetricSettings{ Enabled: true, }, @@ -371,6 +379,59 @@ func newMetricVcenterClusterCPUUsed(settings MetricSettings) metricVcenterCluste return m } +type metricVcenterClusterHostCount struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.host.count metric with initial data. +func (m *metricVcenterClusterHostCount) init() { + m.data.SetName("vcenter.cluster.host.count") + m.data.SetDescription("The number of hosts in the datacenter") + m.data.SetUnit("{hosts}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterClusterHostCount) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostEffectiveAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.HostEffective, pdata.NewValueString(hostEffectiveAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterHostCount) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterHostCount) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterHostCount(settings MetricSettings) metricVcenterClusterHostCount { + m := metricVcenterClusterHostCount{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + type metricVcenterClusterMemoryAvailable struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -524,6 +585,57 @@ func newMetricVcenterClusterMemoryUsed(settings MetricSettings) metricVcenterClu return m } +type metricVcenterClusterVMCount struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.cluster.vm.count metric with initial data. +func (m *metricVcenterClusterVMCount) init() { + m.data.SetName("vcenter.cluster.vm.count") + m.data.SetDescription("the number of virtual machines in the datacenter") + m.data.SetUnit("{virtual_machines}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) +} + +func (m *metricVcenterClusterVMCount) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterClusterVMCount) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterClusterVMCount) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterClusterVMCount(settings MetricSettings) metricVcenterClusterVMCount { + m := metricVcenterClusterVMCount{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + type metricVcenterClusterVsanCongestions struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -785,108 +897,6 @@ func newMetricVcenterClusterVsanThroughput(settings MetricSettings) metricVcente return m } -type metricVcenterDatacenterHostCount struct { - data pdata.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.datacenter.host.count metric with initial data. -func (m *metricVcenterDatacenterHostCount) init() { - m.data.SetName("vcenter.datacenter.host.count") - m.data.SetDescription("the number of hosts in the datacenter") - m.data.SetUnit("{hosts}") - m.data.SetDataType(pdata.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) -} - -func (m *metricVcenterDatacenterHostCount) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterDatacenterHostCount) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterDatacenterHostCount) emit(metrics pdata.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterDatacenterHostCount(settings MetricSettings) metricVcenterDatacenterHostCount { - m := metricVcenterDatacenterHostCount{settings: settings} - if settings.Enabled { - m.data = pdata.NewMetric() - m.init() - } - return m -} - -type metricVcenterDatacenterVMCount struct { - data pdata.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.datacenter.vm.count metric with initial data. -func (m *metricVcenterDatacenterVMCount) init() { - m.data.SetName("vcenter.datacenter.vm.count") - m.data.SetDescription("the number of virtual machines in the datacenter") - m.data.SetUnit("{virtual_machines}") - m.data.SetDataType(pdata.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) -} - -func (m *metricVcenterDatacenterVMCount) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterDatacenterVMCount) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterDatacenterVMCount) emit(metrics pdata.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterDatacenterVMCount(settings MetricSettings) metricVcenterDatacenterVMCount { - m := metricVcenterDatacenterVMCount{settings: settings} - if settings.Enabled { - m.data = pdata.NewMetric() - m.init() - } - return m -} - type metricVcenterDatastoreDiskUsage struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -1106,7 +1116,7 @@ func (m *metricVcenterHostDiskLatencyAvg) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { +func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string, latencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -1114,6 +1124,7 @@ func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) + dp.Attributes().Insert(A.LatencyDirection, pdata.NewValueString(latencyDirectionAttributeValue)) dp.Attributes().Insert(A.LatencyType, pdata.NewValueString(latencyTypeAttributeValue)) } @@ -1142,23 +1153,24 @@ func newMetricVcenterHostDiskLatencyAvg(settings MetricSettings) metricVcenterHo return m } -type metricVcenterHostDiskLatencyMax struct { +type metricVcenterHostDiskLatencyTotal struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.host.disk.latency.max metric with initial data. -func (m *metricVcenterHostDiskLatencyMax) init() { - m.data.SetName("vcenter.host.disk.latency.max") - m.data.SetDescription("The highest reported total latency (device and kernel times)") +// init fills vcenter.host.disk.latency.total metric with initial data. +func (m *metricVcenterHostDiskLatencyTotal) init() { + m.data.SetName("vcenter.host.disk.latency.total") + m.data.SetDescription("The total reported total latency (device and kernel times)") m.data.SetUnit("ms") m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostDiskLatencyMax) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterHostDiskLatencyTotal) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1166,17 +1178,18 @@ func (m *metricVcenterHostDiskLatencyMax) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) + dp.Attributes().Insert(A.LatencyDirection, pdata.NewValueString(latencyDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostDiskLatencyMax) updateCapacity() { +func (m *metricVcenterHostDiskLatencyTotal) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostDiskLatencyMax) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostDiskLatencyTotal) emit(metrics pdata.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1184,8 +1197,8 @@ func (m *metricVcenterHostDiskLatencyMax) emit(metrics pdata.MetricSlice) { } } -func newMetricVcenterHostDiskLatencyMax(settings MetricSettings) metricVcenterHostDiskLatencyMax { - m := metricVcenterHostDiskLatencyMax{settings: settings} +func newMetricVcenterHostDiskLatencyTotal(settings MetricSettings) metricVcenterHostDiskLatencyTotal { + m := metricVcenterHostDiskLatencyTotal{settings: settings} if settings.Enabled { m.data = pdata.NewMetric() m.init() @@ -1344,6 +1357,59 @@ func newMetricVcenterHostMemoryUtilization(settings MetricSettings) metricVcente return m } +type metricVcenterHostNetworkErrors struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.network.errors metric with initial data. +func (m *metricVcenterHostNetworkErrors) init() { + m.data.SetName("vcenter.host.network.errors") + m.data.SetDescription("The summation of errors on the host network.") + m.data.SetUnit("{errors}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) +} + +func (m *metricVcenterHostNetworkErrors) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) + dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostNetworkErrors) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostNetworkErrors) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostNetworkErrors(settings MetricSettings) metricVcenterHostNetworkErrors { + m := metricVcenterHostNetworkErrors{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + type metricVcenterHostNetworkPackets struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -1406,14 +1472,15 @@ type metricVcenterHostNetworkThroughput struct { // init fills vcenter.host.network.throughput metric with initial data. func (m *metricVcenterHostNetworkThroughput) init() { m.data.SetName("vcenter.host.network.throughput") - m.data.SetDescription("The amount of data that was sent or recieved over the network by the host") + m.data.SetDescription("The amount of data that was sent or received over the network by the host") m.data.SetUnit("{KBy/s}") m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1421,6 +1488,7 @@ func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) + dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1448,6 +1516,57 @@ func newMetricVcenterHostNetworkThroughput(settings MetricSettings) metricVcente return m } +type metricVcenterHostNetworkUsage struct { + data pdata.Metric // data buffer for generated metric. + settings MetricSettings // metric settings provided by user. + capacity int // max observed number of data points added to the metric. +} + +// init fills vcenter.host.network.usage metric with initial data. +func (m *metricVcenterHostNetworkUsage) init() { + m.data.SetName("vcenter.host.network.usage") + m.data.SetDescription("The sum of the data transmitted and received for all the NIC instances of the host.") + m.data.SetUnit("{KBy/s}") + m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) +} + +func (m *metricVcenterHostNetworkUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { + if !m.settings.Enabled { + return + } + dp := m.data.Sum().DataPoints().AppendEmpty() + dp.SetStartTimestamp(start) + dp.SetTimestamp(ts) + dp.SetIntVal(val) +} + +// updateCapacity saves max length of data point slices that will be used for the slice capacity. +func (m *metricVcenterHostNetworkUsage) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() + } +} + +// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. +func (m *metricVcenterHostNetworkUsage) emit(metrics pdata.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + m.updateCapacity() + m.data.MoveTo(metrics.AppendEmpty()) + m.init() + } +} + +func newMetricVcenterHostNetworkUsage(settings MetricSettings) metricVcenterHostNetworkUsage { + m := metricVcenterHostNetworkUsage{settings: settings} + if settings.Enabled { + m.data = pdata.NewMetric() + m.init() + } + return m +} + type metricVcenterHostVsanCacheHitRate struct { data pdata.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -2079,7 +2198,7 @@ func (m *metricVcenterVMDiskLatencyAvg) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { +func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -2087,7 +2206,7 @@ func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.LatencyType, pdata.NewValueString(latencyTypeAttributeValue)) + dp.Attributes().Insert(A.LatencyDirection, pdata.NewValueString(latencyDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2435,9 +2554,10 @@ func (m *metricVcenterVMNetworkPackets) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -2445,6 +2565,7 @@ func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) + dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2741,27 +2862,29 @@ type MetricsBuilder struct { metricVcenterClusterCPUAvailable metricVcenterClusterCPUAvailable metricVcenterClusterCPUEffective metricVcenterClusterCPUEffective metricVcenterClusterCPUUsed metricVcenterClusterCPUUsed + metricVcenterClusterHostCount metricVcenterClusterHostCount metricVcenterClusterMemoryAvailable metricVcenterClusterMemoryAvailable metricVcenterClusterMemoryEffective metricVcenterClusterMemoryEffective metricVcenterClusterMemoryUsed metricVcenterClusterMemoryUsed + metricVcenterClusterVMCount metricVcenterClusterVMCount metricVcenterClusterVsanCongestions metricVcenterClusterVsanCongestions metricVcenterClusterVsanLatencyAvg metricVcenterClusterVsanLatencyAvg metricVcenterClusterVsanOperations metricVcenterClusterVsanOperations metricVcenterClusterVsanOutstandingIo metricVcenterClusterVsanOutstandingIo metricVcenterClusterVsanThroughput metricVcenterClusterVsanThroughput - metricVcenterDatacenterHostCount metricVcenterDatacenterHostCount - metricVcenterDatacenterVMCount metricVcenterDatacenterVMCount metricVcenterDatastoreDiskUsage metricVcenterDatastoreDiskUsage metricVcenterDatastoreDiskUtilization metricVcenterDatastoreDiskUtilization metricVcenterHostCPUUsage metricVcenterHostCPUUsage metricVcenterHostCPUUtilization metricVcenterHostCPUUtilization metricVcenterHostDiskLatencyAvg metricVcenterHostDiskLatencyAvg - metricVcenterHostDiskLatencyMax metricVcenterHostDiskLatencyMax + metricVcenterHostDiskLatencyTotal metricVcenterHostDiskLatencyTotal metricVcenterHostDiskThroughput metricVcenterHostDiskThroughput metricVcenterHostMemoryUsage metricVcenterHostMemoryUsage metricVcenterHostMemoryUtilization metricVcenterHostMemoryUtilization + metricVcenterHostNetworkErrors metricVcenterHostNetworkErrors metricVcenterHostNetworkPackets metricVcenterHostNetworkPackets metricVcenterHostNetworkThroughput metricVcenterHostNetworkThroughput + metricVcenterHostNetworkUsage metricVcenterHostNetworkUsage metricVcenterHostVsanCacheHitRate metricVcenterHostVsanCacheHitRate metricVcenterHostVsanCacheReads metricVcenterHostVsanCacheReads metricVcenterHostVsanCongestions metricVcenterHostVsanCongestions @@ -2806,27 +2929,29 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) metricVcenterClusterCPUAvailable: newMetricVcenterClusterCPUAvailable(settings.VcenterClusterCPUAvailable), metricVcenterClusterCPUEffective: newMetricVcenterClusterCPUEffective(settings.VcenterClusterCPUEffective), metricVcenterClusterCPUUsed: newMetricVcenterClusterCPUUsed(settings.VcenterClusterCPUUsed), + metricVcenterClusterHostCount: newMetricVcenterClusterHostCount(settings.VcenterClusterHostCount), metricVcenterClusterMemoryAvailable: newMetricVcenterClusterMemoryAvailable(settings.VcenterClusterMemoryAvailable), metricVcenterClusterMemoryEffective: newMetricVcenterClusterMemoryEffective(settings.VcenterClusterMemoryEffective), metricVcenterClusterMemoryUsed: newMetricVcenterClusterMemoryUsed(settings.VcenterClusterMemoryUsed), + metricVcenterClusterVMCount: newMetricVcenterClusterVMCount(settings.VcenterClusterVMCount), metricVcenterClusterVsanCongestions: newMetricVcenterClusterVsanCongestions(settings.VcenterClusterVsanCongestions), metricVcenterClusterVsanLatencyAvg: newMetricVcenterClusterVsanLatencyAvg(settings.VcenterClusterVsanLatencyAvg), metricVcenterClusterVsanOperations: newMetricVcenterClusterVsanOperations(settings.VcenterClusterVsanOperations), metricVcenterClusterVsanOutstandingIo: newMetricVcenterClusterVsanOutstandingIo(settings.VcenterClusterVsanOutstandingIo), metricVcenterClusterVsanThroughput: newMetricVcenterClusterVsanThroughput(settings.VcenterClusterVsanThroughput), - metricVcenterDatacenterHostCount: newMetricVcenterDatacenterHostCount(settings.VcenterDatacenterHostCount), - metricVcenterDatacenterVMCount: newMetricVcenterDatacenterVMCount(settings.VcenterDatacenterVMCount), metricVcenterDatastoreDiskUsage: newMetricVcenterDatastoreDiskUsage(settings.VcenterDatastoreDiskUsage), metricVcenterDatastoreDiskUtilization: newMetricVcenterDatastoreDiskUtilization(settings.VcenterDatastoreDiskUtilization), metricVcenterHostCPUUsage: newMetricVcenterHostCPUUsage(settings.VcenterHostCPUUsage), metricVcenterHostCPUUtilization: newMetricVcenterHostCPUUtilization(settings.VcenterHostCPUUtilization), metricVcenterHostDiskLatencyAvg: newMetricVcenterHostDiskLatencyAvg(settings.VcenterHostDiskLatencyAvg), - metricVcenterHostDiskLatencyMax: newMetricVcenterHostDiskLatencyMax(settings.VcenterHostDiskLatencyMax), + metricVcenterHostDiskLatencyTotal: newMetricVcenterHostDiskLatencyTotal(settings.VcenterHostDiskLatencyTotal), metricVcenterHostDiskThroughput: newMetricVcenterHostDiskThroughput(settings.VcenterHostDiskThroughput), metricVcenterHostMemoryUsage: newMetricVcenterHostMemoryUsage(settings.VcenterHostMemoryUsage), metricVcenterHostMemoryUtilization: newMetricVcenterHostMemoryUtilization(settings.VcenterHostMemoryUtilization), + metricVcenterHostNetworkErrors: newMetricVcenterHostNetworkErrors(settings.VcenterHostNetworkErrors), metricVcenterHostNetworkPackets: newMetricVcenterHostNetworkPackets(settings.VcenterHostNetworkPackets), metricVcenterHostNetworkThroughput: newMetricVcenterHostNetworkThroughput(settings.VcenterHostNetworkThroughput), + metricVcenterHostNetworkUsage: newMetricVcenterHostNetworkUsage(settings.VcenterHostNetworkUsage), metricVcenterHostVsanCacheHitRate: newMetricVcenterHostVsanCacheHitRate(settings.VcenterHostVsanCacheHitRate), metricVcenterHostVsanCacheReads: newMetricVcenterHostVsanCacheReads(settings.VcenterHostVsanCacheReads), metricVcenterHostVsanCongestions: newMetricVcenterHostVsanCongestions(settings.VcenterHostVsanCongestions), @@ -2879,13 +3004,6 @@ func WithVcenterClusterName(val string) ResourceOption { } } -// WithVcenterDatacenterName sets provided value as "vcenter.datacenter.name" attribute for current resource. -func WithVcenterDatacenterName(val string) ResourceOption { - return func(r pdata.Resource) { - r.Attributes().UpsertString("vcenter.datacenter.name", val) - } -} - // WithVcenterDatastoreName sets provided value as "vcenter.datastore.name" attribute for current resource. func WithVcenterDatastoreName(val string) ResourceOption { return func(r pdata.Resource) { @@ -2944,27 +3062,29 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { mb.metricVcenterClusterCPUAvailable.emit(ils.Metrics()) mb.metricVcenterClusterCPUEffective.emit(ils.Metrics()) mb.metricVcenterClusterCPUUsed.emit(ils.Metrics()) + mb.metricVcenterClusterHostCount.emit(ils.Metrics()) mb.metricVcenterClusterMemoryAvailable.emit(ils.Metrics()) mb.metricVcenterClusterMemoryEffective.emit(ils.Metrics()) mb.metricVcenterClusterMemoryUsed.emit(ils.Metrics()) + mb.metricVcenterClusterVMCount.emit(ils.Metrics()) mb.metricVcenterClusterVsanCongestions.emit(ils.Metrics()) mb.metricVcenterClusterVsanLatencyAvg.emit(ils.Metrics()) mb.metricVcenterClusterVsanOperations.emit(ils.Metrics()) mb.metricVcenterClusterVsanOutstandingIo.emit(ils.Metrics()) mb.metricVcenterClusterVsanThroughput.emit(ils.Metrics()) - mb.metricVcenterDatacenterHostCount.emit(ils.Metrics()) - mb.metricVcenterDatacenterVMCount.emit(ils.Metrics()) mb.metricVcenterDatastoreDiskUsage.emit(ils.Metrics()) mb.metricVcenterDatastoreDiskUtilization.emit(ils.Metrics()) mb.metricVcenterHostCPUUsage.emit(ils.Metrics()) mb.metricVcenterHostCPUUtilization.emit(ils.Metrics()) mb.metricVcenterHostDiskLatencyAvg.emit(ils.Metrics()) - mb.metricVcenterHostDiskLatencyMax.emit(ils.Metrics()) + mb.metricVcenterHostDiskLatencyTotal.emit(ils.Metrics()) mb.metricVcenterHostDiskThroughput.emit(ils.Metrics()) mb.metricVcenterHostMemoryUsage.emit(ils.Metrics()) mb.metricVcenterHostMemoryUtilization.emit(ils.Metrics()) + mb.metricVcenterHostNetworkErrors.emit(ils.Metrics()) mb.metricVcenterHostNetworkPackets.emit(ils.Metrics()) mb.metricVcenterHostNetworkThroughput.emit(ils.Metrics()) + mb.metricVcenterHostNetworkUsage.emit(ils.Metrics()) mb.metricVcenterHostVsanCacheHitRate.emit(ils.Metrics()) mb.metricVcenterHostVsanCacheReads.emit(ils.Metrics()) mb.metricVcenterHostVsanCongestions.emit(ils.Metrics()) @@ -3021,6 +3141,11 @@ func (mb *MetricsBuilder) RecordVcenterClusterCPUUsedDataPoint(ts pdata.Timestam mb.metricVcenterClusterCPUUsed.recordDataPoint(mb.startTime, ts, val) } +// RecordVcenterClusterHostCountDataPoint adds a data point to vcenter.cluster.host.count metric. +func (mb *MetricsBuilder) RecordVcenterClusterHostCountDataPoint(ts pdata.Timestamp, val int64, hostEffectiveAttributeValue string) { + mb.metricVcenterClusterHostCount.recordDataPoint(mb.startTime, ts, val, hostEffectiveAttributeValue) +} + // RecordVcenterClusterMemoryAvailableDataPoint adds a data point to vcenter.cluster.memory.available metric. func (mb *MetricsBuilder) RecordVcenterClusterMemoryAvailableDataPoint(ts pdata.Timestamp, val int64) { mb.metricVcenterClusterMemoryAvailable.recordDataPoint(mb.startTime, ts, val) @@ -3036,6 +3161,11 @@ func (mb *MetricsBuilder) RecordVcenterClusterMemoryUsedDataPoint(ts pdata.Times mb.metricVcenterClusterMemoryUsed.recordDataPoint(mb.startTime, ts, val) } +// RecordVcenterClusterVMCountDataPoint adds a data point to vcenter.cluster.vm.count metric. +func (mb *MetricsBuilder) RecordVcenterClusterVMCountDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterClusterVMCount.recordDataPoint(mb.startTime, ts, val) +} + // RecordVcenterClusterVsanCongestionsDataPoint adds a data point to vcenter.cluster.vsan.congestions metric. func (mb *MetricsBuilder) RecordVcenterClusterVsanCongestionsDataPoint(ts pdata.Timestamp, val int64) { mb.metricVcenterClusterVsanCongestions.recordDataPoint(mb.startTime, ts, val) @@ -3061,16 +3191,6 @@ func (mb *MetricsBuilder) RecordVcenterClusterVsanThroughputDataPoint(ts pdata.T mb.metricVcenterClusterVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue) } -// RecordVcenterDatacenterHostCountDataPoint adds a data point to vcenter.datacenter.host.count metric. -func (mb *MetricsBuilder) RecordVcenterDatacenterHostCountDataPoint(ts pdata.Timestamp, val int64) { - mb.metricVcenterDatacenterHostCount.recordDataPoint(mb.startTime, ts, val) -} - -// RecordVcenterDatacenterVMCountDataPoint adds a data point to vcenter.datacenter.vm.count metric. -func (mb *MetricsBuilder) RecordVcenterDatacenterVMCountDataPoint(ts pdata.Timestamp, val int64) { - mb.metricVcenterDatacenterVMCount.recordDataPoint(mb.startTime, ts, val) -} - // RecordVcenterDatastoreDiskUsageDataPoint adds a data point to vcenter.datastore.disk.usage metric. func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pdata.Timestamp, val int64, diskStateAttributeValue string) { mb.metricVcenterDatastoreDiskUsage.recordDataPoint(mb.startTime, ts, val, diskStateAttributeValue) @@ -3092,13 +3212,13 @@ func (mb *MetricsBuilder) RecordVcenterHostCPUUtilizationDataPoint(ts pdata.Time } // RecordVcenterHostDiskLatencyAvgDataPoint adds a data point to vcenter.host.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { - mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyTypeAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string, latencyTypeAttributeValue string) { + mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue, latencyTypeAttributeValue) } -// RecordVcenterHostDiskLatencyMaxDataPoint adds a data point to vcenter.host.disk.latency.max metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyMaxDataPoint(ts pdata.Timestamp, val int64) { - mb.metricVcenterHostDiskLatencyMax.recordDataPoint(mb.startTime, ts, val) +// RecordVcenterHostDiskLatencyTotalDataPoint adds a data point to vcenter.host.disk.latency.total metric. +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyTotalDataPoint(ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string) { + mb.metricVcenterHostDiskLatencyTotal.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue) } // RecordVcenterHostDiskThroughputDataPoint adds a data point to vcenter.host.disk.throughput metric. @@ -3116,14 +3236,24 @@ func (mb *MetricsBuilder) RecordVcenterHostMemoryUtilizationDataPoint(ts pdata.T mb.metricVcenterHostMemoryUtilization.recordDataPoint(mb.startTime, ts, val) } +// RecordVcenterHostNetworkErrorsDataPoint adds a data point to vcenter.host.network.errors metric. +func (mb *MetricsBuilder) RecordVcenterHostNetworkErrorsDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { + mb.metricVcenterHostNetworkErrors.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +} + // RecordVcenterHostNetworkPacketsDataPoint adds a data point to vcenter.host.network.packets metric. func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { mb.metricVcenterHostNetworkPackets.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterHostNetworkThroughputDataPoint adds a data point to vcenter.host.network.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pdata.Timestamp, val int64) { - mb.metricVcenterHostNetworkThroughput.recordDataPoint(mb.startTime, ts, val) +func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { + mb.metricVcenterHostNetworkThroughput.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +} + +// RecordVcenterHostNetworkUsageDataPoint adds a data point to vcenter.host.network.usage metric. +func (mb *MetricsBuilder) RecordVcenterHostNetworkUsageDataPoint(ts pdata.Timestamp, val int64) { + mb.metricVcenterHostNetworkUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanCacheHitRateDataPoint adds a data point to vcenter.host.vsan.cache.hit_rate metric. @@ -3187,8 +3317,8 @@ func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pdata.Timest } // RecordVcenterVMDiskLatencyAvgDataPoint adds a data point to vcenter.vm.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pdata.Timestamp, val int64, latencyTypeAttributeValue string) { - mb.metricVcenterVMDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyTypeAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string) { + mb.metricVcenterVMDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue) } // RecordVcenterVMDiskLatencyMaxDataPoint adds a data point to vcenter.vm.disk.latency.max metric. @@ -3222,8 +3352,8 @@ func (mb *MetricsBuilder) RecordVcenterVMMemoryUsageDataPoint(ts pdata.Timestamp } // RecordVcenterVMNetworkPacketsDataPoint adds a data point to vcenter.vm.network.packets metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketsDataPoint(ts pdata.Timestamp, val int64) { - mb.metricVcenterVMNetworkPackets.recordDataPoint(mb.startTime, ts, val) +func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { + mb.metricVcenterVMNetworkPackets.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterVMNetworkThroughputDataPoint adds a data point to vcenter.vm.network.throughput metric. @@ -3264,7 +3394,11 @@ func (mb *MetricsBuilder) Reset(options ...metricBuilderOption) { var Attributes = struct { // DiskState (The state of storage and whether it is already allocated or free.) DiskState string - // LatencyType (The type of disk latency.) + // HostEffective (Whether the host is effective in the vCenter cluster) + HostEffective string + // LatencyDirection (The direction of disk latency.) + LatencyDirection string + // LatencyType (The type of disk latency being reported.) LatencyType string // ThroughputDirection (The direction of network throughput.) ThroughputDirection string @@ -3276,6 +3410,8 @@ var Attributes = struct { VsanThroughputDirection string }{ "disk_state", + "host_effective", + "direction", "type", "direction", "type", @@ -3295,8 +3431,17 @@ var AttributeDiskState = struct { "used", } -// AttributeLatencyType are the possible values that the attribute "latency_type" can have. -var AttributeLatencyType = struct { +// AttributeHostEffective are the possible values that the attribute "host_effective" can have. +var AttributeHostEffective = struct { + True string + False string +}{ + "true", + "false", +} + +// AttributeLatencyDirection are the possible values that the attribute "latency_direction" can have. +var AttributeLatencyDirection = struct { Read string Write string }{ @@ -3304,6 +3449,15 @@ var AttributeLatencyType = struct { "write", } +// AttributeLatencyType are the possible values that the attribute "latency_type" can have. +var AttributeLatencyType = struct { + Kernel string + Device string +}{ + "kernel", + "device", +} + // AttributeThroughputDirection are the possible values that the attribute "throughput_direction" can have. var AttributeThroughputDirection = struct { Transmitted string diff --git a/receiver/vmwarevcenterreceiver/metadata.yaml b/receiver/vmwarevcenterreceiver/metadata.yaml index 60007e08da1fe..bb6e3a5546dbc 100644 --- a/receiver/vmwarevcenterreceiver/metadata.yaml +++ b/receiver/vmwarevcenterreceiver/metadata.yaml @@ -4,9 +4,6 @@ resource_attributes: vcenter.cluster.name: description: The name of the vCenter Cluster type: string - vcenter.datacenter.name: - description: The name of the vCenter datacenter - type: string vcenter.host.name: description: The hostname of the vCenter ESXi host type: string @@ -29,30 +26,46 @@ resource_attributes: attributes: disk_state: description: The state of storage and whether it is already allocated or free. + type: string enum: - available - used - latency_type: - value: type - description: The type of disk latency. + host_effective: + description: Whether the host is effective in the vCenter cluster + type: bool + enum: + - "true" + - "false" + latency_direction: + value: direction + description: The direction of disk latency. enum: - read - write + latency_type: + value: type + description: The type of disk latency being reported. + enum: + - kernel + - device throughput_direction: value: direction description: The direction of network throughput. + type: string enum: - transmitted - received vsan_latency_type: value: type description: The type of vSAN latency. + type: string enum: - read - write vsan_operation_type: value: type description: The type of vSAN operation. + type: string enum: - read - write @@ -60,6 +73,7 @@ attributes: vsan_throughput_direction: value: direction description: The type of vSAN throughput. + type: string enum: - read - write @@ -164,7 +178,7 @@ metrics: value_type: int aggregation: cumulative attributes: [vsan_throughput_direction] - vcenter.datacenter.vm.count: + vcenter.cluster.vm.count: enabled: true description: the number of virtual machines in the datacenter unit: "{virtual_machines}" @@ -172,15 +186,15 @@ metrics: monotonic: false value_type: int aggregation: cumulative - - vcenter.datacenter.host.count: + vcenter.cluster.host.count: enabled: true - description: the number of hosts in the datacenter + description: The number of hosts in the datacenter unit: "{hosts}" sum: monotonic: false value_type: int aggregation: cumulative + attributes: [host_effective] vcenter.datastore.disk.usage: enabled: true @@ -231,17 +245,17 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [latency_type] + attributes: [latency_direction, latency_type] extended_documentation: This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. - vcenter.host.disk.latency.max: + vcenter.host.disk.latency.total: enabled: true - description: The highest reported total latency (device and kernel times) + description: The total reported total latency (device and kernel times) unit: ms sum: monotonic: false value_type: int aggregation: cumulative - attributes: [] + attributes: [latency_direction] vcenter.host.memory.utilization: enabled: true description: The percentage of the host system's memory capacity that is being utilized @@ -260,13 +274,31 @@ metrics: attributes: [] vcenter.host.network.throughput: enabled: true - description: The amount of data that was sent or recieved over the network by the host + description: The amount of data that was sent or received over the network by the host + unit: "{KBy/s}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [throughput_direction] + vcenter.host.network.usage: + enabled: true + description: The sum of the data transmitted and received for all the NIC instances of the host. unit: "{KBy/s}" sum: monotonic: false value_type: int aggregation: cumulative attributes: [] + vcenter.host.network.errors: + enabled: true + description: The summation of errors on the host network. + unit: "{errors}" + sum: + monotonic: false + value_type: int + aggregation: cumulative + attributes: [throughput_direction] vcenter.host.network.packets: enabled: true description: The number of packets sent over an interval @@ -422,7 +454,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [latency_type] + attributes: [latency_direction] extended_documentation: This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. vcenter.vm.disk.latency.max: enabled: true @@ -460,7 +492,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [] + attributes: [throughput_direction] vcenter.vm.network.usage: enabled: true description: The network utilizaiton combined transmit and receive rates during an interval. diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index 61cd356d50f74..fce55c1bde1fb 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -17,7 +17,6 @@ package vmwarevcenterreceiver import ( "context" "strconv" - "strings" "time" "github.com/vmware/govmomi/performance" @@ -94,12 +93,22 @@ func (v *vcenterMetricScraper) recordResourcePool( } var hostPerfMetricList = []string{ + // network metrics "net.bytesTx.average", - "net.droppedRx.summation", - "net.droppedTx.summation", "net.bytesRx.average", + "net.packetsTx.summation", + "net.packetsRx.summation", "net.usage.average", + "net.errorsRx.summation", + "net.errorsTx.summation", + + // disk metrics "virtualDisk.totalWriteLatency.average", + "disk.deviceReadLatency.average", + "disk.deviceWriteLatency.average", + "disk.kernelReadLatency.average", + "disk.kernelWriteLatency.average", + "disk.read.average", } func (v *vcenterMetricScraper) recordHostPerformanceMetrics( @@ -128,6 +137,8 @@ func (v *vcenterMetricScraper) recordHostPerformanceMetrics( v.processHostPerformance(info.results) } +// vmPerfMetricList may be customizable in the future but here is the full list of Virtual Machine Performance Counters +// https://docs.vmware.com/en/vRealize-Operations/8.6/com.vmware.vcom.metrics.doc/GUID-1322F5A4-DA1D-481F-BBEA-99B228E96AF2.html var vmPerfMetricList = []string{ // network metrics "net.packetsTx.summation", @@ -138,7 +149,6 @@ var vmPerfMetricList = []string{ // disk metrics "disk.write.average", - "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average", } @@ -153,7 +163,7 @@ func (v *vcenterMetricScraper) recordVMPerformance( Format: string(types.PerfFormatNormal), // Just grabbing real time performance metrics of the current // supported metrics by this receiver. If more are added we may need - // a system of changin this to 5 minute interval per metric + // a system of making this user customizable or adapt to use a 5 minute interval per metric IntervalId: int32(20), } @@ -171,25 +181,27 @@ func (v *vcenterMetricScraper) processVMPerformanceMetrics(info *perfSampleResul for _, val := range m.Value { for j, nestedValue := range val.Value { si := m.SampleInfo[j] - switch strings.ToLower(val.Name) { + switch val.Name { // Performance monitoring level 1 metrics case "net.bytesTx.average": v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") case "net.bytesRx.average": v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") - case "cpu.usage.average": case "net.usage.average": v.mb.RecordVcenterVMNetworkUsageDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) + case "net.packetsTx.summation": + v.mb.RecordVcenterVMNetworkPacketsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + case "net.packetsRx.summation": + v.mb.RecordVcenterVMNetworkPacketsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + + // Performance monitoring level 2 metrics required case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "read") case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") case "disk.maxTotalLatency": v.mb.RecordVcenterVMDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) - // Performance monitoring level 2 metrics - case "": } - } } } @@ -200,22 +212,34 @@ func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.Enti for _, val := range m.Value { for j, nestedValue := range val.Value { si := m.SampleInfo[j] - switch strings.ToLower(val.Name) { + switch val.Name { // Performance monitoring level 1 metrics case "net.usage.average": - v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) + v.mb.RecordVcenterHostNetworkUsageDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) + case "net.bytesTx.average": + v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + case "net.bytesRx.average": + v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + // case "net.bytesTx.average": case "net.packetsTx.summation": v.mb.RecordVcenterHostNetworkPacketsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") case "net.packetsRx.summation": v.mb.RecordVcenterHostNetworkPacketsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") - case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": - v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "read") - case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": - v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") - // Performance monitoring level 2 metrics - // - case "disk.totalLatency.average": - v.mb.RecordVcenterHostDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) + + // Following requires performance level 2 + case "net.errorsRx.summation": + v.mb.RecordVcenterHostNetworkErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + case "net.errorsTx.summation": + v.mb.RecordVcenterHostNetworkErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + + case "disk.kernelReadLatency.average": + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "read", "kernel") + case "disk.kernelWriteLatency.average": + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write", "device") + case "disk.totalWriteLatency.average": + v.mb.RecordVcenterHostDiskLatencyTotalDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") + case "disk.totalReadLatency.average": + v.mb.RecordVcenterHostDiskLatencyTotalDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "read") } } } diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go index ce3b506e305d8..9470e0901dab8 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -108,6 +108,8 @@ func (v *vcenterMetricScraper) collectCluster( c.Properties(ctx, c.Reference(), []string{"summary"}, &moCluster) s := moCluster.Summary.GetComputeResourceSummary() v.mb.RecordVcenterClusterCPUAvailableDataPoint(now, int64(s.TotalCpu)) + v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumHosts-s.NumEffectiveHosts), "false") + v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumEffectiveHosts), "true") if v.vsanEnabled { mor := c.Reference() diff --git a/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json b/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json index 84375624c535c..1420c855ef911 100644 --- a/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json @@ -24,13 +24,49 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "6882" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } + }, + { + "name": "vcenter.cluster.host.count", + "description": "The number of hosts in the datacenter", + "unit": "{hosts}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "host_effective", + "value": { + "stringValue": "false" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "host_effective", + "value": { + "stringValue": "true" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", + "asInt": "3" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } } ] } @@ -60,8 +96,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "67" } ], @@ -75,8 +111,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asDouble": 1.4603312990409765 } ] @@ -89,8 +125,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "1404" } ], @@ -104,43 +140,323 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asDouble": 34.285714285714285 } ] } }, + { + "name": "vcenter.host.network.packets", + "description": "The number of packets sent over an interval", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089911300000", + "asInt": "8117" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069911300000", + "asInt": "10367" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049911300000", + "asInt": "12827" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029911300000", + "asInt": "4557" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009911300000", + "asInt": "8677" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089911300000", + "asInt": "18909" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069911300000", + "asInt": "17361" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049911300000", + "asInt": "15748" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029911300000", + "asInt": "10340" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009911300000", + "asInt": "11964" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, { "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or recieved over the network by the host", + "description": "The amount of data that was sent or received over the network by the host", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089911300000", + "asInt": "844" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069911300000", + "asInt": "514" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049911300000", + "asInt": "683" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029911300000", + "asInt": "682" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009911300000", + "asInt": "386" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089911300000", + "asInt": "779" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069911300000", + "asInt": "706" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049911300000", + "asInt": "723" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029911300000", + "asInt": "545" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009911300000", + "asInt": "637" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", "unit": "{KBy/s}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776859988721000", - "asInt": "1790" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089911300000", + "asInt": "1450" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776839988721000", - "asInt": "874" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069911300000", + "asInt": "1810" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776819988721000", - "asInt": "1678" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049911300000", + "asInt": "1160" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776799988721000", - "asInt": "3500" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029911300000", + "asInt": "1100" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776779988721000", - "asInt": "2769" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009911300000", + "asInt": "1137" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -174,8 +490,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "67" } ], @@ -189,8 +505,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asDouble": 1.4603312990409765 } ] @@ -203,8 +519,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "1404" } ], @@ -218,157 +534,717 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asDouble": 34.285714285714285 } ] } }, { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or recieved over the network by the host", - "unit": "{KBy/s}", + "name": "vcenter.host.network.packets", + "description": "The number of packets sent over an interval", + "unit": "{packets/sec}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776860036182000", - "asInt": "892" + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089948065000", + "asInt": "7959" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776840036182000", - "asInt": "1891" + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069948065000", + "asInt": "12447" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776820036182000", - "asInt": "1658" + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049948065000", + "asInt": "9550" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776800036182000", - "asInt": "2589" + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029948065000", + "asInt": "5641" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776780036182000", - "asInt": "2375" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H2" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host", - "unit": "MHz", - "sum": { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009948065000", + "asInt": "7585" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089948065000", + "asInt": "11054" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069948065000", + "asInt": "9425" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049948065000", + "asInt": "22243" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029948065000", + "asInt": "13991" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009948065000", + "asInt": "8518" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host", + "unit": "{KBy/s}", + "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", - "asInt": "67" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system", - "unit": "%", - "gauge": { - "dataPoints": [ + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089948065000", + "asInt": "776" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069948065000", + "asInt": "523" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049948065000", + "asInt": "536" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029948065000", + "asInt": "499" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009948065000", + "asInt": "339" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089948065000", + "asInt": "398" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069948065000", + "asInt": "640" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049948065000", + "asInt": "917" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029948065000", + "asInt": "612" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009948065000", + "asInt": "603" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089948065000", + "asInt": "1437" + }, + { + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069948065000", + "asInt": "1517" + }, + { + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049948065000", + "asInt": "1007" + }, + { + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029948065000", + "asInt": "1273" + }, + { + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009948065000", + "asInt": "1282" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H2" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.packets", + "description": "The number of packets sent over an interval", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089985306000", + "asInt": "4677" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069985306000", + "asInt": "9078" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049985306000", + "asInt": "10625" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029985306000", + "asInt": "10477" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009985306000", + "asInt": "5270" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089985306000", + "asInt": "15525" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069985306000", + "asInt": "15445" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049985306000", + "asInt": "21593" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029985306000", + "asInt": "10922" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009985306000", + "asInt": "16216" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089985306000", + "asInt": "519" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069985306000", + "asInt": "661" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049985306000", + "asInt": "454" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029985306000", + "asInt": "850" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009985306000", + "asInt": "702" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089985306000", + "asInt": "677" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069985306000", + "asInt": "749" + }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", - "asDouble": 1.4603312990409765 - } - ] - } - }, - { - "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using", - "unit": "MBy", - "sum": { - "dataPoints": [ + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049985306000", + "asInt": "658" + }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", - "asInt": "1404" + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029985306000", + "asInt": "593" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009985306000", + "asInt": "552" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or recieved over the network by the host", + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", "unit": "{KBy/s}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776860084872000", - "asInt": "1384" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795089985306000", + "asInt": "1371" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776840084872000", - "asInt": "1622" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795069985306000", + "asInt": "1089" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776820084872000", - "asInt": "2668" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795049985306000", + "asInt": "1097" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776800084872000", - "asInt": "2233" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795029985306000", + "asInt": "939" }, { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776780084872000", - "asInt": "2296" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795009985306000", + "asInt": "1184" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -410,8 +1286,8 @@ } } ], - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "42949672960" }, { @@ -423,8 +1299,8 @@ } } ], - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "10995116277760" } ], @@ -438,8 +1314,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asDouble": 0.390625 } ] @@ -493,8 +1369,8 @@ } } ], - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" }, { @@ -506,8 +1382,8 @@ } } ], - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], @@ -521,8 +1397,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asDouble": "NaN" } ] @@ -535,8 +1411,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], @@ -550,14 +1426,86 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, + { + "name": "vcenter.vm.network.packets", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150055024000", + "asInt": "866" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150055024000", + "asInt": "2132" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150055024000", + "asInt": "188" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150055024000", + "asInt": "306" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, { "name": "vcenter.vm.network.usage", "description": "The network utilizaiton combined transmit and receive rates during an interval.", @@ -565,9 +1513,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776920171509000", - "asInt": "471" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150055024000", + "asInt": "362" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -621,8 +1569,8 @@ } } ], - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" }, { @@ -634,8 +1582,8 @@ } } ], - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], @@ -649,8 +1597,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asDouble": "NaN" } ] @@ -663,8 +1611,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], @@ -678,14 +1626,86 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, + { + "name": "vcenter.vm.network.packets", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150092694000", + "asInt": "771" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150092694000", + "asInt": "1208" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150092694000", + "asInt": "195" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150092694000", + "asInt": "189" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, { "name": "vcenter.vm.network.usage", "description": "The network utilizaiton combined transmit and receive rates during an interval.", @@ -693,9 +1713,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776920203514000", - "asInt": "443" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150092694000", + "asInt": "262" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -749,8 +1769,8 @@ } } ], - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" }, { @@ -762,8 +1782,8 @@ } } ], - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], @@ -777,8 +1797,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asDouble": "NaN" } ] @@ -791,8 +1811,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], @@ -806,14 +1826,86 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, + { + "name": "vcenter.vm.network.packets", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150145607000", + "asInt": "663" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150145607000", + "asInt": "1454" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150145607000", + "asInt": "211" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150145607000", + "asInt": "226" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, { "name": "vcenter.vm.network.usage", "description": "The network utilizaiton combined transmit and receive rates during an interval.", @@ -821,9 +1913,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776920232900000", - "asInt": "453" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150145607000", + "asInt": "666" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -877,8 +1969,8 @@ } } ], - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" }, { @@ -890,8 +1982,8 @@ } } ], - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], @@ -905,8 +1997,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asDouble": "NaN" } ] @@ -919,8 +2011,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], @@ -934,14 +2026,86 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, + { + "name": "vcenter.vm.network.packets", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150192503000", + "asInt": "861" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150192503000", + "asInt": "1324" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150192503000", + "asInt": "113" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150192503000", + "asInt": "283" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, { "name": "vcenter.vm.network.usage", "description": "The network utilizaiton combined transmit and receive rates during an interval.", @@ -949,9 +2113,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776920255045000", - "asInt": "298" + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795150192503000", + "asInt": "247" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -985,8 +2149,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "9000" } ], @@ -1000,8 +2164,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "9000" } ], @@ -1036,8 +2200,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "9000" } ], @@ -1051,8 +2215,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649776919977236000", - "timeUnixNano": "1649776919979664000", + "startTimeUnixNano": "1649795149903277000", + "timeUnixNano": "1649795149905051000", "asInt": "9000" } ], From bd93bd9d09cad62f2173893f5c146cbd4cf1bb19 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 16:38:44 -0400 Subject: [PATCH 017/105] more tests --- receiver/vmwarevcenterreceiver/scraper.go | 2 +- .../vmwarevcenterreceiver/scraper_test.go | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go index 9470e0901dab8..3041ccf313faa 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -67,7 +67,7 @@ func (v *vcenterMetricScraper) Shutdown(ctx context.Context) error { func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error) { if v.client == nil { - return pdata.Metrics{}, errors.New("failed to connect to http client") + return pdata.NewMetrics(), errors.New("failed to connect to http client") } errs := &scrapererror.ScrapeErrors{} diff --git a/receiver/vmwarevcenterreceiver/scraper_test.go b/receiver/vmwarevcenterreceiver/scraper_test.go index 8eb547d038f2c..9be6ff27da8c6 100644 --- a/receiver/vmwarevcenterreceiver/scraper_test.go +++ b/receiver/vmwarevcenterreceiver/scraper_test.go @@ -45,10 +45,9 @@ func TestScrape_NoVsan(t *testing.T) { finder: finder, } scraper := &vcenterMetricScraper{ - client: client, - mb: metadata.NewMetricsBuilder(metadata.DefaultMetricsSettings()), - logger: zap.NewNop(), - vsanEnabled: false, + client: client, + mb: metadata.NewMetricsBuilder(metadata.DefaultMetricsSettings()), + logger: zap.NewNop(), } metrics, err := scraper.scrape(ctx) require.NoError(t, err) @@ -61,3 +60,15 @@ func TestScrape_NoVsan(t *testing.T) { scrapertest.CompareMetrics(expectedMetrics, metrics) }) } + +func TestScrape_UnableToConnect(t *testing.T) { + ctx := context.Background() + scraper := &vcenterMetricScraper{ + client: nil, + mb: metadata.NewMetricsBuilder(metadata.DefaultMetricsSettings()), + logger: zap.NewNop(), + } + metrics, err := scraper.scrape(ctx) + require.ErrorContains(t, err, "failed to connect") + require.Equal(t, metrics.MetricCount(), 0) +} From 49c22ad49e61f64e4dccd5cfe007d6b245faa901 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 16:53:29 -0400 Subject: [PATCH 018/105] add more attributes to virtual machines and host systems --- receiver/vmwarevcenterreceiver/scraper.go | 14 + .../testdata/metrics/expected.json | 2232 +---------------- 2 files changed, 15 insertions(+), 2231 deletions(-) diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go index 3041ccf313faa..77bb311d437ee 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -183,6 +183,7 @@ func (v *vcenterMetricScraper) collectHosts( v.collectHost(ctx, colTime, h, hostVsanCSVs, errs) v.mb.EmitForResource( metadata.WithVcenterHostName(h.Name()), + metadata.WithVcenterClusterName(cluster.Name()), ) } } @@ -276,11 +277,24 @@ func (v *vcenterMetricScraper) collectVMs( entityRefID := fmt.Sprintf("virtual-machine:%s", vmUUID) ps := string(moVM.Runtime.PowerState) + host, err := vm.HostSystem(ctx) + if err != nil { + errs.AddPartial(1, err) + return + } + hostname, err := host.ObjectName(ctx) + if err != nil { + errs.AddPartial(1, err) + return + } + v.collectVM(ctx, colTime, moVM, entityRefID, vsanCsvs, errs) v.mb.EmitForResource( metadata.WithVcenterVMName(vm.Name()), metadata.WithVcenterVMID(vmUUID), metadata.WithVcenterVMPowerState(ps), + metadata.WithVcenterClusterName(cluster.Name()), + metadata.WithVcenterHostName(hostname), ) } diff --git a/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json b/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json index 1420c855ef911..2c95723364296 100644 --- a/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json @@ -1,2231 +1 @@ -{ - "resourceMetrics": [ - { - "resource": { - "attributes": [ - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.cluster.cpu.available", - "description": "The amount of CPU available to the cluster", - "unit": "{MHz}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "6882" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.cluster.host.count", - "description": "The number of hosts in the datacenter", - "unit": "{hosts}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "host_effective", - "value": { - "stringValue": "false" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "host_effective", - "value": { - "stringValue": "true" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "3" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host", - "unit": "MHz", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "67" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": 1.4603312990409765 - } - ] - } - }, - { - "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "1404" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.packets", - "description": "The number of packets sent over an interval", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089911300000", - "asInt": "8117" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069911300000", - "asInt": "10367" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049911300000", - "asInt": "12827" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029911300000", - "asInt": "4557" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009911300000", - "asInt": "8677" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089911300000", - "asInt": "18909" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069911300000", - "asInt": "17361" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049911300000", - "asInt": "15748" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029911300000", - "asInt": "10340" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009911300000", - "asInt": "11964" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089911300000", - "asInt": "844" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069911300000", - "asInt": "514" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049911300000", - "asInt": "683" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029911300000", - "asInt": "682" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009911300000", - "asInt": "386" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089911300000", - "asInt": "779" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069911300000", - "asInt": "706" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049911300000", - "asInt": "723" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029911300000", - "asInt": "545" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009911300000", - "asInt": "637" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089911300000", - "asInt": "1450" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069911300000", - "asInt": "1810" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049911300000", - "asInt": "1160" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029911300000", - "asInt": "1100" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009911300000", - "asInt": "1137" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H1" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host", - "unit": "MHz", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "67" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": 1.4603312990409765 - } - ] - } - }, - { - "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "1404" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.packets", - "description": "The number of packets sent over an interval", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089948065000", - "asInt": "7959" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069948065000", - "asInt": "12447" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049948065000", - "asInt": "9550" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029948065000", - "asInt": "5641" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009948065000", - "asInt": "7585" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089948065000", - "asInt": "11054" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069948065000", - "asInt": "9425" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049948065000", - "asInt": "22243" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029948065000", - "asInt": "13991" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009948065000", - "asInt": "8518" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089948065000", - "asInt": "776" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069948065000", - "asInt": "523" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049948065000", - "asInt": "536" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029948065000", - "asInt": "499" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009948065000", - "asInt": "339" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089948065000", - "asInt": "398" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069948065000", - "asInt": "640" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049948065000", - "asInt": "917" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029948065000", - "asInt": "612" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009948065000", - "asInt": "603" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089948065000", - "asInt": "1437" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069948065000", - "asInt": "1517" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049948065000", - "asInt": "1007" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029948065000", - "asInt": "1273" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009948065000", - "asInt": "1282" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H2" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host", - "unit": "MHz", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "67" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": 1.4603312990409765 - } - ] - } - }, - { - "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "1404" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.packets", - "description": "The number of packets sent over an interval", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089985306000", - "asInt": "4677" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069985306000", - "asInt": "9078" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049985306000", - "asInt": "10625" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029985306000", - "asInt": "10477" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009985306000", - "asInt": "5270" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089985306000", - "asInt": "15525" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069985306000", - "asInt": "15445" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049985306000", - "asInt": "21593" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029985306000", - "asInt": "10922" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009985306000", - "asInt": "16216" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089985306000", - "asInt": "519" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069985306000", - "asInt": "661" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049985306000", - "asInt": "454" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029985306000", - "asInt": "850" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009985306000", - "asInt": "702" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089985306000", - "asInt": "677" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069985306000", - "asInt": "749" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049985306000", - "asInt": "658" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029985306000", - "asInt": "593" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009985306000", - "asInt": "552" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795089985306000", - "asInt": "1371" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795069985306000", - "asInt": "1089" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795049985306000", - "asInt": "1097" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795029985306000", - "asInt": "939" - }, - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795009985306000", - "asInt": "1184" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.datastore.name", - "value": { - "stringValue": "LocalDS_0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.datastore.disk.usage", - "description": "The amount of space in the datastore.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "42949672960" - }, - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "total" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "10995116277760" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.datastore.disk.utilization", - "description": "The utilization of the datastore", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": 0.390625 - } - ] - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_H0_VM0" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "b4689bed-97f0-5bcd-8a4c-07477cc8f06f" - } - }, - { - "key": "vcenter.vm.power_state", - "value": { - "stringValue": "poweredOn" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space the virtual machine is using", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "total" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.disk.utilization", - "description": "The utilization of storage on the virtual machine", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": "NaN" - } - ] - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.packets", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150055024000", - "asInt": "866" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150055024000", - "asInt": "2132" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150055024000", - "asInt": "188" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150055024000", - "asInt": "306" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilizaiton combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150055024000", - "asInt": "362" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_H0_VM1" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "12f8928d-f144-5c57-89db-dd2d0902c9fa" - } - }, - { - "key": "vcenter.vm.power_state", - "value": { - "stringValue": "poweredOn" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space the virtual machine is using", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "total" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.disk.utilization", - "description": "The utilization of storage on the virtual machine", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": "NaN" - } - ] - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.packets", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150092694000", - "asInt": "771" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150092694000", - "asInt": "1208" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150092694000", - "asInt": "195" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150092694000", - "asInt": "189" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilizaiton combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150092694000", - "asInt": "262" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_C0_RP0_VM0" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "bfff331f-7f07-572d-951e-edd3701dc061" - } - }, - { - "key": "vcenter.vm.power_state", - "value": { - "stringValue": "poweredOn" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space the virtual machine is using", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "total" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.disk.utilization", - "description": "The utilization of storage on the virtual machine", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": "NaN" - } - ] - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.packets", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150145607000", - "asInt": "663" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150145607000", - "asInt": "1454" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150145607000", - "asInt": "211" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150145607000", - "asInt": "226" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilizaiton combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150145607000", - "asInt": "666" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_C0_RP0_VM1" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "6132d223-1566-5921-bc3b-df91ece09a4d" - } - }, - { - "key": "vcenter.vm.power_state", - "value": { - "stringValue": "poweredOn" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space the virtual machine is using", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "total" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.disk.utilization", - "description": "The utilization of storage on the virtual machine", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asDouble": "NaN" - } - ] - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.packets", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150192503000", - "asInt": "861" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150192503000", - "asInt": "1324" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150192503000", - "asInt": "113" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150192503000", - "asInt": "283" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilizaiton combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795150192503000", - "asInt": "247" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.resource_pool.name", - "value": { - "stringValue": "Resources" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.resource_pool.cpu.shares", - "description": "The amount of shares of memory in the resource pool", - "unit": "{shares}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "9000" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.resource_pool.memory.shares", - "description": "The amount of shares of memory in the resource pool", - "unit": "{shares}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "9000" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.resource_pool.name", - "value": { - "stringValue": "Resources" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.resource_pool.cpu.shares", - "description": "The amount of shares of memory in the resource pool", - "unit": "{shares}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "9000" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.resource_pool.memory.shares", - "description": "The amount of shares of memory in the resource pool", - "unit": "{shares}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649795149903277000", - "timeUnixNano": "1649795149905051000", - "asInt": "9000" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - } - ] -} \ No newline at end of file +{"resourceMetrics":[{"resource":{"attributes":[{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.cluster.cpu.available","description":"The amount of CPU available to the cluster","unit":"{MHz}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"6882"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.cluster.host.count","description":"The number of hosts in the datacenter","unit":"{hosts}","sum":{"dataPoints":[{"attributes":[{"key":"host_effective","value":{"stringValue":"false"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"},{"attributes":[{"key":"host_effective","value":{"stringValue":"true"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"3"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H0"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packets","description":"The number of packets sent over an interval","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488384983000","asInt":"13025"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468384983000","asInt":"7329"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448384983000","asInt":"12609"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428384983000","asInt":"12732"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408384983000","asInt":"10124"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488384983000","asInt":"17321"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468384983000","asInt":"21372"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448384983000","asInt":"17996"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428384983000","asInt":"14122"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408384983000","asInt":"9488"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488384983000","asInt":"781"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468384983000","asInt":"746"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448384983000","asInt":"871"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428384983000","asInt":"1006"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408384983000","asInt":"845"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488384983000","asInt":"1053"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468384983000","asInt":"852"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448384983000","asInt":"571"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428384983000","asInt":"1027"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408384983000","asInt":"803"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488384983000","asInt":"1918"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468384983000","asInt":"1525"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448384983000","asInt":"1155"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428384983000","asInt":"1735"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408384983000","asInt":"1456"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H1"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packets","description":"The number of packets sent over an interval","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488420838000","asInt":"11962"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468420838000","asInt":"9546"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448420838000","asInt":"14138"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428420838000","asInt":"9090"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408420838000","asInt":"8574"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488420838000","asInt":"23184"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468420838000","asInt":"11995"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448420838000","asInt":"23949"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428420838000","asInt":"24374"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408420838000","asInt":"16403"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488420838000","asInt":"720"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468420838000","asInt":"548"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448420838000","asInt":"705"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428420838000","asInt":"1162"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408420838000","asInt":"521"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488420838000","asInt":"1096"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468420838000","asInt":"881"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448420838000","asInt":"515"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428420838000","asInt":"1076"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408420838000","asInt":"697"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488420838000","asInt":"1580"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468420838000","asInt":"1088"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448420838000","asInt":"1174"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428420838000","asInt":"2000"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408420838000","asInt":"1812"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H2"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packets","description":"The number of packets sent over an interval","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488453389000","asInt":"15166"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468453389000","asInt":"10740"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448453389000","asInt":"13351"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428453389000","asInt":"8913"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408453389000","asInt":"10294"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488453389000","asInt":"17260"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468453389000","asInt":"14849"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448453389000","asInt":"20936"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428453389000","asInt":"14248"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408453389000","asInt":"8905"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488453389000","asInt":"1229"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468453389000","asInt":"622"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448453389000","asInt":"635"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428453389000","asInt":"1069"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408453389000","asInt":"531"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488453389000","asInt":"859"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468453389000","asInt":"644"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448453389000","asInt":"451"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428453389000","asInt":"548"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408453389000","asInt":"632"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488453389000","asInt":"2230"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468453389000","asInt":"1471"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448453389000","asInt":"837"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428453389000","asInt":"1982"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408453389000","asInt":"1519"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.datastore.name","value":{"stringValue":"LocalDS_0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.datastore.disk.usage","description":"The amount of space in the datastore.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"42949672960"},{"attributes":[{"key":"disk_state","value":{"stringValue":"total"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"10995116277760"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.datastore.disk.utilization","description":"The utilization of the datastore","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":0.390625}]}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_H0_VM0"}},{"key":"vcenter.vm.id","value":{"stringValue":"b4689bed-97f0-5bcd-8a4c-07477cc8f06f"}},{"key":"vcenter.vm.power_state","value":{"stringValue":"poweredOn"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space the virtual machine is using","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"total"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.disk.utilization","description":"The utilization of storage on the virtual machine","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":"NaN"}]}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packets","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548501225000","asInt":"534"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548501225000","asInt":"1029"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548501225000","asInt":"187"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548501225000","asInt":"228"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilizaiton combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548501225000","asInt":"477"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_H0_VM1"}},{"key":"vcenter.vm.id","value":{"stringValue":"12f8928d-f144-5c57-89db-dd2d0902c9fa"}},{"key":"vcenter.vm.power_state","value":{"stringValue":"poweredOn"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space the virtual machine is using","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"total"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.disk.utilization","description":"The utilization of storage on the virtual machine","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":"NaN"}]}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packets","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548525234000","asInt":"1055"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548525234000","asInt":"2360"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548525234000","asInt":"210"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548525234000","asInt":"274"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilizaiton combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548525234000","asInt":"477"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_C0_RP0_VM0"}},{"key":"vcenter.vm.id","value":{"stringValue":"bfff331f-7f07-572d-951e-edd3701dc061"}},{"key":"vcenter.vm.power_state","value":{"stringValue":"poweredOn"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H1"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space the virtual machine is using","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"total"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.disk.utilization","description":"The utilization of storage on the virtual machine","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":"NaN"}]}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packets","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548558242000","asInt":"650"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548558242000","asInt":"1034"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548558242000","asInt":"184"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548558242000","asInt":"244"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilizaiton combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548558242000","asInt":"736"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_C0_RP0_VM1"}},{"key":"vcenter.vm.id","value":{"stringValue":"6132d223-1566-5921-bc3b-df91ece09a4d"}},{"key":"vcenter.vm.power_state","value":{"stringValue":"poweredOn"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space the virtual machine is using","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"total"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.disk.utilization","description":"The utilization of storage on the virtual machine","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":"NaN"}]}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packets","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548586770000","asInt":"722"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548586770000","asInt":"1597"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548586770000","asInt":"234"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548586770000","asInt":"226"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilizaiton combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548586770000","asInt":"545"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.resource_pool.name","value":{"stringValue":"Resources"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.resource_pool.cpu.shares","description":"The amount of shares of memory in the resource pool","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.resource_pool.memory.shares","description":"The amount of shares of memory in the resource pool","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.resource_pool.name","value":{"stringValue":"Resources"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.resource_pool.cpu.shares","description":"The amount of shares of memory in the resource pool","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.resource_pool.memory.shares","description":"The amount of shares of memory in the resource pool","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]}]} \ No newline at end of file From 17c4ed87c6c0ff89cec83930f2acfae1cb504da6 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 16:54:45 -0400 Subject: [PATCH 019/105] add more attributes to virtual machines and host systems --- .../vmwarevcenterreceiver/scraper_test.go | 1 - .../testdata/metrics/expected.json | 2298 ++++++++++++++++- 2 files changed, 2297 insertions(+), 2 deletions(-) diff --git a/receiver/vmwarevcenterreceiver/scraper_test.go b/receiver/vmwarevcenterreceiver/scraper_test.go index 9be6ff27da8c6..b78b14632164d 100644 --- a/receiver/vmwarevcenterreceiver/scraper_test.go +++ b/receiver/vmwarevcenterreceiver/scraper_test.go @@ -56,7 +56,6 @@ func TestScrape_NoVsan(t *testing.T) { goldenPath := filepath.Join("testdata", "metrics", "expected.json") expectedMetrics, err := golden.ReadMetrics(goldenPath) require.NoError(t, err) - scrapertest.CompareMetrics(expectedMetrics, metrics) }) } diff --git a/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json b/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json index 2c95723364296..6102609a9c94b 100644 --- a/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json @@ -1 +1,2297 @@ -{"resourceMetrics":[{"resource":{"attributes":[{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.cluster.cpu.available","description":"The amount of CPU available to the cluster","unit":"{MHz}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"6882"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.cluster.host.count","description":"The number of hosts in the datacenter","unit":"{hosts}","sum":{"dataPoints":[{"attributes":[{"key":"host_effective","value":{"stringValue":"false"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"},{"attributes":[{"key":"host_effective","value":{"stringValue":"true"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"3"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H0"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packets","description":"The number of packets sent over an interval","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488384983000","asInt":"13025"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468384983000","asInt":"7329"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448384983000","asInt":"12609"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428384983000","asInt":"12732"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408384983000","asInt":"10124"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488384983000","asInt":"17321"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468384983000","asInt":"21372"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448384983000","asInt":"17996"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428384983000","asInt":"14122"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408384983000","asInt":"9488"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488384983000","asInt":"781"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468384983000","asInt":"746"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448384983000","asInt":"871"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428384983000","asInt":"1006"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408384983000","asInt":"845"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488384983000","asInt":"1053"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468384983000","asInt":"852"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448384983000","asInt":"571"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428384983000","asInt":"1027"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408384983000","asInt":"803"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488384983000","asInt":"1918"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468384983000","asInt":"1525"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448384983000","asInt":"1155"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428384983000","asInt":"1735"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408384983000","asInt":"1456"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H1"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packets","description":"The number of packets sent over an interval","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488420838000","asInt":"11962"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468420838000","asInt":"9546"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448420838000","asInt":"14138"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428420838000","asInt":"9090"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408420838000","asInt":"8574"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488420838000","asInt":"23184"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468420838000","asInt":"11995"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448420838000","asInt":"23949"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428420838000","asInt":"24374"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408420838000","asInt":"16403"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488420838000","asInt":"720"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468420838000","asInt":"548"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448420838000","asInt":"705"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428420838000","asInt":"1162"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408420838000","asInt":"521"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488420838000","asInt":"1096"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468420838000","asInt":"881"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448420838000","asInt":"515"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428420838000","asInt":"1076"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408420838000","asInt":"697"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488420838000","asInt":"1580"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468420838000","asInt":"1088"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448420838000","asInt":"1174"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428420838000","asInt":"2000"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408420838000","asInt":"1812"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H2"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packets","description":"The number of packets sent over an interval","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488453389000","asInt":"15166"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468453389000","asInt":"10740"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448453389000","asInt":"13351"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428453389000","asInt":"8913"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408453389000","asInt":"10294"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488453389000","asInt":"17260"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468453389000","asInt":"14849"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448453389000","asInt":"20936"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428453389000","asInt":"14248"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408453389000","asInt":"8905"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488453389000","asInt":"1229"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468453389000","asInt":"622"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448453389000","asInt":"635"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428453389000","asInt":"1069"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408453389000","asInt":"531"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488453389000","asInt":"859"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468453389000","asInt":"644"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448453389000","asInt":"451"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428453389000","asInt":"548"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408453389000","asInt":"632"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796488453389000","asInt":"2230"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796468453389000","asInt":"1471"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796448453389000","asInt":"837"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796428453389000","asInt":"1982"},{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796408453389000","asInt":"1519"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.datastore.name","value":{"stringValue":"LocalDS_0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.datastore.disk.usage","description":"The amount of space in the datastore.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"42949672960"},{"attributes":[{"key":"disk_state","value":{"stringValue":"total"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"10995116277760"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.datastore.disk.utilization","description":"The utilization of the datastore","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":0.390625}]}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_H0_VM0"}},{"key":"vcenter.vm.id","value":{"stringValue":"b4689bed-97f0-5bcd-8a4c-07477cc8f06f"}},{"key":"vcenter.vm.power_state","value":{"stringValue":"poweredOn"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space the virtual machine is using","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"total"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.disk.utilization","description":"The utilization of storage on the virtual machine","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":"NaN"}]}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packets","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548501225000","asInt":"534"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548501225000","asInt":"1029"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548501225000","asInt":"187"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548501225000","asInt":"228"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilizaiton combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548501225000","asInt":"477"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_H0_VM1"}},{"key":"vcenter.vm.id","value":{"stringValue":"12f8928d-f144-5c57-89db-dd2d0902c9fa"}},{"key":"vcenter.vm.power_state","value":{"stringValue":"poweredOn"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space the virtual machine is using","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"total"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.disk.utilization","description":"The utilization of storage on the virtual machine","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":"NaN"}]}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packets","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548525234000","asInt":"1055"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548525234000","asInt":"2360"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548525234000","asInt":"210"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548525234000","asInt":"274"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilizaiton combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548525234000","asInt":"477"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_C0_RP0_VM0"}},{"key":"vcenter.vm.id","value":{"stringValue":"bfff331f-7f07-572d-951e-edd3701dc061"}},{"key":"vcenter.vm.power_state","value":{"stringValue":"poweredOn"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H1"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space the virtual machine is using","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"total"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.disk.utilization","description":"The utilization of storage on the virtual machine","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":"NaN"}]}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packets","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548558242000","asInt":"650"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548558242000","asInt":"1034"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548558242000","asInt":"184"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548558242000","asInt":"244"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilizaiton combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548558242000","asInt":"736"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_C0_RP0_VM1"}},{"key":"vcenter.vm.id","value":{"stringValue":"6132d223-1566-5921-bc3b-df91ece09a4d"}},{"key":"vcenter.vm.power_state","value":{"stringValue":"poweredOn"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space the virtual machine is using","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"total"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.disk.utilization","description":"The utilization of storage on the virtual machine","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asDouble":"NaN"}]}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packets","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548586770000","asInt":"722"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548586770000","asInt":"1597"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548586770000","asInt":"234"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548586770000","asInt":"226"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilizaiton combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548586770000","asInt":"545"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.resource_pool.name","value":{"stringValue":"Resources"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.resource_pool.cpu.shares","description":"The amount of shares of memory in the resource pool","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.resource_pool.memory.shares","description":"The amount of shares of memory in the resource pool","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.resource_pool.name","value":{"stringValue":"Resources"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.resource_pool.cpu.shares","description":"The amount of shares of memory in the resource pool","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.resource_pool.memory.shares","description":"The amount of shares of memory in the resource pool","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1649796548377697000","timeUnixNano":"1649796548379305000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]}]} \ No newline at end of file +{ + "resourceMetrics": [ + { + "resource": { + "attributes": [ + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.cluster.cpu.available", + "description": "The amount of CPU available to the cluster", + "unit": "{MHz}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "6882" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.cluster.host.count", + "description": "The number of hosts in the datacenter", + "unit": "{hosts}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "host_effective", + "value": { + "stringValue": "false" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "host_effective", + "value": { + "stringValue": "true" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "3" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H0" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.packets", + "description": "The number of packets sent over an interval", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488384983000", + "asInt": "13025" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468384983000", + "asInt": "7329" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448384983000", + "asInt": "12609" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428384983000", + "asInt": "12732" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408384983000", + "asInt": "10124" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488384983000", + "asInt": "17321" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468384983000", + "asInt": "21372" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448384983000", + "asInt": "17996" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428384983000", + "asInt": "14122" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408384983000", + "asInt": "9488" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488384983000", + "asInt": "781" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468384983000", + "asInt": "746" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448384983000", + "asInt": "871" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428384983000", + "asInt": "1006" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408384983000", + "asInt": "845" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488384983000", + "asInt": "1053" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468384983000", + "asInt": "852" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448384983000", + "asInt": "571" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428384983000", + "asInt": "1027" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408384983000", + "asInt": "803" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488384983000", + "asInt": "1918" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468384983000", + "asInt": "1525" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448384983000", + "asInt": "1155" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428384983000", + "asInt": "1735" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408384983000", + "asInt": "1456" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H1" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.packets", + "description": "The number of packets sent over an interval", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488420838000", + "asInt": "11962" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468420838000", + "asInt": "9546" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448420838000", + "asInt": "14138" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428420838000", + "asInt": "9090" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408420838000", + "asInt": "8574" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488420838000", + "asInt": "23184" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468420838000", + "asInt": "11995" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448420838000", + "asInt": "23949" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428420838000", + "asInt": "24374" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408420838000", + "asInt": "16403" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488420838000", + "asInt": "720" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468420838000", + "asInt": "548" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448420838000", + "asInt": "705" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428420838000", + "asInt": "1162" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408420838000", + "asInt": "521" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488420838000", + "asInt": "1096" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468420838000", + "asInt": "881" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448420838000", + "asInt": "515" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428420838000", + "asInt": "1076" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408420838000", + "asInt": "697" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488420838000", + "asInt": "1580" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468420838000", + "asInt": "1088" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448420838000", + "asInt": "1174" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428420838000", + "asInt": "2000" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408420838000", + "asInt": "1812" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H2" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.packets", + "description": "The number of packets sent over an interval", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488453389000", + "asInt": "15166" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468453389000", + "asInt": "10740" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448453389000", + "asInt": "13351" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428453389000", + "asInt": "8913" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408453389000", + "asInt": "10294" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488453389000", + "asInt": "17260" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468453389000", + "asInt": "14849" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448453389000", + "asInt": "20936" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428453389000", + "asInt": "14248" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408453389000", + "asInt": "8905" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488453389000", + "asInt": "1229" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468453389000", + "asInt": "622" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448453389000", + "asInt": "635" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428453389000", + "asInt": "1069" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408453389000", + "asInt": "531" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488453389000", + "asInt": "859" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468453389000", + "asInt": "644" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448453389000", + "asInt": "451" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428453389000", + "asInt": "548" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408453389000", + "asInt": "632" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796488453389000", + "asInt": "2230" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796468453389000", + "asInt": "1471" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796448453389000", + "asInt": "837" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796428453389000", + "asInt": "1982" + }, + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796408453389000", + "asInt": "1519" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.datastore.name", + "value": { + "stringValue": "LocalDS_0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.datastore.disk.usage", + "description": "The amount of space in the datastore.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "42949672960" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "total" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "10995116277760" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.datastore.disk.utilization", + "description": "The utilization of the datastore", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": 0.390625 + } + ] + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_H0_VM0" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "b4689bed-97f0-5bcd-8a4c-07477cc8f06f" + } + }, + { + "key": "vcenter.vm.power_state", + "value": { + "stringValue": "poweredOn" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space the virtual machine is using", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "total" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.disk.utilization", + "description": "The utilization of storage on the virtual machine", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": "NaN" + } + ] + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packets", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548501225000", + "asInt": "534" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548501225000", + "asInt": "1029" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548501225000", + "asInt": "187" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548501225000", + "asInt": "228" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548501225000", + "asInt": "477" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_H0_VM1" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "12f8928d-f144-5c57-89db-dd2d0902c9fa" + } + }, + { + "key": "vcenter.vm.power_state", + "value": { + "stringValue": "poweredOn" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space the virtual machine is using", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "total" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.disk.utilization", + "description": "The utilization of storage on the virtual machine", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": "NaN" + } + ] + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packets", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548525234000", + "asInt": "1055" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548525234000", + "asInt": "2360" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548525234000", + "asInt": "210" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548525234000", + "asInt": "274" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548525234000", + "asInt": "477" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_C0_RP0_VM0" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "bfff331f-7f07-572d-951e-edd3701dc061" + } + }, + { + "key": "vcenter.vm.power_state", + "value": { + "stringValue": "poweredOn" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H1" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space the virtual machine is using", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "total" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.disk.utilization", + "description": "The utilization of storage on the virtual machine", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": "NaN" + } + ] + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packets", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548558242000", + "asInt": "650" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548558242000", + "asInt": "1034" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548558242000", + "asInt": "184" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548558242000", + "asInt": "244" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548558242000", + "asInt": "736" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_C0_RP0_VM1" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "6132d223-1566-5921-bc3b-df91ece09a4d" + } + }, + { + "key": "vcenter.vm.power_state", + "value": { + "stringValue": "poweredOn" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space the virtual machine is using", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "total" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.disk.utilization", + "description": "The utilization of storage on the virtual machine", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asDouble": "NaN" + } + ] + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packets", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548586770000", + "asInt": "722" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548586770000", + "asInt": "1597" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548586770000", + "asInt": "234" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548586770000", + "asInt": "226" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548586770000", + "asInt": "545" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.resource_pool.name", + "value": { + "stringValue": "Resources" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.resource_pool.cpu.shares", + "description": "The amount of shares of memory in the resource pool", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.resource_pool.memory.shares", + "description": "The amount of shares of memory in the resource pool", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.resource_pool.name", + "value": { + "stringValue": "Resources" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.resource_pool.cpu.shares", + "description": "The amount of shares of memory in the resource pool", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.resource_pool.memory.shares", + "description": "The amount of shares of memory in the resource pool", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649796548377697000", + "timeUnixNano": "1649796548379305000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + } + ] +} \ No newline at end of file From 00513366faa4f1c9a8db046a29dc61e375df4bb9 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 16:59:22 -0400 Subject: [PATCH 020/105] spike changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 065708cd97af8..9bd2a8c0abb7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ - `windowsperfcountersreceiver`: Move code into separate package for use in other windowsperfcounter receivers (#9108) - `datadogexporter`: Add `host_metadata` configuration section to configure host metadata export (#9100) - `cmd/mdatagen`: Update documentation generated for attributes to list enumerated values and show the "value" that will be visible on metrics when it is different from the attribute key in metadata.yaml (#8983) +- `vmwarevcenterreceiver`: Add metrics receiver for new vcenter receiver component - `routingprocessor`: add option to drop resource attribute used for routing (#8990) From fd3ba25f92a9ed7b563aba68cfc751b653e7a99a Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 17:11:27 -0400 Subject: [PATCH 021/105] fix go.mod in both places --- cmd/configschema/go.mod | 3 +++ go.mod | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd/configschema/go.mod b/cmd/configschema/go.mod index 9c5e0abd7c638..fb6844b3bfc56 100644 --- a/cmd/configschema/go.mod +++ b/cmd/configschema/go.mod @@ -361,6 +361,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.48.0 // indirect @@ -782,6 +783,8 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplo replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver => ../../receiver/udplogreceiver +replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver => ../../receiver/vmwarevcenterreceiver + replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver => ../../receiver/wavefrontreceiver replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver => ../../receiver/windowsperfcountersreceiver diff --git a/go.mod b/go.mod index 24327271a6de5..de967951cf642 100644 --- a/go.mod +++ b/go.mod @@ -120,6 +120,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.48.0 @@ -363,7 +364,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/signalfx v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/zipkin v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/winperfcounters v0.48.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver v0.0.0-00010101000000-000000000000 // indirect github.com/open-telemetry/opentelemetry-log-collection v0.29.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect From debfe5349ce3cf306eb9455b4cc8c36958d8bdce Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 17:23:51 -0400 Subject: [PATCH 022/105] fix go.mod in configschema --- cmd/configschema/go.mod | 1 + cmd/configschema/go.sum | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/cmd/configschema/go.mod b/cmd/configschema/go.mod index fb6844b3bfc56..76cb2aa6f1e69 100644 --- a/cmd/configschema/go.mod +++ b/cmd/configschema/go.mod @@ -431,6 +431,7 @@ require ( github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect + github.com/vmware/govmomi v0.27.4 // indirect github.com/wavefronthq/wavefront-sdk-go v0.9.11 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.1 // indirect diff --git a/cmd/configschema/go.sum b/cmd/configschema/go.sum index 316b172a7a204..8e4a2da62bb34 100644 --- a/cmd/configschema/go.sum +++ b/cmd/configschema/go.sum @@ -241,6 +241,7 @@ github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDO github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= +github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= @@ -596,6 +597,7 @@ github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892/go.mod h1:CTDl0pzVzE5DEzZhPfvhY/9sPFMQIxaJ9VAMs9AagrE= github.com/denis-tingajkin/go-header v0.4.2/go.mod h1:eLRHAVXzE5atsKAnNRDB90WHCFFnBUn4RN0nRcs1LJA= github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denisenkom/go-mssqldb v0.11.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= @@ -2350,6 +2352,9 @@ github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vb github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/vmware/govmomi v0.27.4 h1:5kY8TAkhB20lsjzrjE073eRb8+HixBI29PVMG5lxq6I= +github.com/vmware/govmomi v0.27.4/go.mod h1:daTuJEcQosNMXYJOeku0qdBJP9SOLLWB3Mqz8THtv6o= +github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad/go.mod h1:Hy8o65+MXnS6EwGElrSRjUzQDLXreJlzYLlWiHtt8hM= github.com/wavefronthq/wavefront-sdk-go v0.9.11 h1:3qv/yyNNyLKPQftQWFrfHGUv50e/gMxKlUQnILlvHKw= github.com/wavefronthq/wavefront-sdk-go v0.9.11/go.mod h1:AcW8zJJcYodB7B9KYzoxVH6K0fmYd6MgpmXE1LMo+OU= From 371a491a7cc9bc67210d50537082f0acd545fba5 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 12 Apr 2022 17:25:34 -0400 Subject: [PATCH 023/105] add // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver to imports --- receiver/vmwarevcenterreceiver/client.go | 2 +- receiver/vmwarevcenterreceiver/client_test.go | 2 +- receiver/vmwarevcenterreceiver/config.go | 2 +- receiver/vmwarevcenterreceiver/config_test.go | 2 +- receiver/vmwarevcenterreceiver/e2e_test.go | 2 +- receiver/vmwarevcenterreceiver/metrics.go | 2 +- receiver/vmwarevcenterreceiver/receiver.go | 2 +- receiver/vmwarevcenterreceiver/scraper_test.go | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/receiver/vmwarevcenterreceiver/client.go b/receiver/vmwarevcenterreceiver/client.go index 952939e07e079..13e336a64620c 100644 --- a/receiver/vmwarevcenterreceiver/client.go +++ b/receiver/vmwarevcenterreceiver/client.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver +package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver import ( "context" diff --git a/receiver/vmwarevcenterreceiver/client_test.go b/receiver/vmwarevcenterreceiver/client_test.go index 3855ed7d8dae1..90b4cc776434e 100644 --- a/receiver/vmwarevcenterreceiver/client_test.go +++ b/receiver/vmwarevcenterreceiver/client_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver +package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver import ( "context" diff --git a/receiver/vmwarevcenterreceiver/config.go b/receiver/vmwarevcenterreceiver/config.go index 892546b49355f..6591a50311501 100644 --- a/receiver/vmwarevcenterreceiver/config.go +++ b/receiver/vmwarevcenterreceiver/config.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver +package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver import ( "errors" diff --git a/receiver/vmwarevcenterreceiver/config_test.go b/receiver/vmwarevcenterreceiver/config_test.go index e6e688efd4213..d3f5c53d2cca1 100644 --- a/receiver/vmwarevcenterreceiver/config_test.go +++ b/receiver/vmwarevcenterreceiver/config_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver +package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver import ( "testing" diff --git a/receiver/vmwarevcenterreceiver/e2e_test.go b/receiver/vmwarevcenterreceiver/e2e_test.go index 4c08ace71d50d..af83cd32496d6 100644 --- a/receiver/vmwarevcenterreceiver/e2e_test.go +++ b/receiver/vmwarevcenterreceiver/e2e_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver +package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver import ( "context" diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index fce55c1bde1fb..09baa059347cf 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver +package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver import ( "context" diff --git a/receiver/vmwarevcenterreceiver/receiver.go b/receiver/vmwarevcenterreceiver/receiver.go index c753d47fc2d00..617e0563f8b4b 100644 --- a/receiver/vmwarevcenterreceiver/receiver.go +++ b/receiver/vmwarevcenterreceiver/receiver.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver +package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver import ( "context" diff --git a/receiver/vmwarevcenterreceiver/scraper_test.go b/receiver/vmwarevcenterreceiver/scraper_test.go index b78b14632164d..dacad36995b79 100644 --- a/receiver/vmwarevcenterreceiver/scraper_test.go +++ b/receiver/vmwarevcenterreceiver/scraper_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver +package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver import ( "context" From 02a326df6912ba5b92e381fc507970fc7a7dc233 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 08:52:25 -0400 Subject: [PATCH 024/105] add quotations --- receiver/vmwarevcenterreceiver/client.go | 2 +- receiver/vmwarevcenterreceiver/config.go | 2 +- receiver/vmwarevcenterreceiver/metrics.go | 2 +- receiver/vmwarevcenterreceiver/receiver.go | 2 +- receiver/vmwarevcenterreceiver/scraper.go | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/receiver/vmwarevcenterreceiver/client.go b/receiver/vmwarevcenterreceiver/client.go index 13e336a64620c..2d2754f07070a 100644 --- a/receiver/vmwarevcenterreceiver/client.go +++ b/receiver/vmwarevcenterreceiver/client.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver +package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" import ( "context" diff --git a/receiver/vmwarevcenterreceiver/config.go b/receiver/vmwarevcenterreceiver/config.go index 6591a50311501..493ab8eb79ab2 100644 --- a/receiver/vmwarevcenterreceiver/config.go +++ b/receiver/vmwarevcenterreceiver/config.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver +package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" import ( "errors" diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index 09baa059347cf..0063db3710ac7 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver +package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" import ( "context" diff --git a/receiver/vmwarevcenterreceiver/receiver.go b/receiver/vmwarevcenterreceiver/receiver.go index 617e0563f8b4b..294927c807703 100644 --- a/receiver/vmwarevcenterreceiver/receiver.go +++ b/receiver/vmwarevcenterreceiver/receiver.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver +package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" import ( "context" diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vmwarevcenterreceiver/scraper.go index 77bb311d437ee..76aa3e5b02260 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vmwarevcenterreceiver/scraper.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver +package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" import ( "context" From 8d84602fc337ed789c017815f72ce9648a3797bf Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 09:32:16 -0400 Subject: [PATCH 025/105] add to receiver lifecycle --- internal/components/receivers_test.go | 3 +++ receiver/vmwarevcenterreceiver/config.go | 6 ++++++ receiver/vmwarevcenterreceiver/receiver.go | 2 +- versions.yaml | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/internal/components/receivers_test.go b/internal/components/receivers_test.go index 06d78f5a326ca..2e748aefa7ee0 100644 --- a/internal/components/receivers_test.go +++ b/internal/components/receivers_test.go @@ -258,6 +258,9 @@ func TestDefaultReceivers(t *testing.T) { return cfg }, }, + { + receiver: "vcenter", + }, } assert.Len(t, tests, len(rcvrFactories), "All receivers must be added to the lifecycle suite") diff --git a/receiver/vmwarevcenterreceiver/config.go b/receiver/vmwarevcenterreceiver/config.go index 493ab8eb79ab2..58cc716097205 100644 --- a/receiver/vmwarevcenterreceiver/config.go +++ b/receiver/vmwarevcenterreceiver/config.go @@ -53,6 +53,12 @@ func (c *Config) Validate() error { return err } +// ID returns the ID of the component. +func (c *Config) ID() config.ComponentID { + // defaulting to use the MetricsConfig ID which should be the typeStr + return c.MetricsConfig.ID() +} + func (c *Config) validateMetricsConfig() error { mc := c.MetricsConfig if mc.Endpoint == "" { diff --git a/receiver/vmwarevcenterreceiver/receiver.go b/receiver/vmwarevcenterreceiver/receiver.go index 294927c807703..0bba360300c26 100644 --- a/receiver/vmwarevcenterreceiver/receiver.go +++ b/receiver/vmwarevcenterreceiver/receiver.go @@ -32,7 +32,7 @@ type vcenterReceiver struct { func (v *vcenterReceiver) Start(ctx context.Context, host component.Host) error { var err error - if v.scraper != nil { + if v.scraper != nil && v.config.MetricsConfig.Endpoint != "" { scraperErr := v.scraper.Start(ctx, host) if scraperErr != nil { err = multierr.Append(err, scraperErr) diff --git a/versions.yaml b/versions.yaml index ca6a91d5d6d99..8b72bf141cfc6 100644 --- a/versions.yaml +++ b/versions.yaml @@ -182,6 +182,7 @@ module-sets: - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver + - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver From ba2ce319f28b9e5d0f3026c2f9c8a30fce71bba2 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 09:55:26 -0400 Subject: [PATCH 026/105] remove extra go generate direction --- receiver/vmwarevcenterreceiver/doc.go | 3 --- receiver/vmwarevcenterreceiver/factory.go | 2 -- 2 files changed, 5 deletions(-) diff --git a/receiver/vmwarevcenterreceiver/doc.go b/receiver/vmwarevcenterreceiver/doc.go index 8e195304968f1..a5a5392d886b4 100644 --- a/receiver/vmwarevcenterreceiver/doc.go +++ b/receiver/vmwarevcenterreceiver/doc.go @@ -12,9 +12,6 @@ // See the License for the specific language governing permissions and // limitations under the License. -//go:build !windows -// +build !windows - //go:generate mdatagen --experimental-gen metadata.yaml package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" diff --git a/receiver/vmwarevcenterreceiver/factory.go b/receiver/vmwarevcenterreceiver/factory.go index ffbc0d3ab4ecf..05975dde4bc0b 100644 --- a/receiver/vmwarevcenterreceiver/factory.go +++ b/receiver/vmwarevcenterreceiver/factory.go @@ -14,8 +14,6 @@ package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" -//go:generate mdatagen metadata.yaml - import ( "context" "errors" From 87fea71b8715dca6364afb329609bd5ec751d793 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 09:58:16 -0400 Subject: [PATCH 027/105] fix typo of utilizaiton in metric description --- receiver/vmwarevcenterreceiver/documentation.md | 2 +- .../internal/metadata/generated_metrics_v2.go | 2 +- receiver/vmwarevcenterreceiver/metadata.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/receiver/vmwarevcenterreceiver/documentation.md b/receiver/vmwarevcenterreceiver/documentation.md index 9c9321b5bfc8c..6aacdae07f8b6 100644 --- a/receiver/vmwarevcenterreceiver/documentation.md +++ b/receiver/vmwarevcenterreceiver/documentation.md @@ -55,7 +55,7 @@ These are the metrics available for this scraper. | **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine | MBy | Sum(Int) |
| | **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network. | {packets/sec} | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine. | By/sec | Sum(Int) |
  • throughput_direction
| -| **vcenter.vm.network.usage** | The network utilizaiton combined transmit and receive rates during an interval. | {KBy/s} | Sum(Int) |
| +| **vcenter.vm.network.usage** | The network utilization combined transmit and receive rates during an interval. | {KBy/s} | Sum(Int) |
| | **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) |
  • vsan_latency_type
| | **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| | **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Gauge(Int) |
  • vsan_throughput_direction
| diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go index 10b8c4443b9e7..00387774d0900 100644 --- a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -2655,7 +2655,7 @@ type metricVcenterVMNetworkUsage struct { // init fills vcenter.vm.network.usage metric with initial data. func (m *metricVcenterVMNetworkUsage) init() { m.data.SetName("vcenter.vm.network.usage") - m.data.SetDescription("The network utilizaiton combined transmit and receive rates during an interval.") + m.data.SetDescription("The network utilization combined transmit and receive rates during an interval.") m.data.SetUnit("{KBy/s}") m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) diff --git a/receiver/vmwarevcenterreceiver/metadata.yaml b/receiver/vmwarevcenterreceiver/metadata.yaml index bb6e3a5546dbc..0262d7c9f334e 100644 --- a/receiver/vmwarevcenterreceiver/metadata.yaml +++ b/receiver/vmwarevcenterreceiver/metadata.yaml @@ -495,7 +495,7 @@ metrics: attributes: [throughput_direction] vcenter.vm.network.usage: enabled: true - description: The network utilizaiton combined transmit and receive rates during an interval. + description: The network utilization combined transmit and receive rates during an interval. unit: "{KBy/s}" sum: monotonic: false From 64109a4b17ee8c981ea91b71fdcba264ecef9dbb Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 10:43:13 -0400 Subject: [PATCH 028/105] small changes to interval id in performance queries to be more consistent --- receiver/vmwarevcenterreceiver/client.go | 8 -------- receiver/vmwarevcenterreceiver/e2e_test.go | 2 +- receiver/vmwarevcenterreceiver/metrics.go | 6 +----- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/receiver/vmwarevcenterreceiver/client.go b/receiver/vmwarevcenterreceiver/client.go index 2d2754f07070a..c45b3f5269b6c 100644 --- a/receiver/vmwarevcenterreceiver/client.go +++ b/receiver/vmwarevcenterreceiver/client.go @@ -27,7 +27,6 @@ import ( "github.com/vmware/govmomi/performance" "github.com/vmware/govmomi/property" "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" vt "github.com/vmware/govmomi/vim25/types" "github.com/vmware/govmomi/vsan" "github.com/vmware/govmomi/vsan/types" @@ -200,13 +199,6 @@ func (vc *vmwareVcenterClient) performanceQuery( }, nil } -func (vc *vmwareVcenterClient) EntityName(e vt.ManagedObjectReference) string { - var me mo.ManagedEntity - mgr := performance.NewManager(vc.vimDriver) - _ = mgr.Properties(context.Background(), e, []string{"name"}, &me) - return me.Name -} - func (vc *vmwareVcenterClient) queryVsan(ctx context.Context, ref *vt.ManagedObjectReference, qs []types.VsanPerfQuerySpec) (*[]types.VsanPerfEntityMetricCSV, error) { CSVs, err := vc.vsanDriver.VsanPerfQueryPerf(ctx, ref, qs) if err != nil { diff --git a/receiver/vmwarevcenterreceiver/e2e_test.go b/receiver/vmwarevcenterreceiver/e2e_test.go index af83cd32496d6..23ee8cae94722 100644 --- a/receiver/vmwarevcenterreceiver/e2e_test.go +++ b/receiver/vmwarevcenterreceiver/e2e_test.go @@ -28,7 +28,7 @@ import ( "go.uber.org/zap" ) -func TestEndtoEnd(t *testing.T) { +func TestEndtoEnd_ESX(t *testing.T) { sim := simulator.ESX() defer sim.Remove() diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vmwarevcenterreceiver/metrics.go index 0063db3710ac7..3758777d391ba 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vmwarevcenterreceiver/metrics.go @@ -17,7 +17,6 @@ package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry import ( "context" "strconv" - "time" "github.com/vmware/govmomi/performance" "github.com/vmware/govmomi/vim25/mo" @@ -116,8 +115,6 @@ func (v *vcenterMetricScraper) recordHostPerformanceMetrics( host mo.HostSystem, errs *scrapererror.ScrapeErrors, ) { - st := time.Now().Add(-5 * time.Minute) - et := time.Now().Add(-1 * time.Minute) spec := types.PerfQuerySpec{ Entity: host.Reference(), MaxSample: 5, @@ -125,8 +122,7 @@ func (v *vcenterMetricScraper) recordHostPerformanceMetrics( MetricId: []types.PerfMetricId{{Instance: "*"}}, // right now we are only grabbing real time metrics from the performance // manager - StartTime: &st, - EndTime: &et, + IntervalId: int32(20), } info, err := v.client.performanceQuery(ctx, spec, hostPerfMetricList, []types.ManagedObjectReference{host.Reference()}) From bb45c029d0845065e616b7c25d6d971c9cc608a4 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 16:16:10 -0400 Subject: [PATCH 029/105] PR feedback including omitting company name prefix --- CHANGELOG.md | 2 +- cmd/configschema/go.mod | 4 +-- go.mod | 4 +-- internal/components/components.go | 4 +-- .../Makefile | 0 .../README.md | 24 +++++-------- .../client.go | 34 +++++++++---------- .../client_test.go | 8 ++--- .../config.go | 4 +-- .../config_test.go | 2 +- .../doc.go | 2 +- .../documentation.md | 0 .../e2e_test.go | 2 +- .../factory.go | 4 +-- .../factory_test.go | 2 +- .../go.mod | 2 +- .../go.sum | 0 .../internal/metadata/generated_metrics_v2.go | 0 .../metadata.yaml | 0 .../metrics.go | 2 +- .../receiver.go | 2 +- .../scraper.go | 21 +++++++++--- .../scraper_test.go | 6 ++-- .../testdata/config.yaml | 0 .../testdata/metrics/expected.json | 0 versions.yaml | 2 +- 26 files changed, 68 insertions(+), 63 deletions(-) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/Makefile (100%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/README.md (74%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/client.go (75%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/client_test.go (87%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/config.go (94%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/config_test.go (89%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/doc.go (83%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/documentation.md (100%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/e2e_test.go (92%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/factory.go (94%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/factory_test.go (93%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/go.mod (98%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/go.sum (100%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/internal/metadata/generated_metrics_v2.go (100%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/metadata.yaml (100%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/metrics.go (99%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/receiver.go (91%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/scraper.go (92%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/scraper_test.go (91%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/testdata/config.yaml (100%) rename receiver/{vmwarevcenterreceiver => vcenterreceiver}/testdata/metrics/expected.json (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdacc13b8a349..1e4347912f543 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ - `windowsperfcountersreceiver`: Move code into separate package for use in other windowsperfcounter receivers (#9108) - `datadogexporter`: Add `host_metadata` configuration section to configure host metadata export (#9100) - `cmd/mdatagen`: Update documentation generated for attributes to list enumerated values and show the "value" that will be visible on metrics when it is different from the attribute key in metadata.yaml (#8983) -- `vmwarevcenterreceiver`: Add metrics receiver for new vcenter receiver component +- `vcenterreceiver`: Add metrics receiver for new vcenter receiver component - `routingprocessor`: add option to drop resource attribute used for routing (#8990) diff --git a/cmd/configschema/go.mod b/cmd/configschema/go.mod index c69f9de81fde4..1c41447b54818 100644 --- a/cmd/configschema/go.mod +++ b/cmd/configschema/go.mod @@ -361,7 +361,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver v0.48.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.48.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.48.0 // indirect @@ -784,7 +784,7 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplo replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver => ../../receiver/udplogreceiver -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver => ../../receiver/vmwarevcenterreceiver +replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver => ../../receiver/vcenterreceiver replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver => ../../receiver/wavefrontreceiver diff --git a/go.mod b/go.mod index 095d67f611303..0f4cc589cb76b 100644 --- a/go.mod +++ b/go.mod @@ -120,7 +120,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.48.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver v0.48.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.48.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.48.0 @@ -788,7 +788,7 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplo replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver => ./receiver/udplogreceiver -replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver => ./receiver/vmwarevcenterreceiver +replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver => ./receiver/vcenterreceiver replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver => ./receiver/wavefrontreceiver diff --git a/internal/components/components.go b/internal/components/components.go index 8697f9ebf1cf7..e4a274ab5da50 100644 --- a/internal/components/components.go +++ b/internal/components/components.go @@ -140,7 +140,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver" @@ -222,7 +222,7 @@ func Components() (component.Factories, error) { syslogreceiver.NewFactory(), tcplogreceiver.NewFactory(), udplogreceiver.NewFactory(), - vmwarevcenterreceiver.NewFactory(), + vcenterreceiver.NewFactory(), zipkinreceiver.NewFactory(), } receivers = append(receivers, extraReceivers()...) diff --git a/receiver/vmwarevcenterreceiver/Makefile b/receiver/vcenterreceiver/Makefile similarity index 100% rename from receiver/vmwarevcenterreceiver/Makefile rename to receiver/vcenterreceiver/Makefile diff --git a/receiver/vmwarevcenterreceiver/README.md b/receiver/vcenterreceiver/README.md similarity index 74% rename from receiver/vmwarevcenterreceiver/README.md rename to receiver/vcenterreceiver/README.md index dc8a02a56128b..36f329138a5b7 100644 --- a/receiver/vmwarevcenterreceiver/README.md +++ b/receiver/vcenterreceiver/README.md @@ -10,17 +10,11 @@ Supported pipeline types: `metrics` and `logs` This receiver has been built to support ESXi and vCenter versions: -- 6.5 -- 6.7 - 7.0 +- 6.7 +- 7.5 -But may also work on older versions such as: - -- 5.1 -- 5.5 -- 6.0 - -A user with at least “Read Only” assigned to a vSphere User with permissions to the vCenter server, cluster and all subsequent resources being monitored must be specified in order for the receiver to retrieve information about them. +A user with at least “Read Only” assigned to a vSphere with permissions to the vCenter server, cluster and all subsequent resources being monitored. Must be specified in order for the receiver to retrieve information about them. ## Configuration @@ -40,7 +34,7 @@ receivers: | endpoint | | String | Endpoint to the vCenter Server or ESXi host that has the sdk path enabled. Required. The expected format is `://`

i.e: `https://vcsa.hostname.localnet` | | username | | String | Required | | password | | String | Required | -| tls | | TLSClientSetting | Not Required. Will use defaults for configtls.TLSClientSetting. By default insecure settings are rejected and certificate verification is on. | +| tls | | TLSClientSetting | Not Required. Will use defaults for [configtls.TLSClientSetting](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md). By default insecure settings are rejected and certificate verification is on. | | collection_interval | 5m | Duration | This receiver collects metrics on an interval. Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h` | ### Example Configuration @@ -49,11 +43,11 @@ receivers: receivers: vcenter: metrics: - endpoint: http://localhost:15672 - username: otelu - password: $VCENTER_PASSWORD - collection_interval: 5m - metrics: [] + endpoint: http://localhost:15672 + username: otelu + password: $VCENTER_PASSWORD + collection_interval: 5m + metrics: [] ``` The full list of settings exposed for this receiver are documented [here](./config.go) with detailed sample configurations [here](./testdata/config.yaml). TLS config is documented further under the [opentelemetry collector's configtls package](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md). diff --git a/receiver/vmwarevcenterreceiver/client.go b/receiver/vcenterreceiver/client.go similarity index 75% rename from receiver/vmwarevcenterreceiver/client.go rename to receiver/vcenterreceiver/client.go index c45b3f5269b6c..d86108522c852 100644 --- a/receiver/vmwarevcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" +package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" import ( "context" @@ -32,8 +32,8 @@ import ( "github.com/vmware/govmomi/vsan/types" ) -// vmwareVcenterClient is a client that -type vmwareVcenterClient struct { +// vcenterClient is a client that +type vcenterClient struct { moClient *govmomi.Client vimDriver *vim25.Client vsanDriver *vsan.Client @@ -42,13 +42,13 @@ type vmwareVcenterClient struct { cfg *Config } -func newVmwarevcenterClient(c *Config) *vmwareVcenterClient { - return &vmwareVcenterClient{ +func newVmwarevcenterClient(c *Config) *vcenterClient { + return &vcenterClient{ cfg: c, } } -func (vc *vmwareVcenterClient) Connect(ctx context.Context) error { +func (vc *vcenterClient) Connect(ctx context.Context) error { if vc.moClient == nil { sdkURL, err := vc.cfg.SDKUrl() if err != nil { @@ -56,7 +56,7 @@ func (vc *vmwareVcenterClient) Connect(ctx context.Context) error { } client, err := govmomi.NewClient(ctx, sdkURL, vc.cfg.MetricsConfig.Insecure) if err != nil { - return err + return fmt.Errorf("unable to connect to vSphere SDK on listed endpoint: %w", err) } tlsCfg, err := vc.cfg.MetricsConfig.LoadTLSConfig() if err != nil { @@ -76,14 +76,14 @@ func (vc *vmwareVcenterClient) Connect(ctx context.Context) error { return nil } -func (vc *vmwareVcenterClient) Disconnect(ctx context.Context) error { +func (vc *vcenterClient) Disconnect(ctx context.Context) error { if vc.moClient != nil { return vc.moClient.Logout(ctx) } return nil } -func (vc *vmwareVcenterClient) ConnectVSAN(ctx context.Context) error { +func (vc *vcenterClient) ConnectVSAN(ctx context.Context) error { vsanDriver, err := vsan.NewClient(ctx, vc.vimDriver) if err != nil { return err @@ -92,7 +92,7 @@ func (vc *vmwareVcenterClient) ConnectVSAN(ctx context.Context) error { return nil } -func (vc *vmwareVcenterClient) Clusters(ctx context.Context) ([]*object.ClusterComputeResource, error) { +func (vc *vcenterClient) Clusters(ctx context.Context) ([]*object.ClusterComputeResource, error) { clusters, err := vc.finder.ClusterComputeResourceList(ctx, "*") if err != nil { return []*object.ClusterComputeResource{}, err @@ -100,7 +100,7 @@ func (vc *vmwareVcenterClient) Clusters(ctx context.Context) ([]*object.ClusterC return clusters, nil } -func (vc *vmwareVcenterClient) ResourcePools(ctx context.Context) ([]*object.ResourcePool, error) { +func (vc *vcenterClient) ResourcePools(ctx context.Context) ([]*object.ResourcePool, error) { rps, err := vc.finder.ResourcePoolList(ctx, "*") if err != nil { return nil, fmt.Errorf("unable to retrieve resource pools: %w", err) @@ -108,7 +108,7 @@ func (vc *vmwareVcenterClient) ResourcePools(ctx context.Context) ([]*object.Res return rps, err } -func (vc *vmwareVcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachine, error) { +func (vc *vcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachine, error) { rps, err := vc.finder.VirtualMachineList(ctx, "*") if err != nil { return nil, fmt.Errorf("unable to retrieve resource pools: %w", err) @@ -116,7 +116,7 @@ func (vc *vmwareVcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachin return rps, err } -func (vc *vmwareVcenterClient) CollectVSANCluster(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *vcenterClient) CollectVSANCluster(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { if vc.vsanDriver == nil { return nil, errors.New("vsan client not instantiated") } @@ -130,7 +130,7 @@ func (vc *vmwareVcenterClient) CollectVSANCluster(ctx context.Context, clusterRe return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *vmwareVcenterClient) CollectVSANHosts(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *vcenterClient) CollectVSANHosts(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { if vc.vsanDriver == nil { return nil, errors.New("vsan client not instantiated") } @@ -144,7 +144,7 @@ func (vc *vmwareVcenterClient) CollectVSANHosts(ctx context.Context, clusterRef return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *vmwareVcenterClient) CollectVSANVirtualMachine( +func (vc *vcenterClient) CollectVSANVirtualMachine( ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, @@ -169,7 +169,7 @@ type perfSampleResult struct { results []performance.EntityMetric } -func (vc *vmwareVcenterClient) performanceQuery( +func (vc *vcenterClient) performanceQuery( ctx context.Context, spec vt.PerfQuerySpec, names []string, @@ -199,7 +199,7 @@ func (vc *vmwareVcenterClient) performanceQuery( }, nil } -func (vc *vmwareVcenterClient) queryVsan(ctx context.Context, ref *vt.ManagedObjectReference, qs []types.VsanPerfQuerySpec) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *vcenterClient) queryVsan(ctx context.Context, ref *vt.ManagedObjectReference, qs []types.VsanPerfQuerySpec) (*[]types.VsanPerfEntityMetricCSV, error) { CSVs, err := vc.vsanDriver.VsanPerfQueryPerf(ctx, ref, qs) if err != nil { return nil, err diff --git a/receiver/vmwarevcenterreceiver/client_test.go b/receiver/vcenterreceiver/client_test.go similarity index 87% rename from receiver/vmwarevcenterreceiver/client_test.go rename to receiver/vcenterreceiver/client_test.go index 90b4cc776434e..4c7a9e49d4d53 100644 --- a/receiver/vmwarevcenterreceiver/client_test.go +++ b/receiver/vcenterreceiver/client_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver +package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver import ( "context" @@ -27,7 +27,7 @@ import ( func TestGetClusters(t *testing.T) { simulator.Test(func(ctx context.Context, c *vim25.Client) { finder := find.NewFinder(c) - client := vmwareVcenterClient{ + client := vcenterClient{ vimDriver: c, finder: finder, } @@ -40,7 +40,7 @@ func TestGetClusters(t *testing.T) { func TestGetResourcePools(t *testing.T) { simulator.Test(func(ctx context.Context, c *vim25.Client) { finder := find.NewFinder(c) - client := vmwareVcenterClient{ + client := vcenterClient{ vimDriver: c, finder: finder, } @@ -53,7 +53,7 @@ func TestGetResourcePools(t *testing.T) { func TestGetVMs(t *testing.T) { simulator.Test(func(ctx context.Context, c *vim25.Client) { finder := find.NewFinder(c) - client := vmwareVcenterClient{ + client := vcenterClient{ vimDriver: c, finder: finder, } diff --git a/receiver/vmwarevcenterreceiver/config.go b/receiver/vcenterreceiver/config.go similarity index 94% rename from receiver/vmwarevcenterreceiver/config.go rename to receiver/vcenterreceiver/config.go index 58cc716097205..260dbcab3b6f1 100644 --- a/receiver/vmwarevcenterreceiver/config.go +++ b/receiver/vcenterreceiver/config.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" +package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" import ( "errors" @@ -24,7 +24,7 @@ import ( "go.opentelemetry.io/collector/receiver/scraperhelper" "go.uber.org/multierr" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" ) type Config struct { diff --git a/receiver/vmwarevcenterreceiver/config_test.go b/receiver/vcenterreceiver/config_test.go similarity index 89% rename from receiver/vmwarevcenterreceiver/config_test.go rename to receiver/vcenterreceiver/config_test.go index d3f5c53d2cca1..24106fbe6f9ee 100644 --- a/receiver/vmwarevcenterreceiver/config_test.go +++ b/receiver/vcenterreceiver/config_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver +package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver import ( "testing" diff --git a/receiver/vmwarevcenterreceiver/doc.go b/receiver/vcenterreceiver/doc.go similarity index 83% rename from receiver/vmwarevcenterreceiver/doc.go rename to receiver/vcenterreceiver/doc.go index a5a5392d886b4..4eb126a012971 100644 --- a/receiver/vmwarevcenterreceiver/doc.go +++ b/receiver/vcenterreceiver/doc.go @@ -14,4 +14,4 @@ //go:generate mdatagen --experimental-gen metadata.yaml -package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" +package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" diff --git a/receiver/vmwarevcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md similarity index 100% rename from receiver/vmwarevcenterreceiver/documentation.md rename to receiver/vcenterreceiver/documentation.md diff --git a/receiver/vmwarevcenterreceiver/e2e_test.go b/receiver/vcenterreceiver/e2e_test.go similarity index 92% rename from receiver/vmwarevcenterreceiver/e2e_test.go rename to receiver/vcenterreceiver/e2e_test.go index 23ee8cae94722..8f7df86547ecd 100644 --- a/receiver/vmwarevcenterreceiver/e2e_test.go +++ b/receiver/vcenterreceiver/e2e_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver +package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver import ( "context" diff --git a/receiver/vmwarevcenterreceiver/factory.go b/receiver/vcenterreceiver/factory.go similarity index 94% rename from receiver/vmwarevcenterreceiver/factory.go rename to receiver/vcenterreceiver/factory.go index 05975dde4bc0b..292d0e596a69c 100644 --- a/receiver/vmwarevcenterreceiver/factory.go +++ b/receiver/vcenterreceiver/factory.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" +package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" import ( "context" @@ -25,7 +25,7 @@ import ( "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/receiver/scraperhelper" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" ) const ( diff --git a/receiver/vmwarevcenterreceiver/factory_test.go b/receiver/vcenterreceiver/factory_test.go similarity index 93% rename from receiver/vmwarevcenterreceiver/factory_test.go rename to receiver/vcenterreceiver/factory_test.go index b6f40f0e161d1..4f4bd1a56bfe0 100644 --- a/receiver/vmwarevcenterreceiver/factory_test.go +++ b/receiver/vcenterreceiver/factory_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" +package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" import ( "context" diff --git a/receiver/vmwarevcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod similarity index 98% rename from receiver/vmwarevcenterreceiver/go.mod rename to receiver/vcenterreceiver/go.mod index 145059d6cf11c..3c94c82f21427 100644 --- a/receiver/vmwarevcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -1,4 +1,4 @@ -module github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver +module github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver go 1.17 diff --git a/receiver/vmwarevcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum similarity index 100% rename from receiver/vmwarevcenterreceiver/go.sum rename to receiver/vcenterreceiver/go.sum diff --git a/receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go similarity index 100% rename from receiver/vmwarevcenterreceiver/internal/metadata/generated_metrics_v2.go rename to receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go diff --git a/receiver/vmwarevcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml similarity index 100% rename from receiver/vmwarevcenterreceiver/metadata.yaml rename to receiver/vcenterreceiver/metadata.yaml diff --git a/receiver/vmwarevcenterreceiver/metrics.go b/receiver/vcenterreceiver/metrics.go similarity index 99% rename from receiver/vmwarevcenterreceiver/metrics.go rename to receiver/vcenterreceiver/metrics.go index 3758777d391ba..1565ad4cc81df 100644 --- a/receiver/vmwarevcenterreceiver/metrics.go +++ b/receiver/vcenterreceiver/metrics.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" +package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" import ( "context" diff --git a/receiver/vmwarevcenterreceiver/receiver.go b/receiver/vcenterreceiver/receiver.go similarity index 91% rename from receiver/vmwarevcenterreceiver/receiver.go rename to receiver/vcenterreceiver/receiver.go index 0bba360300c26..bb889eccdeb48 100644 --- a/receiver/vmwarevcenterreceiver/receiver.go +++ b/receiver/vcenterreceiver/receiver.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" +package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" import ( "context" diff --git a/receiver/vmwarevcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go similarity index 92% rename from receiver/vmwarevcenterreceiver/scraper.go rename to receiver/vcenterreceiver/scraper.go index 76aa3e5b02260..7661c34a798f2 100644 --- a/receiver/vmwarevcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver" +package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" import ( "context" @@ -29,7 +29,7 @@ import ( "go.opentelemetry.io/collector/receiver/scrapererror" "go.uber.org/zap" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" ) // example 2022-03-10 14:15:00 @@ -38,7 +38,7 @@ const timeFormat = "2006-01-02 15:04:05" var _ component.Receiver = (*vcenterMetricScraper)(nil) type vcenterMetricScraper struct { - client *vmwareVcenterClient + client *vcenterClient mb *metadata.MetricsBuilder logger *zap.Logger vsanEnabled bool @@ -58,7 +58,13 @@ func newVmwareVcenterScraper( } func (v *vcenterMetricScraper) Start(ctx context.Context, _ component.Host) error { - return v.client.Connect(ctx) + err := v.client.Connect(ctx) + // Start should not stop the collector if Connect does not succeed, + // so we log on start when we cannot connect + if err != nil { + v.logger.Error(fmt.Sprintf("unable to initially connect to vSphere SDK: %s", err.Error())) + } + return nil } func (v *vcenterMetricScraper) Shutdown(ctx context.Context) error { @@ -67,7 +73,12 @@ func (v *vcenterMetricScraper) Shutdown(ctx context.Context) error { func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error) { if v.client == nil { - return pdata.NewMetrics(), errors.New("failed to connect to http client") + return pdata.NewMetrics(), errors.New("no SDK client instantiated") + } + + // ensure connection before scraping + if err := v.client.Connect(ctx); err != nil { + return pdata.NewMetrics(), fmt.Errorf("unable to connect to vSphere SDK: %w", err) } errs := &scrapererror.ScrapeErrors{} diff --git a/receiver/vmwarevcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go similarity index 91% rename from receiver/vmwarevcenterreceiver/scraper_test.go rename to receiver/vcenterreceiver/scraper_test.go index dacad36995b79..9f1f87d03d6ad 100644 --- a/receiver/vmwarevcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package vmwarevcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver +package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver import ( "context" @@ -29,13 +29,13 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest/golden" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver/internal/metadata" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" ) func TestScrape_NoVsan(t *testing.T) { simulator.Test(func(ctx context.Context, c *vim25.Client) { finder := find.NewFinder(c) - client := &vmwareVcenterClient{ + client := &vcenterClient{ cfg: NewFactory().CreateDefaultConfig().(*Config), moClient: &govmomi.Client{ SessionManager: session.NewManager(c), diff --git a/receiver/vmwarevcenterreceiver/testdata/config.yaml b/receiver/vcenterreceiver/testdata/config.yaml similarity index 100% rename from receiver/vmwarevcenterreceiver/testdata/config.yaml rename to receiver/vcenterreceiver/testdata/config.yaml diff --git a/receiver/vmwarevcenterreceiver/testdata/metrics/expected.json b/receiver/vcenterreceiver/testdata/metrics/expected.json similarity index 100% rename from receiver/vmwarevcenterreceiver/testdata/metrics/expected.json rename to receiver/vcenterreceiver/testdata/metrics/expected.json diff --git a/versions.yaml b/versions.yaml index 8b72bf141cfc6..ee7b669bfdd39 100644 --- a/versions.yaml +++ b/versions.yaml @@ -182,7 +182,7 @@ module-sets: - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver - - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vmwarevcenterreceiver + - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver From ac7e10578f5114bcb5c0e660e3876155b229ff85 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 16:34:03 -0400 Subject: [PATCH 030/105] PR feedback to not fail starting the component on potential network failures --- receiver/vcenterreceiver/client.go | 11 ++++-- receiver/vcenterreceiver/documentation.md | 4 +-- .../internal/metadata/generated_metrics_v2.go | 27 ++++++++------ receiver/vcenterreceiver/metadata.yaml | 11 ++++-- receiver/vcenterreceiver/scraper.go | 17 +++++---- receiver/vcenterreceiver/scraper_test.go | 36 +++++++++++++++++-- 6 files changed, 80 insertions(+), 26 deletions(-) diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index d86108522c852..fbab068b82c58 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -116,7 +116,12 @@ func (vc *vcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachine, err return rps, err } -func (vc *vcenterClient) CollectVSANCluster(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *vcenterClient) VSANCluster( + ctx context.Context, + clusterRef *vt.ManagedObjectReference, + startTime time.Time, + endTime time.Time, +) (*[]types.VsanPerfEntityMetricCSV, error) { if vc.vsanDriver == nil { return nil, errors.New("vsan client not instantiated") } @@ -130,7 +135,7 @@ func (vc *vcenterClient) CollectVSANCluster(ctx context.Context, clusterRef *vt. return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *vcenterClient) CollectVSANHosts(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *vcenterClient) VSANHosts(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { if vc.vsanDriver == nil { return nil, errors.New("vsan client not instantiated") } @@ -144,7 +149,7 @@ func (vc *vcenterClient) CollectVSANHosts(ctx context.Context, clusterRef *vt.Ma return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *vcenterClient) CollectVSANVirtualMachine( +func (vc *vcenterClient) VSANVirtualMachines( ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index 6aacdae07f8b6..db4e0e016e72f 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -15,7 +15,7 @@ These are the metrics available for this scraper. | **vcenter.cluster.memory.available** | The available memory of the cluster. | By | Sum(Int) |
| | **vcenter.cluster.memory.effective** | The available memory of the cluster. | By | Sum(Int) |
| | **vcenter.cluster.memory.used** | The memory that is currently used by the cluster | By | Sum(Int) |
| -| **vcenter.cluster.vm.count** | the number of virtual machines in the datacenter | {virtual_machines} | Sum(Int) |
| +| **vcenter.cluster.vm.count** | the number of virtual machines in the datacenter | {virtual_machines} | Sum(Int) |
  • vm_count_power_state
| | **vcenter.cluster.vsan.congestions** | Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. | {congestions/sec} | Sum(Int) |
| | **vcenter.cluster.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients in the cluster. | µs | Sum(Int) |
  • vsan_latency_type
| | **vcenter.cluster.vsan.operations** | IOPS consumed by all vSAN clients in the cluster | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| @@ -79,7 +79,6 @@ metrics: | vcenter.resource_pool.name | The name of the resource pool | String | | vcenter.vm.id | The instance UUID of the virtual machine | String | | vcenter.vm.name | The name of the virtual machine | String | -| vcenter.vm.power_state | Whether the virtual machine is powered on/off. | String | ## Metric attributes @@ -90,6 +89,7 @@ metrics: | latency_direction (direction) | The direction of disk latency. | read, write | | latency_type (type) | The type of disk latency being reported. | kernel, device | | throughput_direction (direction) | The direction of network throughput. | transmitted, received | +| vm_count_power_state (power_state) | Whether the virtual machines are powered on or off | on, off | | vsan_latency_type (type) | The type of vSAN latency. | read, write | | vsan_operation_type (type) | The type of vSAN operation. | read, write, unmap | | vsan_throughput_direction (direction) | The type of vSAN throughput. | read, write | diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 00387774d0900..9d8e8de68d1b5 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -599,9 +599,10 @@ func (m *metricVcenterClusterVMCount) init() { m.data.SetDataType(pdata.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterVMCount) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterClusterVMCount) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vmCountPowerStateAttributeValue string) { if !m.settings.Enabled { return } @@ -609,6 +610,7 @@ func (m *metricVcenterClusterVMCount) recordDataPoint(start pdata.Timestamp, ts dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) + dp.Attributes().Insert(A.VMCountPowerState, pdata.NewValueString(vmCountPowerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -3039,13 +3041,6 @@ func WithVcenterVMName(val string) ResourceOption { } } -// WithVcenterVMPowerState sets provided value as "vcenter.vm.power_state" attribute for current resource. -func WithVcenterVMPowerState(val string) ResourceOption { - return func(r pdata.Resource) { - r.Attributes().UpsertString("vcenter.vm.power_state", val) - } -} - // EmitForResource saves all the generated metrics under a new resource and updates the internal state to be ready for // recording another set of data points as part of another resource. This function can be helpful when one scraper // needs to emit metrics from several resources. Otherwise calling this function is not required, @@ -3162,8 +3157,8 @@ func (mb *MetricsBuilder) RecordVcenterClusterMemoryUsedDataPoint(ts pdata.Times } // RecordVcenterClusterVMCountDataPoint adds a data point to vcenter.cluster.vm.count metric. -func (mb *MetricsBuilder) RecordVcenterClusterVMCountDataPoint(ts pdata.Timestamp, val int64) { - mb.metricVcenterClusterVMCount.recordDataPoint(mb.startTime, ts, val) +func (mb *MetricsBuilder) RecordVcenterClusterVMCountDataPoint(ts pdata.Timestamp, val int64, vmCountPowerStateAttributeValue string) { + mb.metricVcenterClusterVMCount.recordDataPoint(mb.startTime, ts, val, vmCountPowerStateAttributeValue) } // RecordVcenterClusterVsanCongestionsDataPoint adds a data point to vcenter.cluster.vsan.congestions metric. @@ -3402,6 +3397,8 @@ var Attributes = struct { LatencyType string // ThroughputDirection (The direction of network throughput.) ThroughputDirection string + // VMCountPowerState (Whether the virtual machines are powered on or off) + VMCountPowerState string // VsanLatencyType (The type of vSAN latency.) VsanLatencyType string // VsanOperationType (The type of vSAN operation.) @@ -3414,6 +3411,7 @@ var Attributes = struct { "direction", "type", "direction", + "power_state", "type", "type", "direction", @@ -3467,6 +3465,15 @@ var AttributeThroughputDirection = struct { "received", } +// AttributeVMCountPowerState are the possible values that the attribute "vm_count_power_state" can have. +var AttributeVMCountPowerState = struct { + On string + Off string +}{ + "on", + "off", +} + // AttributeVsanLatencyType are the possible values that the attribute "vsan_latency_type" can have. var AttributeVsanLatencyType = struct { Read string diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 0262d7c9f334e..7ecb9b0ca1ce5 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -16,9 +16,6 @@ resource_attributes: vcenter.vm.name: description: The name of the virtual machine type: string - vcenter.vm.power_state: - description: Whether the virtual machine is powered on/off. - type: string vcenter.vm.id: description: The instance UUID of the virtual machine type: string @@ -55,6 +52,13 @@ attributes: enum: - transmitted - received + vm_count_power_state: + value: power_state + description: Whether the virtual machines are powered on or off + type: string + enum: + - "on" + - "off" vsan_latency_type: value: type description: The type of vSAN latency. @@ -186,6 +190,7 @@ metrics: monotonic: false value_type: int aggregation: cumulative + attributes: [vm_count_power_state] vcenter.cluster.host.count: enabled: true description: The number of hosts in the datacenter diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 7661c34a798f2..c3935396e5054 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -99,10 +99,10 @@ func (v *vcenterMetricScraper) collectClusters(ctx context.Context, errs *scrape now := pdata.NewTimestampFromTime(time.Now()) for _, c := range clusters { - v.collectCluster(ctx, now, c, errs) v.collectHosts(ctx, now, c, errs) v.collectDatastores(ctx, now, c, errs) v.collectVMs(ctx, now, c, errs) + v.collectCluster(ctx, now, c, errs) } v.collectResourcePools(ctx, now, errs) @@ -124,7 +124,7 @@ func (v *vcenterMetricScraper) collectCluster( if v.vsanEnabled { mor := c.Reference() - csvs, err := v.client.CollectVSANCluster(ctx, &mor, time.Now().UTC(), time.Now().UTC()) + csvs, err := v.client.VSANCluster(ctx, &mor, time.Now().UTC(), time.Now().UTC()) if err != nil { errs.AddPartial(1, err) } @@ -184,7 +184,7 @@ func (v *vcenterMetricScraper) collectHosts( clusterRef := cluster.Reference() var hostVsanCSVs *[]types.VsanPerfEntityMetricCSV if v.vsanEnabled { - hostVsanCSVs, err = v.client.CollectVSANHosts(ctx, &clusterRef, time.Now(), time.Now()) + hostVsanCSVs, err = v.client.VSANHosts(ctx, &clusterRef, time.Now(), time.Now()) if err != nil { errs.AddPartial(1, err) } @@ -265,12 +265,13 @@ func (v *vcenterMetricScraper) collectVMs( var vsanCsvs *[]types.VsanPerfEntityMetricCSV if v.vsanEnabled { clusterRef := cluster.Reference() - vsanCsvs, err = v.client.CollectVSANVirtualMachine(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) + vsanCsvs, err = v.client.VSANVirtualMachines(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) if err != nil { errs.AddPartial(1, err) } } + poweredOffVMs := 0 for _, vm := range vms { var moVM mo.VirtualMachine err := vm.Properties(ctx, vm.Reference(), []string{ @@ -286,7 +287,10 @@ func (v *vcenterMetricScraper) collectVMs( vmUUID := moVM.Config.InstanceUuid entityRefID := fmt.Sprintf("virtual-machine:%s", vmUUID) - ps := string(moVM.Runtime.PowerState) + + if string(moVM.Runtime.PowerState) == "poweredOff" { + poweredOffVMs++ + } host, err := vm.HostSystem(ctx) if err != nil { @@ -303,12 +307,13 @@ func (v *vcenterMetricScraper) collectVMs( v.mb.EmitForResource( metadata.WithVcenterVMName(vm.Name()), metadata.WithVcenterVMID(vmUUID), - metadata.WithVcenterVMPowerState(ps), metadata.WithVcenterClusterName(cluster.Name()), metadata.WithVcenterHostName(hostname), ) } + v.mb.RecordVcenterClusterVMCountDataPoint(colTime, int64(len(vms))-int64(poweredOffVMs), metadata.AttributeVMCountPowerState.On) + v.mb.RecordVcenterClusterVMCountDataPoint(colTime, int64(poweredOffVMs), metadata.AttributeVMCountPowerState.Off) } func (v *vcenterMetricScraper) collectVM( diff --git a/receiver/vcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go index 9f1f87d03d6ad..54f897e52bbb7 100644 --- a/receiver/vcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -60,7 +60,7 @@ func TestScrape_NoVsan(t *testing.T) { }) } -func TestScrape_UnableToConnect(t *testing.T) { +func TestScrape_NoClient(t *testing.T) { ctx := context.Background() scraper := &vcenterMetricScraper{ client: nil, @@ -68,6 +68,38 @@ func TestScrape_UnableToConnect(t *testing.T) { logger: zap.NewNop(), } metrics, err := scraper.scrape(ctx) - require.ErrorContains(t, err, "failed to connect") + require.ErrorContains(t, err, "no SDK client instantiated") require.Equal(t, metrics.MetricCount(), 0) } + +func TestStartFailures_Metrics(t *testing.T) { + cases := []struct { + desc string + cfg Config + }{ + { + desc: "bad client connect", + cfg: Config{ + MetricsConfig: &MetricsConfig{ + Endpoint: "http://no-host", + }, + }, + }, + { + desc: "unparsable endpoint", + cfg: Config{ + MetricsConfig: &MetricsConfig{ + Endpoint: "://some-host", + }, + }, + }, + } + + ctx := context.Background() + for _, tc := range cases { + scraper := newVmwareVcenterScraper(zap.NewNop(), &tc.cfg) + // start should almost always succeed + err := scraper.Start(ctx, nil) + require.NoError(t, err) + } +} From 05669dd3e976ae5d1ee313a67a146205ef40865a Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 16:38:02 -0400 Subject: [PATCH 031/105] minor grammar correction in vcenter readme --- receiver/vcenterreceiver/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/receiver/vcenterreceiver/README.md b/receiver/vcenterreceiver/README.md index 36f329138a5b7..44ddfda7615d6 100644 --- a/receiver/vcenterreceiver/README.md +++ b/receiver/vcenterreceiver/README.md @@ -14,7 +14,7 @@ This receiver has been built to support ESXi and vCenter versions: - 6.7 - 7.5 -A user with at least “Read Only” assigned to a vSphere with permissions to the vCenter server, cluster and all subsequent resources being monitored. Must be specified in order for the receiver to retrieve information about them. +A “Read Only” user assigned to a vSphere with permissions to the vCenter server, cluster and all subsequent resources being monitored. Must be specified in order for the receiver to retrieve information about them. ## Configuration From cbd2e974ecfd5ff364b1952106ebb2d3b030b38f Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 16:40:13 -0400 Subject: [PATCH 032/105] update expected metrics --- .../testdata/metrics/expected.json | 938 +++++++++--------- 1 file changed, 475 insertions(+), 463 deletions(-) diff --git a/receiver/vcenterreceiver/testdata/metrics/expected.json b/receiver/vcenterreceiver/testdata/metrics/expected.json index 6102609a9c94b..87f9c5541ce05 100644 --- a/receiver/vcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vcenterreceiver/testdata/metrics/expected.json @@ -1,77 +1,5 @@ { "resourceMetrics": [ - { - "resource": { - "attributes": [ - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.cluster.cpu.available", - "description": "The amount of CPU available to the cluster", - "unit": "{MHz}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", - "asInt": "6882" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.cluster.host.count", - "description": "The number of hosts in the datacenter", - "unit": "{hosts}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "host_effective", - "value": { - "stringValue": "false" - } - } - ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "host_effective", - "value": { - "stringValue": "true" - } - } - ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", - "asInt": "3" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, { "resource": { "attributes": [ @@ -102,8 +30,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "67" } ], @@ -117,8 +45,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": 1.4603312990409765 } ] @@ -131,8 +59,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "1404" } ], @@ -146,8 +74,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": 34.285714285714285 } ] @@ -168,9 +96,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488384983000", - "asInt": "13025" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361125643000", + "asInt": "11597" }, { "attributes": [ @@ -181,9 +109,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468384983000", - "asInt": "7329" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341125643000", + "asInt": "9536" }, { "attributes": [ @@ -194,9 +122,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448384983000", - "asInt": "12609" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321125643000", + "asInt": "7593" }, { "attributes": [ @@ -207,9 +135,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428384983000", - "asInt": "12732" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301125643000", + "asInt": "12653" }, { "attributes": [ @@ -220,9 +148,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408384983000", - "asInt": "10124" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281125643000", + "asInt": "11856" }, { "attributes": [ @@ -233,9 +161,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488384983000", - "asInt": "17321" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361125643000", + "asInt": "14138" }, { "attributes": [ @@ -246,9 +174,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468384983000", - "asInt": "21372" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341125643000", + "asInt": "38211" }, { "attributes": [ @@ -259,9 +187,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448384983000", - "asInt": "17996" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321125643000", + "asInt": "13466" }, { "attributes": [ @@ -272,9 +200,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428384983000", - "asInt": "14122" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301125643000", + "asInt": "12660" }, { "attributes": [ @@ -285,9 +213,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408384983000", - "asInt": "9488" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281125643000", + "asInt": "10873" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -308,9 +236,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488384983000", - "asInt": "781" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361125643000", + "asInt": "619" }, { "attributes": [ @@ -321,9 +249,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468384983000", - "asInt": "746" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341125643000", + "asInt": "1573" }, { "attributes": [ @@ -334,9 +262,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448384983000", - "asInt": "871" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321125643000", + "asInt": "783" }, { "attributes": [ @@ -347,9 +275,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428384983000", - "asInt": "1006" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301125643000", + "asInt": "878" }, { "attributes": [ @@ -360,9 +288,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408384983000", - "asInt": "845" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281125643000", + "asInt": "964" }, { "attributes": [ @@ -373,9 +301,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488384983000", - "asInt": "1053" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361125643000", + "asInt": "833" }, { "attributes": [ @@ -386,9 +314,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468384983000", - "asInt": "852" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341125643000", + "asInt": "1777" }, { "attributes": [ @@ -399,9 +327,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448384983000", - "asInt": "571" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321125643000", + "asInt": "519" }, { "attributes": [ @@ -412,9 +340,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428384983000", - "asInt": "1027" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301125643000", + "asInt": "895" }, { "attributes": [ @@ -425,9 +353,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408384983000", - "asInt": "803" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281125643000", + "asInt": "910" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -440,29 +368,29 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488384983000", - "asInt": "1918" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361125643000", + "asInt": "1518" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468384983000", - "asInt": "1525" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341125643000", + "asInt": "3193" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448384983000", - "asInt": "1155" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321125643000", + "asInt": "1044" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428384983000", - "asInt": "1735" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301125643000", + "asInt": "1515" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408384983000", - "asInt": "1456" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281125643000", + "asInt": "1653" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -502,8 +430,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "67" } ], @@ -517,8 +445,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": 1.4603312990409765 } ] @@ -531,8 +459,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "1404" } ], @@ -546,8 +474,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": 34.285714285714285 } ] @@ -568,9 +496,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488420838000", - "asInt": "11962" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361159213000", + "asInt": "10651" }, { "attributes": [ @@ -581,9 +509,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468420838000", - "asInt": "9546" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341159213000", + "asInt": "12420" }, { "attributes": [ @@ -594,9 +522,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448420838000", - "asInt": "14138" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321159213000", + "asInt": "8513" }, { "attributes": [ @@ -607,9 +535,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428420838000", - "asInt": "9090" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301159213000", + "asInt": "9034" }, { "attributes": [ @@ -620,9 +548,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408420838000", - "asInt": "8574" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281159213000", + "asInt": "10041" }, { "attributes": [ @@ -633,9 +561,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488420838000", - "asInt": "23184" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361159213000", + "asInt": "18924" }, { "attributes": [ @@ -646,9 +574,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468420838000", - "asInt": "11995" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341159213000", + "asInt": "21446" }, { "attributes": [ @@ -659,9 +587,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448420838000", - "asInt": "23949" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321159213000", + "asInt": "17919" }, { "attributes": [ @@ -672,9 +600,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428420838000", - "asInt": "24374" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301159213000", + "asInt": "21853" }, { "attributes": [ @@ -685,9 +613,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408420838000", - "asInt": "16403" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281159213000", + "asInt": "18799" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -708,9 +636,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488420838000", - "asInt": "720" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361159213000", + "asInt": "570" }, { "attributes": [ @@ -721,9 +649,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468420838000", - "asInt": "548" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341159213000", + "asInt": "1155" }, { "attributes": [ @@ -734,9 +662,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448420838000", - "asInt": "705" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321159213000", + "asInt": "634" }, { "attributes": [ @@ -747,9 +675,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428420838000", - "asInt": "1162" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301159213000", + "asInt": "1014" }, { "attributes": [ @@ -760,9 +688,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408420838000", - "asInt": "521" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281159213000", + "asInt": "595" }, { "attributes": [ @@ -773,9 +701,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488420838000", - "asInt": "1096" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361159213000", + "asInt": "867" }, { "attributes": [ @@ -786,9 +714,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468420838000", - "asInt": "881" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341159213000", + "asInt": "1837" }, { "attributes": [ @@ -799,9 +727,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448420838000", - "asInt": "515" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321159213000", + "asInt": "468" }, { "attributes": [ @@ -812,9 +740,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428420838000", - "asInt": "1076" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301159213000", + "asInt": "938" }, { "attributes": [ @@ -825,9 +753,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408420838000", - "asInt": "697" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281159213000", + "asInt": "789" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -840,29 +768,29 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488420838000", - "asInt": "1580" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361159213000", + "asInt": "1251" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468420838000", - "asInt": "1088" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341159213000", + "asInt": "2276" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448420838000", - "asInt": "1174" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321159213000", + "asInt": "1062" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428420838000", - "asInt": "2000" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301159213000", + "asInt": "1746" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408420838000", - "asInt": "1812" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281159213000", + "asInt": "2058" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -902,8 +830,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "67" } ], @@ -917,8 +845,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": 1.4603312990409765 } ] @@ -931,8 +859,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "1404" } ], @@ -946,8 +874,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": 34.285714285714285 } ] @@ -968,9 +896,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488453389000", - "asInt": "15166" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361185239000", + "asInt": "13503" }, { "attributes": [ @@ -981,9 +909,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468453389000", - "asInt": "10740" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341185239000", + "asInt": "13973" }, { "attributes": [ @@ -994,9 +922,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448453389000", - "asInt": "13351" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321185239000", + "asInt": "8040" }, { "attributes": [ @@ -1007,9 +935,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428453389000", - "asInt": "8913" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301185239000", + "asInt": "8858" }, { "attributes": [ @@ -1020,9 +948,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408453389000", - "asInt": "10294" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281185239000", + "asInt": "12056" }, { "attributes": [ @@ -1033,9 +961,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488453389000", - "asInt": "17260" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361185239000", + "asInt": "14088" }, { "attributes": [ @@ -1046,9 +974,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468453389000", - "asInt": "14849" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341185239000", + "asInt": "26549" }, { "attributes": [ @@ -1059,9 +987,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448453389000", - "asInt": "20936" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321185239000", + "asInt": "15665" }, { "attributes": [ @@ -1072,9 +1000,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428453389000", - "asInt": "14248" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301185239000", + "asInt": "12773" }, { "attributes": [ @@ -1085,9 +1013,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408453389000", - "asInt": "8905" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281185239000", + "asInt": "10206" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1108,9 +1036,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488453389000", - "asInt": "1229" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361185239000", + "asInt": "973" }, { "attributes": [ @@ -1121,9 +1049,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468453389000", - "asInt": "622" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341185239000", + "asInt": "1310" }, { "attributes": [ @@ -1134,9 +1062,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448453389000", - "asInt": "635" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321185239000", + "asInt": "571" }, { "attributes": [ @@ -1147,9 +1075,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428453389000", - "asInt": "1069" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301185239000", + "asInt": "933" }, { "attributes": [ @@ -1160,9 +1088,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408453389000", - "asInt": "531" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281185239000", + "asInt": "606" }, { "attributes": [ @@ -1173,9 +1101,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488453389000", - "asInt": "859" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361185239000", + "asInt": "680" }, { "attributes": [ @@ -1186,9 +1114,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468453389000", - "asInt": "644" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341185239000", + "asInt": "1340" }, { "attributes": [ @@ -1199,9 +1127,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448453389000", - "asInt": "451" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321185239000", + "asInt": "410" }, { "attributes": [ @@ -1212,9 +1140,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428453389000", - "asInt": "548" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301185239000", + "asInt": "479" }, { "attributes": [ @@ -1225,9 +1153,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408453389000", - "asInt": "632" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281185239000", + "asInt": "716" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1240,29 +1168,29 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796488453389000", - "asInt": "2230" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361185239000", + "asInt": "1765" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796468453389000", - "asInt": "1471" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882341185239000", + "asInt": "3078" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796448453389000", - "asInt": "837" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882321185239000", + "asInt": "756" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796428453389000", - "asInt": "1982" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882301185239000", + "asInt": "1731" }, { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796408453389000", - "asInt": "1519" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882281185239000", + "asInt": "1725" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1304,8 +1232,8 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "42949672960" }, { @@ -1317,8 +1245,8 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "10995116277760" } ], @@ -1332,8 +1260,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": 0.390625 } ] @@ -1358,12 +1286,6 @@ "stringValue": "b4689bed-97f0-5bcd-8a4c-07477cc8f06f" } }, - { - "key": "vcenter.vm.power_state", - "value": { - "stringValue": "poweredOn" - } - }, { "key": "vcenter.cluster.name", "value": { @@ -1399,8 +1321,8 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" }, { @@ -1412,8 +1334,8 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -1427,8 +1349,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": "NaN" } ] @@ -1441,8 +1363,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -1456,8 +1378,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -1479,9 +1401,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548501225000", - "asInt": "534" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361212269000", + "asInt": "2057" }, { "attributes": [ @@ -1492,9 +1414,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548501225000", - "asInt": "1029" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361212269000", + "asInt": "3192" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1515,9 +1437,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548501225000", - "asInt": "187" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361212269000", + "asInt": "289" }, { "attributes": [ @@ -1528,9 +1450,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548501225000", - "asInt": "228" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361212269000", + "asInt": "695" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1538,14 +1460,14 @@ }, { "name": "vcenter.vm.network.usage", - "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "description": "The network utilization combined transmit and receive rates during an interval.", "unit": "{KBy/s}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548501225000", - "asInt": "477" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361212269000", + "asInt": "1153" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1570,12 +1492,6 @@ "stringValue": "12f8928d-f144-5c57-89db-dd2d0902c9fa" } }, - { - "key": "vcenter.vm.power_state", - "value": { - "stringValue": "poweredOn" - } - }, { "key": "vcenter.cluster.name", "value": { @@ -1611,8 +1527,8 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" }, { @@ -1624,8 +1540,8 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -1639,8 +1555,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": "NaN" } ] @@ -1653,8 +1569,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -1668,8 +1584,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -1691,9 +1607,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548525234000", - "asInt": "1055" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361235934000", + "asInt": "4068" }, { "attributes": [ @@ -1704,9 +1620,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548525234000", - "asInt": "2360" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361235934000", + "asInt": "7328" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1727,9 +1643,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548525234000", - "asInt": "210" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361235934000", + "asInt": "327" }, { "attributes": [ @@ -1740,9 +1656,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548525234000", - "asInt": "274" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361235934000", + "asInt": "838" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1750,14 +1666,14 @@ }, { "name": "vcenter.vm.network.usage", - "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "description": "The network utilization combined transmit and receive rates during an interval.", "unit": "{KBy/s}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548525234000", - "asInt": "477" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361235934000", + "asInt": "1155" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1782,12 +1698,6 @@ "stringValue": "bfff331f-7f07-572d-951e-edd3701dc061" } }, - { - "key": "vcenter.vm.power_state", - "value": { - "stringValue": "poweredOn" - } - }, { "key": "vcenter.cluster.name", "value": { @@ -1823,8 +1733,8 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" }, { @@ -1836,8 +1746,8 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -1851,8 +1761,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": "NaN" } ] @@ -1865,8 +1775,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -1880,8 +1790,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -1903,9 +1813,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548558242000", - "asInt": "650" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361260279000", + "asInt": "2504" }, { "attributes": [ @@ -1916,9 +1826,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548558242000", - "asInt": "1034" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361260279000", + "asInt": "3206" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1939,9 +1849,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548558242000", - "asInt": "184" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361260279000", + "asInt": "285" }, { "attributes": [ @@ -1952,9 +1862,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548558242000", - "asInt": "244" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361260279000", + "asInt": "745" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1962,14 +1872,14 @@ }, { "name": "vcenter.vm.network.usage", - "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "description": "The network utilization combined transmit and receive rates during an interval.", "unit": "{KBy/s}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548558242000", - "asInt": "736" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361260279000", + "asInt": "1781" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1994,12 +1904,6 @@ "stringValue": "6132d223-1566-5921-bc3b-df91ece09a4d" } }, - { - "key": "vcenter.vm.power_state", - "value": { - "stringValue": "poweredOn" - } - }, { "key": "vcenter.cluster.name", "value": { @@ -2035,8 +1939,8 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" }, { @@ -2048,8 +1952,8 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -2063,8 +1967,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asDouble": "NaN" } ] @@ -2077,8 +1981,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -2092,8 +1996,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "0" } ], @@ -2115,9 +2019,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548586770000", - "asInt": "722" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361284303000", + "asInt": "2784" }, { "attributes": [ @@ -2128,9 +2032,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548586770000", - "asInt": "1597" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361284303000", + "asInt": "4957" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2151,9 +2055,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548586770000", - "asInt": "234" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361284303000", + "asInt": "365" }, { "attributes": [ @@ -2164,9 +2068,9 @@ } } ], - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548586770000", - "asInt": "226" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361284303000", + "asInt": "687" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2174,14 +2078,122 @@ }, { "name": "vcenter.vm.network.usage", - "description": "The network utilizaiton combined transmit and receive rates during an interval.", + "description": "The network utilization combined transmit and receive rates during an interval.", "unit": "{KBy/s}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548586770000", - "asInt": "545" + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361284303000", + "asInt": "1319" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.cluster.cpu.available", + "description": "The amount of CPU available to the cluster", + "unit": "{MHz}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", + "asInt": "6882" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.cluster.host.count", + "description": "The number of hosts in the datacenter", + "unit": "{hosts}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "host_effective", + "value": { + "stringValue": "false" + } + } + ], + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "host_effective", + "value": { + "stringValue": "true" + } + } + ], + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", + "asInt": "3" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.cluster.vm.count", + "description": "the number of virtual machines in the datacenter", + "unit": "{virtual_machines}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "power_state", + "value": { + "stringValue": "on" + } + } + ], + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", + "asInt": "4" + }, + { + "attributes": [ + { + "key": "power_state", + "value": { + "stringValue": "off" + } + } + ], + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", + "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2215,8 +2227,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "9000" } ], @@ -2230,8 +2242,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "9000" } ], @@ -2266,8 +2278,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "9000" } ], @@ -2281,8 +2293,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649796548377697000", - "timeUnixNano": "1649796548379305000", + "startTimeUnixNano": "1649882361089942000", + "timeUnixNano": "1649882361091463000", "asInt": "9000" } ], From bab0085be7697154384e0c6f84732f01c5662aff Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 16:41:39 -0400 Subject: [PATCH 033/105] update host_effective attribute value --- receiver/vcenterreceiver/documentation.md | 2 +- .../vcenterreceiver/internal/metadata/generated_metrics_v2.go | 2 +- receiver/vcenterreceiver/metadata.yaml | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index db4e0e016e72f..143be71142750 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -85,7 +85,7 @@ metrics: | Name | Description | Values | | ---- | ----------- | ------ | | disk_state | The state of storage and whether it is already allocated or free. | available, used | -| host_effective | Whether the host is effective in the vCenter cluster | true, false | +| host_effective (effective) | Whether the host is effective in the vCenter cluster | true, false | | latency_direction (direction) | The direction of disk latency. | read, write | | latency_type (type) | The type of disk latency being reported. | kernel, device | | throughput_direction (direction) | The direction of network throughput. | transmitted, received | diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 9d8e8de68d1b5..34534ab00608b 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -3407,7 +3407,7 @@ var Attributes = struct { VsanThroughputDirection string }{ "disk_state", - "host_effective", + "effective", "direction", "type", "direction", diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 7ecb9b0ca1ce5..6d3fd250922ec 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -28,6 +28,7 @@ attributes: - available - used host_effective: + value: effective description: Whether the host is effective in the vCenter cluster type: bool enum: From 3baa6f82c42a9a309b248126e46658cb1cd805ba Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 13 Apr 2022 16:55:43 -0400 Subject: [PATCH 034/105] remove PerformanceInterval customizability --- receiver/vcenterreceiver/client.go | 4 ---- receiver/vcenterreceiver/config.go | 1 - 2 files changed, 5 deletions(-) diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index fbab068b82c58..baf3a964c90df 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -182,10 +182,6 @@ func (vc *vcenterClient) performanceQuery( ) (*perfSampleResult, error) { mgr := performance.NewManager(vc.vimDriver) mgr.Sort = true - if intervalID, ok := performance.Intervals[vc.cfg.MetricsConfig.PerformanceInterval]; ok { - spec.IntervalId = intervalID - } - sample, err := mgr.SampleByName(ctx, spec, names, objs) if err != nil { return nil, err diff --git a/receiver/vcenterreceiver/config.go b/receiver/vcenterreceiver/config.go index 260dbcab3b6f1..c3c4646d1fb10 100644 --- a/receiver/vcenterreceiver/config.go +++ b/receiver/vcenterreceiver/config.go @@ -39,7 +39,6 @@ type MetricsConfig struct { Endpoint string `mapstructure:"endpoint"` Username string `mapstructure:"username"` Password string `mapstructure:"password"` - PerformanceInterval string `mapstructure:"performance_interval"` } // Validate checks to see if the supplied config will work for the vmwarevcenterreceiver From e554a2ed038cb39c5151981e88c1a47aa719abeb Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 14 Apr 2022 09:30:53 -0400 Subject: [PATCH 035/105] add to codeowners --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 586f1eac31e14..76a9914c787f4 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -153,6 +153,7 @@ receiver/statsdreceiver/ @open-telemetry/collector-c receiver/syslogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski receiver/tcplogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski receiver/udplogreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski +receiver/vcenterreceiver/ @open-telemetry/collector-contrib-approvers @djaglowski @schmikei receiver/wavefrontreceiver/ @open-telemetry/collector-contrib-approvers @pjanotti receiver/windowsperfcountersreceiver/ @open-telemetry/collector-contrib-approvers @dashpole receiver/zipkinreceiver/ @open-telemetry/collector-contrib-approvers @pmm-sumo From 9a8b9fb40eb8df68d8d9b01aedfafa7ca4789b31 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 14 Apr 2022 09:37:28 -0400 Subject: [PATCH 036/105] fix indentation on merge conflict --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index c1906175421eb..e9ea124fc6136 100644 --- a/go.mod +++ b/go.mod @@ -120,7 +120,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.49.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.49.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.49.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.49.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.49.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.49.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.49.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.49.0 From 5f90aa591941db311a93e8ce07dbc39c28ea5740 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 14 Apr 2022 09:41:30 -0400 Subject: [PATCH 037/105] fix changelog entry place so its in the new components section --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d24764e5dccbd..ad35665b6625e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,9 +8,9 @@ ### 🚀 New components 🚀 -### 💡 Enhancements 💡 -- `vcenterreceiver`: Add metrics receiver for new vcenter receiver component +- `vcenterreceiver`: Add metrics receiver for new vcenterreceiver component +### 💡 Enhancements 💡 ### 🧰 Bug fixes 🧰 From 389caf6ed254594cc5948fadec45d2781c057246 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 14 Apr 2022 09:53:13 -0400 Subject: [PATCH 038/105] update to be on 0.49.0 of the collector' --- receiver/vcenterreceiver/go.mod | 23 +- receiver/vcenterreceiver/go.sum | 431 ++++++++++++++++++++++++++++++-- 2 files changed, 420 insertions(+), 34 deletions(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 3c94c82f21427..56026606d22b8 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -4,8 +4,8 @@ go 1.17 require ( github.com/vmware/govmomi v0.27.4 - go.opentelemetry.io/collector v0.48.0 - go.opentelemetry.io/collector/model v0.48.0 + go.opentelemetry.io/collector v0.49.0 + go.opentelemetry.io/collector/model v0.49.0 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 ) @@ -20,30 +20,25 @@ require ( require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.2 // indirect github.com/google/uuid v1.3.0 // indirect - github.com/knadh/koanf v1.4.0 // indirect + github.com/knadh/koanf v1.4.1 // indirect + github.com/kr/text v0.2.0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.4.3 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/spf13/cast v1.4.1 // indirect go.opencensus.io v0.23.0 // indirect - go.opentelemetry.io/otel v1.6.1 // indirect - go.opentelemetry.io/otel/metric v0.28.0 // indirect - go.opentelemetry.io/otel/trace v1.6.1 // indirect + go.opentelemetry.io/collector/pdata v0.49.0 // indirect + go.opentelemetry.io/otel v1.6.3 // indirect + go.opentelemetry.io/otel/metric v0.29.0 // indirect + go.opentelemetry.io/otel/trace v1.6.3 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d // indirect - golang.org/x/text v0.3.7 // indirect - google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa // indirect - google.golang.org/grpc v1.45.0 // indirect - google.golang.org/protobuf v1.28.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.48.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0 golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 // indirect ) diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 398629ad1d96b..2f79bf7bcbfbf 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -1,8 +1,47 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +code.cloudfoundry.org/bytefmt v0.0.0-20190710193110-1eb035ffe2b6/go.mod h1:wN/zk7mhREp/oviagqUXY3EwuHhWyOvAdsn5Y4CzOrc= +contrib.go.opencensus.io/exporter/prometheus v0.4.1/go.mod h1:t9wvfitlUjGXG2IXAZsuFq26mDGid/JwCEXp+gTG/9U= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -18,10 +57,19 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21 github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= +github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= 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.1.2/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= @@ -30,6 +78,8 @@ github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -43,27 +93,56 @@ github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go. github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/frankban/quicktest v1.4.0/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= +github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= 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-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= @@ -73,24 +152,41 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +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/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/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.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/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/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/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= @@ -114,23 +210,46 @@ github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoI github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/knadh/koanf v1.4.0 h1:/k0Bh49SqLyLNfte9r6cvuZWrApOQhglOmhIU3L/zDw= -github.com/knadh/koanf v1.4.0/go.mod h1:1cfH5223ZeZUOs8FU2UdTmaNfHpqgtjV0+NHjRO43gs= +github.com/klauspost/compress v1.14.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/knadh/koanf v1.4.1 h1:Z0VGW/uo8NJmjd+L1Dc3S5frq6c62w5xQ9Yf4Mg3wFQ= +github.com/knadh/koanf v1.4.1/go.mod h1:1cfH5223ZeZUOs8FU2UdTmaNfHpqgtjV0+NHjRO43gs= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= +github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= @@ -145,63 +264,132 @@ github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mostynb/go-grpc-compression v1.1.16/go.mod h1:xxa6UoYynYS2h+5HB/Hglu81iYAp87ARaNmhhwi0s1s= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.48.0 h1:BQ6k/dNdqgyx1oV37Vp3SRXfk5hTuTEeNkbzmSkpoyQ= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.48.0/go.mod h1:RPm742U2KeW8ioVrHsSNQIyZw83XSiLx/S5bVA6alS0= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0 h1:AryXrR1fsgC3+L01Z/jiAgLsIrUHZQvgC2Pau33EJFo= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0/go.mod h1:XrwT/hZkbbWu31L9ynvU8xMortX2kd3BAykbO4OLGCE= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pierrec/cmdflag v0.0.2/go.mod h1:a3zKGZ3cdQUfxjd0RGMLZr8xI3nvpJOB+m6o/1X5BmU= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4/v3 v3.3.4/go.mod h1:280XNCGS8jAcG++AHdd6SeWnzyJ1w9oow2vbORyey8Q= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.33.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/schollz/progressbar/v2 v2.13.2/go.mod h1:6YZjqdthH6SCZKv2rqGryrxPtfmRB/DWZxSMfCXPyD8= +github.com/shirou/gopsutil/v3 v3.22.3/go.mod h1:D01hZJ4pVHPpCTZ3m3T2+wDF2YAGfd+H4ifUguaQzHM= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= +github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/vmware/govmomi v0.27.4 h1:5kY8TAkhB20lsjzrjE073eRb8+HixBI29PVMG5lxq6I= github.com/vmware/govmomi v0.27.4/go.mod h1:daTuJEcQosNMXYJOeku0qdBJP9SOLLWB3Mqz8THtv6o= github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/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/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +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.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/collector v0.48.0 h1:/kUmNzsYgdPmbdscOGtCFPyZvxICrzmCFth2krzJuWs= -go.opentelemetry.io/collector v0.48.0/go.mod h1:iklh3+Npx1DalC6PvEi9ysjx9zLbjgOUQFTIh2MufQU= -go.opentelemetry.io/collector/model v0.48.0 h1:xmN4LdZ92q6PZnaKhMdIlC5KGtPJeOYaWCnA1PQ2oZw= -go.opentelemetry.io/collector/model v0.48.0/go.mod h1:1QVYv8TqsTMt9wVC5BUF9fqMVtk2C5EclWDnuVqdKoU= +go.opentelemetry.io/collector v0.49.0 h1:brKMIUwlL1bt0Faxqqxvj7549KWm9FEN77Z4i4RAlDE= +go.opentelemetry.io/collector v0.49.0/go.mod h1:ErYGC1VzzrpK/uM134DJIbARX3jl9vtTqgIXsiWxjGE= +go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c= +go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw= +go.opentelemetry.io/collector/pdata v0.49.0 h1:aYj5rOlRC0x7lGXbc185LMsMMoY/pjOTXr5s1O2SzXs= +go.opentelemetry.io/collector/pdata v0.49.0/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0/go.mod h1:SY9qHHUES6W3oZnO1H2W8NvsSovIoXRg/A1AH9px8+I= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0/go.mod h1:PFmBsWbldL1kiWZk9+0LBZz2brhByaGsvp6pRICMlPE= +go.opentelemetry.io/contrib/zpages v0.31.0/go.mod h1:CAB55C1K7YhinQfNNIdNLgJJ+dVRlb6zQpbGQjeIDf8= go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ= -go.opentelemetry.io/otel v1.6.1 h1:6r1YrcTenBvYa1x491d0GGpTVBsNECmrc/K6b+zDeis= go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= -go.opentelemetry.io/otel/metric v0.28.0 h1:o5YNh+jxACMODoAo1bI7OES0RUW4jAMae0Vgs2etWAQ= +go.opentelemetry.io/otel v1.6.3 h1:FLOfo8f9JzFVFVyU+MSRJc2HdEAXQgm7pIv2uFKRSZE= +go.opentelemetry.io/otel v1.6.3/go.mod h1:7BgNga5fNlF/iZjG06hM3yofffp0ofKCDwSXx1GC4dI= +go.opentelemetry.io/otel/exporters/prometheus v0.29.0/go.mod h1:Er2VVJQZbHysogooLNchdZ3MLYoI7+d15mHmrRlRJCU= go.opentelemetry.io/otel/metric v0.28.0/go.mod h1:TrzsfQAmQaB1PDcdhBauLMk7nyyg9hm+GoQq/ekE9Iw= -go.opentelemetry.io/otel/sdk v1.6.1 h1:ZmcNyMhcuAYIb/Nr6QhBPTMopMTbov/47wHt1gibkoY= +go.opentelemetry.io/otel/metric v0.29.0 h1:7unM/I13Dbc1VHw8lTPQ7zfNIgkhcb8BZhujXOS4jKc= +go.opentelemetry.io/otel/metric v0.29.0/go.mod h1:HahKFp1OC1RNTsuO/HNMBHHJR+dmHZ7wLARRgGDwjLQ= +go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= +go.opentelemetry.io/otel/sdk v1.6.3 h1:prSHYdwCQOX5DrsEzxowH3nLhoAzEBdZhvrR79scfLs= +go.opentelemetry.io/otel/sdk v1.6.3/go.mod h1:A4iWF7HTXa+GWL/AaqESz28VuSBIcZ+0CV+IzJ5NMiQ= +go.opentelemetry.io/otel/sdk/metric v0.29.0/go.mod h1:IFkFNKI8Gq8zBdqOKdODCL9+LInBZLXaGpqSIKphNuU= go.opentelemetry.io/otel/trace v1.6.0/go.mod h1:qs7BrU5cZ8dXQHBGxHMOxwME/27YH2qEp4/+tZLLwJE= -go.opentelemetry.io/otel/trace v1.6.1 h1:f8c93l5tboBYZna1nWk0W9DYyMzJXDWdZcJZ0Kb400U= go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= +go.opentelemetry.io/otel/trace v1.6.3 h1:IqN4L+5b0mPNjdXIiZ90Ni4Bl5BRkDQywePLWemd9bc= +go.opentelemetry.io/otel/trace v1.6.3/go.mod h1:GNJQusJlUgZl9/TQBPKU/Y/ty+0iVB5fjhKeJGZPGFs= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= @@ -213,72 +401,204 @@ go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= 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= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= 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/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= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= 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-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d h1:LO7XpTYMwTqxjLcGWPijK3vRXg1aWdlNOVOHRq45d7c= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= 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.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= 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= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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/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= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/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-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 h1:8IVLkfbr2cLhv0a/vKq4UFUcJym8RmDoDboxCFWEjYE= golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +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= golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +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.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +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/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= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -286,26 +606,79 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +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.6/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= google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= +google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= 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= @@ -315,25 +688,43 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= 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.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= 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= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= From 3ac56e95fdcedb4ca1b8bed41489bb9badb01ce7 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 14 Apr 2022 09:56:35 -0400 Subject: [PATCH 039/105] add PR number to changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad35665b6625e..6ada980ab0d92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ ### 🚀 New components 🚀 -- `vcenterreceiver`: Add metrics receiver for new vcenterreceiver component +- `vcenterreceiver`: Add metrics receiver for new vcenterreceiver component (#9224) ### 💡 Enhancements 💡 From 23d6fe66cf9aaba6fc7eacd1c284ef193984581e Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 14 Apr 2022 10:08:27 -0400 Subject: [PATCH 040/105] regenerate with newer version of mdatagen --- receiver/vcenterreceiver/go.mod | 17 +- .../internal/metadata/generated_metrics_v2.go | 783 +++++++++--------- 2 files changed, 402 insertions(+), 398 deletions(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 56026606d22b8..22708778a4fdf 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -17,6 +17,16 @@ require ( github.com/stretchr/testify v1.7.1 ) +require ( + go.opentelemetry.io/collector/pdata v0.49.0 + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect +) + +require ( + github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0 + golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 // indirect +) + require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect @@ -29,16 +39,9 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.opencensus.io v0.23.0 // indirect - go.opentelemetry.io/collector/pdata v0.49.0 // indirect go.opentelemetry.io/otel v1.6.3 // indirect go.opentelemetry.io/otel/metric v0.29.0 // indirect go.opentelemetry.io/otel/trace v1.6.3 // indirect go.uber.org/atomic v1.9.0 // indirect - gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) - -require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0 - golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 // indirect -) diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 34534ab00608b..5cb1940f51764 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -5,7 +5,8 @@ package metadata import ( "time" - "go.opentelemetry.io/collector/model/pdata" + "go.opentelemetry.io/collector/pdata/pcommon" + "go.opentelemetry.io/collector/pdata/pmetric" ) // MetricSettings provides common settings for a particular metric. @@ -227,7 +228,7 @@ func DefaultMetricsSettings() MetricsSettings { } type metricVcenterClusterCPUAvailable struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -237,12 +238,12 @@ func (m *metricVcenterClusterCPUAvailable) init() { m.data.SetName("vcenter.cluster.cpu.available") m.data.SetDescription("The amount of CPU available to the cluster") m.data.SetUnit("{MHz}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterCPUAvailable) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterClusterCPUAvailable) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -260,7 +261,7 @@ func (m *metricVcenterClusterCPUAvailable) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterCPUAvailable) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterCPUAvailable) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -271,14 +272,14 @@ func (m *metricVcenterClusterCPUAvailable) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterCPUAvailable(settings MetricSettings) metricVcenterClusterCPUAvailable { m := metricVcenterClusterCPUAvailable{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterCPUEffective struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -288,12 +289,12 @@ func (m *metricVcenterClusterCPUEffective) init() { m.data.SetName("vcenter.cluster.cpu.effective") m.data.SetDescription("The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive.") m.data.SetUnit("{MHz}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterCPUEffective) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterClusterCPUEffective) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -311,7 +312,7 @@ func (m *metricVcenterClusterCPUEffective) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterCPUEffective) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterCPUEffective) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -322,14 +323,14 @@ func (m *metricVcenterClusterCPUEffective) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterCPUEffective(settings MetricSettings) metricVcenterClusterCPUEffective { m := metricVcenterClusterCPUEffective{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterCPUUsed struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -339,12 +340,12 @@ func (m *metricVcenterClusterCPUUsed) init() { m.data.SetName("vcenter.cluster.cpu.used") m.data.SetDescription("The amount of CPU used by the cluster") m.data.SetUnit("{MHz}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterCPUUsed) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterClusterCPUUsed) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -362,7 +363,7 @@ func (m *metricVcenterClusterCPUUsed) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterCPUUsed) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterCPUUsed) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -373,14 +374,14 @@ func (m *metricVcenterClusterCPUUsed) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterCPUUsed(settings MetricSettings) metricVcenterClusterCPUUsed { m := metricVcenterClusterCPUUsed{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterHostCount struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -390,13 +391,13 @@ func (m *metricVcenterClusterHostCount) init() { m.data.SetName("vcenter.cluster.host.count") m.data.SetDescription("The number of hosts in the datacenter") m.data.SetUnit("{hosts}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterHostCount) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, hostEffectiveAttributeValue string) { +func (m *metricVcenterClusterHostCount) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, hostEffectiveAttributeValue string) { if !m.settings.Enabled { return } @@ -404,7 +405,7 @@ func (m *metricVcenterClusterHostCount) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.HostEffective, pdata.NewValueString(hostEffectiveAttributeValue)) + dp.Attributes().Insert(A.HostEffective, pcommon.NewValueString(hostEffectiveAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -415,7 +416,7 @@ func (m *metricVcenterClusterHostCount) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterHostCount) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterHostCount) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -426,14 +427,14 @@ func (m *metricVcenterClusterHostCount) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterHostCount(settings MetricSettings) metricVcenterClusterHostCount { m := metricVcenterClusterHostCount{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterMemoryAvailable struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -443,12 +444,12 @@ func (m *metricVcenterClusterMemoryAvailable) init() { m.data.SetName("vcenter.cluster.memory.available") m.data.SetDescription("The available memory of the cluster.") m.data.SetUnit("By") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterMemoryAvailable) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterClusterMemoryAvailable) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -466,7 +467,7 @@ func (m *metricVcenterClusterMemoryAvailable) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterMemoryAvailable) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterMemoryAvailable) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -477,14 +478,14 @@ func (m *metricVcenterClusterMemoryAvailable) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterMemoryAvailable(settings MetricSettings) metricVcenterClusterMemoryAvailable { m := metricVcenterClusterMemoryAvailable{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterMemoryEffective struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -494,12 +495,12 @@ func (m *metricVcenterClusterMemoryEffective) init() { m.data.SetName("vcenter.cluster.memory.effective") m.data.SetDescription("The available memory of the cluster.") m.data.SetUnit("By") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterMemoryEffective) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterClusterMemoryEffective) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -517,7 +518,7 @@ func (m *metricVcenterClusterMemoryEffective) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterMemoryEffective) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterMemoryEffective) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -528,14 +529,14 @@ func (m *metricVcenterClusterMemoryEffective) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterMemoryEffective(settings MetricSettings) metricVcenterClusterMemoryEffective { m := metricVcenterClusterMemoryEffective{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterMemoryUsed struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -545,12 +546,12 @@ func (m *metricVcenterClusterMemoryUsed) init() { m.data.SetName("vcenter.cluster.memory.used") m.data.SetDescription("The memory that is currently used by the cluster") m.data.SetUnit("By") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterMemoryUsed) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterClusterMemoryUsed) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -568,7 +569,7 @@ func (m *metricVcenterClusterMemoryUsed) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterMemoryUsed) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterMemoryUsed) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -579,14 +580,14 @@ func (m *metricVcenterClusterMemoryUsed) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterMemoryUsed(settings MetricSettings) metricVcenterClusterMemoryUsed { m := metricVcenterClusterMemoryUsed{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterVMCount struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -596,13 +597,13 @@ func (m *metricVcenterClusterVMCount) init() { m.data.SetName("vcenter.cluster.vm.count") m.data.SetDescription("the number of virtual machines in the datacenter") m.data.SetUnit("{virtual_machines}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterVMCount) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vmCountPowerStateAttributeValue string) { +func (m *metricVcenterClusterVMCount) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vmCountPowerStateAttributeValue string) { if !m.settings.Enabled { return } @@ -610,7 +611,7 @@ func (m *metricVcenterClusterVMCount) recordDataPoint(start pdata.Timestamp, ts dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VMCountPowerState, pdata.NewValueString(vmCountPowerStateAttributeValue)) + dp.Attributes().Insert(A.VMCountPowerState, pcommon.NewValueString(vmCountPowerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -621,7 +622,7 @@ func (m *metricVcenterClusterVMCount) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVMCount) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterVMCount) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -632,14 +633,14 @@ func (m *metricVcenterClusterVMCount) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterVMCount(settings MetricSettings) metricVcenterClusterVMCount { m := metricVcenterClusterVMCount{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterVsanCongestions struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -649,12 +650,12 @@ func (m *metricVcenterClusterVsanCongestions) init() { m.data.SetName("vcenter.cluster.vsan.congestions") m.data.SetDescription("Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc.") m.data.SetUnit("{congestions/sec}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterVsanCongestions) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterClusterVsanCongestions) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -672,7 +673,7 @@ func (m *metricVcenterClusterVsanCongestions) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVsanCongestions) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterVsanCongestions) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -683,14 +684,14 @@ func (m *metricVcenterClusterVsanCongestions) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterVsanCongestions(settings MetricSettings) metricVcenterClusterVsanCongestions { m := metricVcenterClusterVsanCongestions{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterVsanLatencyAvg struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -700,13 +701,13 @@ func (m *metricVcenterClusterVsanLatencyAvg) init() { m.data.SetName("vcenter.cluster.vsan.latency.avg") m.data.SetDescription("Average latency of IOs generated by all vSAN clients in the cluster.") m.data.SetUnit("µs") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { +func (m *metricVcenterClusterVsanLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -714,7 +715,7 @@ func (m *metricVcenterClusterVsanLatencyAvg) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanLatencyType, pdata.NewValueString(vsanLatencyTypeAttributeValue)) + dp.Attributes().Insert(A.VsanLatencyType, pcommon.NewValueString(vsanLatencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -725,7 +726,7 @@ func (m *metricVcenterClusterVsanLatencyAvg) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVsanLatencyAvg) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterVsanLatencyAvg) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -736,14 +737,14 @@ func (m *metricVcenterClusterVsanLatencyAvg) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterVsanLatencyAvg(settings MetricSettings) metricVcenterClusterVsanLatencyAvg { m := metricVcenterClusterVsanLatencyAvg{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterVsanOperations struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -753,13 +754,13 @@ func (m *metricVcenterClusterVsanOperations) init() { m.data.SetName("vcenter.cluster.vsan.operations") m.data.SetDescription("IOPS consumed by all vSAN clients in the cluster") m.data.SetUnit("{operations/sec}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { +func (m *metricVcenterClusterVsanOperations) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -767,7 +768,7 @@ func (m *metricVcenterClusterVsanOperations) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanOperationType, pdata.NewValueString(vsanOperationTypeAttributeValue)) + dp.Attributes().Insert(A.VsanOperationType, pcommon.NewValueString(vsanOperationTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -778,7 +779,7 @@ func (m *metricVcenterClusterVsanOperations) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVsanOperations) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterVsanOperations) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -789,14 +790,14 @@ func (m *metricVcenterClusterVsanOperations) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterVsanOperations(settings MetricSettings) metricVcenterClusterVsanOperations { m := metricVcenterClusterVsanOperations{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterVsanOutstandingIo struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -806,12 +807,12 @@ func (m *metricVcenterClusterVsanOutstandingIo) init() { m.data.SetName("vcenter.cluster.vsan.outstanding_io") m.data.SetDescription("Outstanding IO from all vSAN clients in the cluster") m.data.SetUnit("{operations}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterVsanOutstandingIo) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterClusterVsanOutstandingIo) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -829,7 +830,7 @@ func (m *metricVcenterClusterVsanOutstandingIo) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVsanOutstandingIo) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterVsanOutstandingIo) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -840,14 +841,14 @@ func (m *metricVcenterClusterVsanOutstandingIo) emit(metrics pdata.MetricSlice) func newMetricVcenterClusterVsanOutstandingIo(settings MetricSettings) metricVcenterClusterVsanOutstandingIo { m := metricVcenterClusterVsanOutstandingIo{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterClusterVsanThroughput struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -857,13 +858,13 @@ func (m *metricVcenterClusterVsanThroughput) init() { m.data.SetName("vcenter.cluster.vsan.throughput") m.data.SetDescription("Throughput consumed by all vSAN clients in the cluster.") m.data.SetUnit("By/sec") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterClusterVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { +func (m *metricVcenterClusterVsanThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -871,7 +872,7 @@ func (m *metricVcenterClusterVsanThroughput) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewValueString(vsanThroughputDirectionAttributeValue)) + dp.Attributes().Insert(A.VsanThroughputDirection, pcommon.NewValueString(vsanThroughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -882,7 +883,7 @@ func (m *metricVcenterClusterVsanThroughput) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVsanThroughput) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterClusterVsanThroughput) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -893,14 +894,14 @@ func (m *metricVcenterClusterVsanThroughput) emit(metrics pdata.MetricSlice) { func newMetricVcenterClusterVsanThroughput(settings MetricSettings) metricVcenterClusterVsanThroughput { m := metricVcenterClusterVsanThroughput{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterDatastoreDiskUsage struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -910,13 +911,13 @@ func (m *metricVcenterDatastoreDiskUsage) init() { m.data.SetName("vcenter.datastore.disk.usage") m.data.SetDescription("The amount of space in the datastore.") m.data.SetUnit("By") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, diskStateAttributeValue string) { +func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, diskStateAttributeValue string) { if !m.settings.Enabled { return } @@ -924,7 +925,7 @@ func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.DiskState, pdata.NewValueString(diskStateAttributeValue)) + dp.Attributes().Insert(A.DiskState, pcommon.NewValueString(diskStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -935,7 +936,7 @@ func (m *metricVcenterDatastoreDiskUsage) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterDatastoreDiskUsage) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterDatastoreDiskUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -946,14 +947,14 @@ func (m *metricVcenterDatastoreDiskUsage) emit(metrics pdata.MetricSlice) { func newMetricVcenterDatastoreDiskUsage(settings MetricSettings) metricVcenterDatastoreDiskUsage { m := metricVcenterDatastoreDiskUsage{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterDatastoreDiskUtilization struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -963,10 +964,10 @@ func (m *metricVcenterDatastoreDiskUtilization) init() { m.data.SetName("vcenter.datastore.disk.utilization") m.data.SetDescription("The utilization of the datastore") m.data.SetUnit("%") - m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.SetDataType(pmetric.MetricDataTypeGauge) } -func (m *metricVcenterDatastoreDiskUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { +func (m *metricVcenterDatastoreDiskUtilization) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -984,7 +985,7 @@ func (m *metricVcenterDatastoreDiskUtilization) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterDatastoreDiskUtilization) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterDatastoreDiskUtilization) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -995,14 +996,14 @@ func (m *metricVcenterDatastoreDiskUtilization) emit(metrics pdata.MetricSlice) func newMetricVcenterDatastoreDiskUtilization(settings MetricSettings) metricVcenterDatastoreDiskUtilization { m := metricVcenterDatastoreDiskUtilization{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostCPUUsage struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1012,12 +1013,12 @@ func (m *metricVcenterHostCPUUsage) init() { m.data.SetName("vcenter.host.cpu.usage") m.data.SetDescription("The amount of CPU in Hz used by the host") m.data.SetUnit("MHz") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterHostCPUUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterHostCPUUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1035,7 +1036,7 @@ func (m *metricVcenterHostCPUUsage) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostCPUUsage) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostCPUUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1046,14 +1047,14 @@ func (m *metricVcenterHostCPUUsage) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostCPUUsage(settings MetricSettings) metricVcenterHostCPUUsage { m := metricVcenterHostCPUUsage{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostCPUUtilization struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1063,10 +1064,10 @@ func (m *metricVcenterHostCPUUtilization) init() { m.data.SetName("vcenter.host.cpu.utilization") m.data.SetDescription("The CPU utilization of the host system") m.data.SetUnit("%") - m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.SetDataType(pmetric.MetricDataTypeGauge) } -func (m *metricVcenterHostCPUUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { +func (m *metricVcenterHostCPUUtilization) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -1084,7 +1085,7 @@ func (m *metricVcenterHostCPUUtilization) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostCPUUtilization) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostCPUUtilization) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1095,14 +1096,14 @@ func (m *metricVcenterHostCPUUtilization) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostCPUUtilization(settings MetricSettings) metricVcenterHostCPUUtilization { m := metricVcenterHostCPUUtilization{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostDiskLatencyAvg struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1112,13 +1113,13 @@ func (m *metricVcenterHostDiskLatencyAvg) init() { m.data.SetName("vcenter.host.disk.latency.avg") m.data.SetDescription("The latency of operations to the host system's disk.") m.data.SetUnit("ms") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string, latencyTypeAttributeValue string) { +func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string, latencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -1126,8 +1127,8 @@ func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.LatencyDirection, pdata.NewValueString(latencyDirectionAttributeValue)) - dp.Attributes().Insert(A.LatencyType, pdata.NewValueString(latencyTypeAttributeValue)) + dp.Attributes().Insert(A.LatencyDirection, pcommon.NewValueString(latencyDirectionAttributeValue)) + dp.Attributes().Insert(A.LatencyType, pcommon.NewValueString(latencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1138,7 +1139,7 @@ func (m *metricVcenterHostDiskLatencyAvg) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostDiskLatencyAvg) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostDiskLatencyAvg) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1149,14 +1150,14 @@ func (m *metricVcenterHostDiskLatencyAvg) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostDiskLatencyAvg(settings MetricSettings) metricVcenterHostDiskLatencyAvg { m := metricVcenterHostDiskLatencyAvg{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostDiskLatencyTotal struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1166,13 +1167,13 @@ func (m *metricVcenterHostDiskLatencyTotal) init() { m.data.SetName("vcenter.host.disk.latency.total") m.data.SetDescription("The total reported total latency (device and kernel times)") m.data.SetUnit("ms") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostDiskLatencyTotal) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string) { +func (m *metricVcenterHostDiskLatencyTotal) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1180,7 +1181,7 @@ func (m *metricVcenterHostDiskLatencyTotal) recordDataPoint(start pdata.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.LatencyDirection, pdata.NewValueString(latencyDirectionAttributeValue)) + dp.Attributes().Insert(A.LatencyDirection, pcommon.NewValueString(latencyDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1191,7 +1192,7 @@ func (m *metricVcenterHostDiskLatencyTotal) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostDiskLatencyTotal) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostDiskLatencyTotal) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1202,14 +1203,14 @@ func (m *metricVcenterHostDiskLatencyTotal) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostDiskLatencyTotal(settings MetricSettings) metricVcenterHostDiskLatencyTotal { m := metricVcenterHostDiskLatencyTotal{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostDiskThroughput struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1219,12 +1220,12 @@ func (m *metricVcenterHostDiskThroughput) init() { m.data.SetName("vcenter.host.disk.throughput") m.data.SetDescription("The throughput to the host system's disk") m.data.SetUnit("By/s") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1242,7 +1243,7 @@ func (m *metricVcenterHostDiskThroughput) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostDiskThroughput) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostDiskThroughput) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1253,14 +1254,14 @@ func (m *metricVcenterHostDiskThroughput) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostDiskThroughput(settings MetricSettings) metricVcenterHostDiskThroughput { m := metricVcenterHostDiskThroughput{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostMemoryUsage struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1270,12 +1271,12 @@ func (m *metricVcenterHostMemoryUsage) init() { m.data.SetName("vcenter.host.memory.usage") m.data.SetDescription("The amount of memory the host system is using") m.data.SetUnit("MBy") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterHostMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterHostMemoryUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1293,7 +1294,7 @@ func (m *metricVcenterHostMemoryUsage) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostMemoryUsage) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostMemoryUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1304,14 +1305,14 @@ func (m *metricVcenterHostMemoryUsage) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostMemoryUsage(settings MetricSettings) metricVcenterHostMemoryUsage { m := metricVcenterHostMemoryUsage{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostMemoryUtilization struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1321,10 +1322,10 @@ func (m *metricVcenterHostMemoryUtilization) init() { m.data.SetName("vcenter.host.memory.utilization") m.data.SetDescription("The percentage of the host system's memory capacity that is being utilized") m.data.SetUnit("%") - m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.SetDataType(pmetric.MetricDataTypeGauge) } -func (m *metricVcenterHostMemoryUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { +func (m *metricVcenterHostMemoryUtilization) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -1342,7 +1343,7 @@ func (m *metricVcenterHostMemoryUtilization) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostMemoryUtilization) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostMemoryUtilization) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1353,14 +1354,14 @@ func (m *metricVcenterHostMemoryUtilization) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostMemoryUtilization(settings MetricSettings) metricVcenterHostMemoryUtilization { m := metricVcenterHostMemoryUtilization{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostNetworkErrors struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1370,13 +1371,13 @@ func (m *metricVcenterHostNetworkErrors) init() { m.data.SetName("vcenter.host.network.errors") m.data.SetDescription("The summation of errors on the host network.") m.data.SetUnit("{errors}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostNetworkErrors) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (m *metricVcenterHostNetworkErrors) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1384,7 +1385,7 @@ func (m *metricVcenterHostNetworkErrors) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1395,7 +1396,7 @@ func (m *metricVcenterHostNetworkErrors) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostNetworkErrors) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostNetworkErrors) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1406,14 +1407,14 @@ func (m *metricVcenterHostNetworkErrors) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostNetworkErrors(settings MetricSettings) metricVcenterHostNetworkErrors { m := metricVcenterHostNetworkErrors{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostNetworkPackets struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1423,13 +1424,13 @@ func (m *metricVcenterHostNetworkPackets) init() { m.data.SetName("vcenter.host.network.packets") m.data.SetDescription("The number of packets sent over an interval") m.data.SetUnit("{packets/sec}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1437,7 +1438,7 @@ func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1448,7 +1449,7 @@ func (m *metricVcenterHostNetworkPackets) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostNetworkPackets) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostNetworkPackets) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1459,14 +1460,14 @@ func (m *metricVcenterHostNetworkPackets) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostNetworkPackets(settings MetricSettings) metricVcenterHostNetworkPackets { m := metricVcenterHostNetworkPackets{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostNetworkThroughput struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1476,13 +1477,13 @@ func (m *metricVcenterHostNetworkThroughput) init() { m.data.SetName("vcenter.host.network.throughput") m.data.SetDescription("The amount of data that was sent or received over the network by the host") m.data.SetUnit("{KBy/s}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1490,7 +1491,7 @@ func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pdata.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1501,7 +1502,7 @@ func (m *metricVcenterHostNetworkThroughput) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostNetworkThroughput) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostNetworkThroughput) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1512,14 +1513,14 @@ func (m *metricVcenterHostNetworkThroughput) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostNetworkThroughput(settings MetricSettings) metricVcenterHostNetworkThroughput { m := metricVcenterHostNetworkThroughput{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostNetworkUsage struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1529,12 +1530,12 @@ func (m *metricVcenterHostNetworkUsage) init() { m.data.SetName("vcenter.host.network.usage") m.data.SetDescription("The sum of the data transmitted and received for all the NIC instances of the host.") m.data.SetUnit("{KBy/s}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterHostNetworkUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterHostNetworkUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1552,7 +1553,7 @@ func (m *metricVcenterHostNetworkUsage) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostNetworkUsage) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostNetworkUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1563,14 +1564,14 @@ func (m *metricVcenterHostNetworkUsage) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostNetworkUsage(settings MetricSettings) metricVcenterHostNetworkUsage { m := metricVcenterHostNetworkUsage{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostVsanCacheHitRate struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1580,10 +1581,10 @@ func (m *metricVcenterHostVsanCacheHitRate) init() { m.data.SetName("vcenter.host.vsan.cache.hit_rate") m.data.SetDescription("Percentage of read IOs which could be satisfied by the local client cache") m.data.SetUnit("%") - m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.SetDataType(pmetric.MetricDataTypeGauge) } -func (m *metricVcenterHostVsanCacheHitRate) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { +func (m *metricVcenterHostVsanCacheHitRate) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -1601,7 +1602,7 @@ func (m *metricVcenterHostVsanCacheHitRate) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanCacheHitRate) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostVsanCacheHitRate) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1612,14 +1613,14 @@ func (m *metricVcenterHostVsanCacheHitRate) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostVsanCacheHitRate(settings MetricSettings) metricVcenterHostVsanCacheHitRate { m := metricVcenterHostVsanCacheHitRate{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostVsanCacheReads struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1629,12 +1630,12 @@ func (m *metricVcenterHostVsanCacheReads) init() { m.data.SetName("vcenter.host.vsan.cache.reads") m.data.SetDescription("Average latency of IOs generated by all vSAN clients on the host") m.data.SetUnit("{operations/sec}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterHostVsanCacheReads) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterHostVsanCacheReads) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1652,7 +1653,7 @@ func (m *metricVcenterHostVsanCacheReads) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanCacheReads) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostVsanCacheReads) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1663,14 +1664,14 @@ func (m *metricVcenterHostVsanCacheReads) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostVsanCacheReads(settings MetricSettings) metricVcenterHostVsanCacheReads { m := metricVcenterHostVsanCacheReads{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostVsanCongestions struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1680,12 +1681,12 @@ func (m *metricVcenterHostVsanCongestions) init() { m.data.SetName("vcenter.host.vsan.congestions") m.data.SetDescription("Congestions of IOs generated by all vSAN clients on the host") m.data.SetUnit("{congestions/sec}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterHostVsanCongestions) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterHostVsanCongestions) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1703,7 +1704,7 @@ func (m *metricVcenterHostVsanCongestions) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanCongestions) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostVsanCongestions) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1714,14 +1715,14 @@ func (m *metricVcenterHostVsanCongestions) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostVsanCongestions(settings MetricSettings) metricVcenterHostVsanCongestions { m := metricVcenterHostVsanCongestions{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostVsanLatencyAvg struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1731,13 +1732,13 @@ func (m *metricVcenterHostVsanLatencyAvg) init() { m.data.SetName("vcenter.host.vsan.latency.avg") m.data.SetDescription("Average latency of IOs generated by all vSAN clients on the host.") m.data.SetUnit("µs") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { +func (m *metricVcenterHostVsanLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -1745,7 +1746,7 @@ func (m *metricVcenterHostVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanLatencyType, pdata.NewValueString(vsanLatencyTypeAttributeValue)) + dp.Attributes().Insert(A.VsanLatencyType, pcommon.NewValueString(vsanLatencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1756,7 +1757,7 @@ func (m *metricVcenterHostVsanLatencyAvg) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanLatencyAvg) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostVsanLatencyAvg) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1767,14 +1768,14 @@ func (m *metricVcenterHostVsanLatencyAvg) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostVsanLatencyAvg(settings MetricSettings) metricVcenterHostVsanLatencyAvg { m := metricVcenterHostVsanLatencyAvg{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostVsanOperations struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1784,13 +1785,13 @@ func (m *metricVcenterHostVsanOperations) init() { m.data.SetName("vcenter.host.vsan.operations") m.data.SetDescription("IOPs consumed by all vSAN clients on the host.") m.data.SetUnit("{operations/sec}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { +func (m *metricVcenterHostVsanOperations) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -1798,7 +1799,7 @@ func (m *metricVcenterHostVsanOperations) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanOperationType, pdata.NewValueString(vsanOperationTypeAttributeValue)) + dp.Attributes().Insert(A.VsanOperationType, pcommon.NewValueString(vsanOperationTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1809,7 +1810,7 @@ func (m *metricVcenterHostVsanOperations) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanOperations) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostVsanOperations) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1820,14 +1821,14 @@ func (m *metricVcenterHostVsanOperations) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostVsanOperations(settings MetricSettings) metricVcenterHostVsanOperations { m := metricVcenterHostVsanOperations{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostVsanOutstandingIo struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1837,12 +1838,12 @@ func (m *metricVcenterHostVsanOutstandingIo) init() { m.data.SetName("vcenter.host.vsan.outstanding_io") m.data.SetDescription("Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc.") m.data.SetUnit("{operations/sec}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterHostVsanOutstandingIo) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterHostVsanOutstandingIo) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1860,7 +1861,7 @@ func (m *metricVcenterHostVsanOutstandingIo) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanOutstandingIo) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostVsanOutstandingIo) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1871,14 +1872,14 @@ func (m *metricVcenterHostVsanOutstandingIo) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostVsanOutstandingIo(settings MetricSettings) metricVcenterHostVsanOutstandingIo { m := metricVcenterHostVsanOutstandingIo{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterHostVsanThroughput struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1888,13 +1889,13 @@ func (m *metricVcenterHostVsanThroughput) init() { m.data.SetName("vcenter.host.vsan.throughput") m.data.SetDescription("Throughput consumed by all vSAN clients on the host.") m.data.SetUnit("By/s") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { +func (m *metricVcenterHostVsanThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1902,7 +1903,7 @@ func (m *metricVcenterHostVsanThroughput) recordDataPoint(start pdata.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewValueString(vsanThroughputDirectionAttributeValue)) + dp.Attributes().Insert(A.VsanThroughputDirection, pcommon.NewValueString(vsanThroughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1913,7 +1914,7 @@ func (m *metricVcenterHostVsanThroughput) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanThroughput) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterHostVsanThroughput) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1924,14 +1925,14 @@ func (m *metricVcenterHostVsanThroughput) emit(metrics pdata.MetricSlice) { func newMetricVcenterHostVsanThroughput(settings MetricSettings) metricVcenterHostVsanThroughput { m := metricVcenterHostVsanThroughput{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterResourcePoolCPUShares struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1941,12 +1942,12 @@ func (m *metricVcenterResourcePoolCPUShares) init() { m.data.SetName("vcenter.resource_pool.cpu.shares") m.data.SetDescription("The amount of shares of memory in the resource pool") m.data.SetUnit("{shares}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterResourcePoolCPUShares) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterResourcePoolCPUShares) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1964,7 +1965,7 @@ func (m *metricVcenterResourcePoolCPUShares) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterResourcePoolCPUShares) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterResourcePoolCPUShares) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1975,14 +1976,14 @@ func (m *metricVcenterResourcePoolCPUShares) emit(metrics pdata.MetricSlice) { func newMetricVcenterResourcePoolCPUShares(settings MetricSettings) metricVcenterResourcePoolCPUShares { m := metricVcenterResourcePoolCPUShares{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterResourcePoolCPUUsage struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -1992,12 +1993,12 @@ func (m *metricVcenterResourcePoolCPUUsage) init() { m.data.SetName("vcenter.resource_pool.cpu.usage") m.data.SetDescription("The usage of the CPU used by the resource pool") m.data.SetUnit("{MHz}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterResourcePoolCPUUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterResourcePoolCPUUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2015,7 +2016,7 @@ func (m *metricVcenterResourcePoolCPUUsage) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterResourcePoolCPUUsage) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterResourcePoolCPUUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2026,14 +2027,14 @@ func (m *metricVcenterResourcePoolCPUUsage) emit(metrics pdata.MetricSlice) { func newMetricVcenterResourcePoolCPUUsage(settings MetricSettings) metricVcenterResourcePoolCPUUsage { m := metricVcenterResourcePoolCPUUsage{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterResourcePoolMemoryShares struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2043,12 +2044,12 @@ func (m *metricVcenterResourcePoolMemoryShares) init() { m.data.SetName("vcenter.resource_pool.memory.shares") m.data.SetDescription("The amount of shares of memory in the resource pool") m.data.SetUnit("{shares}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterResourcePoolMemoryShares) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterResourcePoolMemoryShares) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2066,7 +2067,7 @@ func (m *metricVcenterResourcePoolMemoryShares) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterResourcePoolMemoryShares) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterResourcePoolMemoryShares) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2077,14 +2078,14 @@ func (m *metricVcenterResourcePoolMemoryShares) emit(metrics pdata.MetricSlice) func newMetricVcenterResourcePoolMemoryShares(settings MetricSettings) metricVcenterResourcePoolMemoryShares { m := metricVcenterResourcePoolMemoryShares{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterResourcePoolMemoryUsage struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2094,12 +2095,12 @@ func (m *metricVcenterResourcePoolMemoryUsage) init() { m.data.SetName("vcenter.resource_pool.memory.usage") m.data.SetDescription("The usage of the memory by the resource pool") m.data.SetUnit("MBy") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterResourcePoolMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterResourcePoolMemoryUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2117,7 +2118,7 @@ func (m *metricVcenterResourcePoolMemoryUsage) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterResourcePoolMemoryUsage) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterResourcePoolMemoryUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2128,14 +2129,14 @@ func (m *metricVcenterResourcePoolMemoryUsage) emit(metrics pdata.MetricSlice) { func newMetricVcenterResourcePoolMemoryUsage(settings MetricSettings) metricVcenterResourcePoolMemoryUsage { m := metricVcenterResourcePoolMemoryUsage{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMCPUUtilization struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2145,10 +2146,10 @@ func (m *metricVcenterVMCPUUtilization) init() { m.data.SetName("vcenter.vm.cpu.utilization") m.data.SetDescription("The CPU utilization of the virtual machine") m.data.SetUnit("%") - m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.SetDataType(pmetric.MetricDataTypeGauge) } -func (m *metricVcenterVMCPUUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { +func (m *metricVcenterVMCPUUtilization) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -2166,7 +2167,7 @@ func (m *metricVcenterVMCPUUtilization) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMCPUUtilization) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMCPUUtilization) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2177,14 +2178,14 @@ func (m *metricVcenterVMCPUUtilization) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMCPUUtilization(settings MetricSettings) metricVcenterVMCPUUtilization { m := metricVcenterVMCPUUtilization{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMDiskLatencyAvg struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2194,13 +2195,13 @@ func (m *metricVcenterVMDiskLatencyAvg) init() { m.data.SetName("vcenter.vm.disk.latency.avg") m.data.SetDescription("The latency of operations to the virtual machine's disk") m.data.SetUnit("µs") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string) { +func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -2208,7 +2209,7 @@ func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.LatencyDirection, pdata.NewValueString(latencyDirectionAttributeValue)) + dp.Attributes().Insert(A.LatencyDirection, pcommon.NewValueString(latencyDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2219,7 +2220,7 @@ func (m *metricVcenterVMDiskLatencyAvg) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMDiskLatencyAvg) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMDiskLatencyAvg) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2230,14 +2231,14 @@ func (m *metricVcenterVMDiskLatencyAvg) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMDiskLatencyAvg(settings MetricSettings) metricVcenterVMDiskLatencyAvg { m := metricVcenterVMDiskLatencyAvg{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMDiskLatencyMax struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2247,12 +2248,12 @@ func (m *metricVcenterVMDiskLatencyMax) init() { m.data.SetName("vcenter.vm.disk.latency.max") m.data.SetDescription("The highest reported total latency (device and kernel times)") m.data.SetUnit("ms") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterVMDiskLatencyMax) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterVMDiskLatencyMax) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2270,7 +2271,7 @@ func (m *metricVcenterVMDiskLatencyMax) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMDiskLatencyMax) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMDiskLatencyMax) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2281,14 +2282,14 @@ func (m *metricVcenterVMDiskLatencyMax) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMDiskLatencyMax(settings MetricSettings) metricVcenterVMDiskLatencyMax { m := metricVcenterVMDiskLatencyMax{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMDiskThroughput struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2298,12 +2299,12 @@ func (m *metricVcenterVMDiskThroughput) init() { m.data.SetName("vcenter.vm.disk.throughput") m.data.SetDescription("The throughput of the virtual machine's disk") m.data.SetUnit("By/sec") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterVMDiskThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterVMDiskThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2321,7 +2322,7 @@ func (m *metricVcenterVMDiskThroughput) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMDiskThroughput) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMDiskThroughput) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2332,14 +2333,14 @@ func (m *metricVcenterVMDiskThroughput) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMDiskThroughput(settings MetricSettings) metricVcenterVMDiskThroughput { m := metricVcenterVMDiskThroughput{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMDiskUsage struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2349,13 +2350,13 @@ func (m *metricVcenterVMDiskUsage) init() { m.data.SetName("vcenter.vm.disk.usage") m.data.SetDescription("The amount of storage space the virtual machine is using") m.data.SetUnit("By") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, diskStateAttributeValue string) { +func (m *metricVcenterVMDiskUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, diskStateAttributeValue string) { if !m.settings.Enabled { return } @@ -2363,7 +2364,7 @@ func (m *metricVcenterVMDiskUsage) recordDataPoint(start pdata.Timestamp, ts pda dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.DiskState, pdata.NewValueString(diskStateAttributeValue)) + dp.Attributes().Insert(A.DiskState, pcommon.NewValueString(diskStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2374,7 +2375,7 @@ func (m *metricVcenterVMDiskUsage) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMDiskUsage) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMDiskUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2385,14 +2386,14 @@ func (m *metricVcenterVMDiskUsage) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMDiskUsage(settings MetricSettings) metricVcenterVMDiskUsage { m := metricVcenterVMDiskUsage{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMDiskUtilization struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2402,10 +2403,10 @@ func (m *metricVcenterVMDiskUtilization) init() { m.data.SetName("vcenter.vm.disk.utilization") m.data.SetDescription("The utilization of storage on the virtual machine") m.data.SetUnit("%") - m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.SetDataType(pmetric.MetricDataTypeGauge) } -func (m *metricVcenterVMDiskUtilization) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val float64) { +func (m *metricVcenterVMDiskUtilization) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val float64) { if !m.settings.Enabled { return } @@ -2423,7 +2424,7 @@ func (m *metricVcenterVMDiskUtilization) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMDiskUtilization) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMDiskUtilization) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2434,14 +2435,14 @@ func (m *metricVcenterVMDiskUtilization) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMDiskUtilization(settings MetricSettings) metricVcenterVMDiskUtilization { m := metricVcenterVMDiskUtilization{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMMemoryBallooned struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2451,12 +2452,12 @@ func (m *metricVcenterVMMemoryBallooned) init() { m.data.SetName("vcenter.vm.memory.ballooned") m.data.SetDescription("The amount of memory that is ballooned due to virtualization.") m.data.SetUnit("By") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterVMMemoryBallooned) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterVMMemoryBallooned) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2474,7 +2475,7 @@ func (m *metricVcenterVMMemoryBallooned) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMMemoryBallooned) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMMemoryBallooned) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2485,14 +2486,14 @@ func (m *metricVcenterVMMemoryBallooned) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMMemoryBallooned(settings MetricSettings) metricVcenterVMMemoryBallooned { m := metricVcenterVMMemoryBallooned{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMMemoryUsage struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2502,12 +2503,12 @@ func (m *metricVcenterVMMemoryUsage) init() { m.data.SetName("vcenter.vm.memory.usage") m.data.SetDescription("The amount of memory that is used by the virtual machine") m.data.SetUnit("MBy") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterVMMemoryUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterVMMemoryUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2525,7 +2526,7 @@ func (m *metricVcenterVMMemoryUsage) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMMemoryUsage) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMMemoryUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2536,14 +2537,14 @@ func (m *metricVcenterVMMemoryUsage) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMMemoryUsage(settings MetricSettings) metricVcenterVMMemoryUsage { m := metricVcenterVMMemoryUsage{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMNetworkPackets struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2553,13 +2554,13 @@ func (m *metricVcenterVMNetworkPackets) init() { m.data.SetName("vcenter.vm.network.packets") m.data.SetDescription("The amount of packets that was received or transmitted over the instance's network.") m.data.SetUnit("{packets/sec}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -2567,7 +2568,7 @@ func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2578,7 +2579,7 @@ func (m *metricVcenterVMNetworkPackets) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMNetworkPackets) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMNetworkPackets) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2589,14 +2590,14 @@ func (m *metricVcenterVMNetworkPackets) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMNetworkPackets(settings MetricSettings) metricVcenterVMNetworkPackets { m := metricVcenterVMNetworkPackets{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMNetworkThroughput struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2606,13 +2607,13 @@ func (m *metricVcenterVMNetworkThroughput) init() { m.data.SetName("vcenter.vm.network.throughput") m.data.SetDescription("The amount of data that was received or sent over the network of the virtual machine.") m.data.SetUnit("By/sec") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -2620,7 +2621,7 @@ func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pdata.Timestamp dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pdata.NewValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2631,7 +2632,7 @@ func (m *metricVcenterVMNetworkThroughput) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMNetworkThroughput) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMNetworkThroughput) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2642,14 +2643,14 @@ func (m *metricVcenterVMNetworkThroughput) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMNetworkThroughput(settings MetricSettings) metricVcenterVMNetworkThroughput { m := metricVcenterVMNetworkThroughput{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMNetworkUsage struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2659,12 +2660,12 @@ func (m *metricVcenterVMNetworkUsage) init() { m.data.SetName("vcenter.vm.network.usage") m.data.SetDescription("The network utilization combined transmit and receive rates during an interval.") m.data.SetUnit("{KBy/s}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterVMNetworkUsage) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64) { +func (m *metricVcenterVMNetworkUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -2682,7 +2683,7 @@ func (m *metricVcenterVMNetworkUsage) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMNetworkUsage) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMNetworkUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2693,14 +2694,14 @@ func (m *metricVcenterVMNetworkUsage) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMNetworkUsage(settings MetricSettings) metricVcenterVMNetworkUsage { m := metricVcenterVMNetworkUsage{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMVsanLatencyAvg struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2710,11 +2711,11 @@ func (m *metricVcenterVMVsanLatencyAvg) init() { m.data.SetName("vcenter.vm.vsan.latency.avg") m.data.SetDescription("The latency while accessing VSAN storage") m.data.SetUnit("us") - m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.SetDataType(pmetric.MetricDataTypeGauge) m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { +func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -2722,7 +2723,7 @@ func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanLatencyType, pdata.NewValueString(vsanLatencyTypeAttributeValue)) + dp.Attributes().Insert(A.VsanLatencyType, pcommon.NewValueString(vsanLatencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2733,7 +2734,7 @@ func (m *metricVcenterVMVsanLatencyAvg) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMVsanLatencyAvg) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMVsanLatencyAvg) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2744,14 +2745,14 @@ func (m *metricVcenterVMVsanLatencyAvg) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMVsanLatencyAvg(settings MetricSettings) metricVcenterVMVsanLatencyAvg { m := metricVcenterVMVsanLatencyAvg{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMVsanOperations struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2761,13 +2762,13 @@ func (m *metricVcenterVMVsanOperations) init() { m.data.SetName("vcenter.vm.vsan.operations") m.data.SetDescription("Virtual Machine vSAN IOPs") m.data.SetUnit("{operations/sec}") - m.data.SetDataType(pdata.MetricDataTypeSum) + m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pdata.MetricAggregationTemporalityCumulative) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { +func (m *metricVcenterVMVsanOperations) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -2775,7 +2776,7 @@ func (m *metricVcenterVMVsanOperations) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanOperationType, pdata.NewValueString(vsanOperationTypeAttributeValue)) + dp.Attributes().Insert(A.VsanOperationType, pcommon.NewValueString(vsanOperationTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2786,7 +2787,7 @@ func (m *metricVcenterVMVsanOperations) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMVsanOperations) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMVsanOperations) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2797,14 +2798,14 @@ func (m *metricVcenterVMVsanOperations) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMVsanOperations(settings MetricSettings) metricVcenterVMVsanOperations { m := metricVcenterVMVsanOperations{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m } type metricVcenterVMVsanThroughput struct { - data pdata.Metric // data buffer for generated metric. + data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } @@ -2814,11 +2815,11 @@ func (m *metricVcenterVMVsanThroughput) init() { m.data.SetName("vcenter.vm.vsan.throughput") m.data.SetDescription("The VSAN throughput of a virtual machine") m.data.SetUnit("By/s") - m.data.SetDataType(pdata.MetricDataTypeGauge) + m.data.SetDataType(pmetric.MetricDataTypeGauge) m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { +func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -2826,7 +2827,7 @@ func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pdata.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanThroughputDirection, pdata.NewValueString(vsanThroughputDirectionAttributeValue)) + dp.Attributes().Insert(A.VsanThroughputDirection, pcommon.NewValueString(vsanThroughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2837,7 +2838,7 @@ func (m *metricVcenterVMVsanThroughput) updateCapacity() { } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMVsanThroughput) emit(metrics pdata.MetricSlice) { +func (m *metricVcenterVMVsanThroughput) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -2848,7 +2849,7 @@ func (m *metricVcenterVMVsanThroughput) emit(metrics pdata.MetricSlice) { func newMetricVcenterVMVsanThroughput(settings MetricSettings) metricVcenterVMVsanThroughput { m := metricVcenterVMVsanThroughput{settings: settings} if settings.Enabled { - m.data = pdata.NewMetric() + m.data = pmetric.NewMetric() m.init() } return m @@ -2857,10 +2858,10 @@ func newMetricVcenterVMVsanThroughput(settings MetricSettings) metricVcenterVMVs // MetricsBuilder provides an interface for scrapers to report metrics while taking care of all the transformations // required to produce metric representation defined in metadata and user settings. type MetricsBuilder struct { - startTime pdata.Timestamp // start time that will be applied to all recorded data points. - metricsCapacity int // maximum observed number of metrics per resource. - resourceCapacity int // maximum observed number of resource attributes. - metricsBuffer pdata.Metrics // accumulates metrics data before emitting. + startTime pcommon.Timestamp // start time that will be applied to all recorded data points. + metricsCapacity int // maximum observed number of metrics per resource. + resourceCapacity int // maximum observed number of resource attributes. + metricsBuffer pmetric.Metrics // accumulates metrics data before emitting. metricVcenterClusterCPUAvailable metricVcenterClusterCPUAvailable metricVcenterClusterCPUEffective metricVcenterClusterCPUEffective metricVcenterClusterCPUUsed metricVcenterClusterCPUUsed @@ -2918,7 +2919,7 @@ type MetricsBuilder struct { type metricBuilderOption func(*MetricsBuilder) // WithStartTime sets startTime on the metrics builder. -func WithStartTime(startTime pdata.Timestamp) metricBuilderOption { +func WithStartTime(startTime pcommon.Timestamp) metricBuilderOption { return func(mb *MetricsBuilder) { mb.startTime = startTime } @@ -2926,8 +2927,8 @@ func WithStartTime(startTime pdata.Timestamp) metricBuilderOption { func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) *MetricsBuilder { mb := &MetricsBuilder{ - startTime: pdata.NewTimestampFromTime(time.Now()), - metricsBuffer: pdata.NewMetrics(), + startTime: pcommon.NewTimestampFromTime(time.Now()), + metricsBuffer: pmetric.NewMetrics(), metricVcenterClusterCPUAvailable: newMetricVcenterClusterCPUAvailable(settings.VcenterClusterCPUAvailable), metricVcenterClusterCPUEffective: newMetricVcenterClusterCPUEffective(settings.VcenterClusterCPUEffective), metricVcenterClusterCPUUsed: newMetricVcenterClusterCPUUsed(settings.VcenterClusterCPUUsed), @@ -2987,7 +2988,7 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) } // updateCapacity updates max length of metrics and resource attributes that will be used for the slice capacity. -func (mb *MetricsBuilder) updateCapacity(rm pdata.ResourceMetrics) { +func (mb *MetricsBuilder) updateCapacity(rm pmetric.ResourceMetrics) { if mb.metricsCapacity < rm.ScopeMetrics().At(0).Metrics().Len() { mb.metricsCapacity = rm.ScopeMetrics().At(0).Metrics().Len() } @@ -2997,46 +2998,46 @@ func (mb *MetricsBuilder) updateCapacity(rm pdata.ResourceMetrics) { } // ResourceOption applies changes to provided resource. -type ResourceOption func(pdata.Resource) +type ResourceOption func(pcommon.Resource) // WithVcenterClusterName sets provided value as "vcenter.cluster.name" attribute for current resource. func WithVcenterClusterName(val string) ResourceOption { - return func(r pdata.Resource) { + return func(r pcommon.Resource) { r.Attributes().UpsertString("vcenter.cluster.name", val) } } // WithVcenterDatastoreName sets provided value as "vcenter.datastore.name" attribute for current resource. func WithVcenterDatastoreName(val string) ResourceOption { - return func(r pdata.Resource) { + return func(r pcommon.Resource) { r.Attributes().UpsertString("vcenter.datastore.name", val) } } // WithVcenterHostName sets provided value as "vcenter.host.name" attribute for current resource. func WithVcenterHostName(val string) ResourceOption { - return func(r pdata.Resource) { + return func(r pcommon.Resource) { r.Attributes().UpsertString("vcenter.host.name", val) } } // WithVcenterResourcePoolName sets provided value as "vcenter.resource_pool.name" attribute for current resource. func WithVcenterResourcePoolName(val string) ResourceOption { - return func(r pdata.Resource) { + return func(r pcommon.Resource) { r.Attributes().UpsertString("vcenter.resource_pool.name", val) } } // WithVcenterVMID sets provided value as "vcenter.vm.id" attribute for current resource. func WithVcenterVMID(val string) ResourceOption { - return func(r pdata.Resource) { + return func(r pcommon.Resource) { r.Attributes().UpsertString("vcenter.vm.id", val) } } // WithVcenterVMName sets provided value as "vcenter.vm.name" attribute for current resource. func WithVcenterVMName(val string) ResourceOption { - return func(r pdata.Resource) { + return func(r pcommon.Resource) { r.Attributes().UpsertString("vcenter.vm.name", val) } } @@ -3046,7 +3047,7 @@ func WithVcenterVMName(val string) ResourceOption { // needs to emit metrics from several resources. Otherwise calling this function is not required, // just `Emit` function can be called instead. Resource attributes should be provided as ResourceOption arguments. func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { - rm := pdata.NewResourceMetrics() + rm := pmetric.NewResourceMetrics() rm.Resource().Attributes().EnsureCapacity(mb.resourceCapacity) for _, op := range ro { op(rm.Resource()) @@ -3114,272 +3115,272 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { // Emit returns all the metrics accumulated by the metrics builder and updates the internal state to be ready for // recording another set of metrics. This function will be responsible for applying all the transformations required to // produce metric representation defined in metadata and user settings, e.g. delta or cumulative. -func (mb *MetricsBuilder) Emit(ro ...ResourceOption) pdata.Metrics { +func (mb *MetricsBuilder) Emit(ro ...ResourceOption) pmetric.Metrics { mb.EmitForResource(ro...) - metrics := pdata.NewMetrics() + metrics := pmetric.NewMetrics() mb.metricsBuffer.MoveTo(metrics) return metrics } // RecordVcenterClusterCPUAvailableDataPoint adds a data point to vcenter.cluster.cpu.available metric. -func (mb *MetricsBuilder) RecordVcenterClusterCPUAvailableDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterClusterCPUAvailableDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterCPUAvailable.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterCPUEffectiveDataPoint adds a data point to vcenter.cluster.cpu.effective metric. -func (mb *MetricsBuilder) RecordVcenterClusterCPUEffectiveDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterClusterCPUEffectiveDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterCPUEffective.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterCPUUsedDataPoint adds a data point to vcenter.cluster.cpu.used metric. -func (mb *MetricsBuilder) RecordVcenterClusterCPUUsedDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterClusterCPUUsedDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterCPUUsed.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterHostCountDataPoint adds a data point to vcenter.cluster.host.count metric. -func (mb *MetricsBuilder) RecordVcenterClusterHostCountDataPoint(ts pdata.Timestamp, val int64, hostEffectiveAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterClusterHostCountDataPoint(ts pcommon.Timestamp, val int64, hostEffectiveAttributeValue string) { mb.metricVcenterClusterHostCount.recordDataPoint(mb.startTime, ts, val, hostEffectiveAttributeValue) } // RecordVcenterClusterMemoryAvailableDataPoint adds a data point to vcenter.cluster.memory.available metric. -func (mb *MetricsBuilder) RecordVcenterClusterMemoryAvailableDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterClusterMemoryAvailableDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterMemoryAvailable.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterMemoryEffectiveDataPoint adds a data point to vcenter.cluster.memory.effective metric. -func (mb *MetricsBuilder) RecordVcenterClusterMemoryEffectiveDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterClusterMemoryEffectiveDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterMemoryEffective.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterMemoryUsedDataPoint adds a data point to vcenter.cluster.memory.used metric. -func (mb *MetricsBuilder) RecordVcenterClusterMemoryUsedDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterClusterMemoryUsedDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterMemoryUsed.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterVMCountDataPoint adds a data point to vcenter.cluster.vm.count metric. -func (mb *MetricsBuilder) RecordVcenterClusterVMCountDataPoint(ts pdata.Timestamp, val int64, vmCountPowerStateAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterClusterVMCountDataPoint(ts pcommon.Timestamp, val int64, vmCountPowerStateAttributeValue string) { mb.metricVcenterClusterVMCount.recordDataPoint(mb.startTime, ts, val, vmCountPowerStateAttributeValue) } // RecordVcenterClusterVsanCongestionsDataPoint adds a data point to vcenter.cluster.vsan.congestions metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanCongestionsDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterClusterVsanCongestionsDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterVsanCongestions.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterVsanLatencyAvgDataPoint adds a data point to vcenter.cluster.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterClusterVsanLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { mb.metricVcenterClusterVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue) } // RecordVcenterClusterVsanOperationsDataPoint adds a data point to vcenter.cluster.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanOperationsDataPoint(ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterClusterVsanOperationsDataPoint(ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { mb.metricVcenterClusterVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue) } // RecordVcenterClusterVsanOutstandingIoDataPoint adds a data point to vcenter.cluster.vsan.outstanding_io metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanOutstandingIoDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterClusterVsanOutstandingIoDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterClusterVsanThroughputDataPoint adds a data point to vcenter.cluster.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanThroughputDataPoint(ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterClusterVsanThroughputDataPoint(ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { mb.metricVcenterClusterVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue) } // RecordVcenterDatastoreDiskUsageDataPoint adds a data point to vcenter.datastore.disk.usage metric. -func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pdata.Timestamp, val int64, diskStateAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pcommon.Timestamp, val int64, diskStateAttributeValue string) { mb.metricVcenterDatastoreDiskUsage.recordDataPoint(mb.startTime, ts, val, diskStateAttributeValue) } // RecordVcenterDatastoreDiskUtilizationDataPoint adds a data point to vcenter.datastore.disk.utilization metric. -func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUtilizationDataPoint(ts pdata.Timestamp, val float64) { +func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUtilizationDataPoint(ts pcommon.Timestamp, val float64) { mb.metricVcenterDatastoreDiskUtilization.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostCPUUsageDataPoint adds a data point to vcenter.host.cpu.usage metric. -func (mb *MetricsBuilder) RecordVcenterHostCPUUsageDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterHostCPUUsageDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterHostCPUUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostCPUUtilizationDataPoint adds a data point to vcenter.host.cpu.utilization metric. -func (mb *MetricsBuilder) RecordVcenterHostCPUUtilizationDataPoint(ts pdata.Timestamp, val float64) { +func (mb *MetricsBuilder) RecordVcenterHostCPUUtilizationDataPoint(ts pcommon.Timestamp, val float64) { mb.metricVcenterHostCPUUtilization.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostDiskLatencyAvgDataPoint adds a data point to vcenter.host.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string, latencyTypeAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string, latencyTypeAttributeValue string) { mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue, latencyTypeAttributeValue) } // RecordVcenterHostDiskLatencyTotalDataPoint adds a data point to vcenter.host.disk.latency.total metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyTotalDataPoint(ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyTotalDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { mb.metricVcenterHostDiskLatencyTotal.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue) } // RecordVcenterHostDiskThroughputDataPoint adds a data point to vcenter.host.disk.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskThroughputDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterHostDiskThroughputDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterHostDiskThroughput.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostMemoryUsageDataPoint adds a data point to vcenter.host.memory.usage metric. -func (mb *MetricsBuilder) RecordVcenterHostMemoryUsageDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterHostMemoryUsageDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterHostMemoryUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostMemoryUtilizationDataPoint adds a data point to vcenter.host.memory.utilization metric. -func (mb *MetricsBuilder) RecordVcenterHostMemoryUtilizationDataPoint(ts pdata.Timestamp, val float64) { +func (mb *MetricsBuilder) RecordVcenterHostMemoryUtilizationDataPoint(ts pcommon.Timestamp, val float64) { mb.metricVcenterHostMemoryUtilization.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostNetworkErrorsDataPoint adds a data point to vcenter.host.network.errors metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkErrorsDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterHostNetworkErrorsDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { mb.metricVcenterHostNetworkErrors.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterHostNetworkPacketsDataPoint adds a data point to vcenter.host.network.packets metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketsDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { mb.metricVcenterHostNetworkPackets.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterHostNetworkThroughputDataPoint adds a data point to vcenter.host.network.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { mb.metricVcenterHostNetworkThroughput.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterHostNetworkUsageDataPoint adds a data point to vcenter.host.network.usage metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkUsageDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterHostNetworkUsageDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterHostNetworkUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanCacheHitRateDataPoint adds a data point to vcenter.host.vsan.cache.hit_rate metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanCacheHitRateDataPoint(ts pdata.Timestamp, val float64) { +func (mb *MetricsBuilder) RecordVcenterHostVsanCacheHitRateDataPoint(ts pcommon.Timestamp, val float64) { mb.metricVcenterHostVsanCacheHitRate.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanCacheReadsDataPoint adds a data point to vcenter.host.vsan.cache.reads metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanCacheReadsDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterHostVsanCacheReadsDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterHostVsanCacheReads.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanCongestionsDataPoint adds a data point to vcenter.host.vsan.congestions metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanCongestionsDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterHostVsanCongestionsDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterHostVsanCongestions.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanLatencyAvgDataPoint adds a data point to vcenter.host.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterHostVsanLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { mb.metricVcenterHostVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue) } // RecordVcenterHostVsanOperationsDataPoint adds a data point to vcenter.host.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanOperationsDataPoint(ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterHostVsanOperationsDataPoint(ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { mb.metricVcenterHostVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue) } // RecordVcenterHostVsanOutstandingIoDataPoint adds a data point to vcenter.host.vsan.outstanding_io metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanOutstandingIoDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterHostVsanOutstandingIoDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterHostVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostVsanThroughputDataPoint adds a data point to vcenter.host.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanThroughputDataPoint(ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterHostVsanThroughputDataPoint(ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { mb.metricVcenterHostVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue) } // RecordVcenterResourcePoolCPUSharesDataPoint adds a data point to vcenter.resource_pool.cpu.shares metric. -func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUSharesDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUSharesDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterResourcePoolCPUShares.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterResourcePoolCPUUsageDataPoint adds a data point to vcenter.resource_pool.cpu.usage metric. -func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUUsageDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUUsageDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterResourcePoolCPUUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterResourcePoolMemorySharesDataPoint adds a data point to vcenter.resource_pool.memory.shares metric. -func (mb *MetricsBuilder) RecordVcenterResourcePoolMemorySharesDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterResourcePoolMemorySharesDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterResourcePoolMemoryShares.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterResourcePoolMemoryUsageDataPoint adds a data point to vcenter.resource_pool.memory.usage metric. -func (mb *MetricsBuilder) RecordVcenterResourcePoolMemoryUsageDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterResourcePoolMemoryUsageDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterResourcePoolMemoryUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMCPUUtilizationDataPoint adds a data point to vcenter.vm.cpu.utilization metric. -func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pdata.Timestamp, val float64) { +func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pcommon.Timestamp, val float64) { mb.metricVcenterVMCPUUtilization.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMDiskLatencyAvgDataPoint adds a data point to vcenter.vm.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pdata.Timestamp, val int64, latencyDirectionAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { mb.metricVcenterVMDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue) } // RecordVcenterVMDiskLatencyMaxDataPoint adds a data point to vcenter.vm.disk.latency.max metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyMaxDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyMaxDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterVMDiskLatencyMax.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMDiskThroughputDataPoint adds a data point to vcenter.vm.disk.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskThroughputDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterVMDiskThroughputDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterVMDiskThroughput.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMDiskUsageDataPoint adds a data point to vcenter.vm.disk.usage metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskUsageDataPoint(ts pdata.Timestamp, val int64, diskStateAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterVMDiskUsageDataPoint(ts pcommon.Timestamp, val int64, diskStateAttributeValue string) { mb.metricVcenterVMDiskUsage.recordDataPoint(mb.startTime, ts, val, diskStateAttributeValue) } // RecordVcenterVMDiskUtilizationDataPoint adds a data point to vcenter.vm.disk.utilization metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskUtilizationDataPoint(ts pdata.Timestamp, val float64) { +func (mb *MetricsBuilder) RecordVcenterVMDiskUtilizationDataPoint(ts pcommon.Timestamp, val float64) { mb.metricVcenterVMDiskUtilization.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMMemoryBalloonedDataPoint adds a data point to vcenter.vm.memory.ballooned metric. -func (mb *MetricsBuilder) RecordVcenterVMMemoryBalloonedDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterVMMemoryBalloonedDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterVMMemoryBallooned.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMMemoryUsageDataPoint adds a data point to vcenter.vm.memory.usage metric. -func (mb *MetricsBuilder) RecordVcenterVMMemoryUsageDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterVMMemoryUsageDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterVMMemoryUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMNetworkPacketsDataPoint adds a data point to vcenter.vm.network.packets metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketsDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketsDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { mb.metricVcenterVMNetworkPackets.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterVMNetworkThroughputDataPoint adds a data point to vcenter.vm.network.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkThroughputDataPoint(ts pdata.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterVMNetworkThroughputDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { mb.metricVcenterVMNetworkThroughput.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterVMNetworkUsageDataPoint adds a data point to vcenter.vm.network.usage metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkUsageDataPoint(ts pdata.Timestamp, val int64) { +func (mb *MetricsBuilder) RecordVcenterVMNetworkUsageDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterVMNetworkUsage.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterVMVsanLatencyAvgDataPoint adds a data point to vcenter.vm.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanLatencyAvgDataPoint(ts pdata.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterVMVsanLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { mb.metricVcenterVMVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue) } // RecordVcenterVMVsanOperationsDataPoint adds a data point to vcenter.vm.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanOperationsDataPoint(ts pdata.Timestamp, val int64, vsanOperationTypeAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterVMVsanOperationsDataPoint(ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { mb.metricVcenterVMVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue) } // RecordVcenterVMVsanThroughputDataPoint adds a data point to vcenter.vm.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanThroughputDataPoint(ts pdata.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { +func (mb *MetricsBuilder) RecordVcenterVMVsanThroughputDataPoint(ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { mb.metricVcenterVMVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue) } // Reset resets metrics builder to its initial state. It should be used when external metrics source is restarted, // and metrics builder should update its startTime and reset it's internal state accordingly. func (mb *MetricsBuilder) Reset(options ...metricBuilderOption) { - mb.startTime = pdata.NewTimestampFromTime(time.Now()) + mb.startTime = pcommon.NewTimestampFromTime(time.Now()) for _, op := range options { op(mb) } From b9fb5d6de00a4896af766c49e33f2faa11c387d4 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 14 Apr 2022 11:18:21 -0400 Subject: [PATCH 041/105] move error log if unable to connect on start to receiver.Start() rather than scraper.Start() --- receiver/vcenterreceiver/receiver.go | 5 ++++- receiver/vcenterreceiver/scraper.go | 8 +------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/receiver/vcenterreceiver/receiver.go b/receiver/vcenterreceiver/receiver.go index bb889eccdeb48..d52fef7afb624 100644 --- a/receiver/vcenterreceiver/receiver.go +++ b/receiver/vcenterreceiver/receiver.go @@ -16,6 +16,7 @@ package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-colle import ( "context" + "fmt" "go.opentelemetry.io/collector/component" "go.uber.org/multierr" @@ -35,7 +36,9 @@ func (v *vcenterReceiver) Start(ctx context.Context, host component.Host) error if v.scraper != nil && v.config.MetricsConfig.Endpoint != "" { scraperErr := v.scraper.Start(ctx, host) if scraperErr != nil { - err = multierr.Append(err, scraperErr) + // Start should not stop the collector if the metrics client connection attempt does not succeed, + // so we log on start when we cannot connect + v.logger.Error(fmt.Sprintf("unable to initially connect to vSphere SDK: %s", scraperErr.Error())) } } return err diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index c3935396e5054..2c875a1998280 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -58,13 +58,7 @@ func newVmwareVcenterScraper( } func (v *vcenterMetricScraper) Start(ctx context.Context, _ component.Host) error { - err := v.client.Connect(ctx) - // Start should not stop the collector if Connect does not succeed, - // so we log on start when we cannot connect - if err != nil { - v.logger.Error(fmt.Sprintf("unable to initially connect to vSphere SDK: %s", err.Error())) - } - return nil + return v.client.Connect(ctx) } func (v *vcenterMetricScraper) Shutdown(ctx context.Context) error { From 33e0cf653659c49d9f587a7557ce09a402921cf9 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 14 Apr 2022 11:35:09 -0400 Subject: [PATCH 042/105] fix test cases from last commit --- receiver/vcenterreceiver/documentation.md | 4 ++-- .../internal/metadata/generated_metrics_v2.go | 4 ++-- receiver/vcenterreceiver/metadata.yaml | 4 ++-- receiver/vcenterreceiver/scraper_test.go | 11 +++++++++-- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index 143be71142750..5522fdee9e8ef 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -11,11 +11,11 @@ These are the metrics available for this scraper. | **vcenter.cluster.cpu.available** | The amount of CPU available to the cluster | {MHz} | Sum(Int) |
| | **vcenter.cluster.cpu.effective** | The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. | {MHz} | Sum(Int) |
| | **vcenter.cluster.cpu.used** | The amount of CPU used by the cluster | {MHz} | Sum(Int) |
| -| **vcenter.cluster.host.count** | The number of hosts in the datacenter | {hosts} | Sum(Int) |
  • host_effective
| +| **vcenter.cluster.host.count** | The number of hosts in the cluster | {hosts} | Sum(Int) |
  • host_effective
| | **vcenter.cluster.memory.available** | The available memory of the cluster. | By | Sum(Int) |
| | **vcenter.cluster.memory.effective** | The available memory of the cluster. | By | Sum(Int) |
| | **vcenter.cluster.memory.used** | The memory that is currently used by the cluster | By | Sum(Int) |
| -| **vcenter.cluster.vm.count** | the number of virtual machines in the datacenter | {virtual_machines} | Sum(Int) |
  • vm_count_power_state
| +| **vcenter.cluster.vm.count** | the number of virtual machines in the cluster | {virtual_machines} | Sum(Int) |
  • vm_count_power_state
| | **vcenter.cluster.vsan.congestions** | Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. | {congestions/sec} | Sum(Int) |
| | **vcenter.cluster.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients in the cluster. | µs | Sum(Int) |
  • vsan_latency_type
| | **vcenter.cluster.vsan.operations** | IOPS consumed by all vSAN clients in the cluster | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 5cb1940f51764..812be1ffc28ed 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -389,7 +389,7 @@ type metricVcenterClusterHostCount struct { // init fills vcenter.cluster.host.count metric with initial data. func (m *metricVcenterClusterHostCount) init() { m.data.SetName("vcenter.cluster.host.count") - m.data.SetDescription("The number of hosts in the datacenter") + m.data.SetDescription("The number of hosts in the cluster") m.data.SetUnit("{hosts}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -595,7 +595,7 @@ type metricVcenterClusterVMCount struct { // init fills vcenter.cluster.vm.count metric with initial data. func (m *metricVcenterClusterVMCount) init() { m.data.SetName("vcenter.cluster.vm.count") - m.data.SetDescription("the number of virtual machines in the datacenter") + m.data.SetDescription("the number of virtual machines in the cluster") m.data.SetUnit("{virtual_machines}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 6d3fd250922ec..8854542cfa31f 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -185,7 +185,7 @@ metrics: attributes: [vsan_throughput_direction] vcenter.cluster.vm.count: enabled: true - description: the number of virtual machines in the datacenter + description: the number of virtual machines in the cluster unit: "{virtual_machines}" sum: monotonic: false @@ -194,7 +194,7 @@ metrics: attributes: [vm_count_power_state] vcenter.cluster.host.count: enabled: true - description: The number of hosts in the datacenter + description: The number of hosts in the cluster unit: "{hosts}" sum: monotonic: false diff --git a/receiver/vcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go index 54f897e52bbb7..186955b443e1f 100644 --- a/receiver/vcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -16,6 +16,7 @@ package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collec import ( "context" + "errors" "path/filepath" "testing" @@ -76,6 +77,7 @@ func TestStartFailures_Metrics(t *testing.T) { cases := []struct { desc string cfg Config + err error }{ { desc: "bad client connect", @@ -84,6 +86,7 @@ func TestStartFailures_Metrics(t *testing.T) { Endpoint: "http://no-host", }, }, + err: errors.New("unable to connect"), }, { desc: "unparsable endpoint", @@ -92,14 +95,18 @@ func TestStartFailures_Metrics(t *testing.T) { Endpoint: "://some-host", }, }, + err: errors.New("parse"), }, } ctx := context.Background() for _, tc := range cases { scraper := newVmwareVcenterScraper(zap.NewNop(), &tc.cfg) - // start should almost always succeed err := scraper.Start(ctx, nil) - require.NoError(t, err) + if tc.err != nil { + require.ErrorContains(t, err, tc.err.Error()) + } else { + require.NoError(t, err) + } } } From 83b45700a0732b71864b2243022751d3d0b667d3 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 14 Apr 2022 12:48:17 -0400 Subject: [PATCH 043/105] minor update to config with tests --- receiver/vcenterreceiver/config.go | 19 ++++--- receiver/vcenterreceiver/config_test.go | 67 +++++++++++++++++++++++-- 2 files changed, 75 insertions(+), 11 deletions(-) diff --git a/receiver/vcenterreceiver/config.go b/receiver/vcenterreceiver/config.go index c3c4646d1fb10..bbdcb1e8b4c98 100644 --- a/receiver/vcenterreceiver/config.go +++ b/receiver/vcenterreceiver/config.go @@ -46,7 +46,7 @@ func (c *Config) Validate() error { var err error metricsErr := c.validateMetricsConfig() if metricsErr != nil { - multierr.Append(err, metricsErr) + err = multierr.Append(err, metricsErr) } return err @@ -54,12 +54,16 @@ func (c *Config) Validate() error { // ID returns the ID of the component. func (c *Config) ID() config.ComponentID { - // defaulting to use the MetricsConfig ID which should be the typeStr + // defaulting to use the MetricsConfig ID return c.MetricsConfig.ID() } func (c *Config) validateMetricsConfig() error { mc := c.MetricsConfig + if mc == nil { + return nil + } + if mc.Endpoint == "" { return errors.New("no endpoint was provided") } @@ -68,16 +72,19 @@ func (c *Config) validateMetricsConfig() error { res, err := url.Parse(mc.Endpoint) if err != nil { err = multierr.Append(err, fmt.Errorf("unable to parse url %s: %w", c.MetricsConfig.Endpoint, err)) + return err } if res.Scheme != "http" && res.Scheme != "https" { err = multierr.Append(err, errors.New("url scheme must be http or https")) } - if mc.Username != "" && mc.Password == "" { - err = multierr.Append(err, errors.New("username provided without password")) - } else if c.MetricsConfig.Username == "" && c.MetricsConfig.Password != "" { - err = multierr.Append(err, errors.New("password provided without user")) + if mc.Username == "" { + err = multierr.Append(err, errors.New("username not provided and is required")) + } + + if mc.Password == "" { + err = multierr.Append(err, errors.New("password not provided and is required")) } if _, tlsErr := mc.LoadTLSConfig(); err != nil { diff --git a/receiver/vcenterreceiver/config_test.go b/receiver/vcenterreceiver/config_test.go index 24106fbe6f9ee..094b3d49d2e6c 100644 --- a/receiver/vcenterreceiver/config_test.go +++ b/receiver/vcenterreceiver/config_test.go @@ -15,9 +15,11 @@ package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver import ( + "errors" "testing" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/config/configtls" ) func TestConfigValidation(t *testing.T) { @@ -26,6 +28,12 @@ func TestConfigValidation(t *testing.T) { cfg Config expectedErr error }{ + { + desc: "nil configs", + cfg: Config{ + MetricsConfig: nil, + }, + }, { desc: "empty endpoint", cfg: Config{ @@ -33,14 +41,63 @@ func TestConfigValidation(t *testing.T) { Endpoint: "", }, }, + expectedErr: errors.New("no endpoint was provided"), + }, + { + desc: "with endpoint", + cfg: Config{ + MetricsConfig: &MetricsConfig{ + Endpoint: "http://vcsa.some-host", + }, + }, + }, + { + desc: "not http or https", + cfg: Config{ + MetricsConfig: &MetricsConfig{ + Endpoint: "ws://vcsa.some-host", + }, + }, + expectedErr: errors.New("url scheme must be http or https"), + }, + { + desc: "unparseable URL", + cfg: Config{ + MetricsConfig: &MetricsConfig{ + Endpoint: "h" + string(rune(0x7f)), + TLSClientSetting: configtls.TLSClientSetting{}, + }, + }, + expectedErr: errors.New("unable to parse url"), + }, + { + desc: "no username", + cfg: Config{ + MetricsConfig: &MetricsConfig{ + Endpoint: "https://vcsa.some-host", + Password: "otelp", + }, + }, + expectedErr: errors.New("username not provided"), + }, + { + desc: "no password", + cfg: Config{ + MetricsConfig: &MetricsConfig{ + Endpoint: "https://vcsa.some-host", + Username: "otelu", + }, + }, + expectedErr: errors.New("password not provided"), }, } for _, tc := range cases { - err := tc.cfg.Validate() - if tc.expectedErr != nil { - require.ErrorIs(t, err, tc.expectedErr) - } + t.Run(tc.desc, func(t *testing.T) { + err := tc.cfg.Validate() + if tc.expectedErr != nil { + require.ErrorContains(t, err, tc.expectedErr.Error()) + } + }) } - } From f1c37e4ca5933378b12b17db89ca64d82368116a Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 15 Apr 2022 10:01:41 -0400 Subject: [PATCH 044/105] fix metric description --- receiver/vcenterreceiver/documentation.md | 2 +- .../vcenterreceiver/internal/metadata/generated_metrics_v2.go | 2 +- receiver/vcenterreceiver/metadata.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index 5522fdee9e8ef..cbfd4fae49f4b 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -41,7 +41,7 @@ These are the metrics available for this scraper. | **vcenter.host.vsan.operations** | IOPs consumed by all vSAN clients on the host. | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| | **vcenter.host.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc. | {operations/sec} | Sum(Int) |
| | **vcenter.host.vsan.throughput** | Throughput consumed by all vSAN clients on the host. | By/s | Sum(Int) |
  • vsan_throughput_direction
| -| **vcenter.resource_pool.cpu.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
| +| **vcenter.resource_pool.cpu.shares** | The amount of shares of CPU in the resource pool | {shares} | Sum(Int) |
| | **vcenter.resource_pool.cpu.usage** | The usage of the CPU used by the resource pool | {MHz} | Sum(Int) |
| | **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
| | **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool | MBy | Sum(Int) |
| diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 812be1ffc28ed..eb9afac8292a3 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -1940,7 +1940,7 @@ type metricVcenterResourcePoolCPUShares struct { // init fills vcenter.resource_pool.cpu.shares metric with initial data. func (m *metricVcenterResourcePoolCPUShares) init() { m.data.SetName("vcenter.resource_pool.cpu.shares") - m.data.SetDescription("The amount of shares of memory in the resource pool") + m.data.SetDescription("The amount of shares of CPU in the resource pool") m.data.SetUnit("{shares}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 8854542cfa31f..79e12125e2e5c 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -404,7 +404,7 @@ metrics: attributes: [] vcenter.resource_pool.cpu.shares: enabled: true - description: The amount of shares of memory in the resource pool + description: The amount of shares of CPU in the resource pool unit: "{shares}" sum: monotonic: false From c458195ce6884f19418cca8f9f427c173d999809 Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 15 Apr 2022 13:25:54 -0400 Subject: [PATCH 045/105] use utc for host vsan collection as well --- receiver/vcenterreceiver/scraper.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 2c875a1998280..ac73a9ac70c58 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -178,7 +178,7 @@ func (v *vcenterMetricScraper) collectHosts( clusterRef := cluster.Reference() var hostVsanCSVs *[]types.VsanPerfEntityMetricCSV if v.vsanEnabled { - hostVsanCSVs, err = v.client.VSANHosts(ctx, &clusterRef, time.Now(), time.Now()) + hostVsanCSVs, err = v.client.VSANHosts(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) if err != nil { errs.AddPartial(1, err) } From a52583b75a19ae4c6a321e28bdf2ce4b31b4b465 Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 18 Apr 2022 10:05:45 -0400 Subject: [PATCH 046/105] update comments of public facing methods --- receiver/vcenterreceiver/config.go | 4 +++- receiver/vcenterreceiver/factory.go | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/receiver/vcenterreceiver/config.go b/receiver/vcenterreceiver/config.go index bbdcb1e8b4c98..62325efe39fbf 100644 --- a/receiver/vcenterreceiver/config.go +++ b/receiver/vcenterreceiver/config.go @@ -27,11 +27,13 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" ) +// Config is the configuration of the receiver type Config struct { config.ReceiverSettings `mapstructure:",squash"` MetricsConfig *MetricsConfig `mapstructure:"metrics,omitempty"` } +// MetricsConfig is the metrics configuration of the receiver type MetricsConfig struct { scraperhelper.ScraperControllerSettings `mapstructure:",squash"` configtls.TLSClientSetting `mapstructure:"tls,omitempty"` @@ -41,7 +43,7 @@ type MetricsConfig struct { Password string `mapstructure:"password"` } -// Validate checks to see if the supplied config will work for the vmwarevcenterreceiver +// Validate checks to see if the supplied config will work for the receiver func (c *Config) Validate() error { var err error metricsErr := c.validateMetricsConfig() diff --git a/receiver/vcenterreceiver/factory.go b/receiver/vcenterreceiver/factory.go index 292d0e596a69c..956b2730b7af8 100644 --- a/receiver/vcenterreceiver/factory.go +++ b/receiver/vcenterreceiver/factory.go @@ -36,6 +36,7 @@ type vcenterReceiverFactory struct { receivers map[*Config]*vcenterReceiver } +// NewFactory returns the receiver factory for the vcenterreceiver func NewFactory() component.ReceiverFactory { f := &vcenterReceiverFactory{ receivers: make(map[*Config]*vcenterReceiver), From dfc5bb035069ade36e379ed2606b7ef2bc56aca2 Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 18 Apr 2022 11:29:46 -0400 Subject: [PATCH 047/105] return errors on getting clusters to the scraper errors --- receiver/vcenterreceiver/scraper.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index ac73a9ac70c58..daa18b288a748 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -85,10 +85,11 @@ func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error return v.mb.Emit(), errs.Combine() } -func (v *vcenterMetricScraper) collectClusters(ctx context.Context, errs *scrapererror.ScrapeErrors) error { +func (v *vcenterMetricScraper) collectClusters(ctx context.Context, errs *scrapererror.ScrapeErrors) { clusters, err := v.client.Clusters(ctx) if err != nil { - return err + errs.AddPartial(1, err) + return } now := pdata.NewTimestampFromTime(time.Now()) @@ -99,8 +100,6 @@ func (v *vcenterMetricScraper) collectClusters(ctx context.Context, errs *scrape v.collectCluster(ctx, now, c, errs) } v.collectResourcePools(ctx, now, errs) - - return nil } func (v *vcenterMetricScraper) collectCluster( From dc8f2ead21f1d2d20d20fb792e5613856bdd91b2 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 19 Apr 2022 16:51:18 -0400 Subject: [PATCH 048/105] PR feedback #1 --- Makefile | 1 + receiver/vcenterreceiver/README.md | 8 +- receiver/vcenterreceiver/client.go | 10 +- receiver/vcenterreceiver/documentation.md | 20 +- receiver/vcenterreceiver/factory.go | 5 +- .../{e2e_test.go => integration_test.go} | 23 ++- .../internal/metadata/generated_metrics_v2.go | 194 +++++++++--------- receiver/vcenterreceiver/metadata.yaml | 32 ++- receiver/vcenterreceiver/scraper.go | 2 +- 9 files changed, 148 insertions(+), 147 deletions(-) rename receiver/vcenterreceiver/{e2e_test.go => integration_test.go} (74%) diff --git a/Makefile b/Makefile index d7ca80841bcc1..be537750a6118 100644 --- a/Makefile +++ b/Makefile @@ -28,6 +28,7 @@ INTEGRATION_TEST_MODULES := \ receiver/postgresqlreceiver \ receiver/redisreceiver \ receiver/riakreceiver \ + receiver/vcenterreceiver \ receiver/zookeeperreceiver \ extension/observer/dockerobserver diff --git a/receiver/vcenterreceiver/README.md b/receiver/vcenterreceiver/README.md index 44ddfda7615d6..e8e705019776f 100644 --- a/receiver/vcenterreceiver/README.md +++ b/receiver/vcenterreceiver/README.md @@ -2,7 +2,7 @@ This receiver fetches metrics from a vCenter or ESXi host running VMware vSphere APIs. -Supported pipeline types: `metrics` and `logs` +Supported pipeline types: `metrics` and `logs`(not implemented quite yet) > :construction: This receiver is in **BETA**. Configuration fields and metric data model are subject to change. @@ -18,13 +18,13 @@ A “Read Only” user assigned to a vSphere with permissions to the vCenter ser ## Configuration -Configuration is split up into `metrics` and `logging` +Configuration is split up into `metrics` and `logs` ```yaml receivers: vcenter: metrics: - logging: + logs: ``` ### Metrics Configuration @@ -35,7 +35,7 @@ receivers: | username | | String | Required | | password | | String | Required | | tls | | TLSClientSetting | Not Required. Will use defaults for [configtls.TLSClientSetting](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md). By default insecure settings are rejected and certificate verification is on. | -| collection_interval | 5m | Duration | This receiver collects metrics on an interval. Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h` | +| collection_interval | 2m | Duration | This receiver collects metrics on an interval. Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h` | ### Example Configuration diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index baf3a964c90df..decc3d0f657ec 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -84,11 +84,13 @@ func (vc *vcenterClient) Disconnect(ctx context.Context) error { } func (vc *vcenterClient) ConnectVSAN(ctx context.Context) error { - vsanDriver, err := vsan.NewClient(ctx, vc.vimDriver) - if err != nil { - return err + if vc.vsanDriver == nil { + vsanDriver, err := vsan.NewClient(ctx, vc.vimDriver) + if err != nil { + return err + } + vc.vsanDriver = vsanDriver } - vc.vsanDriver = vsanDriver return nil } diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index cbfd4fae49f4b..6438206610ed2 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -8,12 +8,12 @@ These are the metrics available for this scraper. | Name | Description | Unit | Type | Attributes | | ---- | ----------- | ---- | ---- | ---------- | -| **vcenter.cluster.cpu.available** | The amount of CPU available to the cluster | {MHz} | Sum(Int) |
| -| **vcenter.cluster.cpu.effective** | The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. | {MHz} | Sum(Int) |
| -| **vcenter.cluster.cpu.used** | The amount of CPU used by the cluster | {MHz} | Sum(Int) |
| +| **vcenter.cluster.cpu.effective** | The effective CPU available to the cluster. This value excludes CPU from hosts in maintenance mode or are unresponsive. | {MHz} | Sum(Int) |
| +| **vcenter.cluster.cpu.limit** | The amount of CPU available to the cluster | {MHz} | Sum(Int) |
| +| **vcenter.cluster.cpu.used** | The amount of CPU used by the cluster. | {MHz} | Sum(Int) |
| | **vcenter.cluster.host.count** | The number of hosts in the cluster | {hosts} | Sum(Int) |
  • host_effective
| -| **vcenter.cluster.memory.available** | The available memory of the cluster. | By | Sum(Int) |
| -| **vcenter.cluster.memory.effective** | The available memory of the cluster. | By | Sum(Int) |
| +| **vcenter.cluster.memory.effective** | The effective memory of the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. | By | Sum(Int) |
| +| **vcenter.cluster.memory.limit** | The available memory of the cluster. | By | Sum(Int) |
| | **vcenter.cluster.memory.used** | The memory that is currently used by the cluster | By | Sum(Int) |
| | **vcenter.cluster.vm.count** | the number of virtual machines in the cluster | {virtual_machines} | Sum(Int) |
  • vm_count_power_state
| | **vcenter.cluster.vsan.congestions** | Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. | {congestions/sec} | Sum(Int) |
| @@ -25,8 +25,8 @@ These are the metrics available for this scraper. | **vcenter.datastore.disk.utilization** | The utilization of the datastore | % | Gauge(Double) |
| | **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host | MHz | Sum(Int) |
| | **vcenter.host.cpu.utilization** | The CPU utilization of the host system | % | Gauge(Double) |
| -| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Sum(Int) |
  • latency_direction
  • latency_type
| -| **vcenter.host.disk.latency.total** | The total reported total latency (device and kernel times) | ms | Sum(Int) |
  • latency_direction
| +| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Gauge(Int) |
  • latency_direction
  • latency_type
| +| **vcenter.host.disk.latency.total** | The total reported total latency (device and kernel times) | ms | Gauge(Int) |
  • latency_direction
| | **vcenter.host.disk.throughput** | The throughput to the host system's disk | By/s | Sum(Int) |
| | **vcenter.host.memory.usage** | The amount of memory the host system is using | MBy | Sum(Int) |
| | **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized | % | Gauge(Double) |
| @@ -46,8 +46,8 @@ These are the metrics available for this scraper. | **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
| | **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool | MBy | Sum(Int) |
| | **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine | % | Gauge(Double) |
| -| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | µs | Sum(Int) |
  • latency_direction
| -| **vcenter.vm.disk.latency.max** | The highest reported total latency (device and kernel times) | ms | Sum(Int) |
| +| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | µs | Gauge(Int) |
  • latency_direction
| +| **vcenter.vm.disk.latency.max** | The highest reported total latency (device and kernel times) over an interval of 20 seconds. | ms | Gauge(Int) |
| | **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk | By/sec | Sum(Int) |
| | **vcenter.vm.disk.usage** | The amount of storage space the virtual machine is using | By | Sum(Int) |
  • disk_state
| | **vcenter.vm.disk.utilization** | The utilization of storage on the virtual machine | % | Gauge(Double) |
| @@ -58,7 +58,7 @@ These are the metrics available for this scraper. | **vcenter.vm.network.usage** | The network utilization combined transmit and receive rates during an interval. | {KBy/s} | Sum(Int) |
| | **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) |
  • vsan_latency_type
| | **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| -| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Gauge(Int) |
  • vsan_throughput_direction
| +| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Sum(Int) |
  • vsan_throughput_direction
| **Highlighted metrics** are emitted by default. Other metrics are optional and not emitted by default. Any metric can be enabled or disabled with the following scraper configuration: diff --git a/receiver/vcenterreceiver/factory.go b/receiver/vcenterreceiver/factory.go index 956b2730b7af8..e0d7bdfc37878 100644 --- a/receiver/vcenterreceiver/factory.go +++ b/receiver/vcenterreceiver/factory.go @@ -53,13 +53,10 @@ func createDefaultConfig() config.Receiver { MetricsConfig: &MetricsConfig{ ScraperControllerSettings: scraperhelper.ScraperControllerSettings{ ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), - CollectionInterval: 5 * time.Minute, + CollectionInterval: 2 * time.Minute, }, TLSClientSetting: configtls.TLSClientSetting{}, Metrics: metadata.DefaultMetricsSettings(), - Endpoint: "", - Username: "", - Password: "", }, } } diff --git a/receiver/vcenterreceiver/e2e_test.go b/receiver/vcenterreceiver/integration_test.go similarity index 74% rename from receiver/vcenterreceiver/e2e_test.go rename to receiver/vcenterreceiver/integration_test.go index 8f7df86547ecd..f3d7d3f346ee4 100644 --- a/receiver/vcenterreceiver/e2e_test.go +++ b/receiver/vcenterreceiver/integration_test.go @@ -12,6 +12,9 @@ // See the License for the specific language governing permissions and // limitations under the License. +//go:build integration +// +build integration + package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver import ( @@ -20,19 +23,19 @@ import ( "github.com/stretchr/testify/require" "github.com/vmware/govmomi" + "github.com/vmware/govmomi/find" "github.com/vmware/govmomi/session" "github.com/vmware/govmomi/simulator" "github.com/vmware/govmomi/vim25" + _ "github.com/vmware/govmomi/vsan/simulator" + "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/config/configtls" "go.uber.org/zap" ) func TestEndtoEnd_ESX(t *testing.T) { - sim := simulator.ESX() - defer sim.Remove() - - sim.Run(func(ctx context.Context, c *vim25.Client) error { + simulator.Test(func(ctx context.Context, c *vim25.Client) { cfg := &Config{ MetricsConfig: &MetricsConfig{ TLSClientSetting: configtls.TLSClientSetting{ @@ -47,6 +50,11 @@ func TestEndtoEnd_ESX(t *testing.T) { Client: c, SessionManager: s, } + scraper.client.vimDriver = c + scraper.client.finder = find.NewFinder(c) + // TODO: reenable after this is resolved => https://github.com/vmware/govmomi/issues/2813 + scraper.vsanEnabled = false + rcvr := &vcenterReceiver{ config: cfg, scraper: scraper, @@ -55,8 +63,13 @@ func TestEndtoEnd_ESX(t *testing.T) { err := rcvr.Start(ctx, componenttest.NewNopHost()) require.NoError(t, err) + sc, ok := rcvr.scraper.(*vcenterMetricScraper) + require.True(t, ok) + metrics, err := sc.scrape(ctx) + require.NoError(t, err) + require.NotEmpty(t, metrics) + err = rcvr.Shutdown(ctx) require.NoError(t, err) - return nil }) } diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index eb9afac8292a3..c585bcb37e07a 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -16,12 +16,12 @@ type MetricSettings struct { // MetricsSettings provides settings for vmwarevcenterreceiver metrics. type MetricsSettings struct { - VcenterClusterCPUAvailable MetricSettings `mapstructure:"vcenter.cluster.cpu.available"` VcenterClusterCPUEffective MetricSettings `mapstructure:"vcenter.cluster.cpu.effective"` + VcenterClusterCPULimit MetricSettings `mapstructure:"vcenter.cluster.cpu.limit"` VcenterClusterCPUUsed MetricSettings `mapstructure:"vcenter.cluster.cpu.used"` VcenterClusterHostCount MetricSettings `mapstructure:"vcenter.cluster.host.count"` - VcenterClusterMemoryAvailable MetricSettings `mapstructure:"vcenter.cluster.memory.available"` VcenterClusterMemoryEffective MetricSettings `mapstructure:"vcenter.cluster.memory.effective"` + VcenterClusterMemoryLimit MetricSettings `mapstructure:"vcenter.cluster.memory.limit"` VcenterClusterMemoryUsed MetricSettings `mapstructure:"vcenter.cluster.memory.used"` VcenterClusterVMCount MetricSettings `mapstructure:"vcenter.cluster.vm.count"` VcenterClusterVsanCongestions MetricSettings `mapstructure:"vcenter.cluster.vsan.congestions"` @@ -71,10 +71,10 @@ type MetricsSettings struct { func DefaultMetricsSettings() MetricsSettings { return MetricsSettings{ - VcenterClusterCPUAvailable: MetricSettings{ + VcenterClusterCPUEffective: MetricSettings{ Enabled: true, }, - VcenterClusterCPUEffective: MetricSettings{ + VcenterClusterCPULimit: MetricSettings{ Enabled: true, }, VcenterClusterCPUUsed: MetricSettings{ @@ -83,10 +83,10 @@ func DefaultMetricsSettings() MetricsSettings { VcenterClusterHostCount: MetricSettings{ Enabled: true, }, - VcenterClusterMemoryAvailable: MetricSettings{ + VcenterClusterMemoryEffective: MetricSettings{ Enabled: true, }, - VcenterClusterMemoryEffective: MetricSettings{ + VcenterClusterMemoryLimit: MetricSettings{ Enabled: true, }, VcenterClusterMemoryUsed: MetricSettings{ @@ -227,23 +227,23 @@ func DefaultMetricsSettings() MetricsSettings { } } -type metricVcenterClusterCPUAvailable struct { +type metricVcenterClusterCPUEffective struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.cluster.cpu.available metric with initial data. -func (m *metricVcenterClusterCPUAvailable) init() { - m.data.SetName("vcenter.cluster.cpu.available") - m.data.SetDescription("The amount of CPU available to the cluster") +// init fills vcenter.cluster.cpu.effective metric with initial data. +func (m *metricVcenterClusterCPUEffective) init() { + m.data.SetName("vcenter.cluster.cpu.effective") + m.data.SetDescription("The effective CPU available to the cluster. This value excludes CPU from hosts in maintenance mode or are unresponsive.") m.data.SetUnit("{MHz}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterCPUAvailable) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { +func (m *metricVcenterClusterCPUEffective) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -254,14 +254,14 @@ func (m *metricVcenterClusterCPUAvailable) recordDataPoint(start pcommon.Timesta } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterClusterCPUAvailable) updateCapacity() { +func (m *metricVcenterClusterCPUEffective) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterCPUAvailable) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterClusterCPUEffective) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -269,8 +269,8 @@ func (m *metricVcenterClusterCPUAvailable) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterClusterCPUAvailable(settings MetricSettings) metricVcenterClusterCPUAvailable { - m := metricVcenterClusterCPUAvailable{settings: settings} +func newMetricVcenterClusterCPUEffective(settings MetricSettings) metricVcenterClusterCPUEffective { + m := metricVcenterClusterCPUEffective{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -278,23 +278,23 @@ func newMetricVcenterClusterCPUAvailable(settings MetricSettings) metricVcenterC return m } -type metricVcenterClusterCPUEffective struct { +type metricVcenterClusterCPULimit struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.cluster.cpu.effective metric with initial data. -func (m *metricVcenterClusterCPUEffective) init() { - m.data.SetName("vcenter.cluster.cpu.effective") - m.data.SetDescription("The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive.") +// init fills vcenter.cluster.cpu.limit metric with initial data. +func (m *metricVcenterClusterCPULimit) init() { + m.data.SetName("vcenter.cluster.cpu.limit") + m.data.SetDescription("The amount of CPU available to the cluster") m.data.SetUnit("{MHz}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterCPUEffective) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { +func (m *metricVcenterClusterCPULimit) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -305,14 +305,14 @@ func (m *metricVcenterClusterCPUEffective) recordDataPoint(start pcommon.Timesta } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterClusterCPUEffective) updateCapacity() { +func (m *metricVcenterClusterCPULimit) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterCPUEffective) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterClusterCPULimit) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -320,8 +320,8 @@ func (m *metricVcenterClusterCPUEffective) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterClusterCPUEffective(settings MetricSettings) metricVcenterClusterCPUEffective { - m := metricVcenterClusterCPUEffective{settings: settings} +func newMetricVcenterClusterCPULimit(settings MetricSettings) metricVcenterClusterCPULimit { + m := metricVcenterClusterCPULimit{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -338,7 +338,7 @@ type metricVcenterClusterCPUUsed struct { // init fills vcenter.cluster.cpu.used metric with initial data. func (m *metricVcenterClusterCPUUsed) init() { m.data.SetName("vcenter.cluster.cpu.used") - m.data.SetDescription("The amount of CPU used by the cluster") + m.data.SetDescription("The amount of CPU used by the cluster.") m.data.SetUnit("{MHz}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -433,23 +433,23 @@ func newMetricVcenterClusterHostCount(settings MetricSettings) metricVcenterClus return m } -type metricVcenterClusterMemoryAvailable struct { +type metricVcenterClusterMemoryEffective struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.cluster.memory.available metric with initial data. -func (m *metricVcenterClusterMemoryAvailable) init() { - m.data.SetName("vcenter.cluster.memory.available") - m.data.SetDescription("The available memory of the cluster.") +// init fills vcenter.cluster.memory.effective metric with initial data. +func (m *metricVcenterClusterMemoryEffective) init() { + m.data.SetName("vcenter.cluster.memory.effective") + m.data.SetDescription("The effective memory of the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive.") m.data.SetUnit("By") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterMemoryAvailable) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { +func (m *metricVcenterClusterMemoryEffective) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -460,14 +460,14 @@ func (m *metricVcenterClusterMemoryAvailable) recordDataPoint(start pcommon.Time } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterClusterMemoryAvailable) updateCapacity() { +func (m *metricVcenterClusterMemoryEffective) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterMemoryAvailable) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterClusterMemoryEffective) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -475,8 +475,8 @@ func (m *metricVcenterClusterMemoryAvailable) emit(metrics pmetric.MetricSlice) } } -func newMetricVcenterClusterMemoryAvailable(settings MetricSettings) metricVcenterClusterMemoryAvailable { - m := metricVcenterClusterMemoryAvailable{settings: settings} +func newMetricVcenterClusterMemoryEffective(settings MetricSettings) metricVcenterClusterMemoryEffective { + m := metricVcenterClusterMemoryEffective{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -484,15 +484,15 @@ func newMetricVcenterClusterMemoryAvailable(settings MetricSettings) metricVcent return m } -type metricVcenterClusterMemoryEffective struct { +type metricVcenterClusterMemoryLimit struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.cluster.memory.effective metric with initial data. -func (m *metricVcenterClusterMemoryEffective) init() { - m.data.SetName("vcenter.cluster.memory.effective") +// init fills vcenter.cluster.memory.limit metric with initial data. +func (m *metricVcenterClusterMemoryLimit) init() { + m.data.SetName("vcenter.cluster.memory.limit") m.data.SetDescription("The available memory of the cluster.") m.data.SetUnit("By") m.data.SetDataType(pmetric.MetricDataTypeSum) @@ -500,7 +500,7 @@ func (m *metricVcenterClusterMemoryEffective) init() { m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterClusterMemoryEffective) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { +func (m *metricVcenterClusterMemoryLimit) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -511,14 +511,14 @@ func (m *metricVcenterClusterMemoryEffective) recordDataPoint(start pcommon.Time } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterClusterMemoryEffective) updateCapacity() { +func (m *metricVcenterClusterMemoryLimit) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterMemoryEffective) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterClusterMemoryLimit) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -526,8 +526,8 @@ func (m *metricVcenterClusterMemoryEffective) emit(metrics pmetric.MetricSlice) } } -func newMetricVcenterClusterMemoryEffective(settings MetricSettings) metricVcenterClusterMemoryEffective { - m := metricVcenterClusterMemoryEffective{settings: settings} +func newMetricVcenterClusterMemoryLimit(settings MetricSettings) metricVcenterClusterMemoryLimit { + m := metricVcenterClusterMemoryLimit{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -1113,17 +1113,15 @@ func (m *metricVcenterHostDiskLatencyAvg) init() { m.data.SetName("vcenter.host.disk.latency.avg") m.data.SetDescription("The latency of operations to the host system's disk.") m.data.SetUnit("ms") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) + m.data.SetDataType(pmetric.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string, latencyTypeAttributeValue string) { if !m.settings.Enabled { return } - dp := m.data.Sum().DataPoints().AppendEmpty() + dp := m.data.Gauge().DataPoints().AppendEmpty() dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) @@ -1133,14 +1131,14 @@ func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pcommon.Timestam // updateCapacity saves max length of data point slices that will be used for the slice capacity. func (m *metricVcenterHostDiskLatencyAvg) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. func (m *metricVcenterHostDiskLatencyAvg) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) m.init() @@ -1167,17 +1165,15 @@ func (m *metricVcenterHostDiskLatencyTotal) init() { m.data.SetName("vcenter.host.disk.latency.total") m.data.SetDescription("The total reported total latency (device and kernel times)") m.data.SetUnit("ms") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) + m.data.SetDataType(pmetric.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } func (m *metricVcenterHostDiskLatencyTotal) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { if !m.settings.Enabled { return } - dp := m.data.Sum().DataPoints().AppendEmpty() + dp := m.data.Gauge().DataPoints().AppendEmpty() dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) @@ -1186,14 +1182,14 @@ func (m *metricVcenterHostDiskLatencyTotal) recordDataPoint(start pcommon.Timest // updateCapacity saves max length of data point slices that will be used for the slice capacity. func (m *metricVcenterHostDiskLatencyTotal) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. func (m *metricVcenterHostDiskLatencyTotal) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) m.init() @@ -2195,17 +2191,15 @@ func (m *metricVcenterVMDiskLatencyAvg) init() { m.data.SetName("vcenter.vm.disk.latency.avg") m.data.SetDescription("The latency of operations to the virtual machine's disk") m.data.SetUnit("µs") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) + m.data.SetDataType(pmetric.MetricDataTypeGauge) + m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { if !m.settings.Enabled { return } - dp := m.data.Sum().DataPoints().AppendEmpty() + dp := m.data.Gauge().DataPoints().AppendEmpty() dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) @@ -2214,14 +2208,14 @@ func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, // updateCapacity saves max length of data point slices that will be used for the slice capacity. func (m *metricVcenterVMDiskLatencyAvg) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. func (m *metricVcenterVMDiskLatencyAvg) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) m.init() @@ -2246,18 +2240,16 @@ type metricVcenterVMDiskLatencyMax struct { // init fills vcenter.vm.disk.latency.max metric with initial data. func (m *metricVcenterVMDiskLatencyMax) init() { m.data.SetName("vcenter.vm.disk.latency.max") - m.data.SetDescription("The highest reported total latency (device and kernel times)") + m.data.SetDescription("The highest reported total latency (device and kernel times) over an interval of 20 seconds.") m.data.SetUnit("ms") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) + m.data.SetDataType(pmetric.MetricDataTypeGauge) } func (m *metricVcenterVMDiskLatencyMax) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } - dp := m.data.Sum().DataPoints().AppendEmpty() + dp := m.data.Gauge().DataPoints().AppendEmpty() dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) @@ -2265,14 +2257,14 @@ func (m *metricVcenterVMDiskLatencyMax) recordDataPoint(start pcommon.Timestamp, // updateCapacity saves max length of data point slices that will be used for the slice capacity. func (m *metricVcenterVMDiskLatencyMax) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. func (m *metricVcenterVMDiskLatencyMax) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) m.init() @@ -2815,15 +2807,17 @@ func (m *metricVcenterVMVsanThroughput) init() { m.data.SetName("vcenter.vm.vsan.throughput") m.data.SetDescription("The VSAN throughput of a virtual machine") m.data.SetUnit("By/s") - m.data.SetDataType(pmetric.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) + m.data.SetDataType(pmetric.MetricDataTypeSum) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { if !m.settings.Enabled { return } - dp := m.data.Gauge().DataPoints().AppendEmpty() + dp := m.data.Sum().DataPoints().AppendEmpty() dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) @@ -2832,14 +2826,14 @@ func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pcommon.Timestamp, // updateCapacity saves max length of data point slices that will be used for the slice capacity. func (m *metricVcenterVMVsanThroughput) updateCapacity() { - if m.data.Gauge().DataPoints().Len() > m.capacity { - m.capacity = m.data.Gauge().DataPoints().Len() + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. func (m *metricVcenterVMVsanThroughput) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) m.init() @@ -2862,12 +2856,12 @@ type MetricsBuilder struct { metricsCapacity int // maximum observed number of metrics per resource. resourceCapacity int // maximum observed number of resource attributes. metricsBuffer pmetric.Metrics // accumulates metrics data before emitting. - metricVcenterClusterCPUAvailable metricVcenterClusterCPUAvailable metricVcenterClusterCPUEffective metricVcenterClusterCPUEffective + metricVcenterClusterCPULimit metricVcenterClusterCPULimit metricVcenterClusterCPUUsed metricVcenterClusterCPUUsed metricVcenterClusterHostCount metricVcenterClusterHostCount - metricVcenterClusterMemoryAvailable metricVcenterClusterMemoryAvailable metricVcenterClusterMemoryEffective metricVcenterClusterMemoryEffective + metricVcenterClusterMemoryLimit metricVcenterClusterMemoryLimit metricVcenterClusterMemoryUsed metricVcenterClusterMemoryUsed metricVcenterClusterVMCount metricVcenterClusterVMCount metricVcenterClusterVsanCongestions metricVcenterClusterVsanCongestions @@ -2929,12 +2923,12 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) mb := &MetricsBuilder{ startTime: pcommon.NewTimestampFromTime(time.Now()), metricsBuffer: pmetric.NewMetrics(), - metricVcenterClusterCPUAvailable: newMetricVcenterClusterCPUAvailable(settings.VcenterClusterCPUAvailable), metricVcenterClusterCPUEffective: newMetricVcenterClusterCPUEffective(settings.VcenterClusterCPUEffective), + metricVcenterClusterCPULimit: newMetricVcenterClusterCPULimit(settings.VcenterClusterCPULimit), metricVcenterClusterCPUUsed: newMetricVcenterClusterCPUUsed(settings.VcenterClusterCPUUsed), metricVcenterClusterHostCount: newMetricVcenterClusterHostCount(settings.VcenterClusterHostCount), - metricVcenterClusterMemoryAvailable: newMetricVcenterClusterMemoryAvailable(settings.VcenterClusterMemoryAvailable), metricVcenterClusterMemoryEffective: newMetricVcenterClusterMemoryEffective(settings.VcenterClusterMemoryEffective), + metricVcenterClusterMemoryLimit: newMetricVcenterClusterMemoryLimit(settings.VcenterClusterMemoryLimit), metricVcenterClusterMemoryUsed: newMetricVcenterClusterMemoryUsed(settings.VcenterClusterMemoryUsed), metricVcenterClusterVMCount: newMetricVcenterClusterVMCount(settings.VcenterClusterVMCount), metricVcenterClusterVsanCongestions: newMetricVcenterClusterVsanCongestions(settings.VcenterClusterVsanCongestions), @@ -3055,12 +3049,12 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { ils := rm.ScopeMetrics().AppendEmpty() ils.Scope().SetName("otelcol/vmwarevcenterreceiver") ils.Metrics().EnsureCapacity(mb.metricsCapacity) - mb.metricVcenterClusterCPUAvailable.emit(ils.Metrics()) mb.metricVcenterClusterCPUEffective.emit(ils.Metrics()) + mb.metricVcenterClusterCPULimit.emit(ils.Metrics()) mb.metricVcenterClusterCPUUsed.emit(ils.Metrics()) mb.metricVcenterClusterHostCount.emit(ils.Metrics()) - mb.metricVcenterClusterMemoryAvailable.emit(ils.Metrics()) mb.metricVcenterClusterMemoryEffective.emit(ils.Metrics()) + mb.metricVcenterClusterMemoryLimit.emit(ils.Metrics()) mb.metricVcenterClusterMemoryUsed.emit(ils.Metrics()) mb.metricVcenterClusterVMCount.emit(ils.Metrics()) mb.metricVcenterClusterVsanCongestions.emit(ils.Metrics()) @@ -3122,16 +3116,16 @@ func (mb *MetricsBuilder) Emit(ro ...ResourceOption) pmetric.Metrics { return metrics } -// RecordVcenterClusterCPUAvailableDataPoint adds a data point to vcenter.cluster.cpu.available metric. -func (mb *MetricsBuilder) RecordVcenterClusterCPUAvailableDataPoint(ts pcommon.Timestamp, val int64) { - mb.metricVcenterClusterCPUAvailable.recordDataPoint(mb.startTime, ts, val) -} - // RecordVcenterClusterCPUEffectiveDataPoint adds a data point to vcenter.cluster.cpu.effective metric. func (mb *MetricsBuilder) RecordVcenterClusterCPUEffectiveDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterCPUEffective.recordDataPoint(mb.startTime, ts, val) } +// RecordVcenterClusterCPULimitDataPoint adds a data point to vcenter.cluster.cpu.limit metric. +func (mb *MetricsBuilder) RecordVcenterClusterCPULimitDataPoint(ts pcommon.Timestamp, val int64) { + mb.metricVcenterClusterCPULimit.recordDataPoint(mb.startTime, ts, val) +} + // RecordVcenterClusterCPUUsedDataPoint adds a data point to vcenter.cluster.cpu.used metric. func (mb *MetricsBuilder) RecordVcenterClusterCPUUsedDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterCPUUsed.recordDataPoint(mb.startTime, ts, val) @@ -3142,16 +3136,16 @@ func (mb *MetricsBuilder) RecordVcenterClusterHostCountDataPoint(ts pcommon.Time mb.metricVcenterClusterHostCount.recordDataPoint(mb.startTime, ts, val, hostEffectiveAttributeValue) } -// RecordVcenterClusterMemoryAvailableDataPoint adds a data point to vcenter.cluster.memory.available metric. -func (mb *MetricsBuilder) RecordVcenterClusterMemoryAvailableDataPoint(ts pcommon.Timestamp, val int64) { - mb.metricVcenterClusterMemoryAvailable.recordDataPoint(mb.startTime, ts, val) -} - // RecordVcenterClusterMemoryEffectiveDataPoint adds a data point to vcenter.cluster.memory.effective metric. func (mb *MetricsBuilder) RecordVcenterClusterMemoryEffectiveDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterMemoryEffective.recordDataPoint(mb.startTime, ts, val) } +// RecordVcenterClusterMemoryLimitDataPoint adds a data point to vcenter.cluster.memory.limit metric. +func (mb *MetricsBuilder) RecordVcenterClusterMemoryLimitDataPoint(ts pcommon.Timestamp, val int64) { + mb.metricVcenterClusterMemoryLimit.recordDataPoint(mb.startTime, ts, val) +} + // RecordVcenterClusterMemoryUsedDataPoint adds a data point to vcenter.cluster.memory.used metric. func (mb *MetricsBuilder) RecordVcenterClusterMemoryUsedDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterClusterMemoryUsed.recordDataPoint(mb.startTime, ts, val) diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 79e12125e2e5c..c44c3051f29ba 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -84,7 +84,7 @@ attributes: - write metrics: - vcenter.cluster.cpu.available: + vcenter.cluster.cpu.limit: enabled: true description: The amount of CPU available to the cluster unit: "{MHz}" @@ -95,7 +95,7 @@ metrics: attributes: [] vcenter.cluster.cpu.effective: enabled: true - description: The effective CPU available to the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. + description: The effective CPU available to the cluster. This value excludes CPU from hosts in maintenance mode or are unresponsive. unit: "{MHz}" sum: monotonic: false @@ -104,14 +104,14 @@ metrics: attributes: [] vcenter.cluster.cpu.used: enabled: true - description: The amount of CPU used by the cluster + description: The amount of CPU used by the cluster. unit: "{MHz}" sum: monotonic: false value_type: int aggregation: cumulative attributes: [] - vcenter.cluster.memory.available: + vcenter.cluster.memory.limit: enabled: true description: The available memory of the cluster. unit: By @@ -122,7 +122,7 @@ metrics: attributes: [] vcenter.cluster.memory.effective: enabled: true - description: The available memory of the cluster. + description: The effective memory of the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. unit: By sum: monotonic: false @@ -247,20 +247,16 @@ metrics: enabled: true description: The latency of operations to the host system's disk. unit: ms - sum: - monotonic: false + gauge: value_type: int - aggregation: cumulative attributes: [latency_direction, latency_type] extended_documentation: This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. vcenter.host.disk.latency.total: enabled: true description: The total reported total latency (device and kernel times) unit: ms - sum: - monotonic: false + gauge: value_type: int - aggregation: cumulative attributes: [latency_direction] vcenter.host.memory.utilization: enabled: true @@ -456,20 +452,16 @@ metrics: enabled: true description: The latency of operations to the virtual machine's disk unit: µs - sum: - monotonic: false + gauge: value_type: int - aggregation: cumulative attributes: [latency_direction] extended_documentation: This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. vcenter.vm.disk.latency.max: enabled: true - description: The highest reported total latency (device and kernel times) + description: The highest reported total latency (device and kernel times) over an interval of 20 seconds. unit: ms - sum: - monotonic: false + gauge: value_type: int - aggregation: cumulative attributes: [] vcenter.vm.disk.throughput: enabled: true @@ -521,8 +513,10 @@ metrics: enabled: true description: The VSAN throughput of a virtual machine unit: By/s - gauge: + sum: + monotonic: false value_type: int + aggregation: cumulative attributes: [vsan_throughput_direction] vcenter.vm.vsan.latency.avg: enabled: true diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index daa18b288a748..4f734f18bcc1c 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -111,7 +111,7 @@ func (v *vcenterMetricScraper) collectCluster( var moCluster mo.ClusterComputeResource c.Properties(ctx, c.Reference(), []string{"summary"}, &moCluster) s := moCluster.Summary.GetComputeResourceSummary() - v.mb.RecordVcenterClusterCPUAvailableDataPoint(now, int64(s.TotalCpu)) + v.mb.RecordVcenterClusterCPULimitDataPoint(now, int64(s.TotalCpu)) v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumHosts-s.NumEffectiveHosts), "false") v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumEffectiveHosts), "true") From faf80c51695ac6f22c4f11672ce0fc69de935102 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 09:45:45 -0400 Subject: [PATCH 049/105] instantiate new client if client is nil --- receiver/vcenterreceiver/scraper.go | 5 +++-- receiver/vcenterreceiver/scraper_test.go | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 4f734f18bcc1c..5f950b93eed18 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -16,7 +16,6 @@ package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-colle import ( "context" - "errors" "fmt" "strings" "time" @@ -39,6 +38,7 @@ var _ component.Receiver = (*vcenterMetricScraper)(nil) type vcenterMetricScraper struct { client *vcenterClient + config *Config mb *metadata.MetricsBuilder logger *zap.Logger vsanEnabled bool @@ -51,6 +51,7 @@ func newVmwareVcenterScraper( client := newVmwarevcenterClient(config) return &vcenterMetricScraper{ client: client, + config: config, logger: logger, mb: metadata.NewMetricsBuilder(config.MetricsConfig.Metrics), vsanEnabled: true, @@ -67,7 +68,7 @@ func (v *vcenterMetricScraper) Shutdown(ctx context.Context) error { func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error) { if v.client == nil { - return pdata.NewMetrics(), errors.New("no SDK client instantiated") + v.client = newVmwarevcenterClient(v.config) } // ensure connection before scraping diff --git a/receiver/vcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go index 186955b443e1f..83d2ab729978b 100644 --- a/receiver/vcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -65,11 +65,14 @@ func TestScrape_NoClient(t *testing.T) { ctx := context.Background() scraper := &vcenterMetricScraper{ client: nil, + config: &Config{ + MetricsConfig: &MetricsConfig{Endpoint: "http://vcsa.localnet"}, + }, mb: metadata.NewMetricsBuilder(metadata.DefaultMetricsSettings()), logger: zap.NewNop(), } metrics, err := scraper.scrape(ctx) - require.ErrorContains(t, err, "no SDK client instantiated") + require.ErrorContains(t, err, "unable to connect to vSphere SDK") require.Equal(t, metrics.MetricCount(), 0) } From 3a2e79306a5e21393be167137d9443dc6d7e4682 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 09:56:18 -0400 Subject: [PATCH 050/105] update all descriptions to have punctuation --- receiver/vcenterreceiver/documentation.md | 70 +++++++++---------- .../internal/metadata/generated_metrics_v2.go | 58 +++++++-------- receiver/vcenterreceiver/metadata.yaml | 70 +++++++++---------- 3 files changed, 99 insertions(+), 99 deletions(-) diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index 6438206610ed2..f4a7fbbbc3202 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -9,50 +9,50 @@ These are the metrics available for this scraper. | Name | Description | Unit | Type | Attributes | | ---- | ----------- | ---- | ---- | ---------- | | **vcenter.cluster.cpu.effective** | The effective CPU available to the cluster. This value excludes CPU from hosts in maintenance mode or are unresponsive. | {MHz} | Sum(Int) |
| -| **vcenter.cluster.cpu.limit** | The amount of CPU available to the cluster | {MHz} | Sum(Int) |
| +| **vcenter.cluster.cpu.limit** | The amount of CPU available to the cluster. | {MHz} | Sum(Int) |
| | **vcenter.cluster.cpu.used** | The amount of CPU used by the cluster. | {MHz} | Sum(Int) |
| -| **vcenter.cluster.host.count** | The number of hosts in the cluster | {hosts} | Sum(Int) |
  • host_effective
| +| **vcenter.cluster.host.count** | The number of hosts in the cluster. | {hosts} | Sum(Int) |
  • host_effective
| | **vcenter.cluster.memory.effective** | The effective memory of the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. | By | Sum(Int) |
| | **vcenter.cluster.memory.limit** | The available memory of the cluster. | By | Sum(Int) |
| -| **vcenter.cluster.memory.used** | The memory that is currently used by the cluster | By | Sum(Int) |
| -| **vcenter.cluster.vm.count** | the number of virtual machines in the cluster | {virtual_machines} | Sum(Int) |
  • vm_count_power_state
| +| **vcenter.cluster.memory.used** | The memory that is currently used by the cluster. | By | Sum(Int) |
| +| **vcenter.cluster.vm.count** | the number of virtual machines in the cluster. | {virtual_machines} | Sum(Int) |
  • vm_count_power_state
| | **vcenter.cluster.vsan.congestions** | Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. | {congestions/sec} | Sum(Int) |
| | **vcenter.cluster.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients in the cluster. | µs | Sum(Int) |
  • vsan_latency_type
| -| **vcenter.cluster.vsan.operations** | IOPS consumed by all vSAN clients in the cluster | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| -| **vcenter.cluster.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the cluster | {operations} | Sum(Int) |
| +| **vcenter.cluster.vsan.operations** | IOPS consumed by all vSAN clients in the cluster. | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| +| **vcenter.cluster.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the cluster. | {operations} | Sum(Int) |
| | **vcenter.cluster.vsan.throughput** | Throughput consumed by all vSAN clients in the cluster. | By/sec | Sum(Int) |
  • vsan_throughput_direction
| | **vcenter.datastore.disk.usage** | The amount of space in the datastore. | By | Sum(Int) |
  • disk_state
| -| **vcenter.datastore.disk.utilization** | The utilization of the datastore | % | Gauge(Double) |
| -| **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host | MHz | Sum(Int) |
| -| **vcenter.host.cpu.utilization** | The CPU utilization of the host system | % | Gauge(Double) |
| +| **vcenter.datastore.disk.utilization** | The utilization of the datastore. | % | Gauge(Double) |
| +| **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host. | MHz | Sum(Int) |
| +| **vcenter.host.cpu.utilization** | The CPU utilization of the host system. | % | Gauge(Double) |
| | **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Gauge(Int) |
  • latency_direction
  • latency_type
| | **vcenter.host.disk.latency.total** | The total reported total latency (device and kernel times) | ms | Gauge(Int) |
  • latency_direction
| -| **vcenter.host.disk.throughput** | The throughput to the host system's disk | By/s | Sum(Int) |
| -| **vcenter.host.memory.usage** | The amount of memory the host system is using | MBy | Sum(Int) |
| -| **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized | % | Gauge(Double) |
| +| **vcenter.host.disk.throughput** | The throughput to the host system's disk. | By/s | Sum(Int) |
| +| **vcenter.host.memory.usage** | The amount of memory the host system is using. | MBy | Sum(Int) |
| +| **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized. | % | Gauge(Double) |
| | **vcenter.host.network.errors** | The summation of errors on the host network. | {errors} | Sum(Int) |
  • throughput_direction
| -| **vcenter.host.network.packets** | The number of packets sent over an interval | {packets/sec} | Sum(Int) |
  • throughput_direction
| -| **vcenter.host.network.throughput** | The amount of data that was sent or received over the network by the host | {KBy/s} | Sum(Int) |
  • throughput_direction
| +| **vcenter.host.network.packets** | The number of packets sent over an interval. | {packets/sec} | Sum(Int) |
  • throughput_direction
| +| **vcenter.host.network.throughput** | The amount of data that was sent or received over the network by the host. | {KBy/s} | Sum(Int) |
  • throughput_direction
| | **vcenter.host.network.usage** | The sum of the data transmitted and received for all the NIC instances of the host. | {KBy/s} | Sum(Int) |
| -| **vcenter.host.vsan.cache.hit_rate** | Percentage of read IOs which could be satisfied by the local client cache | % | Gauge(Double) |
| -| **vcenter.host.vsan.cache.reads** | Average latency of IOs generated by all vSAN clients on the host | {operations/sec} | Sum(Int) |
| -| **vcenter.host.vsan.congestions** | Congestions of IOs generated by all vSAN clients on the host | {congestions/sec} | Sum(Int) |
| +| **vcenter.host.vsan.cache.hit_rate** | Percentage of read IOs which could be satisfied by the local client cache. | % | Gauge(Double) |
| +| **vcenter.host.vsan.cache.reads** | Average latency of IOs generated by all vSAN clients on the host. | {operations/sec} | Sum(Int) |
| +| **vcenter.host.vsan.congestions** | Congestions of IOs generated by all vSAN clients on the host. | {congestions/sec} | Sum(Int) |
| | **vcenter.host.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients on the host. | µs | Sum(Int) |
  • vsan_latency_type
| | **vcenter.host.vsan.operations** | IOPs consumed by all vSAN clients on the host. | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| | **vcenter.host.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc. | {operations/sec} | Sum(Int) |
| | **vcenter.host.vsan.throughput** | Throughput consumed by all vSAN clients on the host. | By/s | Sum(Int) |
  • vsan_throughput_direction
| -| **vcenter.resource_pool.cpu.shares** | The amount of shares of CPU in the resource pool | {shares} | Sum(Int) |
| -| **vcenter.resource_pool.cpu.usage** | The usage of the CPU used by the resource pool | {MHz} | Sum(Int) |
| -| **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool | {shares} | Sum(Int) |
| -| **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool | MBy | Sum(Int) |
| -| **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine | % | Gauge(Double) |
| -| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | µs | Gauge(Int) |
  • latency_direction
| +| **vcenter.resource_pool.cpu.shares** | The amount of shares of CPU in the resource pool. | {shares} | Sum(Int) |
| +| **vcenter.resource_pool.cpu.usage** | The usage of the CPU used by the resource pool. | {MHz} | Sum(Int) |
| +| **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool. | {shares} | Sum(Int) |
| +| **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool. | MBy | Sum(Int) |
| +| **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine. | % | Gauge(Double) |
| +| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | µs | Gauge(Int) |
  • latency_direction
| | **vcenter.vm.disk.latency.max** | The highest reported total latency (device and kernel times) over an interval of 20 seconds. | ms | Gauge(Int) |
| -| **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk | By/sec | Sum(Int) |
| -| **vcenter.vm.disk.usage** | The amount of storage space the virtual machine is using | By | Sum(Int) |
  • disk_state
| -| **vcenter.vm.disk.utilization** | The utilization of storage on the virtual machine | % | Gauge(Double) |
| +| **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk. | By/sec | Sum(Int) |
| +| **vcenter.vm.disk.usage** | The amount of storage space used by the virtual machine. | By | Sum(Int) |
  • disk_state
| +| **vcenter.vm.disk.utilization** | The utilization of storage on the virtual machine. | % | Gauge(Double) |
| | **vcenter.vm.memory.ballooned** | The amount of memory that is ballooned due to virtualization. | By | Sum(Int) |
| -| **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine | MBy | Sum(Int) |
| +| **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine. | MBy | Sum(Int) |
| | **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network. | {packets/sec} | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine. | By/sec | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.usage** | The network utilization combined transmit and receive rates during an interval. | {KBy/s} | Sum(Int) |
| @@ -73,23 +73,23 @@ metrics: | Name | Description | Type | | ---- | ----------- | ---- | -| vcenter.cluster.name | The name of the vCenter Cluster | String | -| vcenter.datastore.name | The name of the vCenter datastore | String | -| vcenter.host.name | The hostname of the vCenter ESXi host | String | -| vcenter.resource_pool.name | The name of the resource pool | String | -| vcenter.vm.id | The instance UUID of the virtual machine | String | -| vcenter.vm.name | The name of the virtual machine | String | +| vcenter.cluster.name | The name of the vCenter Cluster. | String | +| vcenter.datastore.name | The name of the vCenter datastore. | String | +| vcenter.host.name | The hostname of the vCenter ESXi host. | String | +| vcenter.resource_pool.name | The name of the resource pool. | String | +| vcenter.vm.id | The instance UUID of the virtual machine. | String | +| vcenter.vm.name | The name of the virtual machine. | String | ## Metric attributes | Name | Description | Values | | ---- | ----------- | ------ | | disk_state | The state of storage and whether it is already allocated or free. | available, used | -| host_effective (effective) | Whether the host is effective in the vCenter cluster | true, false | +| host_effective (effective) | Whether the host is effective in the vCenter cluster. | true, false | | latency_direction (direction) | The direction of disk latency. | read, write | | latency_type (type) | The type of disk latency being reported. | kernel, device | | throughput_direction (direction) | The direction of network throughput. | transmitted, received | -| vm_count_power_state (power_state) | Whether the virtual machines are powered on or off | on, off | +| vm_count_power_state (power_state) | Whether the virtual machines are powered on or off. | on, off | | vsan_latency_type (type) | The type of vSAN latency. | read, write | | vsan_operation_type (type) | The type of vSAN operation. | read, write, unmap | | vsan_throughput_direction (direction) | The type of vSAN throughput. | read, write | diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index c585bcb37e07a..3f11cbef6e2eb 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -287,7 +287,7 @@ type metricVcenterClusterCPULimit struct { // init fills vcenter.cluster.cpu.limit metric with initial data. func (m *metricVcenterClusterCPULimit) init() { m.data.SetName("vcenter.cluster.cpu.limit") - m.data.SetDescription("The amount of CPU available to the cluster") + m.data.SetDescription("The amount of CPU available to the cluster.") m.data.SetUnit("{MHz}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -389,7 +389,7 @@ type metricVcenterClusterHostCount struct { // init fills vcenter.cluster.host.count metric with initial data. func (m *metricVcenterClusterHostCount) init() { m.data.SetName("vcenter.cluster.host.count") - m.data.SetDescription("The number of hosts in the cluster") + m.data.SetDescription("The number of hosts in the cluster.") m.data.SetUnit("{hosts}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -544,7 +544,7 @@ type metricVcenterClusterMemoryUsed struct { // init fills vcenter.cluster.memory.used metric with initial data. func (m *metricVcenterClusterMemoryUsed) init() { m.data.SetName("vcenter.cluster.memory.used") - m.data.SetDescription("The memory that is currently used by the cluster") + m.data.SetDescription("The memory that is currently used by the cluster.") m.data.SetUnit("By") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -595,7 +595,7 @@ type metricVcenterClusterVMCount struct { // init fills vcenter.cluster.vm.count metric with initial data. func (m *metricVcenterClusterVMCount) init() { m.data.SetName("vcenter.cluster.vm.count") - m.data.SetDescription("the number of virtual machines in the cluster") + m.data.SetDescription("the number of virtual machines in the cluster.") m.data.SetUnit("{virtual_machines}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -752,7 +752,7 @@ type metricVcenterClusterVsanOperations struct { // init fills vcenter.cluster.vsan.operations metric with initial data. func (m *metricVcenterClusterVsanOperations) init() { m.data.SetName("vcenter.cluster.vsan.operations") - m.data.SetDescription("IOPS consumed by all vSAN clients in the cluster") + m.data.SetDescription("IOPS consumed by all vSAN clients in the cluster.") m.data.SetUnit("{operations/sec}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -805,7 +805,7 @@ type metricVcenterClusterVsanOutstandingIo struct { // init fills vcenter.cluster.vsan.outstanding_io metric with initial data. func (m *metricVcenterClusterVsanOutstandingIo) init() { m.data.SetName("vcenter.cluster.vsan.outstanding_io") - m.data.SetDescription("Outstanding IO from all vSAN clients in the cluster") + m.data.SetDescription("Outstanding IO from all vSAN clients in the cluster.") m.data.SetUnit("{operations}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -962,7 +962,7 @@ type metricVcenterDatastoreDiskUtilization struct { // init fills vcenter.datastore.disk.utilization metric with initial data. func (m *metricVcenterDatastoreDiskUtilization) init() { m.data.SetName("vcenter.datastore.disk.utilization") - m.data.SetDescription("The utilization of the datastore") + m.data.SetDescription("The utilization of the datastore.") m.data.SetUnit("%") m.data.SetDataType(pmetric.MetricDataTypeGauge) } @@ -1011,7 +1011,7 @@ type metricVcenterHostCPUUsage struct { // init fills vcenter.host.cpu.usage metric with initial data. func (m *metricVcenterHostCPUUsage) init() { m.data.SetName("vcenter.host.cpu.usage") - m.data.SetDescription("The amount of CPU in Hz used by the host") + m.data.SetDescription("The amount of CPU in Hz used by the host.") m.data.SetUnit("MHz") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -1062,7 +1062,7 @@ type metricVcenterHostCPUUtilization struct { // init fills vcenter.host.cpu.utilization metric with initial data. func (m *metricVcenterHostCPUUtilization) init() { m.data.SetName("vcenter.host.cpu.utilization") - m.data.SetDescription("The CPU utilization of the host system") + m.data.SetDescription("The CPU utilization of the host system.") m.data.SetUnit("%") m.data.SetDataType(pmetric.MetricDataTypeGauge) } @@ -1214,7 +1214,7 @@ type metricVcenterHostDiskThroughput struct { // init fills vcenter.host.disk.throughput metric with initial data. func (m *metricVcenterHostDiskThroughput) init() { m.data.SetName("vcenter.host.disk.throughput") - m.data.SetDescription("The throughput to the host system's disk") + m.data.SetDescription("The throughput to the host system's disk.") m.data.SetUnit("By/s") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -1265,7 +1265,7 @@ type metricVcenterHostMemoryUsage struct { // init fills vcenter.host.memory.usage metric with initial data. func (m *metricVcenterHostMemoryUsage) init() { m.data.SetName("vcenter.host.memory.usage") - m.data.SetDescription("The amount of memory the host system is using") + m.data.SetDescription("The amount of memory the host system is using.") m.data.SetUnit("MBy") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -1316,7 +1316,7 @@ type metricVcenterHostMemoryUtilization struct { // init fills vcenter.host.memory.utilization metric with initial data. func (m *metricVcenterHostMemoryUtilization) init() { m.data.SetName("vcenter.host.memory.utilization") - m.data.SetDescription("The percentage of the host system's memory capacity that is being utilized") + m.data.SetDescription("The percentage of the host system's memory capacity that is being utilized.") m.data.SetUnit("%") m.data.SetDataType(pmetric.MetricDataTypeGauge) } @@ -1418,7 +1418,7 @@ type metricVcenterHostNetworkPackets struct { // init fills vcenter.host.network.packets metric with initial data. func (m *metricVcenterHostNetworkPackets) init() { m.data.SetName("vcenter.host.network.packets") - m.data.SetDescription("The number of packets sent over an interval") + m.data.SetDescription("The number of packets sent over an interval.") m.data.SetUnit("{packets/sec}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -1471,7 +1471,7 @@ type metricVcenterHostNetworkThroughput struct { // init fills vcenter.host.network.throughput metric with initial data. func (m *metricVcenterHostNetworkThroughput) init() { m.data.SetName("vcenter.host.network.throughput") - m.data.SetDescription("The amount of data that was sent or received over the network by the host") + m.data.SetDescription("The amount of data that was sent or received over the network by the host.") m.data.SetUnit("{KBy/s}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -1575,7 +1575,7 @@ type metricVcenterHostVsanCacheHitRate struct { // init fills vcenter.host.vsan.cache.hit_rate metric with initial data. func (m *metricVcenterHostVsanCacheHitRate) init() { m.data.SetName("vcenter.host.vsan.cache.hit_rate") - m.data.SetDescription("Percentage of read IOs which could be satisfied by the local client cache") + m.data.SetDescription("Percentage of read IOs which could be satisfied by the local client cache.") m.data.SetUnit("%") m.data.SetDataType(pmetric.MetricDataTypeGauge) } @@ -1624,7 +1624,7 @@ type metricVcenterHostVsanCacheReads struct { // init fills vcenter.host.vsan.cache.reads metric with initial data. func (m *metricVcenterHostVsanCacheReads) init() { m.data.SetName("vcenter.host.vsan.cache.reads") - m.data.SetDescription("Average latency of IOs generated by all vSAN clients on the host") + m.data.SetDescription("Average latency of IOs generated by all vSAN clients on the host.") m.data.SetUnit("{operations/sec}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -1675,7 +1675,7 @@ type metricVcenterHostVsanCongestions struct { // init fills vcenter.host.vsan.congestions metric with initial data. func (m *metricVcenterHostVsanCongestions) init() { m.data.SetName("vcenter.host.vsan.congestions") - m.data.SetDescription("Congestions of IOs generated by all vSAN clients on the host") + m.data.SetDescription("Congestions of IOs generated by all vSAN clients on the host.") m.data.SetUnit("{congestions/sec}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -1936,7 +1936,7 @@ type metricVcenterResourcePoolCPUShares struct { // init fills vcenter.resource_pool.cpu.shares metric with initial data. func (m *metricVcenterResourcePoolCPUShares) init() { m.data.SetName("vcenter.resource_pool.cpu.shares") - m.data.SetDescription("The amount of shares of CPU in the resource pool") + m.data.SetDescription("The amount of shares of CPU in the resource pool.") m.data.SetUnit("{shares}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -1987,7 +1987,7 @@ type metricVcenterResourcePoolCPUUsage struct { // init fills vcenter.resource_pool.cpu.usage metric with initial data. func (m *metricVcenterResourcePoolCPUUsage) init() { m.data.SetName("vcenter.resource_pool.cpu.usage") - m.data.SetDescription("The usage of the CPU used by the resource pool") + m.data.SetDescription("The usage of the CPU used by the resource pool.") m.data.SetUnit("{MHz}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -2038,7 +2038,7 @@ type metricVcenterResourcePoolMemoryShares struct { // init fills vcenter.resource_pool.memory.shares metric with initial data. func (m *metricVcenterResourcePoolMemoryShares) init() { m.data.SetName("vcenter.resource_pool.memory.shares") - m.data.SetDescription("The amount of shares of memory in the resource pool") + m.data.SetDescription("The amount of shares of memory in the resource pool.") m.data.SetUnit("{shares}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -2089,7 +2089,7 @@ type metricVcenterResourcePoolMemoryUsage struct { // init fills vcenter.resource_pool.memory.usage metric with initial data. func (m *metricVcenterResourcePoolMemoryUsage) init() { m.data.SetName("vcenter.resource_pool.memory.usage") - m.data.SetDescription("The usage of the memory by the resource pool") + m.data.SetDescription("The usage of the memory by the resource pool.") m.data.SetUnit("MBy") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -2140,7 +2140,7 @@ type metricVcenterVMCPUUtilization struct { // init fills vcenter.vm.cpu.utilization metric with initial data. func (m *metricVcenterVMCPUUtilization) init() { m.data.SetName("vcenter.vm.cpu.utilization") - m.data.SetDescription("The CPU utilization of the virtual machine") + m.data.SetDescription("The CPU utilization of the virtual machine.") m.data.SetUnit("%") m.data.SetDataType(pmetric.MetricDataTypeGauge) } @@ -2189,7 +2189,7 @@ type metricVcenterVMDiskLatencyAvg struct { // init fills vcenter.vm.disk.latency.avg metric with initial data. func (m *metricVcenterVMDiskLatencyAvg) init() { m.data.SetName("vcenter.vm.disk.latency.avg") - m.data.SetDescription("The latency of operations to the virtual machine's disk") + m.data.SetDescription("The latency of operations to the virtual machine's disk.") m.data.SetUnit("µs") m.data.SetDataType(pmetric.MetricDataTypeGauge) m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) @@ -2289,7 +2289,7 @@ type metricVcenterVMDiskThroughput struct { // init fills vcenter.vm.disk.throughput metric with initial data. func (m *metricVcenterVMDiskThroughput) init() { m.data.SetName("vcenter.vm.disk.throughput") - m.data.SetDescription("The throughput of the virtual machine's disk") + m.data.SetDescription("The throughput of the virtual machine's disk.") m.data.SetUnit("By/sec") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -2340,7 +2340,7 @@ type metricVcenterVMDiskUsage struct { // init fills vcenter.vm.disk.usage metric with initial data. func (m *metricVcenterVMDiskUsage) init() { m.data.SetName("vcenter.vm.disk.usage") - m.data.SetDescription("The amount of storage space the virtual machine is using") + m.data.SetDescription("The amount of storage space used by the virtual machine.") m.data.SetUnit("By") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -2393,7 +2393,7 @@ type metricVcenterVMDiskUtilization struct { // init fills vcenter.vm.disk.utilization metric with initial data. func (m *metricVcenterVMDiskUtilization) init() { m.data.SetName("vcenter.vm.disk.utilization") - m.data.SetDescription("The utilization of storage on the virtual machine") + m.data.SetDescription("The utilization of storage on the virtual machine.") m.data.SetUnit("%") m.data.SetDataType(pmetric.MetricDataTypeGauge) } @@ -2493,7 +2493,7 @@ type metricVcenterVMMemoryUsage struct { // init fills vcenter.vm.memory.usage metric with initial data. func (m *metricVcenterVMMemoryUsage) init() { m.data.SetName("vcenter.vm.memory.usage") - m.data.SetDescription("The amount of memory that is used by the virtual machine") + m.data.SetDescription("The amount of memory that is used by the virtual machine.") m.data.SetUnit("MBy") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -3384,7 +3384,7 @@ func (mb *MetricsBuilder) Reset(options ...metricBuilderOption) { var Attributes = struct { // DiskState (The state of storage and whether it is already allocated or free.) DiskState string - // HostEffective (Whether the host is effective in the vCenter cluster) + // HostEffective (Whether the host is effective in the vCenter cluster.) HostEffective string // LatencyDirection (The direction of disk latency.) LatencyDirection string @@ -3392,7 +3392,7 @@ var Attributes = struct { LatencyType string // ThroughputDirection (The direction of network throughput.) ThroughputDirection string - // VMCountPowerState (Whether the virtual machines are powered on or off) + // VMCountPowerState (Whether the virtual machines are powered on or off.) VMCountPowerState string // VsanLatencyType (The type of vSAN latency.) VsanLatencyType string diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index c44c3051f29ba..0a8eb93221a00 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -2,22 +2,22 @@ name: vmwarevcenterreceiver resource_attributes: vcenter.cluster.name: - description: The name of the vCenter Cluster + description: The name of the vCenter Cluster. type: string vcenter.host.name: - description: The hostname of the vCenter ESXi host + description: The hostname of the vCenter ESXi host. type: string vcenter.resource_pool.name: - description: The name of the resource pool + description: The name of the resource pool. type: string vcenter.datastore.name: - description: The name of the vCenter datastore + description: The name of the vCenter datastore. type: string vcenter.vm.name: - description: The name of the virtual machine + description: The name of the virtual machine. type: string vcenter.vm.id: - description: The instance UUID of the virtual machine + description: The instance UUID of the virtual machine. type: string attributes: @@ -29,7 +29,7 @@ attributes: - used host_effective: value: effective - description: Whether the host is effective in the vCenter cluster + description: Whether the host is effective in the vCenter cluster. type: bool enum: - "true" @@ -55,7 +55,7 @@ attributes: - received vm_count_power_state: value: power_state - description: Whether the virtual machines are powered on or off + description: Whether the virtual machines are powered on or off. type: string enum: - "on" @@ -86,7 +86,7 @@ attributes: metrics: vcenter.cluster.cpu.limit: enabled: true - description: The amount of CPU available to the cluster + description: The amount of CPU available to the cluster. unit: "{MHz}" sum: monotonic: false @@ -131,7 +131,7 @@ metrics: attributes: [] vcenter.cluster.memory.used: enabled: true - description: The memory that is currently used by the cluster + description: The memory that is currently used by the cluster. unit: By sum: monotonic: false @@ -149,7 +149,7 @@ metrics: attributes: [vsan_latency_type] vcenter.cluster.vsan.operations: enabled: true - description: IOPS consumed by all vSAN clients in the cluster + description: IOPS consumed by all vSAN clients in the cluster. unit: "{operations/sec}" sum: monotonic: false @@ -167,7 +167,7 @@ metrics: attributes: [] vcenter.cluster.vsan.outstanding_io: enabled: true - description: Outstanding IO from all vSAN clients in the cluster + description: Outstanding IO from all vSAN clients in the cluster. unit: "{operations}" sum: monotonic: false @@ -185,7 +185,7 @@ metrics: attributes: [vsan_throughput_direction] vcenter.cluster.vm.count: enabled: true - description: the number of virtual machines in the cluster + description: the number of virtual machines in the cluster. unit: "{virtual_machines}" sum: monotonic: false @@ -194,7 +194,7 @@ metrics: attributes: [vm_count_power_state] vcenter.cluster.host.count: enabled: true - description: The number of hosts in the cluster + description: The number of hosts in the cluster. unit: "{hosts}" sum: monotonic: false @@ -213,21 +213,21 @@ metrics: attributes: [disk_state] vcenter.datastore.disk.utilization: enabled: true - description: The utilization of the datastore + description: The utilization of the datastore. unit: "%" gauge: value_type: double attributes: [] vcenter.host.cpu.utilization: enabled: true - description: The CPU utilization of the host system + description: The CPU utilization of the host system. unit: "%" gauge: value_type: double attributes: [] vcenter.host.cpu.usage: enabled: true - description: The amount of CPU in Hz used by the host + description: The amount of CPU in Hz used by the host. unit: "MHz" sum: monotonic: false @@ -236,7 +236,7 @@ metrics: attributes: [] vcenter.host.disk.throughput: enabled: true - description: The throughput to the host system's disk + description: The throughput to the host system's disk. unit: By/s sum: monotonic: false @@ -260,14 +260,14 @@ metrics: attributes: [latency_direction] vcenter.host.memory.utilization: enabled: true - description: The percentage of the host system's memory capacity that is being utilized + description: The percentage of the host system's memory capacity that is being utilized. unit: "%" gauge: value_type: double attributes: [] vcenter.host.memory.usage: enabled: true - description: The amount of memory the host system is using + description: The amount of memory the host system is using. unit: MBy sum: monotonic: false @@ -276,7 +276,7 @@ metrics: attributes: [] vcenter.host.network.throughput: enabled: true - description: The amount of data that was sent or received over the network by the host + description: The amount of data that was sent or received over the network by the host. unit: "{KBy/s}" sum: monotonic: false @@ -303,7 +303,7 @@ metrics: attributes: [throughput_direction] vcenter.host.network.packets: enabled: true - description: The number of packets sent over an interval + description: The number of packets sent over an interval. unit: "{packets/sec}" sum: monotonic: false @@ -330,7 +330,7 @@ metrics: attributes: [vsan_operation_type] vcenter.host.vsan.congestions: enabled: true - description: Congestions of IOs generated by all vSAN clients on the host + description: Congestions of IOs generated by all vSAN clients on the host. unit: "{congestions/sec}" sum: monotonic: false @@ -348,7 +348,7 @@ metrics: attributes: [vsan_latency_type] vcenter.host.vsan.cache.reads: enabled: true - description: Average latency of IOs generated by all vSAN clients on the host + description: Average latency of IOs generated by all vSAN clients on the host. unit: "{operations/sec}" sum: monotonic: false @@ -357,7 +357,7 @@ metrics: attributes: [] vcenter.host.vsan.cache.hit_rate: enabled: true - description: Percentage of read IOs which could be satisfied by the local client cache + description: Percentage of read IOs which could be satisfied by the local client cache. unit: "%" gauge: value_type: double @@ -373,7 +373,7 @@ metrics: attributes: [] vcenter.resource_pool.memory.usage: enabled: true - description: The usage of the memory by the resource pool + description: The usage of the memory by the resource pool. unit: MBy sum: monotonic: false @@ -382,7 +382,7 @@ metrics: attributes: [] vcenter.resource_pool.memory.shares: enabled: true - description: The amount of shares of memory in the resource pool + description: The amount of shares of memory in the resource pool. unit: "{shares}" sum: monotonic: false @@ -391,7 +391,7 @@ metrics: attributes: [] vcenter.resource_pool.cpu.usage: enabled: true - description: The usage of the CPU used by the resource pool + description: The usage of the CPU used by the resource pool. unit: "{MHz}" sum: monotonic: false @@ -400,7 +400,7 @@ metrics: attributes: [] vcenter.resource_pool.cpu.shares: enabled: true - description: The amount of shares of CPU in the resource pool + description: The amount of shares of CPU in the resource pool. unit: "{shares}" sum: monotonic: false @@ -418,7 +418,7 @@ metrics: attributes: [] vcenter.vm.memory.usage: enabled: true - description: The amount of memory that is used by the virtual machine + description: The amount of memory that is used by the virtual machine. unit: MBy sum: monotonic: false @@ -427,14 +427,14 @@ metrics: attributes: [] vcenter.vm.cpu.utilization: enabled: true - description: The CPU utilization of the virtual machine + description: The CPU utilization of the virtual machine. unit: "%" gauge: value_type: double attributes: [] vcenter.vm.disk.usage: enabled: true - description: The amount of storage space the virtual machine is using + description: The amount of storage space used by the virtual machine. unit: By sum: monotonic: false @@ -443,14 +443,14 @@ metrics: attributes: [disk_state] vcenter.vm.disk.utilization: enabled: true - description: The utilization of storage on the virtual machine + description: The utilization of storage on the virtual machine. unit: "%" gauge: value_type: double attributes: [] vcenter.vm.disk.latency.avg: enabled: true - description: The latency of operations to the virtual machine's disk + description: The latency of operations to the virtual machine's disk. unit: µs gauge: value_type: int @@ -465,7 +465,7 @@ metrics: attributes: [] vcenter.vm.disk.throughput: enabled: true - description: The throughput of the virtual machine's disk + description: The throughput of the virtual machine's disk. unit: By/sec sum: monotonic: false From 2cd9dc7a10ea65255c4f992a7372b3c14ddcb06a Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 09:59:30 -0400 Subject: [PATCH 051/105] three more descs --- receiver/vcenterreceiver/documentation.md | 6 +++--- .../internal/metadata/generated_metrics_v2.go | 6 +++--- receiver/vcenterreceiver/metadata.yaml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index f4a7fbbbc3202..97636cfcde015 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -56,9 +56,9 @@ These are the metrics available for this scraper. | **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network. | {packets/sec} | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine. | By/sec | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.usage** | The network utilization combined transmit and receive rates during an interval. | {KBy/s} | Sum(Int) |
| -| **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage | us | Gauge(Int) |
  • vsan_latency_type
| -| **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| -| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine | By/s | Sum(Int) |
  • vsan_throughput_direction
| +| **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage. | us | Gauge(Int) |
  • vsan_latency_type
| +| **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs. | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| +| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine. | By/s | Sum(Int) |
  • vsan_throughput_direction
| **Highlighted metrics** are emitted by default. Other metrics are optional and not emitted by default. Any metric can be enabled or disabled with the following scraper configuration: diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 3f11cbef6e2eb..ee42244a94c2e 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -2701,7 +2701,7 @@ type metricVcenterVMVsanLatencyAvg struct { // init fills vcenter.vm.vsan.latency.avg metric with initial data. func (m *metricVcenterVMVsanLatencyAvg) init() { m.data.SetName("vcenter.vm.vsan.latency.avg") - m.data.SetDescription("The latency while accessing VSAN storage") + m.data.SetDescription("The latency while accessing VSAN storage.") m.data.SetUnit("us") m.data.SetDataType(pmetric.MetricDataTypeGauge) m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) @@ -2752,7 +2752,7 @@ type metricVcenterVMVsanOperations struct { // init fills vcenter.vm.vsan.operations metric with initial data. func (m *metricVcenterVMVsanOperations) init() { m.data.SetName("vcenter.vm.vsan.operations") - m.data.SetDescription("Virtual Machine vSAN IOPs") + m.data.SetDescription("Virtual Machine vSAN IOPs.") m.data.SetUnit("{operations/sec}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) @@ -2805,7 +2805,7 @@ type metricVcenterVMVsanThroughput struct { // init fills vcenter.vm.vsan.throughput metric with initial data. func (m *metricVcenterVMVsanThroughput) init() { m.data.SetName("vcenter.vm.vsan.throughput") - m.data.SetDescription("The VSAN throughput of a virtual machine") + m.data.SetDescription("The VSAN throughput of a virtual machine.") m.data.SetUnit("By/s") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 0a8eb93221a00..6d3e1c8bca105 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -502,7 +502,7 @@ metrics: attributes: [] vcenter.vm.vsan.operations: enabled: true - description: Virtual Machine vSAN IOPs + description: Virtual Machine vSAN IOPs. unit: "{operations/sec}" sum: monotonic: false @@ -511,7 +511,7 @@ metrics: attributes: [vsan_operation_type] vcenter.vm.vsan.throughput: enabled: true - description: The VSAN throughput of a virtual machine + description: The VSAN throughput of a virtual machine. unit: By/s sum: monotonic: false @@ -520,7 +520,7 @@ metrics: attributes: [vsan_throughput_direction] vcenter.vm.vsan.latency.avg: enabled: true - description: The latency while accessing VSAN storage + description: The latency while accessing VSAN storage. unit: us gauge: value_type: int From fba2b5b892c0d435f5dad1e90c7a1dc0efcf857f Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 10:32:47 -0400 Subject: [PATCH 052/105] move ensureReceiver up to once we validated as a config --- receiver/vcenterreceiver/factory.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/receiver/vcenterreceiver/factory.go b/receiver/vcenterreceiver/factory.go index e0d7bdfc37878..e1ab8cb9a5339 100644 --- a/receiver/vcenterreceiver/factory.go +++ b/receiver/vcenterreceiver/factory.go @@ -87,6 +87,7 @@ func (f *vcenterReceiverFactory) createMetricsReceiver( if !ok { return nil, errConfigNotVcenter } + r := f.ensureReceiver(params, cfg) vr := newVmwareVcenterScraper(params.Logger, cfg) scraper, err := scraperhelper.NewScraper( typeStr, @@ -107,8 +108,6 @@ func (f *vcenterReceiverFactory) createMetricsReceiver( if err != nil { return nil, err } - - r := f.ensureReceiver(params, cfg) r.scraper = rcvr return r, nil } From a956cd2cb8bfc18a6cc838db86cefb068fd14e50 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 11:38:04 -0400 Subject: [PATCH 053/105] some more PR feedback --- receiver/vcenterreceiver/README.md | 2 +- receiver/vcenterreceiver/client.go | 2 +- receiver/vcenterreceiver/scraper.go | 30 ++++++++++++++++------------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/receiver/vcenterreceiver/README.md b/receiver/vcenterreceiver/README.md index e8e705019776f..6c2fe08ebb3b1 100644 --- a/receiver/vcenterreceiver/README.md +++ b/receiver/vcenterreceiver/README.md @@ -35,7 +35,7 @@ receivers: | username | | String | Required | | password | | String | Required | | tls | | TLSClientSetting | Not Required. Will use defaults for [configtls.TLSClientSetting](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md). By default insecure settings are rejected and certificate verification is on. | -| collection_interval | 2m | Duration | This receiver collects metrics on an interval. Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h` | +| collection_interval | 2m | Duration | This receiver collects metrics on an interval. If the vCenter is fairly large, this value may need to be increased. Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h` | ### Example Configuration diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index decc3d0f657ec..4ba5a49db1beb 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -48,7 +48,7 @@ func newVmwarevcenterClient(c *Config) *vcenterClient { } } -func (vc *vcenterClient) Connect(ctx context.Context) error { +func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { if vc.moClient == nil { sdkURL, err := vc.cfg.SDKUrl() if err != nil { diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 5f950b93eed18..805987cb00745 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -59,7 +59,7 @@ func newVmwareVcenterScraper( } func (v *vcenterMetricScraper) Start(ctx context.Context, _ component.Host) error { - return v.client.Connect(ctx) + return v.client.EnsureConnection(ctx) } func (v *vcenterMetricScraper) Shutdown(ctx context.Context) error { @@ -72,25 +72,26 @@ func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error } // ensure connection before scraping - if err := v.client.Connect(ctx); err != nil { + if err := v.client.EnsureConnection(ctx); err != nil { return pdata.NewMetrics(), fmt.Errorf("unable to connect to vSphere SDK: %w", err) } - errs := &scrapererror.ScrapeErrors{} err := v.client.ConnectVSAN(ctx) if err != nil { // vsan is not required for a proper collection v.vsanEnabled = false } - v.collectClusters(ctx, errs) - return v.mb.Emit(), errs.Combine() + err = v.collectClusters(ctx) + return v.mb.Emit(), err } -func (v *vcenterMetricScraper) collectClusters(ctx context.Context, errs *scrapererror.ScrapeErrors) { +func (v *vcenterMetricScraper) collectClusters(ctx context.Context) error { + errs := &scrapererror.ScrapeErrors{} + clusters, err := v.client.Clusters(ctx) if err != nil { - errs.AddPartial(1, err) - return + errs.Add(err) + return errs.Combine() } now := pdata.NewTimestampFromTime(time.Now()) @@ -101,6 +102,8 @@ func (v *vcenterMetricScraper) collectClusters(ctx context.Context, errs *scrape v.collectCluster(ctx, now, c, errs) } v.collectResourcePools(ctx, now, errs) + + return errs.Combine() } func (v *vcenterMetricScraper) collectCluster( @@ -185,11 +188,7 @@ func (v *vcenterMetricScraper) collectHosts( } for _, h := range hosts { - v.collectHost(ctx, colTime, h, hostVsanCSVs, errs) - v.mb.EmitForResource( - metadata.WithVcenterHostName(h.Name()), - metadata.WithVcenterClusterName(cluster.Name()), - ) + v.collectHost(ctx, colTime, h, cluster, hostVsanCSVs, errs) } } @@ -197,6 +196,7 @@ func (v *vcenterMetricScraper) collectHost( ctx context.Context, now pdata.Timestamp, host *object.HostSystem, + cluster *object.ClusterComputeResource, vsanCsvs *[]types.VsanPerfEntityMetricCSV, errs *scrapererror.ScrapeErrors, ) { @@ -220,6 +220,10 @@ func (v *vcenterMetricScraper) collectHost( ) v.addVSANMetrics(*vsanCsvs, entityRef, hostType, errs) } + v.mb.EmitForResource( + metadata.WithVcenterHostName(host.Name()), + metadata.WithVcenterClusterName(cluster.Name()), + ) } func (v *vcenterMetricScraper) collectResourcePools( From f51f366967e3b12467e53a77f2c16f23cbd860f9 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 12:29:43 -0400 Subject: [PATCH 054/105] looking into race conditions --- receiver/vcenterreceiver/client.go | 7 ++++++- receiver/vcenterreceiver/factory.go | 11 +++++++++-- receiver/vcenterreceiver/factory_test.go | 5 +++-- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index 4ba5a49db1beb..920aa013b59d8 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -19,6 +19,7 @@ import ( "errors" "fmt" "net/url" + "sync" "time" "github.com/vmware/govmomi" @@ -40,11 +41,13 @@ type vcenterClient struct { finder *find.Finder pc *property.Collector cfg *Config + clientLock *sync.RWMutex } func newVmwarevcenterClient(c *Config) *vcenterClient { return &vcenterClient{ - cfg: c, + cfg: c, + clientLock: &sync.RWMutex{}, } } @@ -54,7 +57,9 @@ func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { if err != nil { return err } + vc.clientLock.Lock() client, err := govmomi.NewClient(ctx, sdkURL, vc.cfg.MetricsConfig.Insecure) + vc.clientLock.Unlock() if err != nil { return fmt.Errorf("unable to connect to vSphere SDK on listed endpoint: %w", err) } diff --git a/receiver/vcenterreceiver/factory.go b/receiver/vcenterreceiver/factory.go index e1ab8cb9a5339..9889c492bafb2 100644 --- a/receiver/vcenterreceiver/factory.go +++ b/receiver/vcenterreceiver/factory.go @@ -17,6 +17,7 @@ package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-colle import ( "context" "errors" + "sync" "time" "go.opentelemetry.io/collector/component" @@ -33,13 +34,15 @@ const ( ) type vcenterReceiverFactory struct { - receivers map[*Config]*vcenterReceiver + receivers map[*Config]*vcenterReceiver + receiverLock *sync.RWMutex } // NewFactory returns the receiver factory for the vcenterreceiver func NewFactory() component.ReceiverFactory { f := &vcenterReceiverFactory{ - receivers: make(map[*Config]*vcenterReceiver), + receivers: make(map[*Config]*vcenterReceiver), + receiverLock: &sync.RWMutex{}, } return component.NewReceiverFactory( typeStr, @@ -62,7 +65,9 @@ func createDefaultConfig() config.Receiver { } func (f *vcenterReceiverFactory) ensureReceiver(params component.ReceiverCreateSettings, config config.Receiver) *vcenterReceiver { + f.receiverLock.RLock() receiver := f.receivers[config.(*Config)] + f.receiverLock.RUnlock() if receiver != nil { return receiver } @@ -71,7 +76,9 @@ func (f *vcenterReceiverFactory) ensureReceiver(params component.ReceiverCreateS logger: params.Logger, config: rconfig, } + f.receiverLock.Lock() f.receivers[config.(*Config)] = receiver + f.receiverLock.Unlock() return receiver } diff --git a/receiver/vcenterreceiver/factory_test.go b/receiver/vcenterreceiver/factory_test.go index 4f4bd1a56bfe0..cceb5492da7bf 100644 --- a/receiver/vcenterreceiver/factory_test.go +++ b/receiver/vcenterreceiver/factory_test.go @@ -16,6 +16,7 @@ package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-colle import ( "context" + "sync" "testing" "github.com/stretchr/testify/require" @@ -26,7 +27,8 @@ import ( func TestCreateMetricsReceiver(t *testing.T) { f := vcenterReceiverFactory{ - receivers: make(map[*Config]*vcenterReceiver), + receivers: make(map[*Config]*vcenterReceiver), + receiverLock: &sync.RWMutex{}, } testCases := []struct { desc string @@ -49,7 +51,6 @@ func TestCreateMetricsReceiver(t *testing.T) { desc: "Nil config", testFn: func(t *testing.T) { t.Parallel() - _, err := f.createMetricsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), From c0f7609afb20a28c45826ad309fe01ae8446e6e0 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 12:37:43 -0400 Subject: [PATCH 055/105] run go tidy --- receiver/vcenterreceiver/go.sum | 440 -------------------------------- 1 file changed, 440 deletions(-) diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 2f79bf7bcbfbf..8e1042e9b1aeb 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -1,48 +1,6 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -code.cloudfoundry.org/bytefmt v0.0.0-20190710193110-1eb035ffe2b6/go.mod h1:wN/zk7mhREp/oviagqUXY3EwuHhWyOvAdsn5Y4CzOrc= -contrib.go.opencensus.io/exporter/prometheus v0.4.1/go.mod h1:t9wvfitlUjGXG2IXAZsuFq26mDGid/JwCEXp+gTG/9U= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= @@ -57,28 +15,10 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21 github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -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.1.2/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/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -87,107 +27,50 @@ github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892/go.mod h1:CTDl0pzVz github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= 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.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/frankban/quicktest v1.4.0/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ= -github.com/frankban/quicktest v1.14.0/go.mod h1:NeW+ay9A/U67EYXNFA1nPE8e/tnQv/09mUdL/ijj8og= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= 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-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -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/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/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.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/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/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/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= @@ -210,46 +93,24 @@ github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoI github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.14.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/knadh/koanf v1.4.1 h1:Z0VGW/uo8NJmjd+L1Dc3S5frq6c62w5xQ9Yf4Mg3wFQ= github.com/knadh/koanf v1.4.1/go.mod h1:1cfH5223ZeZUOs8FU2UdTmaNfHpqgtjV0+NHjRO43gs= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= @@ -264,105 +125,43 @@ github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mostynb/go-grpc-compression v1.1.16/go.mod h1:xxa6UoYynYS2h+5HB/Hglu81iYAp87ARaNmhhwi0s1s= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0 h1:AryXrR1fsgC3+L01Z/jiAgLsIrUHZQvgC2Pau33EJFo= github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0/go.mod h1:XrwT/hZkbbWu31L9ynvU8xMortX2kd3BAykbO4OLGCE= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pierrec/cmdflag v0.0.2/go.mod h1:a3zKGZ3cdQUfxjd0RGMLZr8xI3nvpJOB+m6o/1X5BmU= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4/v3 v3.3.4/go.mod h1:280XNCGS8jAcG++AHdd6SeWnzyJ1w9oow2vbORyey8Q= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.33.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/schollz/progressbar/v2 v2.13.2/go.mod h1:6YZjqdthH6SCZKv2rqGryrxPtfmRB/DWZxSMfCXPyD8= -github.com/shirou/gopsutil/v3 v3.22.3/go.mod h1:D01hZJ4pVHPpCTZ3m3T2+wDF2YAGfd+H4ifUguaQzHM= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= -github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/vmware/govmomi v0.27.4 h1:5kY8TAkhB20lsjzrjE073eRb8+HixBI29PVMG5lxq6I= github.com/vmware/govmomi v0.27.4/go.mod h1:daTuJEcQosNMXYJOeku0qdBJP9SOLLWB3Mqz8THtv6o= github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/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/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= -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.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/collector v0.49.0 h1:brKMIUwlL1bt0Faxqqxvj7549KWm9FEN77Z4i4RAlDE= @@ -371,26 +170,13 @@ go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7s go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw= go.opentelemetry.io/collector/pdata v0.49.0 h1:aYj5rOlRC0x7lGXbc185LMsMMoY/pjOTXr5s1O2SzXs= go.opentelemetry.io/collector/pdata v0.49.0/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0/go.mod h1:SY9qHHUES6W3oZnO1H2W8NvsSovIoXRg/A1AH9px8+I= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0/go.mod h1:PFmBsWbldL1kiWZk9+0LBZz2brhByaGsvp6pRICMlPE= -go.opentelemetry.io/contrib/zpages v0.31.0/go.mod h1:CAB55C1K7YhinQfNNIdNLgJJ+dVRlb6zQpbGQjeIDf8= -go.opentelemetry.io/otel v1.6.0/go.mod h1:bfJD2DZVw0LBxghOTlgnlI0CV3hLDu9XF/QKOUXMTQQ= -go.opentelemetry.io/otel v1.6.1/go.mod h1:blzUabWHkX6LJewxvadmzafgh/wnvBSDBdOuwkAtrWQ= go.opentelemetry.io/otel v1.6.3 h1:FLOfo8f9JzFVFVyU+MSRJc2HdEAXQgm7pIv2uFKRSZE= go.opentelemetry.io/otel v1.6.3/go.mod h1:7BgNga5fNlF/iZjG06hM3yofffp0ofKCDwSXx1GC4dI= -go.opentelemetry.io/otel/exporters/prometheus v0.29.0/go.mod h1:Er2VVJQZbHysogooLNchdZ3MLYoI7+d15mHmrRlRJCU= -go.opentelemetry.io/otel/metric v0.28.0/go.mod h1:TrzsfQAmQaB1PDcdhBauLMk7nyyg9hm+GoQq/ekE9Iw= go.opentelemetry.io/otel/metric v0.29.0 h1:7unM/I13Dbc1VHw8lTPQ7zfNIgkhcb8BZhujXOS4jKc= go.opentelemetry.io/otel/metric v0.29.0/go.mod h1:HahKFp1OC1RNTsuO/HNMBHHJR+dmHZ7wLARRgGDwjLQ= -go.opentelemetry.io/otel/sdk v1.6.1/go.mod h1:IVYrddmFZ+eJqu2k38qD3WezFR2pymCzm8tdxyh3R4E= go.opentelemetry.io/otel/sdk v1.6.3 h1:prSHYdwCQOX5DrsEzxowH3nLhoAzEBdZhvrR79scfLs= -go.opentelemetry.io/otel/sdk v1.6.3/go.mod h1:A4iWF7HTXa+GWL/AaqESz28VuSBIcZ+0CV+IzJ5NMiQ= -go.opentelemetry.io/otel/sdk/metric v0.29.0/go.mod h1:IFkFNKI8Gq8zBdqOKdODCL9+LInBZLXaGpqSIKphNuU= -go.opentelemetry.io/otel/trace v1.6.0/go.mod h1:qs7BrU5cZ8dXQHBGxHMOxwME/27YH2qEp4/+tZLLwJE= -go.opentelemetry.io/otel/trace v1.6.1/go.mod h1:RkFRM1m0puWIq10oxImnGEduNBzxiN7TXluRBtE+5j0= go.opentelemetry.io/otel/trace v1.6.3 h1:IqN4L+5b0mPNjdXIiZ90Ni4Bl5BRkDQywePLWemd9bc= go.opentelemetry.io/otel/trace v1.6.3/go.mod h1:GNJQusJlUgZl9/TQBPKU/Y/ty+0iVB5fjhKeJGZPGFs= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -401,204 +187,63 @@ go.uber.org/multierr v1.8.0 h1:dg6GjLku4EH+249NNmoIciG9N/jURbDG+pFlTkhzIC8= go.uber.org/multierr v1.8.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= 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= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= 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/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= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -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-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= 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.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= 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= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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/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= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/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-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 h1:8IVLkfbr2cLhv0a/vKq4UFUcJym8RmDoDboxCFWEjYE= golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -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= golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -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/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= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -606,80 +251,19 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -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.6/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= google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= 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= @@ -688,43 +272,19 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= 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.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= 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= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= From 60ab40866370dcce5730c8f1095dd1af43be7798 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 13:08:55 -0400 Subject: [PATCH 056/105] fix import order and remove unneccessary mutex --- receiver/vcenterreceiver/client.go | 5 +---- receiver/vcenterreceiver/integration_test.go | 1 - 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index 920aa013b59d8..d4e89aad73216 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -46,8 +46,7 @@ type vcenterClient struct { func newVmwarevcenterClient(c *Config) *vcenterClient { return &vcenterClient{ - cfg: c, - clientLock: &sync.RWMutex{}, + cfg: c, } } @@ -57,9 +56,7 @@ func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { if err != nil { return err } - vc.clientLock.Lock() client, err := govmomi.NewClient(ctx, sdkURL, vc.cfg.MetricsConfig.Insecure) - vc.clientLock.Unlock() if err != nil { return fmt.Errorf("unable to connect to vSphere SDK on listed endpoint: %w", err) } diff --git a/receiver/vcenterreceiver/integration_test.go b/receiver/vcenterreceiver/integration_test.go index f3d7d3f346ee4..df921b9b5254f 100644 --- a/receiver/vcenterreceiver/integration_test.go +++ b/receiver/vcenterreceiver/integration_test.go @@ -28,7 +28,6 @@ import ( "github.com/vmware/govmomi/simulator" "github.com/vmware/govmomi/vim25" _ "github.com/vmware/govmomi/vsan/simulator" - "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/config/configtls" "go.uber.org/zap" From 981f3991da0fa9d39a88db328e7205c09c9b2209 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 13:46:33 -0400 Subject: [PATCH 057/105] remove mutex from struct --- receiver/vcenterreceiver/client.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index d4e89aad73216..4ba5a49db1beb 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -19,7 +19,6 @@ import ( "errors" "fmt" "net/url" - "sync" "time" "github.com/vmware/govmomi" @@ -41,7 +40,6 @@ type vcenterClient struct { finder *find.Finder pc *property.Collector cfg *Config - clientLock *sync.RWMutex } func newVmwarevcenterClient(c *Config) *vcenterClient { From 39f402c5895479d76f6e329b59198bda4b765bd9 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 15:20:11 -0400 Subject: [PATCH 058/105] refactor client to responsible for knowing if the vsan endpoints are reachable --- receiver/vcenterreceiver/client.go | 38 +++++++++++++++---- receiver/vcenterreceiver/scraper.go | 59 +++++++++++------------------ 2 files changed, 54 insertions(+), 43 deletions(-) diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index 4ba5a49db1beb..db59a4d48815d 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -16,7 +16,6 @@ package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-colle import ( "context" - "errors" "fmt" "net/url" "time" @@ -48,6 +47,7 @@ func newVmwarevcenterClient(c *Config) *vcenterClient { } } +// EnsureConnection will establish a connection to the vSphere SDK if not already established func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { if vc.moClient == nil { sdkURL, err := vc.cfg.SDKUrl() @@ -72,10 +72,13 @@ func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { vc.vimDriver = client.Client vc.pc = property.DefaultCollector(vc.vimDriver) vc.finder = find.NewFinder(vc.vimDriver) + // swallowing error because not all vCenters need vSAN API enabled + _ = vc.connectVSAN(ctx) } return nil } +// Disconnect will logout of the autenticated session func (vc *vcenterClient) Disconnect(ctx context.Context) error { if vc.moClient != nil { return vc.moClient.Logout(ctx) @@ -83,7 +86,9 @@ func (vc *vcenterClient) Disconnect(ctx context.Context) error { return nil } -func (vc *vcenterClient) ConnectVSAN(ctx context.Context) error { +// connectVSAN ensures that the underlying vSAN client is initialized if the vCenter supports vSAN storage +// Not all vCenter environments will have vSAN storage enabled. +func (vc *vcenterClient) connectVSAN(ctx context.Context) error { if vc.vsanDriver == nil { vsanDriver, err := vsan.NewClient(ctx, vc.vimDriver) if err != nil { @@ -94,6 +99,7 @@ func (vc *vcenterClient) ConnectVSAN(ctx context.Context) error { return nil } +// Clusters returns the clusterComputeResources of the vSphere SDK func (vc *vcenterClient) Clusters(ctx context.Context) ([]*object.ClusterComputeResource, error) { clusters, err := vc.finder.ClusterComputeResourceList(ctx, "*") if err != nil { @@ -102,6 +108,7 @@ func (vc *vcenterClient) Clusters(ctx context.Context) ([]*object.ClusterCompute return clusters, nil } +// ResourcePools returns the resourcePools in the vSphere SDK func (vc *vcenterClient) ResourcePools(ctx context.Context) ([]*object.ResourcePool, error) { rps, err := vc.finder.ResourcePoolList(ctx, "*") if err != nil { @@ -118,15 +125,18 @@ func (vc *vcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachine, err return rps, err } +// VSANCluster returns back vSAN performance metrics for a cluster reference func (vc *vcenterClient) VSANCluster( ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time, ) (*[]types.VsanPerfEntityMetricCSV, error) { + // not all vCenters support vSAN so just return an empty result if vc.vsanDriver == nil { - return nil, errors.New("vsan client not instantiated") + return &[]types.VsanPerfEntityMetricCSV{}, nil } + querySpec := []types.VsanPerfQuerySpec{ { EntityRefId: "cluster-domclient:*", @@ -137,9 +147,17 @@ func (vc *vcenterClient) VSANCluster( return vc.queryVsan(ctx, clusterRef, querySpec) } -func (vc *vcenterClient) VSANHosts(ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time) (*[]types.VsanPerfEntityMetricCSV, error) { +// VSANHosts returns back vSAN performance metrics for a host reference +// will return nil +func (vc *vcenterClient) VSANHosts( + ctx context.Context, + clusterRef *vt.ManagedObjectReference, + startTime time.Time, + endTime time.Time, +) (*[]types.VsanPerfEntityMetricCSV, error) { + // not all vCenters support vSAN so just return an empty result if vc.vsanDriver == nil { - return nil, errors.New("vsan client not instantiated") + return &[]types.VsanPerfEntityMetricCSV{}, nil } querySpec := []types.VsanPerfQuerySpec{ { @@ -151,14 +169,16 @@ func (vc *vcenterClient) VSANHosts(ctx context.Context, clusterRef *vt.ManagedOb return vc.queryVsan(ctx, clusterRef, querySpec) } +// VSANHosts returns back vSAN performance metrics for a virtual machine reference func (vc *vcenterClient) VSANVirtualMachines( ctx context.Context, clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time, ) (*[]types.VsanPerfEntityMetricCSV, error) { + // not all vCenters support vSAN so just return an empty result if vc.vsanDriver == nil { - return nil, errors.New("vsan client not instantiated") + return &[]types.VsanPerfEntityMetricCSV{}, nil } querySpec := []types.VsanPerfQuerySpec{ @@ -202,7 +222,11 @@ func (vc *vcenterClient) performanceQuery( }, nil } -func (vc *vcenterClient) queryVsan(ctx context.Context, ref *vt.ManagedObjectReference, qs []types.VsanPerfQuerySpec) (*[]types.VsanPerfEntityMetricCSV, error) { +func (vc *vcenterClient) queryVsan( + ctx context.Context, + ref *vt.ManagedObjectReference, + qs []types.VsanPerfQuerySpec, +) (*[]types.VsanPerfEntityMetricCSV, error) { CSVs, err := vc.vsanDriver.VsanPerfQueryPerf(ctx, ref, qs) if err != nil { return nil, err diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 805987cb00745..3d3cfde27054b 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -37,11 +37,10 @@ const timeFormat = "2006-01-02 15:04:05" var _ component.Receiver = (*vcenterMetricScraper)(nil) type vcenterMetricScraper struct { - client *vcenterClient - config *Config - mb *metadata.MetricsBuilder - logger *zap.Logger - vsanEnabled bool + client *vcenterClient + config *Config + mb *metadata.MetricsBuilder + logger *zap.Logger } func newVmwareVcenterScraper( @@ -50,11 +49,10 @@ func newVmwareVcenterScraper( ) *vcenterMetricScraper { client := newVmwarevcenterClient(config) return &vcenterMetricScraper{ - client: client, - config: config, - logger: logger, - mb: metadata.NewMetricsBuilder(config.MetricsConfig.Metrics), - vsanEnabled: true, + client: client, + config: config, + logger: logger, + mb: metadata.NewMetricsBuilder(config.MetricsConfig.Metrics), } } @@ -76,12 +74,7 @@ func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error return pdata.NewMetrics(), fmt.Errorf("unable to connect to vSphere SDK: %w", err) } - err := v.client.ConnectVSAN(ctx) - if err != nil { - // vsan is not required for a proper collection - v.vsanEnabled = false - } - err = v.collectClusters(ctx) + err := v.collectClusters(ctx) return v.mb.Emit(), err } @@ -119,15 +112,13 @@ func (v *vcenterMetricScraper) collectCluster( v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumHosts-s.NumEffectiveHosts), "false") v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumEffectiveHosts), "true") - if v.vsanEnabled { - mor := c.Reference() - csvs, err := v.client.VSANCluster(ctx, &mor, time.Now().UTC(), time.Now().UTC()) - if err != nil { - errs.AddPartial(1, err) - } - if csvs != nil { - v.addVSANMetrics(*csvs, "*", clusterType, errs) - } + mor := c.Reference() + csvs, err := v.client.VSANCluster(ctx, &mor, time.Now().UTC(), time.Now().UTC()) + if err != nil { + errs.AddPartial(1, err) + } + if csvs != nil { + v.addVSANMetrics(*csvs, "*", clusterType, errs) } v.mb.EmitForResource( @@ -180,11 +171,9 @@ func (v *vcenterMetricScraper) collectHosts( clusterRef := cluster.Reference() var hostVsanCSVs *[]types.VsanPerfEntityMetricCSV - if v.vsanEnabled { - hostVsanCSVs, err = v.client.VSANHosts(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) - if err != nil { - errs.AddPartial(1, err) - } + hostVsanCSVs, err = v.client.VSANHosts(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) + if err != nil { + errs.AddPartial(1, err) } for _, h := range hosts { @@ -261,12 +250,10 @@ func (v *vcenterMetricScraper) collectVMs( } var vsanCsvs *[]types.VsanPerfEntityMetricCSV - if v.vsanEnabled { - clusterRef := cluster.Reference() - vsanCsvs, err = v.client.VSANVirtualMachines(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) - if err != nil { - errs.AddPartial(1, err) - } + clusterRef := cluster.Reference() + vsanCsvs, err = v.client.VSANVirtualMachines(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) + if err != nil { + errs.AddPartial(1, err) } poweredOffVMs := 0 From 4f2374cf24dff5f3bcec15c1dec5d8c58616ff87 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 15:36:12 -0400 Subject: [PATCH 059/105] fix integration test referencing old var --- receiver/vcenterreceiver/integration_test.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/receiver/vcenterreceiver/integration_test.go b/receiver/vcenterreceiver/integration_test.go index df921b9b5254f..b1edf4cf07cc9 100644 --- a/receiver/vcenterreceiver/integration_test.go +++ b/receiver/vcenterreceiver/integration_test.go @@ -51,8 +51,6 @@ func TestEndtoEnd_ESX(t *testing.T) { } scraper.client.vimDriver = c scraper.client.finder = find.NewFinder(c) - // TODO: reenable after this is resolved => https://github.com/vmware/govmomi/issues/2813 - scraper.vsanEnabled = false rcvr := &vcenterReceiver{ config: cfg, From a07307e472a24a0ad845dd0c0561181d73b35033 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 16:28:59 -0400 Subject: [PATCH 060/105] change metrics.metrics => metrics.settings, update client pr feedback --- receiver/vcenterreceiver/README.md | 2 +- receiver/vcenterreceiver/client.go | 73 ++++++++++++++--------------- receiver/vcenterreceiver/config.go | 2 +- receiver/vcenterreceiver/factory.go | 2 +- receiver/vcenterreceiver/scraper.go | 22 ++++----- 5 files changed, 47 insertions(+), 54 deletions(-) diff --git a/receiver/vcenterreceiver/README.md b/receiver/vcenterreceiver/README.md index 6c2fe08ebb3b1..460ba53939f9c 100644 --- a/receiver/vcenterreceiver/README.md +++ b/receiver/vcenterreceiver/README.md @@ -47,7 +47,7 @@ receivers: username: otelu password: $VCENTER_PASSWORD collection_interval: 5m - metrics: [] + settings: [] ``` The full list of settings exposed for this receiver are documented [here](./config.go) with detailed sample configurations [here](./testdata/config.yaml). TLS config is documented further under the [opentelemetry collector's configtls package](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md). diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index db59a4d48815d..f5ea53d9a4b21 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -49,32 +49,35 @@ func newVmwarevcenterClient(c *Config) *vcenterClient { // EnsureConnection will establish a connection to the vSphere SDK if not already established func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { - if vc.moClient == nil { - sdkURL, err := vc.cfg.SDKUrl() - if err != nil { - return err - } - client, err := govmomi.NewClient(ctx, sdkURL, vc.cfg.MetricsConfig.Insecure) - if err != nil { - return fmt.Errorf("unable to connect to vSphere SDK on listed endpoint: %w", err) - } - tlsCfg, err := vc.cfg.MetricsConfig.LoadTLSConfig() - if err != nil { - return err - } - client.DefaultTransport().TLSClientConfig = tlsCfg - user := url.UserPassword(vc.cfg.MetricsConfig.Username, vc.cfg.MetricsConfig.Password) - err = client.Login(ctx, user) - if err != nil { - return fmt.Errorf("unable to login to vcenter sdk: %w", err) - } - vc.moClient = client - vc.vimDriver = client.Client - vc.pc = property.DefaultCollector(vc.vimDriver) - vc.finder = find.NewFinder(vc.vimDriver) - // swallowing error because not all vCenters need vSAN API enabled - _ = vc.connectVSAN(ctx) + if vc.moClient != nil { + return nil + } + + sdkURL, err := vc.cfg.SDKUrl() + if err != nil { + return err + } + client, err := govmomi.NewClient(ctx, sdkURL, vc.cfg.MetricsConfig.Insecure) + if err != nil { + return fmt.Errorf("unable to connect to vSphere SDK on listed endpoint: %w", err) + } + tlsCfg, err := vc.cfg.MetricsConfig.LoadTLSConfig() + if err != nil { + return err } + client.DefaultTransport().TLSClientConfig = tlsCfg + user := url.UserPassword(vc.cfg.MetricsConfig.Username, vc.cfg.MetricsConfig.Password) + err = client.Login(ctx, user) + if err != nil { + return fmt.Errorf("unable to login to vcenter sdk: %w", err) + } + vc.moClient = client + vc.vimDriver = client.Client + vc.pc = property.DefaultCollector(vc.vimDriver) + vc.finder = find.NewFinder(vc.vimDriver) + // swallowing error because not all vCenters need vSAN API enabled + _ = vc.connectVSAN(ctx) + return nil } @@ -131,10 +134,10 @@ func (vc *vcenterClient) VSANCluster( clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time, -) (*[]types.VsanPerfEntityMetricCSV, error) { +) ([]types.VsanPerfEntityMetricCSV, error) { // not all vCenters support vSAN so just return an empty result if vc.vsanDriver == nil { - return &[]types.VsanPerfEntityMetricCSV{}, nil + return []types.VsanPerfEntityMetricCSV{}, nil } querySpec := []types.VsanPerfQuerySpec{ @@ -154,10 +157,10 @@ func (vc *vcenterClient) VSANHosts( clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time, -) (*[]types.VsanPerfEntityMetricCSV, error) { +) ([]types.VsanPerfEntityMetricCSV, error) { // not all vCenters support vSAN so just return an empty result if vc.vsanDriver == nil { - return &[]types.VsanPerfEntityMetricCSV{}, nil + return []types.VsanPerfEntityMetricCSV{}, nil } querySpec := []types.VsanPerfQuerySpec{ { @@ -175,10 +178,10 @@ func (vc *vcenterClient) VSANVirtualMachines( clusterRef *vt.ManagedObjectReference, startTime time.Time, endTime time.Time, -) (*[]types.VsanPerfEntityMetricCSV, error) { +) ([]types.VsanPerfEntityMetricCSV, error) { // not all vCenters support vSAN so just return an empty result if vc.vsanDriver == nil { - return &[]types.VsanPerfEntityMetricCSV{}, nil + return []types.VsanPerfEntityMetricCSV{}, nil } querySpec := []types.VsanPerfQuerySpec{ @@ -226,10 +229,6 @@ func (vc *vcenterClient) queryVsan( ctx context.Context, ref *vt.ManagedObjectReference, qs []types.VsanPerfQuerySpec, -) (*[]types.VsanPerfEntityMetricCSV, error) { - CSVs, err := vc.vsanDriver.VsanPerfQueryPerf(ctx, ref, qs) - if err != nil { - return nil, err - } - return &CSVs, nil +) ([]types.VsanPerfEntityMetricCSV, error) { + return vc.vsanDriver.VsanPerfQueryPerf(ctx, ref, qs) } diff --git a/receiver/vcenterreceiver/config.go b/receiver/vcenterreceiver/config.go index 62325efe39fbf..cf9b12dc79a45 100644 --- a/receiver/vcenterreceiver/config.go +++ b/receiver/vcenterreceiver/config.go @@ -37,7 +37,7 @@ type Config struct { type MetricsConfig struct { scraperhelper.ScraperControllerSettings `mapstructure:",squash"` configtls.TLSClientSetting `mapstructure:"tls,omitempty"` - Metrics metadata.MetricsSettings `mapstructure:"metrics"` + Settings metadata.MetricsSettings `mapstructure:"settings"` Endpoint string `mapstructure:"endpoint"` Username string `mapstructure:"username"` Password string `mapstructure:"password"` diff --git a/receiver/vcenterreceiver/factory.go b/receiver/vcenterreceiver/factory.go index 9889c492bafb2..8994ec84fef88 100644 --- a/receiver/vcenterreceiver/factory.go +++ b/receiver/vcenterreceiver/factory.go @@ -59,7 +59,7 @@ func createDefaultConfig() config.Receiver { CollectionInterval: 2 * time.Minute, }, TLSClientSetting: configtls.TLSClientSetting{}, - Metrics: metadata.DefaultMetricsSettings(), + Settings: metadata.DefaultMetricsSettings(), }, } } diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 3d3cfde27054b..07a1fc7d5afc5 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -52,7 +52,7 @@ func newVmwareVcenterScraper( client: client, config: config, logger: logger, - mb: metadata.NewMetricsBuilder(config.MetricsConfig.Metrics), + mb: metadata.NewMetricsBuilder(config.MetricsConfig.Settings), } } @@ -117,9 +117,7 @@ func (v *vcenterMetricScraper) collectCluster( if err != nil { errs.AddPartial(1, err) } - if csvs != nil { - v.addVSANMetrics(*csvs, "*", clusterType, errs) - } + v.addVSANMetrics(csvs, "*", clusterType, errs) v.mb.EmitForResource( metadata.WithVcenterClusterName(c.Name()), @@ -170,8 +168,7 @@ func (v *vcenterMetricScraper) collectHosts( } clusterRef := cluster.Reference() - var hostVsanCSVs *[]types.VsanPerfEntityMetricCSV - hostVsanCSVs, err = v.client.VSANHosts(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) + hostVsanCSVs, err := v.client.VSANHosts(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) if err != nil { errs.AddPartial(1, err) } @@ -186,7 +183,7 @@ func (v *vcenterMetricScraper) collectHost( now pdata.Timestamp, host *object.HostSystem, cluster *object.ClusterComputeResource, - vsanCsvs *[]types.VsanPerfEntityMetricCSV, + vsanCsvs []types.VsanPerfEntityMetricCSV, errs *scrapererror.ScrapeErrors, ) { var hwSum mo.HostSystem @@ -207,7 +204,7 @@ func (v *vcenterMetricScraper) collectHost( entityRef := fmt.Sprintf("host-domclient:%v", hwSum.Config.VsanHostConfig.ClusterInfo.NodeUuid, ) - v.addVSANMetrics(*vsanCsvs, entityRef, hostType, errs) + v.addVSANMetrics(vsanCsvs, entityRef, hostType, errs) } v.mb.EmitForResource( metadata.WithVcenterHostName(host.Name()), @@ -249,7 +246,7 @@ func (v *vcenterMetricScraper) collectVMs( return } - var vsanCsvs *[]types.VsanPerfEntityMetricCSV + var vsanCsvs []types.VsanPerfEntityMetricCSV clusterRef := cluster.Reference() vsanCsvs, err = v.client.VSANVirtualMachines(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) if err != nil { @@ -306,15 +303,12 @@ func (v *vcenterMetricScraper) collectVM( colTime pdata.Timestamp, vm mo.VirtualMachine, entityRefID string, - vsanCsvs *[]types.VsanPerfEntityMetricCSV, + vsanCsvs []types.VsanPerfEntityMetricCSV, errs *scrapererror.ScrapeErrors, ) { v.recordVMUsages(colTime, vm) v.recordVMPerformance(ctx, vm, errs) - - if vsanCsvs != nil { - v.addVSANMetrics(*vsanCsvs, entityRefID, vmType, errs) - } + v.addVSANMetrics(vsanCsvs, entityRefID, vmType, errs) } type vsanType int From 5d62c140a8b0e4d06e043c8ea9db84a782763625 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 16:43:05 -0400 Subject: [PATCH 061/105] remove vSAN collection temporarily --- receiver/vcenterreceiver/client.go | 104 +- receiver/vcenterreceiver/documentation.md | 15 - .../internal/metadata/generated_metrics_v2.go | 1135 ++--------------- receiver/vcenterreceiver/metadata.yaml | 133 +- receiver/vcenterreceiver/metrics.go | 244 ---- receiver/vcenterreceiver/scraper.go | 84 +- 6 files changed, 96 insertions(+), 1619 deletions(-) diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index f5ea53d9a4b21..c51ff843b8c73 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -18,7 +18,6 @@ import ( "context" "fmt" "net/url" - "time" "github.com/vmware/govmomi" "github.com/vmware/govmomi/find" @@ -27,18 +26,15 @@ import ( "github.com/vmware/govmomi/property" "github.com/vmware/govmomi/vim25" vt "github.com/vmware/govmomi/vim25/types" - "github.com/vmware/govmomi/vsan" - "github.com/vmware/govmomi/vsan/types" ) // vcenterClient is a client that type vcenterClient struct { - moClient *govmomi.Client - vimDriver *vim25.Client - vsanDriver *vsan.Client - finder *find.Finder - pc *property.Collector - cfg *Config + moClient *govmomi.Client + vimDriver *vim25.Client + finder *find.Finder + pc *property.Collector + cfg *Config } func newVmwarevcenterClient(c *Config) *vcenterClient { @@ -75,9 +71,6 @@ func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { vc.vimDriver = client.Client vc.pc = property.DefaultCollector(vc.vimDriver) vc.finder = find.NewFinder(vc.vimDriver) - // swallowing error because not all vCenters need vSAN API enabled - _ = vc.connectVSAN(ctx) - return nil } @@ -89,19 +82,6 @@ func (vc *vcenterClient) Disconnect(ctx context.Context) error { return nil } -// connectVSAN ensures that the underlying vSAN client is initialized if the vCenter supports vSAN storage -// Not all vCenter environments will have vSAN storage enabled. -func (vc *vcenterClient) connectVSAN(ctx context.Context) error { - if vc.vsanDriver == nil { - vsanDriver, err := vsan.NewClient(ctx, vc.vimDriver) - if err != nil { - return err - } - vc.vsanDriver = vsanDriver - } - return nil -} - // Clusters returns the clusterComputeResources of the vSphere SDK func (vc *vcenterClient) Clusters(ctx context.Context) ([]*object.ClusterComputeResource, error) { clusters, err := vc.finder.ClusterComputeResourceList(ctx, "*") @@ -128,72 +108,6 @@ func (vc *vcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachine, err return rps, err } -// VSANCluster returns back vSAN performance metrics for a cluster reference -func (vc *vcenterClient) VSANCluster( - ctx context.Context, - clusterRef *vt.ManagedObjectReference, - startTime time.Time, - endTime time.Time, -) ([]types.VsanPerfEntityMetricCSV, error) { - // not all vCenters support vSAN so just return an empty result - if vc.vsanDriver == nil { - return []types.VsanPerfEntityMetricCSV{}, nil - } - - querySpec := []types.VsanPerfQuerySpec{ - { - EntityRefId: "cluster-domclient:*", - StartTime: &startTime, - EndTime: &endTime, - }, - } - return vc.queryVsan(ctx, clusterRef, querySpec) -} - -// VSANHosts returns back vSAN performance metrics for a host reference -// will return nil -func (vc *vcenterClient) VSANHosts( - ctx context.Context, - clusterRef *vt.ManagedObjectReference, - startTime time.Time, - endTime time.Time, -) ([]types.VsanPerfEntityMetricCSV, error) { - // not all vCenters support vSAN so just return an empty result - if vc.vsanDriver == nil { - return []types.VsanPerfEntityMetricCSV{}, nil - } - querySpec := []types.VsanPerfQuerySpec{ - { - EntityRefId: "host-domclient:*", - StartTime: &startTime, - EndTime: &endTime, - }, - } - return vc.queryVsan(ctx, clusterRef, querySpec) -} - -// VSANHosts returns back vSAN performance metrics for a virtual machine reference -func (vc *vcenterClient) VSANVirtualMachines( - ctx context.Context, - clusterRef *vt.ManagedObjectReference, - startTime time.Time, - endTime time.Time, -) ([]types.VsanPerfEntityMetricCSV, error) { - // not all vCenters support vSAN so just return an empty result - if vc.vsanDriver == nil { - return []types.VsanPerfEntityMetricCSV{}, nil - } - - querySpec := []types.VsanPerfQuerySpec{ - { - EntityRefId: "virtual-machine:*", - StartTime: &startTime, - EndTime: &endTime, - }, - } - return vc.queryVsan(ctx, clusterRef, querySpec) -} - type perfSampleResult struct { counters map[string]*vt.PerfCounterInfo results []performance.EntityMetric @@ -224,11 +138,3 @@ func (vc *vcenterClient) performanceQuery( results: result, }, nil } - -func (vc *vcenterClient) queryVsan( - ctx context.Context, - ref *vt.ManagedObjectReference, - qs []types.VsanPerfQuerySpec, -) ([]types.VsanPerfEntityMetricCSV, error) { - return vc.vsanDriver.VsanPerfQueryPerf(ctx, ref, qs) -} diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index 97636cfcde015..43e6610f7fdb3 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -16,11 +16,6 @@ These are the metrics available for this scraper. | **vcenter.cluster.memory.limit** | The available memory of the cluster. | By | Sum(Int) |
| | **vcenter.cluster.memory.used** | The memory that is currently used by the cluster. | By | Sum(Int) |
| | **vcenter.cluster.vm.count** | the number of virtual machines in the cluster. | {virtual_machines} | Sum(Int) |
  • vm_count_power_state
| -| **vcenter.cluster.vsan.congestions** | Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. | {congestions/sec} | Sum(Int) |
| -| **vcenter.cluster.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients in the cluster. | µs | Sum(Int) |
  • vsan_latency_type
| -| **vcenter.cluster.vsan.operations** | IOPS consumed by all vSAN clients in the cluster. | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| -| **vcenter.cluster.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the cluster. | {operations} | Sum(Int) |
| -| **vcenter.cluster.vsan.throughput** | Throughput consumed by all vSAN clients in the cluster. | By/sec | Sum(Int) |
  • vsan_throughput_direction
| | **vcenter.datastore.disk.usage** | The amount of space in the datastore. | By | Sum(Int) |
  • disk_state
| | **vcenter.datastore.disk.utilization** | The utilization of the datastore. | % | Gauge(Double) |
| | **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host. | MHz | Sum(Int) |
| @@ -34,13 +29,6 @@ These are the metrics available for this scraper. | **vcenter.host.network.packets** | The number of packets sent over an interval. | {packets/sec} | Sum(Int) |
  • throughput_direction
| | **vcenter.host.network.throughput** | The amount of data that was sent or received over the network by the host. | {KBy/s} | Sum(Int) |
  • throughput_direction
| | **vcenter.host.network.usage** | The sum of the data transmitted and received for all the NIC instances of the host. | {KBy/s} | Sum(Int) |
| -| **vcenter.host.vsan.cache.hit_rate** | Percentage of read IOs which could be satisfied by the local client cache. | % | Gauge(Double) |
| -| **vcenter.host.vsan.cache.reads** | Average latency of IOs generated by all vSAN clients on the host. | {operations/sec} | Sum(Int) |
| -| **vcenter.host.vsan.congestions** | Congestions of IOs generated by all vSAN clients on the host. | {congestions/sec} | Sum(Int) |
| -| **vcenter.host.vsan.latency.avg** | Average latency of IOs generated by all vSAN clients on the host. | µs | Sum(Int) |
  • vsan_latency_type
| -| **vcenter.host.vsan.operations** | IOPs consumed by all vSAN clients on the host. | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| -| **vcenter.host.vsan.outstanding_io** | Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc. | {operations/sec} | Sum(Int) |
| -| **vcenter.host.vsan.throughput** | Throughput consumed by all vSAN clients on the host. | By/s | Sum(Int) |
  • vsan_throughput_direction
| | **vcenter.resource_pool.cpu.shares** | The amount of shares of CPU in the resource pool. | {shares} | Sum(Int) |
| | **vcenter.resource_pool.cpu.usage** | The usage of the CPU used by the resource pool. | {MHz} | Sum(Int) |
| | **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool. | {shares} | Sum(Int) |
| @@ -56,9 +44,6 @@ These are the metrics available for this scraper. | **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network. | {packets/sec} | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine. | By/sec | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.usage** | The network utilization combined transmit and receive rates during an interval. | {KBy/s} | Sum(Int) |
| -| **vcenter.vm.vsan.latency.avg** | The latency while accessing VSAN storage. | us | Gauge(Int) |
  • vsan_latency_type
| -| **vcenter.vm.vsan.operations** | Virtual Machine vSAN IOPs. | {operations/sec} | Sum(Int) |
  • vsan_operation_type
| -| **vcenter.vm.vsan.throughput** | The VSAN throughput of a virtual machine. | By/s | Sum(Int) |
  • vsan_throughput_direction
| **Highlighted metrics** are emitted by default. Other metrics are optional and not emitted by default. Any metric can be enabled or disabled with the following scraper configuration: diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index ee42244a94c2e..e995c2fbce320 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -24,11 +24,6 @@ type MetricsSettings struct { VcenterClusterMemoryLimit MetricSettings `mapstructure:"vcenter.cluster.memory.limit"` VcenterClusterMemoryUsed MetricSettings `mapstructure:"vcenter.cluster.memory.used"` VcenterClusterVMCount MetricSettings `mapstructure:"vcenter.cluster.vm.count"` - VcenterClusterVsanCongestions MetricSettings `mapstructure:"vcenter.cluster.vsan.congestions"` - VcenterClusterVsanLatencyAvg MetricSettings `mapstructure:"vcenter.cluster.vsan.latency.avg"` - VcenterClusterVsanOperations MetricSettings `mapstructure:"vcenter.cluster.vsan.operations"` - VcenterClusterVsanOutstandingIo MetricSettings `mapstructure:"vcenter.cluster.vsan.outstanding_io"` - VcenterClusterVsanThroughput MetricSettings `mapstructure:"vcenter.cluster.vsan.throughput"` VcenterDatastoreDiskUsage MetricSettings `mapstructure:"vcenter.datastore.disk.usage"` VcenterDatastoreDiskUtilization MetricSettings `mapstructure:"vcenter.datastore.disk.utilization"` VcenterHostCPUUsage MetricSettings `mapstructure:"vcenter.host.cpu.usage"` @@ -42,13 +37,6 @@ type MetricsSettings struct { VcenterHostNetworkPackets MetricSettings `mapstructure:"vcenter.host.network.packets"` VcenterHostNetworkThroughput MetricSettings `mapstructure:"vcenter.host.network.throughput"` VcenterHostNetworkUsage MetricSettings `mapstructure:"vcenter.host.network.usage"` - VcenterHostVsanCacheHitRate MetricSettings `mapstructure:"vcenter.host.vsan.cache.hit_rate"` - VcenterHostVsanCacheReads MetricSettings `mapstructure:"vcenter.host.vsan.cache.reads"` - VcenterHostVsanCongestions MetricSettings `mapstructure:"vcenter.host.vsan.congestions"` - VcenterHostVsanLatencyAvg MetricSettings `mapstructure:"vcenter.host.vsan.latency.avg"` - VcenterHostVsanOperations MetricSettings `mapstructure:"vcenter.host.vsan.operations"` - VcenterHostVsanOutstandingIo MetricSettings `mapstructure:"vcenter.host.vsan.outstanding_io"` - VcenterHostVsanThroughput MetricSettings `mapstructure:"vcenter.host.vsan.throughput"` VcenterResourcePoolCPUShares MetricSettings `mapstructure:"vcenter.resource_pool.cpu.shares"` VcenterResourcePoolCPUUsage MetricSettings `mapstructure:"vcenter.resource_pool.cpu.usage"` VcenterResourcePoolMemoryShares MetricSettings `mapstructure:"vcenter.resource_pool.memory.shares"` @@ -64,9 +52,6 @@ type MetricsSettings struct { VcenterVMNetworkPackets MetricSettings `mapstructure:"vcenter.vm.network.packets"` VcenterVMNetworkThroughput MetricSettings `mapstructure:"vcenter.vm.network.throughput"` VcenterVMNetworkUsage MetricSettings `mapstructure:"vcenter.vm.network.usage"` - VcenterVMVsanLatencyAvg MetricSettings `mapstructure:"vcenter.vm.vsan.latency.avg"` - VcenterVMVsanOperations MetricSettings `mapstructure:"vcenter.vm.vsan.operations"` - VcenterVMVsanThroughput MetricSettings `mapstructure:"vcenter.vm.vsan.throughput"` } func DefaultMetricsSettings() MetricsSettings { @@ -95,21 +80,6 @@ func DefaultMetricsSettings() MetricsSettings { VcenterClusterVMCount: MetricSettings{ Enabled: true, }, - VcenterClusterVsanCongestions: MetricSettings{ - Enabled: true, - }, - VcenterClusterVsanLatencyAvg: MetricSettings{ - Enabled: true, - }, - VcenterClusterVsanOperations: MetricSettings{ - Enabled: true, - }, - VcenterClusterVsanOutstandingIo: MetricSettings{ - Enabled: true, - }, - VcenterClusterVsanThroughput: MetricSettings{ - Enabled: true, - }, VcenterDatastoreDiskUsage: MetricSettings{ Enabled: true, }, @@ -149,27 +119,6 @@ func DefaultMetricsSettings() MetricsSettings { VcenterHostNetworkUsage: MetricSettings{ Enabled: true, }, - VcenterHostVsanCacheHitRate: MetricSettings{ - Enabled: true, - }, - VcenterHostVsanCacheReads: MetricSettings{ - Enabled: true, - }, - VcenterHostVsanCongestions: MetricSettings{ - Enabled: true, - }, - VcenterHostVsanLatencyAvg: MetricSettings{ - Enabled: true, - }, - VcenterHostVsanOperations: MetricSettings{ - Enabled: true, - }, - VcenterHostVsanOutstandingIo: MetricSettings{ - Enabled: true, - }, - VcenterHostVsanThroughput: MetricSettings{ - Enabled: true, - }, VcenterResourcePoolCPUShares: MetricSettings{ Enabled: true, }, @@ -215,15 +164,6 @@ func DefaultMetricsSettings() MetricsSettings { VcenterVMNetworkUsage: MetricSettings{ Enabled: true, }, - VcenterVMVsanLatencyAvg: MetricSettings{ - Enabled: true, - }, - VcenterVMVsanOperations: MetricSettings{ - Enabled: true, - }, - VcenterVMVsanThroughput: MetricSettings{ - Enabled: true, - }, } } @@ -639,267 +579,6 @@ func newMetricVcenterClusterVMCount(settings MetricSettings) metricVcenterCluste return m } -type metricVcenterClusterVsanCongestions struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.cluster.vsan.congestions metric with initial data. -func (m *metricVcenterClusterVsanCongestions) init() { - m.data.SetName("vcenter.cluster.vsan.congestions") - m.data.SetDescription("Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc.") - m.data.SetUnit("{congestions/sec}") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) -} - -func (m *metricVcenterClusterVsanCongestions) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterClusterVsanCongestions) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVsanCongestions) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterClusterVsanCongestions(settings MetricSettings) metricVcenterClusterVsanCongestions { - m := metricVcenterClusterVsanCongestions{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterClusterVsanLatencyAvg struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.cluster.vsan.latency.avg metric with initial data. -func (m *metricVcenterClusterVsanLatencyAvg) init() { - m.data.SetName("vcenter.cluster.vsan.latency.avg") - m.data.SetDescription("Average latency of IOs generated by all vSAN clients in the cluster.") - m.data.SetUnit("µs") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterClusterVsanLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanLatencyType, pcommon.NewValueString(vsanLatencyTypeAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterClusterVsanLatencyAvg) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVsanLatencyAvg) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterClusterVsanLatencyAvg(settings MetricSettings) metricVcenterClusterVsanLatencyAvg { - m := metricVcenterClusterVsanLatencyAvg{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterClusterVsanOperations struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.cluster.vsan.operations metric with initial data. -func (m *metricVcenterClusterVsanOperations) init() { - m.data.SetName("vcenter.cluster.vsan.operations") - m.data.SetDescription("IOPS consumed by all vSAN clients in the cluster.") - m.data.SetUnit("{operations/sec}") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterClusterVsanOperations) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanOperationType, pcommon.NewValueString(vsanOperationTypeAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterClusterVsanOperations) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVsanOperations) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterClusterVsanOperations(settings MetricSettings) metricVcenterClusterVsanOperations { - m := metricVcenterClusterVsanOperations{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterClusterVsanOutstandingIo struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.cluster.vsan.outstanding_io metric with initial data. -func (m *metricVcenterClusterVsanOutstandingIo) init() { - m.data.SetName("vcenter.cluster.vsan.outstanding_io") - m.data.SetDescription("Outstanding IO from all vSAN clients in the cluster.") - m.data.SetUnit("{operations}") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) -} - -func (m *metricVcenterClusterVsanOutstandingIo) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterClusterVsanOutstandingIo) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVsanOutstandingIo) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterClusterVsanOutstandingIo(settings MetricSettings) metricVcenterClusterVsanOutstandingIo { - m := metricVcenterClusterVsanOutstandingIo{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterClusterVsanThroughput struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.cluster.vsan.throughput metric with initial data. -func (m *metricVcenterClusterVsanThroughput) init() { - m.data.SetName("vcenter.cluster.vsan.throughput") - m.data.SetDescription("Throughput consumed by all vSAN clients in the cluster.") - m.data.SetUnit("By/sec") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterClusterVsanThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanThroughputDirection, pcommon.NewValueString(vsanThroughputDirectionAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterClusterVsanThroughput) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterVsanThroughput) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterClusterVsanThroughput(settings MetricSettings) metricVcenterClusterVsanThroughput { - m := metricVcenterClusterVsanThroughput{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - type metricVcenterDatastoreDiskUsage struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -1217,397 +896,38 @@ func (m *metricVcenterHostDiskThroughput) init() { m.data.SetDescription("The throughput to the host system's disk.") m.data.SetUnit("By/s") m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) -} - -func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostDiskThroughput) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostDiskThroughput) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterHostDiskThroughput(settings MetricSettings) metricVcenterHostDiskThroughput { - m := metricVcenterHostDiskThroughput{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterHostMemoryUsage struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.host.memory.usage metric with initial data. -func (m *metricVcenterHostMemoryUsage) init() { - m.data.SetName("vcenter.host.memory.usage") - m.data.SetDescription("The amount of memory the host system is using.") - m.data.SetUnit("MBy") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) -} - -func (m *metricVcenterHostMemoryUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostMemoryUsage) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostMemoryUsage) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterHostMemoryUsage(settings MetricSettings) metricVcenterHostMemoryUsage { - m := metricVcenterHostMemoryUsage{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterHostMemoryUtilization struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.host.memory.utilization metric with initial data. -func (m *metricVcenterHostMemoryUtilization) init() { - m.data.SetName("vcenter.host.memory.utilization") - m.data.SetDescription("The percentage of the host system's memory capacity that is being utilized.") - m.data.SetUnit("%") - m.data.SetDataType(pmetric.MetricDataTypeGauge) -} - -func (m *metricVcenterHostMemoryUtilization) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val float64) { - if !m.settings.Enabled { - return - } - dp := m.data.Gauge().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetDoubleVal(val) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostMemoryUtilization) updateCapacity() { - if m.data.Gauge().DataPoints().Len() > m.capacity { - m.capacity = m.data.Gauge().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostMemoryUtilization) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterHostMemoryUtilization(settings MetricSettings) metricVcenterHostMemoryUtilization { - m := metricVcenterHostMemoryUtilization{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterHostNetworkErrors struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.host.network.errors metric with initial data. -func (m *metricVcenterHostNetworkErrors) init() { - m.data.SetName("vcenter.host.network.errors") - m.data.SetDescription("The summation of errors on the host network.") - m.data.SetUnit("{errors}") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterHostNetworkErrors) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostNetworkErrors) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostNetworkErrors) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterHostNetworkErrors(settings MetricSettings) metricVcenterHostNetworkErrors { - m := metricVcenterHostNetworkErrors{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterHostNetworkPackets struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.host.network.packets metric with initial data. -func (m *metricVcenterHostNetworkPackets) init() { - m.data.SetName("vcenter.host.network.packets") - m.data.SetDescription("The number of packets sent over an interval.") - m.data.SetUnit("{packets/sec}") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostNetworkPackets) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostNetworkPackets) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterHostNetworkPackets(settings MetricSettings) metricVcenterHostNetworkPackets { - m := metricVcenterHostNetworkPackets{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterHostNetworkThroughput struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.host.network.throughput metric with initial data. -func (m *metricVcenterHostNetworkThroughput) init() { - m.data.SetName("vcenter.host.network.throughput") - m.data.SetDescription("The amount of data that was sent or received over the network by the host.") - m.data.SetUnit("{KBy/s}") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostNetworkThroughput) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostNetworkThroughput) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterHostNetworkThroughput(settings MetricSettings) metricVcenterHostNetworkThroughput { - m := metricVcenterHostNetworkThroughput{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterHostNetworkUsage struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.host.network.usage metric with initial data. -func (m *metricVcenterHostNetworkUsage) init() { - m.data.SetName("vcenter.host.network.usage") - m.data.SetDescription("The sum of the data transmitted and received for all the NIC instances of the host.") - m.data.SetUnit("{KBy/s}") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) -} - -func (m *metricVcenterHostNetworkUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostNetworkUsage) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostNetworkUsage) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterHostNetworkUsage(settings MetricSettings) metricVcenterHostNetworkUsage { - m := metricVcenterHostNetworkUsage{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterHostVsanCacheHitRate struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.host.vsan.cache.hit_rate metric with initial data. -func (m *metricVcenterHostVsanCacheHitRate) init() { - m.data.SetName("vcenter.host.vsan.cache.hit_rate") - m.data.SetDescription("Percentage of read IOs which could be satisfied by the local client cache.") - m.data.SetUnit("%") - m.data.SetDataType(pmetric.MetricDataTypeGauge) + m.data.Sum().SetIsMonotonic(false) + m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterHostVsanCacheHitRate) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val float64) { +func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } - dp := m.data.Gauge().DataPoints().AppendEmpty() + dp := m.data.Sum().DataPoints().AppendEmpty() dp.SetStartTimestamp(start) dp.SetTimestamp(ts) - dp.SetDoubleVal(val) + dp.SetIntVal(val) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostVsanCacheHitRate) updateCapacity() { - if m.data.Gauge().DataPoints().Len() > m.capacity { - m.capacity = m.data.Gauge().DataPoints().Len() +func (m *metricVcenterHostDiskThroughput) updateCapacity() { + if m.data.Sum().DataPoints().Len() > m.capacity { + m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanCacheHitRate) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { +func (m *metricVcenterHostDiskThroughput) emit(metrics pmetric.MetricSlice) { + if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) m.init() } } -func newMetricVcenterHostVsanCacheHitRate(settings MetricSettings) metricVcenterHostVsanCacheHitRate { - m := metricVcenterHostVsanCacheHitRate{settings: settings} +func newMetricVcenterHostDiskThroughput(settings MetricSettings) metricVcenterHostDiskThroughput { + m := metricVcenterHostDiskThroughput{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -1615,23 +935,23 @@ func newMetricVcenterHostVsanCacheHitRate(settings MetricSettings) metricVcenter return m } -type metricVcenterHostVsanCacheReads struct { +type metricVcenterHostMemoryUsage struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.host.vsan.cache.reads metric with initial data. -func (m *metricVcenterHostVsanCacheReads) init() { - m.data.SetName("vcenter.host.vsan.cache.reads") - m.data.SetDescription("Average latency of IOs generated by all vSAN clients on the host.") - m.data.SetUnit("{operations/sec}") +// init fills vcenter.host.memory.usage metric with initial data. +func (m *metricVcenterHostMemoryUsage) init() { + m.data.SetName("vcenter.host.memory.usage") + m.data.SetDescription("The amount of memory the host system is using.") + m.data.SetUnit("MBy") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) } -func (m *metricVcenterHostVsanCacheReads) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { +func (m *metricVcenterHostMemoryUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1642,14 +962,14 @@ func (m *metricVcenterHostVsanCacheReads) recordDataPoint(start pcommon.Timestam } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostVsanCacheReads) updateCapacity() { +func (m *metricVcenterHostMemoryUsage) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanCacheReads) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterHostMemoryUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1657,8 +977,8 @@ func (m *metricVcenterHostVsanCacheReads) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterHostVsanCacheReads(settings MetricSettings) metricVcenterHostVsanCacheReads { - m := metricVcenterHostVsanCacheReads{settings: settings} +func newMetricVcenterHostMemoryUsage(settings MetricSettings) metricVcenterHostMemoryUsage { + m := metricVcenterHostMemoryUsage{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -1666,50 +986,48 @@ func newMetricVcenterHostVsanCacheReads(settings MetricSettings) metricVcenterHo return m } -type metricVcenterHostVsanCongestions struct { +type metricVcenterHostMemoryUtilization struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.host.vsan.congestions metric with initial data. -func (m *metricVcenterHostVsanCongestions) init() { - m.data.SetName("vcenter.host.vsan.congestions") - m.data.SetDescription("Congestions of IOs generated by all vSAN clients on the host.") - m.data.SetUnit("{congestions/sec}") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) +// init fills vcenter.host.memory.utilization metric with initial data. +func (m *metricVcenterHostMemoryUtilization) init() { + m.data.SetName("vcenter.host.memory.utilization") + m.data.SetDescription("The percentage of the host system's memory capacity that is being utilized.") + m.data.SetUnit("%") + m.data.SetDataType(pmetric.MetricDataTypeGauge) } -func (m *metricVcenterHostVsanCongestions) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { +func (m *metricVcenterHostMemoryUtilization) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val float64) { if !m.settings.Enabled { return } - dp := m.data.Sum().DataPoints().AppendEmpty() + dp := m.data.Gauge().DataPoints().AppendEmpty() dp.SetStartTimestamp(start) dp.SetTimestamp(ts) - dp.SetIntVal(val) + dp.SetDoubleVal(val) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostVsanCongestions) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() +func (m *metricVcenterHostMemoryUtilization) updateCapacity() { + if m.data.Gauge().DataPoints().Len() > m.capacity { + m.capacity = m.data.Gauge().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanCongestions) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { +func (m *metricVcenterHostMemoryUtilization) emit(metrics pmetric.MetricSlice) { + if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) m.init() } } -func newMetricVcenterHostVsanCongestions(settings MetricSettings) metricVcenterHostVsanCongestions { - m := metricVcenterHostVsanCongestions{settings: settings} +func newMetricVcenterHostMemoryUtilization(settings MetricSettings) metricVcenterHostMemoryUtilization { + m := metricVcenterHostMemoryUtilization{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -1717,24 +1035,24 @@ func newMetricVcenterHostVsanCongestions(settings MetricSettings) metricVcenterH return m } -type metricVcenterHostVsanLatencyAvg struct { +type metricVcenterHostNetworkErrors struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.host.vsan.latency.avg metric with initial data. -func (m *metricVcenterHostVsanLatencyAvg) init() { - m.data.SetName("vcenter.host.vsan.latency.avg") - m.data.SetDescription("Average latency of IOs generated by all vSAN clients on the host.") - m.data.SetUnit("µs") +// init fills vcenter.host.network.errors metric with initial data. +func (m *metricVcenterHostNetworkErrors) init() { + m.data.SetName("vcenter.host.network.errors") + m.data.SetDescription("The summation of errors on the host network.") + m.data.SetUnit("{errors}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { +func (m *metricVcenterHostNetworkErrors) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1742,18 +1060,18 @@ func (m *metricVcenterHostVsanLatencyAvg) recordDataPoint(start pcommon.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanLatencyType, pcommon.NewValueString(vsanLatencyTypeAttributeValue)) + dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostVsanLatencyAvg) updateCapacity() { +func (m *metricVcenterHostNetworkErrors) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanLatencyAvg) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterHostNetworkErrors) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1761,8 +1079,8 @@ func (m *metricVcenterHostVsanLatencyAvg) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterHostVsanLatencyAvg(settings MetricSettings) metricVcenterHostVsanLatencyAvg { - m := metricVcenterHostVsanLatencyAvg{settings: settings} +func newMetricVcenterHostNetworkErrors(settings MetricSettings) metricVcenterHostNetworkErrors { + m := metricVcenterHostNetworkErrors{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -1770,24 +1088,24 @@ func newMetricVcenterHostVsanLatencyAvg(settings MetricSettings) metricVcenterHo return m } -type metricVcenterHostVsanOperations struct { +type metricVcenterHostNetworkPackets struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.host.vsan.operations metric with initial data. -func (m *metricVcenterHostVsanOperations) init() { - m.data.SetName("vcenter.host.vsan.operations") - m.data.SetDescription("IOPs consumed by all vSAN clients on the host.") - m.data.SetUnit("{operations/sec}") +// init fills vcenter.host.network.packets metric with initial data. +func (m *metricVcenterHostNetworkPackets) init() { + m.data.SetName("vcenter.host.network.packets") + m.data.SetDescription("The number of packets sent over an interval.") + m.data.SetUnit("{packets/sec}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanOperations) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { +func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1795,18 +1113,18 @@ func (m *metricVcenterHostVsanOperations) recordDataPoint(start pcommon.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanOperationType, pcommon.NewValueString(vsanOperationTypeAttributeValue)) + dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostVsanOperations) updateCapacity() { +func (m *metricVcenterHostNetworkPackets) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanOperations) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterHostNetworkPackets) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1814,8 +1132,8 @@ func (m *metricVcenterHostVsanOperations) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterHostVsanOperations(settings MetricSettings) metricVcenterHostVsanOperations { - m := metricVcenterHostVsanOperations{settings: settings} +func newMetricVcenterHostNetworkPackets(settings MetricSettings) metricVcenterHostNetworkPackets { + m := metricVcenterHostNetworkPackets{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -1823,23 +1141,24 @@ func newMetricVcenterHostVsanOperations(settings MetricSettings) metricVcenterHo return m } -type metricVcenterHostVsanOutstandingIo struct { +type metricVcenterHostNetworkThroughput struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.host.vsan.outstanding_io metric with initial data. -func (m *metricVcenterHostVsanOutstandingIo) init() { - m.data.SetName("vcenter.host.vsan.outstanding_io") - m.data.SetDescription("Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc.") - m.data.SetUnit("{operations/sec}") +// init fills vcenter.host.network.throughput metric with initial data. +func (m *metricVcenterHostNetworkThroughput) init() { + m.data.SetName("vcenter.host.network.throughput") + m.data.SetDescription("The amount of data that was sent or received over the network by the host.") + m.data.SetUnit("{KBy/s}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanOutstandingIo) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { +func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1847,17 +1166,18 @@ func (m *metricVcenterHostVsanOutstandingIo) recordDataPoint(start pcommon.Times dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) + dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostVsanOutstandingIo) updateCapacity() { +func (m *metricVcenterHostNetworkThroughput) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanOutstandingIo) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterHostNetworkThroughput) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1865,8 +1185,8 @@ func (m *metricVcenterHostVsanOutstandingIo) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterHostVsanOutstandingIo(settings MetricSettings) metricVcenterHostVsanOutstandingIo { - m := metricVcenterHostVsanOutstandingIo{settings: settings} +func newMetricVcenterHostNetworkThroughput(settings MetricSettings) metricVcenterHostNetworkThroughput { + m := metricVcenterHostNetworkThroughput{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -1874,24 +1194,23 @@ func newMetricVcenterHostVsanOutstandingIo(settings MetricSettings) metricVcente return m } -type metricVcenterHostVsanThroughput struct { +type metricVcenterHostNetworkUsage struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.host.vsan.throughput metric with initial data. -func (m *metricVcenterHostVsanThroughput) init() { - m.data.SetName("vcenter.host.vsan.throughput") - m.data.SetDescription("Throughput consumed by all vSAN clients on the host.") - m.data.SetUnit("By/s") +// init fills vcenter.host.network.usage metric with initial data. +func (m *metricVcenterHostNetworkUsage) init() { + m.data.SetName("vcenter.host.network.usage") + m.data.SetDescription("The sum of the data transmitted and received for all the NIC instances of the host.") + m.data.SetUnit("{KBy/s}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostVsanThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { +func (m *metricVcenterHostNetworkUsage) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -1899,18 +1218,17 @@ func (m *metricVcenterHostVsanThroughput) recordDataPoint(start pcommon.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanThroughputDirection, pcommon.NewValueString(vsanThroughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostVsanThroughput) updateCapacity() { +func (m *metricVcenterHostNetworkUsage) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostVsanThroughput) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterHostNetworkUsage) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1918,8 +1236,8 @@ func (m *metricVcenterHostVsanThroughput) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterHostVsanThroughput(settings MetricSettings) metricVcenterHostVsanThroughput { - m := metricVcenterHostVsanThroughput{settings: settings} +func newMetricVcenterHostNetworkUsage(settings MetricSettings) metricVcenterHostNetworkUsage { + m := metricVcenterHostNetworkUsage{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -2692,163 +2010,6 @@ func newMetricVcenterVMNetworkUsage(settings MetricSettings) metricVcenterVMNetw return m } -type metricVcenterVMVsanLatencyAvg struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.vm.vsan.latency.avg metric with initial data. -func (m *metricVcenterVMVsanLatencyAvg) init() { - m.data.SetName("vcenter.vm.vsan.latency.avg") - m.data.SetDescription("The latency while accessing VSAN storage.") - m.data.SetUnit("us") - m.data.SetDataType(pmetric.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterVMVsanLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Gauge().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanLatencyType, pcommon.NewValueString(vsanLatencyTypeAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterVMVsanLatencyAvg) updateCapacity() { - if m.data.Gauge().DataPoints().Len() > m.capacity { - m.capacity = m.data.Gauge().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMVsanLatencyAvg) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterVMVsanLatencyAvg(settings MetricSettings) metricVcenterVMVsanLatencyAvg { - m := metricVcenterVMVsanLatencyAvg{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterVMVsanOperations struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.vm.vsan.operations metric with initial data. -func (m *metricVcenterVMVsanOperations) init() { - m.data.SetName("vcenter.vm.vsan.operations") - m.data.SetDescription("Virtual Machine vSAN IOPs.") - m.data.SetUnit("{operations/sec}") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterVMVsanOperations) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanOperationType, pcommon.NewValueString(vsanOperationTypeAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterVMVsanOperations) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMVsanOperations) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterVMVsanOperations(settings MetricSettings) metricVcenterVMVsanOperations { - m := metricVcenterVMVsanOperations{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - -type metricVcenterVMVsanThroughput struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.vm.vsan.throughput metric with initial data. -func (m *metricVcenterVMVsanThroughput) init() { - m.data.SetName("vcenter.vm.vsan.throughput") - m.data.SetDescription("The VSAN throughput of a virtual machine.") - m.data.SetUnit("By/s") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) - m.data.Sum().DataPoints().EnsureCapacity(m.capacity) -} - -func (m *metricVcenterVMVsanThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) - dp.Attributes().Insert(A.VsanThroughputDirection, pcommon.NewValueString(vsanThroughputDirectionAttributeValue)) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterVMVsanThroughput) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMVsanThroughput) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterVMVsanThroughput(settings MetricSettings) metricVcenterVMVsanThroughput { - m := metricVcenterVMVsanThroughput{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - // MetricsBuilder provides an interface for scrapers to report metrics while taking care of all the transformations // required to produce metric representation defined in metadata and user settings. type MetricsBuilder struct { @@ -2864,11 +2025,6 @@ type MetricsBuilder struct { metricVcenterClusterMemoryLimit metricVcenterClusterMemoryLimit metricVcenterClusterMemoryUsed metricVcenterClusterMemoryUsed metricVcenterClusterVMCount metricVcenterClusterVMCount - metricVcenterClusterVsanCongestions metricVcenterClusterVsanCongestions - metricVcenterClusterVsanLatencyAvg metricVcenterClusterVsanLatencyAvg - metricVcenterClusterVsanOperations metricVcenterClusterVsanOperations - metricVcenterClusterVsanOutstandingIo metricVcenterClusterVsanOutstandingIo - metricVcenterClusterVsanThroughput metricVcenterClusterVsanThroughput metricVcenterDatastoreDiskUsage metricVcenterDatastoreDiskUsage metricVcenterDatastoreDiskUtilization metricVcenterDatastoreDiskUtilization metricVcenterHostCPUUsage metricVcenterHostCPUUsage @@ -2882,13 +2038,6 @@ type MetricsBuilder struct { metricVcenterHostNetworkPackets metricVcenterHostNetworkPackets metricVcenterHostNetworkThroughput metricVcenterHostNetworkThroughput metricVcenterHostNetworkUsage metricVcenterHostNetworkUsage - metricVcenterHostVsanCacheHitRate metricVcenterHostVsanCacheHitRate - metricVcenterHostVsanCacheReads metricVcenterHostVsanCacheReads - metricVcenterHostVsanCongestions metricVcenterHostVsanCongestions - metricVcenterHostVsanLatencyAvg metricVcenterHostVsanLatencyAvg - metricVcenterHostVsanOperations metricVcenterHostVsanOperations - metricVcenterHostVsanOutstandingIo metricVcenterHostVsanOutstandingIo - metricVcenterHostVsanThroughput metricVcenterHostVsanThroughput metricVcenterResourcePoolCPUShares metricVcenterResourcePoolCPUShares metricVcenterResourcePoolCPUUsage metricVcenterResourcePoolCPUUsage metricVcenterResourcePoolMemoryShares metricVcenterResourcePoolMemoryShares @@ -2904,9 +2053,6 @@ type MetricsBuilder struct { metricVcenterVMNetworkPackets metricVcenterVMNetworkPackets metricVcenterVMNetworkThroughput metricVcenterVMNetworkThroughput metricVcenterVMNetworkUsage metricVcenterVMNetworkUsage - metricVcenterVMVsanLatencyAvg metricVcenterVMVsanLatencyAvg - metricVcenterVMVsanOperations metricVcenterVMVsanOperations - metricVcenterVMVsanThroughput metricVcenterVMVsanThroughput } // metricBuilderOption applies changes to default metrics builder. @@ -2931,11 +2077,6 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) metricVcenterClusterMemoryLimit: newMetricVcenterClusterMemoryLimit(settings.VcenterClusterMemoryLimit), metricVcenterClusterMemoryUsed: newMetricVcenterClusterMemoryUsed(settings.VcenterClusterMemoryUsed), metricVcenterClusterVMCount: newMetricVcenterClusterVMCount(settings.VcenterClusterVMCount), - metricVcenterClusterVsanCongestions: newMetricVcenterClusterVsanCongestions(settings.VcenterClusterVsanCongestions), - metricVcenterClusterVsanLatencyAvg: newMetricVcenterClusterVsanLatencyAvg(settings.VcenterClusterVsanLatencyAvg), - metricVcenterClusterVsanOperations: newMetricVcenterClusterVsanOperations(settings.VcenterClusterVsanOperations), - metricVcenterClusterVsanOutstandingIo: newMetricVcenterClusterVsanOutstandingIo(settings.VcenterClusterVsanOutstandingIo), - metricVcenterClusterVsanThroughput: newMetricVcenterClusterVsanThroughput(settings.VcenterClusterVsanThroughput), metricVcenterDatastoreDiskUsage: newMetricVcenterDatastoreDiskUsage(settings.VcenterDatastoreDiskUsage), metricVcenterDatastoreDiskUtilization: newMetricVcenterDatastoreDiskUtilization(settings.VcenterDatastoreDiskUtilization), metricVcenterHostCPUUsage: newMetricVcenterHostCPUUsage(settings.VcenterHostCPUUsage), @@ -2949,13 +2090,6 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) metricVcenterHostNetworkPackets: newMetricVcenterHostNetworkPackets(settings.VcenterHostNetworkPackets), metricVcenterHostNetworkThroughput: newMetricVcenterHostNetworkThroughput(settings.VcenterHostNetworkThroughput), metricVcenterHostNetworkUsage: newMetricVcenterHostNetworkUsage(settings.VcenterHostNetworkUsage), - metricVcenterHostVsanCacheHitRate: newMetricVcenterHostVsanCacheHitRate(settings.VcenterHostVsanCacheHitRate), - metricVcenterHostVsanCacheReads: newMetricVcenterHostVsanCacheReads(settings.VcenterHostVsanCacheReads), - metricVcenterHostVsanCongestions: newMetricVcenterHostVsanCongestions(settings.VcenterHostVsanCongestions), - metricVcenterHostVsanLatencyAvg: newMetricVcenterHostVsanLatencyAvg(settings.VcenterHostVsanLatencyAvg), - metricVcenterHostVsanOperations: newMetricVcenterHostVsanOperations(settings.VcenterHostVsanOperations), - metricVcenterHostVsanOutstandingIo: newMetricVcenterHostVsanOutstandingIo(settings.VcenterHostVsanOutstandingIo), - metricVcenterHostVsanThroughput: newMetricVcenterHostVsanThroughput(settings.VcenterHostVsanThroughput), metricVcenterResourcePoolCPUShares: newMetricVcenterResourcePoolCPUShares(settings.VcenterResourcePoolCPUShares), metricVcenterResourcePoolCPUUsage: newMetricVcenterResourcePoolCPUUsage(settings.VcenterResourcePoolCPUUsage), metricVcenterResourcePoolMemoryShares: newMetricVcenterResourcePoolMemoryShares(settings.VcenterResourcePoolMemoryShares), @@ -2971,9 +2105,6 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) metricVcenterVMNetworkPackets: newMetricVcenterVMNetworkPackets(settings.VcenterVMNetworkPackets), metricVcenterVMNetworkThroughput: newMetricVcenterVMNetworkThroughput(settings.VcenterVMNetworkThroughput), metricVcenterVMNetworkUsage: newMetricVcenterVMNetworkUsage(settings.VcenterVMNetworkUsage), - metricVcenterVMVsanLatencyAvg: newMetricVcenterVMVsanLatencyAvg(settings.VcenterVMVsanLatencyAvg), - metricVcenterVMVsanOperations: newMetricVcenterVMVsanOperations(settings.VcenterVMVsanOperations), - metricVcenterVMVsanThroughput: newMetricVcenterVMVsanThroughput(settings.VcenterVMVsanThroughput), } for _, op := range options { op(mb) @@ -3057,11 +2188,6 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { mb.metricVcenterClusterMemoryLimit.emit(ils.Metrics()) mb.metricVcenterClusterMemoryUsed.emit(ils.Metrics()) mb.metricVcenterClusterVMCount.emit(ils.Metrics()) - mb.metricVcenterClusterVsanCongestions.emit(ils.Metrics()) - mb.metricVcenterClusterVsanLatencyAvg.emit(ils.Metrics()) - mb.metricVcenterClusterVsanOperations.emit(ils.Metrics()) - mb.metricVcenterClusterVsanOutstandingIo.emit(ils.Metrics()) - mb.metricVcenterClusterVsanThroughput.emit(ils.Metrics()) mb.metricVcenterDatastoreDiskUsage.emit(ils.Metrics()) mb.metricVcenterDatastoreDiskUtilization.emit(ils.Metrics()) mb.metricVcenterHostCPUUsage.emit(ils.Metrics()) @@ -3075,13 +2201,6 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { mb.metricVcenterHostNetworkPackets.emit(ils.Metrics()) mb.metricVcenterHostNetworkThroughput.emit(ils.Metrics()) mb.metricVcenterHostNetworkUsage.emit(ils.Metrics()) - mb.metricVcenterHostVsanCacheHitRate.emit(ils.Metrics()) - mb.metricVcenterHostVsanCacheReads.emit(ils.Metrics()) - mb.metricVcenterHostVsanCongestions.emit(ils.Metrics()) - mb.metricVcenterHostVsanLatencyAvg.emit(ils.Metrics()) - mb.metricVcenterHostVsanOperations.emit(ils.Metrics()) - mb.metricVcenterHostVsanOutstandingIo.emit(ils.Metrics()) - mb.metricVcenterHostVsanThroughput.emit(ils.Metrics()) mb.metricVcenterResourcePoolCPUShares.emit(ils.Metrics()) mb.metricVcenterResourcePoolCPUUsage.emit(ils.Metrics()) mb.metricVcenterResourcePoolMemoryShares.emit(ils.Metrics()) @@ -3097,9 +2216,6 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { mb.metricVcenterVMNetworkPackets.emit(ils.Metrics()) mb.metricVcenterVMNetworkThroughput.emit(ils.Metrics()) mb.metricVcenterVMNetworkUsage.emit(ils.Metrics()) - mb.metricVcenterVMVsanLatencyAvg.emit(ils.Metrics()) - mb.metricVcenterVMVsanOperations.emit(ils.Metrics()) - mb.metricVcenterVMVsanThroughput.emit(ils.Metrics()) if ils.Metrics().Len() > 0 { mb.updateCapacity(rm) rm.MoveTo(mb.metricsBuffer.ResourceMetrics().AppendEmpty()) @@ -3156,31 +2272,6 @@ func (mb *MetricsBuilder) RecordVcenterClusterVMCountDataPoint(ts pcommon.Timest mb.metricVcenterClusterVMCount.recordDataPoint(mb.startTime, ts, val, vmCountPowerStateAttributeValue) } -// RecordVcenterClusterVsanCongestionsDataPoint adds a data point to vcenter.cluster.vsan.congestions metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanCongestionsDataPoint(ts pcommon.Timestamp, val int64) { - mb.metricVcenterClusterVsanCongestions.recordDataPoint(mb.startTime, ts, val) -} - -// RecordVcenterClusterVsanLatencyAvgDataPoint adds a data point to vcenter.cluster.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { - mb.metricVcenterClusterVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue) -} - -// RecordVcenterClusterVsanOperationsDataPoint adds a data point to vcenter.cluster.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanOperationsDataPoint(ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { - mb.metricVcenterClusterVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue) -} - -// RecordVcenterClusterVsanOutstandingIoDataPoint adds a data point to vcenter.cluster.vsan.outstanding_io metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanOutstandingIoDataPoint(ts pcommon.Timestamp, val int64) { - mb.metricVcenterClusterVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val) -} - -// RecordVcenterClusterVsanThroughputDataPoint adds a data point to vcenter.cluster.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterClusterVsanThroughputDataPoint(ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { - mb.metricVcenterClusterVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue) -} - // RecordVcenterDatastoreDiskUsageDataPoint adds a data point to vcenter.datastore.disk.usage metric. func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pcommon.Timestamp, val int64, diskStateAttributeValue string) { mb.metricVcenterDatastoreDiskUsage.recordDataPoint(mb.startTime, ts, val, diskStateAttributeValue) @@ -3246,41 +2337,6 @@ func (mb *MetricsBuilder) RecordVcenterHostNetworkUsageDataPoint(ts pcommon.Time mb.metricVcenterHostNetworkUsage.recordDataPoint(mb.startTime, ts, val) } -// RecordVcenterHostVsanCacheHitRateDataPoint adds a data point to vcenter.host.vsan.cache.hit_rate metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanCacheHitRateDataPoint(ts pcommon.Timestamp, val float64) { - mb.metricVcenterHostVsanCacheHitRate.recordDataPoint(mb.startTime, ts, val) -} - -// RecordVcenterHostVsanCacheReadsDataPoint adds a data point to vcenter.host.vsan.cache.reads metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanCacheReadsDataPoint(ts pcommon.Timestamp, val int64) { - mb.metricVcenterHostVsanCacheReads.recordDataPoint(mb.startTime, ts, val) -} - -// RecordVcenterHostVsanCongestionsDataPoint adds a data point to vcenter.host.vsan.congestions metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanCongestionsDataPoint(ts pcommon.Timestamp, val int64) { - mb.metricVcenterHostVsanCongestions.recordDataPoint(mb.startTime, ts, val) -} - -// RecordVcenterHostVsanLatencyAvgDataPoint adds a data point to vcenter.host.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { - mb.metricVcenterHostVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue) -} - -// RecordVcenterHostVsanOperationsDataPoint adds a data point to vcenter.host.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanOperationsDataPoint(ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { - mb.metricVcenterHostVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue) -} - -// RecordVcenterHostVsanOutstandingIoDataPoint adds a data point to vcenter.host.vsan.outstanding_io metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanOutstandingIoDataPoint(ts pcommon.Timestamp, val int64) { - mb.metricVcenterHostVsanOutstandingIo.recordDataPoint(mb.startTime, ts, val) -} - -// RecordVcenterHostVsanThroughputDataPoint adds a data point to vcenter.host.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostVsanThroughputDataPoint(ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { - mb.metricVcenterHostVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue) -} - // RecordVcenterResourcePoolCPUSharesDataPoint adds a data point to vcenter.resource_pool.cpu.shares metric. func (mb *MetricsBuilder) RecordVcenterResourcePoolCPUSharesDataPoint(ts pcommon.Timestamp, val int64) { mb.metricVcenterResourcePoolCPUShares.recordDataPoint(mb.startTime, ts, val) @@ -3356,21 +2412,6 @@ func (mb *MetricsBuilder) RecordVcenterVMNetworkUsageDataPoint(ts pcommon.Timest mb.metricVcenterVMNetworkUsage.recordDataPoint(mb.startTime, ts, val) } -// RecordVcenterVMVsanLatencyAvgDataPoint adds a data point to vcenter.vm.vsan.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, vsanLatencyTypeAttributeValue string) { - mb.metricVcenterVMVsanLatencyAvg.recordDataPoint(mb.startTime, ts, val, vsanLatencyTypeAttributeValue) -} - -// RecordVcenterVMVsanOperationsDataPoint adds a data point to vcenter.vm.vsan.operations metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanOperationsDataPoint(ts pcommon.Timestamp, val int64, vsanOperationTypeAttributeValue string) { - mb.metricVcenterVMVsanOperations.recordDataPoint(mb.startTime, ts, val, vsanOperationTypeAttributeValue) -} - -// RecordVcenterVMVsanThroughputDataPoint adds a data point to vcenter.vm.vsan.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMVsanThroughputDataPoint(ts pcommon.Timestamp, val int64, vsanThroughputDirectionAttributeValue string) { - mb.metricVcenterVMVsanThroughput.recordDataPoint(mb.startTime, ts, val, vsanThroughputDirectionAttributeValue) -} - // Reset resets metrics builder to its initial state. It should be used when external metrics source is restarted, // and metrics builder should update its startTime and reset it's internal state accordingly. func (mb *MetricsBuilder) Reset(options ...metricBuilderOption) { diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 6d3e1c8bca105..63ddb84a53086 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -138,51 +138,6 @@ metrics: value_type: int aggregation: cumulative attributes: [] - vcenter.cluster.vsan.latency.avg: - enabled: true - description: Average latency of IOs generated by all vSAN clients in the cluster. - unit: µs - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [vsan_latency_type] - vcenter.cluster.vsan.operations: - enabled: true - description: IOPS consumed by all vSAN clients in the cluster. - unit: "{operations/sec}" - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [vsan_operation_type] - vcenter.cluster.vsan.congestions: - enabled: true - description: Congestions consumed by all vSAN clients in the cluster, such as virtual machines, stats objects, etc. - unit: "{congestions/sec}" - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [] - vcenter.cluster.vsan.outstanding_io: - enabled: true - description: Outstanding IO from all vSAN clients in the cluster. - unit: "{operations}" - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [] - vcenter.cluster.vsan.throughput: - enabled: true - description: Throughput consumed by all vSAN clients in the cluster. - unit: By/sec - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [vsan_throughput_direction] vcenter.cluster.vm.count: enabled: true description: the number of virtual machines in the cluster. @@ -310,67 +265,6 @@ metrics: value_type: int aggregation: cumulative attributes: [throughput_direction] - vcenter.host.vsan.throughput: - enabled: true - description: Throughput consumed by all vSAN clients on the host. - unit: By/s - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [vsan_throughput_direction] - vcenter.host.vsan.operations: - enabled: true - description: IOPs consumed by all vSAN clients on the host. - unit: "{operations/sec}" - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [vsan_operation_type] - vcenter.host.vsan.congestions: - enabled: true - description: Congestions of IOs generated by all vSAN clients on the host. - unit: "{congestions/sec}" - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [] - vcenter.host.vsan.latency.avg: - enabled: true - description: Average latency of IOs generated by all vSAN clients on the host. - unit: µs - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [vsan_latency_type] - vcenter.host.vsan.cache.reads: - enabled: true - description: Average latency of IOs generated by all vSAN clients on the host. - unit: "{operations/sec}" - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [] - vcenter.host.vsan.cache.hit_rate: - enabled: true - description: Percentage of read IOs which could be satisfied by the local client cache. - unit: "%" - gauge: - value_type: double - attributes: [] - vcenter.host.vsan.outstanding_io: - enabled: true - description: Outstanding IO from all vSAN clients in the host, such as virtual machines, stats object, etc. - unit: "{operations/sec}" - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [] vcenter.resource_pool.memory.usage: enabled: true description: The usage of the memory by the resource pool. @@ -499,29 +393,4 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [] - vcenter.vm.vsan.operations: - enabled: true - description: Virtual Machine vSAN IOPs. - unit: "{operations/sec}" - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [vsan_operation_type] - vcenter.vm.vsan.throughput: - enabled: true - description: The VSAN throughput of a virtual machine. - unit: By/s - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [vsan_throughput_direction] - vcenter.vm.vsan.latency.avg: - enabled: true - description: The latency while accessing VSAN storage. - unit: us - gauge: - value_type: int - attributes: [vsan_latency_type] + attributes: [] \ No newline at end of file diff --git a/receiver/vcenterreceiver/metrics.go b/receiver/vcenterreceiver/metrics.go index 1565ad4cc81df..588ad5bdd1a66 100644 --- a/receiver/vcenterreceiver/metrics.go +++ b/receiver/vcenterreceiver/metrics.go @@ -16,7 +16,6 @@ package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-colle import ( "context" - "strconv" "github.com/vmware/govmomi/performance" "github.com/vmware/govmomi/vim25/mo" @@ -241,246 +240,3 @@ func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.Enti } } } - -// list of metric IDs https://kb.vmware.com/s/article/2144493 -var iopsRead = "iopsRead" -var iopsWrite = "iopsWrite" -var iopsUnmap = "iopsUnmap" -var throughputRead = "throughputRead" -var throughputWrite = "throughputWrite" -var throughputUnmap = "throughputUnmap" -var latencyAvgRead = "latencyAvgRead" -var latencyAvgWrite = "latencyAvgWrite" -var latencyAvgUnmap = "latencyAvgUnmap" -var outstandingIO = "oio" -var congestion = "congestion" -var clientCacheHits = "clientCacheHits" -var clientCacheHitRate = "clientCacheHitRate" - -func (v *vcenterMetricScraper) recordClusterVsanMetric( - now pdata.Timestamp, - metricID string, - val string, - errs *scrapererror.ScrapeErrors, -) { - switch metricID { - case iopsRead: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterClusterVsanOperationsDataPoint(now, value, "read") - } - case iopsWrite: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterClusterVsanOperationsDataPoint(now, value, "write") - } - case throughputRead: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterClusterVsanThroughputDataPoint(now, value, "read") - } - case throughputWrite: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterClusterVsanThroughputDataPoint(now, value, "write") - } - case latencyAvgRead: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterClusterVsanLatencyAvgDataPoint(now, value, "read") - } - case latencyAvgWrite: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterClusterVsanLatencyAvgDataPoint(now, value, "write") - } - case outstandingIO: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterClusterVsanOutstandingIoDataPoint(now, value) - } - case congestion: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterClusterVsanCongestionsDataPoint(now, value) - } - } -} - -func (v *vcenterMetricScraper) recordHostVsanMetric( - now pdata.Timestamp, - metricID string, - val string, - errs *scrapererror.ScrapeErrors, -) { - switch metricID { - case clientCacheHits: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanCacheReadsDataPoint(now, value) - } - case clientCacheHitRate: - value, err := parseFloat(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanCacheHitRateDataPoint(now, value) - } - case iopsRead: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "read") - } - case iopsWrite: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "write") - } - case iopsUnmap: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanOperationsDataPoint(now, value, "unmap") - } - case throughputRead: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, "read") - } - case throughputWrite: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, "write") - } - case throughputUnmap: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanThroughputDataPoint(now, value, "unmap") - } - case latencyAvgRead: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, "read") - } - case latencyAvgWrite: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, "write") - } - case latencyAvgUnmap: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanLatencyAvgDataPoint(now, value, "unmap") - } - case outstandingIO: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanOutstandingIoDataPoint(now, value) - } - case congestion: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterHostVsanOutstandingIoDataPoint(now, value) - } - } -} - -func (v *vcenterMetricScraper) recordVMVsanMetric( - now pdata.Timestamp, - metricID string, - val string, - errs *scrapererror.ScrapeErrors, -) { - switch metricID { - case iopsRead: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, "read") - } - case iopsWrite: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterVMVsanOperationsDataPoint(now, value, "write") - } - case throughputRead: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, "read") - } - case throughputWrite: - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterVMVsanThroughputDataPoint(now, value, "write") - } - case "latencyReadAvg": - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, "read") - } - case "latencyWriteAvg": - value, err := parseInt(val) - if err != nil { - errs.AddPartial(1, err) - } else { - v.mb.RecordVcenterVMVsanLatencyAvgDataPoint(now, value, "write") - } - } -} - -func parseInt(val string) (int64, error) { - i, err := strconv.Atoi(val) - return int64(i), err -} - -func parseFloat(val string) (float64, error) { - return strconv.ParseFloat(val, 64) -} diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 07a1fc7d5afc5..e77d7a736b81c 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -17,12 +17,10 @@ package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-colle import ( "context" "fmt" - "strings" "time" "github.com/vmware/govmomi/object" "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vsan/types" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/model/pdata" "go.opentelemetry.io/collector/receiver/scrapererror" @@ -111,14 +109,6 @@ func (v *vcenterMetricScraper) collectCluster( v.mb.RecordVcenterClusterCPULimitDataPoint(now, int64(s.TotalCpu)) v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumHosts-s.NumEffectiveHosts), "false") v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumEffectiveHosts), "true") - - mor := c.Reference() - csvs, err := v.client.VSANCluster(ctx, &mor, time.Now().UTC(), time.Now().UTC()) - if err != nil { - errs.AddPartial(1, err) - } - v.addVSANMetrics(csvs, "*", clusterType, errs) - v.mb.EmitForResource( metadata.WithVcenterClusterName(c.Name()), ) @@ -167,14 +157,8 @@ func (v *vcenterMetricScraper) collectHosts( return } - clusterRef := cluster.Reference() - hostVsanCSVs, err := v.client.VSANHosts(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) - if err != nil { - errs.AddPartial(1, err) - } - for _, h := range hosts { - v.collectHost(ctx, colTime, h, cluster, hostVsanCSVs, errs) + v.collectHost(ctx, colTime, h, cluster, errs) } } @@ -183,7 +167,6 @@ func (v *vcenterMetricScraper) collectHost( now pdata.Timestamp, host *object.HostSystem, cluster *object.ClusterComputeResource, - vsanCsvs []types.VsanPerfEntityMetricCSV, errs *scrapererror.ScrapeErrors, ) { var hwSum mo.HostSystem @@ -200,12 +183,6 @@ func (v *vcenterMetricScraper) collectHost( } v.recordHostSystemMemoryUsage(now, hwSum) v.recordHostPerformanceMetrics(ctx, hwSum, errs) - if vsanCsvs != nil { - entityRef := fmt.Sprintf("host-domclient:%v", - hwSum.Config.VsanHostConfig.ClusterInfo.NodeUuid, - ) - v.addVSANMetrics(vsanCsvs, entityRef, hostType, errs) - } v.mb.EmitForResource( metadata.WithVcenterHostName(host.Name()), metadata.WithVcenterClusterName(cluster.Name()), @@ -245,14 +222,6 @@ func (v *vcenterMetricScraper) collectVMs( errs.AddPartial(1, err) return } - - var vsanCsvs []types.VsanPerfEntityMetricCSV - clusterRef := cluster.Reference() - vsanCsvs, err = v.client.VSANVirtualMachines(ctx, &clusterRef, time.Now().UTC(), time.Now().UTC()) - if err != nil { - errs.AddPartial(1, err) - } - poweredOffVMs := 0 for _, vm := range vms { var moVM mo.VirtualMachine @@ -285,7 +254,7 @@ func (v *vcenterMetricScraper) collectVMs( return } - v.collectVM(ctx, colTime, moVM, entityRefID, vsanCsvs, errs) + v.collectVM(ctx, colTime, moVM, entityRefID, errs) v.mb.EmitForResource( metadata.WithVcenterVMName(vm.Name()), metadata.WithVcenterVMID(vmUUID), @@ -303,57 +272,8 @@ func (v *vcenterMetricScraper) collectVM( colTime pdata.Timestamp, vm mo.VirtualMachine, entityRefID string, - vsanCsvs []types.VsanPerfEntityMetricCSV, errs *scrapererror.ScrapeErrors, ) { v.recordVMUsages(colTime, vm) v.recordVMPerformance(ctx, vm, errs) - v.addVSANMetrics(vsanCsvs, entityRefID, vmType, errs) -} - -type vsanType int - -const ( - clusterType vsanType = iota - hostType - vmType -) - -func (v *vcenterMetricScraper) addVSANMetrics( - csvs []types.VsanPerfEntityMetricCSV, - entityID string, - vsanType vsanType, - errs *scrapererror.ScrapeErrors, -) { - for _, r := range csvs { - // can't correlate this point to a timestamp so just skip it - if r.SampleInfo == "" { - continue - } - // If not this entity ID, then skip it - if vsanType != clusterType && r.EntityRefId != entityID { - continue - } - - time, err := time.Parse(timeFormat, r.SampleInfo) - if err != nil { - errs.AddPartial(1, err) - continue - } - - ts := pdata.NewTimestampFromTime(time) - for _, val := range r.Value { - values := strings.Split(val.Values, ",") - for _, value := range values { - switch vsanType { - case clusterType: - v.recordClusterVsanMetric(ts, val.MetricId.Label, value, errs) - case hostType: - v.recordHostVsanMetric(ts, val.MetricId.Label, value, errs) - case vmType: - v.recordVMVsanMetric(ts, val.MetricId.Label, value, errs) - } - } - } - } } From 1a16fc236082dce44115f9b119b45fad83988c0b Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 16:44:23 -0400 Subject: [PATCH 062/105] remove extra metric attributes for vSAN --- receiver/vcenterreceiver/documentation.md | 3 -- .../internal/metadata/generated_metrics_v2.go | 38 ------------------- receiver/vcenterreceiver/metadata.yaml | 22 ----------- receiver/vcenterreceiver/scraper_test.go | 2 +- 4 files changed, 1 insertion(+), 64 deletions(-) diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index 43e6610f7fdb3..e4711eee769ff 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -75,6 +75,3 @@ metrics: | latency_type (type) | The type of disk latency being reported. | kernel, device | | throughput_direction (direction) | The direction of network throughput. | transmitted, received | | vm_count_power_state (power_state) | Whether the virtual machines are powered on or off. | on, off | -| vsan_latency_type (type) | The type of vSAN latency. | read, write | -| vsan_operation_type (type) | The type of vSAN operation. | read, write, unmap | -| vsan_throughput_direction (direction) | The type of vSAN throughput. | read, write | diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index e995c2fbce320..613dc38ee0e7f 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -2435,12 +2435,6 @@ var Attributes = struct { ThroughputDirection string // VMCountPowerState (Whether the virtual machines are powered on or off.) VMCountPowerState string - // VsanLatencyType (The type of vSAN latency.) - VsanLatencyType string - // VsanOperationType (The type of vSAN operation.) - VsanOperationType string - // VsanThroughputDirection (The type of vSAN throughput.) - VsanThroughputDirection string }{ "disk_state", "effective", @@ -2448,9 +2442,6 @@ var Attributes = struct { "type", "direction", "power_state", - "type", - "type", - "direction", } // A is an alias for Attributes. @@ -2509,32 +2500,3 @@ var AttributeVMCountPowerState = struct { "on", "off", } - -// AttributeVsanLatencyType are the possible values that the attribute "vsan_latency_type" can have. -var AttributeVsanLatencyType = struct { - Read string - Write string -}{ - "read", - "write", -} - -// AttributeVsanOperationType are the possible values that the attribute "vsan_operation_type" can have. -var AttributeVsanOperationType = struct { - Read string - Write string - Unmap string -}{ - "read", - "write", - "unmap", -} - -// AttributeVsanThroughputDirection are the possible values that the attribute "vsan_throughput_direction" can have. -var AttributeVsanThroughputDirection = struct { - Read string - Write string -}{ - "read", - "write", -} diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 63ddb84a53086..dd89743795b65 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -60,28 +60,6 @@ attributes: enum: - "on" - "off" - vsan_latency_type: - value: type - description: The type of vSAN latency. - type: string - enum: - - read - - write - vsan_operation_type: - value: type - description: The type of vSAN operation. - type: string - enum: - - read - - write - - unmap - vsan_throughput_direction: - value: direction - description: The type of vSAN throughput. - type: string - enum: - - read - - write metrics: vcenter.cluster.cpu.limit: diff --git a/receiver/vcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go index 83d2ab729978b..fff6d6b399b89 100644 --- a/receiver/vcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -33,7 +33,7 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" ) -func TestScrape_NoVsan(t *testing.T) { +func TestScrape(t *testing.T) { simulator.Test(func(ctx context.Context, c *vim25.Client) { finder := find.NewFinder(c) client := &vcenterClient{ From 13502dc7e8ea162ab20d2042debe9aafe70f8501 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 20 Apr 2022 17:11:03 -0400 Subject: [PATCH 063/105] remove vsan specific variables --- receiver/vcenterreceiver/scraper.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index e77d7a736b81c..256eb8c6a2c8f 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -29,9 +29,6 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" ) -// example 2022-03-10 14:15:00 -const timeFormat = "2006-01-02 15:04:05" - var _ component.Receiver = (*vcenterMetricScraper)(nil) type vcenterMetricScraper struct { @@ -90,7 +87,7 @@ func (v *vcenterMetricScraper) collectClusters(ctx context.Context) error { v.collectHosts(ctx, now, c, errs) v.collectDatastores(ctx, now, c, errs) v.collectVMs(ctx, now, c, errs) - v.collectCluster(ctx, now, c, errs) + v.collectCluster(ctx, now, c) } v.collectResourcePools(ctx, now, errs) @@ -101,7 +98,6 @@ func (v *vcenterMetricScraper) collectCluster( ctx context.Context, now pdata.Timestamp, c *object.ClusterComputeResource, - errs *scrapererror.ScrapeErrors, ) { var moCluster mo.ClusterComputeResource c.Properties(ctx, c.Reference(), []string{"summary"}, &moCluster) @@ -237,7 +233,6 @@ func (v *vcenterMetricScraper) collectVMs( } vmUUID := moVM.Config.InstanceUuid - entityRefID := fmt.Sprintf("virtual-machine:%s", vmUUID) if string(moVM.Runtime.PowerState) == "poweredOff" { poweredOffVMs++ @@ -254,7 +249,7 @@ func (v *vcenterMetricScraper) collectVMs( return } - v.collectVM(ctx, colTime, moVM, entityRefID, errs) + v.collectVM(ctx, colTime, moVM, errs) v.mb.EmitForResource( metadata.WithVcenterVMName(vm.Name()), metadata.WithVcenterVMID(vmUUID), @@ -271,7 +266,6 @@ func (v *vcenterMetricScraper) collectVM( ctx context.Context, colTime pdata.Timestamp, vm mo.VirtualMachine, - entityRefID string, errs *scrapererror.ScrapeErrors, ) { v.recordVMUsages(colTime, vm) From 471b2b23a23d556c85f3b72b28f0d76a2350ad02 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 21 Apr 2022 10:49:26 -0400 Subject: [PATCH 064/105] clean up host PerfCounter disk latency metrics and fix some descriptions to better reflect interval --- receiver/vcenterreceiver/documentation.md | 10 +- .../internal/metadata/generated_metrics_v2.go | 155 +++++++++--------- receiver/vcenterreceiver/metadata.yaml | 21 ++- receiver/vcenterreceiver/metrics.go | 10 +- 4 files changed, 95 insertions(+), 101 deletions(-) diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index e4711eee769ff..a192406a87a2f 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -20,13 +20,13 @@ These are the metrics available for this scraper. | **vcenter.datastore.disk.utilization** | The utilization of the datastore. | % | Gauge(Double) |
| | **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host. | MHz | Sum(Int) |
| | **vcenter.host.cpu.utilization** | The CPU utilization of the host system. | % | Gauge(Double) |
| -| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Gauge(Int) |
  • latency_direction
  • latency_type
| -| **vcenter.host.disk.latency.total** | The total reported total latency (device and kernel times) | ms | Gauge(Int) |
  • latency_direction
| +| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Gauge(Int) |
  • latency_direction
| +| **vcenter.host.disk.latency.max** | Highest latency value across all disks used by the host, as measured over the most recent 20s interval. | ms | Gauge(Int) |
| | **vcenter.host.disk.throughput** | The throughput to the host system's disk. | By/s | Sum(Int) |
| | **vcenter.host.memory.usage** | The amount of memory the host system is using. | MBy | Sum(Int) |
| | **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized. | % | Gauge(Double) |
| -| **vcenter.host.network.errors** | The summation of errors on the host network. | {errors} | Sum(Int) |
  • throughput_direction
| -| **vcenter.host.network.packets** | The number of packets sent over an interval. | {packets/sec} | Sum(Int) |
  • throughput_direction
| +| **vcenter.host.network.packet.count** | The number of packets sent and received, as measured over the most recent 20s interval. | {packets/sec} | Sum(Int) |
  • throughput_direction
| +| **vcenter.host.network.packet.errors** | The summation of packet errors on the host network, as measured over the most recent 20s interval. | {errors} | Sum(Int) |
  • throughput_direction
| | **vcenter.host.network.throughput** | The amount of data that was sent or received over the network by the host. | {KBy/s} | Sum(Int) |
  • throughput_direction
| | **vcenter.host.network.usage** | The sum of the data transmitted and received for all the NIC instances of the host. | {KBy/s} | Sum(Int) |
| | **vcenter.resource_pool.cpu.shares** | The amount of shares of CPU in the resource pool. | {shares} | Sum(Int) |
| @@ -41,7 +41,7 @@ These are the metrics available for this scraper. | **vcenter.vm.disk.utilization** | The utilization of storage on the virtual machine. | % | Gauge(Double) |
| | **vcenter.vm.memory.ballooned** | The amount of memory that is ballooned due to virtualization. | By | Sum(Int) |
| | **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine. | MBy | Sum(Int) |
| -| **vcenter.vm.network.packets** | The amount of packets that was received or transmitted over the instance's network. | {packets/sec} | Sum(Int) |
  • throughput_direction
| +| **vcenter.vm.network.packet.count** | The amount of packets that was received or transmitted over the instance's network. | {packets/sec} | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine. | By/sec | Sum(Int) |
  • throughput_direction
| | **vcenter.vm.network.usage** | The network utilization combined transmit and receive rates during an interval. | {KBy/s} | Sum(Int) |
| diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 613dc38ee0e7f..3ce3becc11633 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -29,12 +29,12 @@ type MetricsSettings struct { VcenterHostCPUUsage MetricSettings `mapstructure:"vcenter.host.cpu.usage"` VcenterHostCPUUtilization MetricSettings `mapstructure:"vcenter.host.cpu.utilization"` VcenterHostDiskLatencyAvg MetricSettings `mapstructure:"vcenter.host.disk.latency.avg"` - VcenterHostDiskLatencyTotal MetricSettings `mapstructure:"vcenter.host.disk.latency.total"` + VcenterHostDiskLatencyMax MetricSettings `mapstructure:"vcenter.host.disk.latency.max"` VcenterHostDiskThroughput MetricSettings `mapstructure:"vcenter.host.disk.throughput"` VcenterHostMemoryUsage MetricSettings `mapstructure:"vcenter.host.memory.usage"` VcenterHostMemoryUtilization MetricSettings `mapstructure:"vcenter.host.memory.utilization"` - VcenterHostNetworkErrors MetricSettings `mapstructure:"vcenter.host.network.errors"` - VcenterHostNetworkPackets MetricSettings `mapstructure:"vcenter.host.network.packets"` + VcenterHostNetworkPacketCount MetricSettings `mapstructure:"vcenter.host.network.packet.count"` + VcenterHostNetworkPacketErrors MetricSettings `mapstructure:"vcenter.host.network.packet.errors"` VcenterHostNetworkThroughput MetricSettings `mapstructure:"vcenter.host.network.throughput"` VcenterHostNetworkUsage MetricSettings `mapstructure:"vcenter.host.network.usage"` VcenterResourcePoolCPUShares MetricSettings `mapstructure:"vcenter.resource_pool.cpu.shares"` @@ -49,7 +49,7 @@ type MetricsSettings struct { VcenterVMDiskUtilization MetricSettings `mapstructure:"vcenter.vm.disk.utilization"` VcenterVMMemoryBallooned MetricSettings `mapstructure:"vcenter.vm.memory.ballooned"` VcenterVMMemoryUsage MetricSettings `mapstructure:"vcenter.vm.memory.usage"` - VcenterVMNetworkPackets MetricSettings `mapstructure:"vcenter.vm.network.packets"` + VcenterVMNetworkPacketCount MetricSettings `mapstructure:"vcenter.vm.network.packet.count"` VcenterVMNetworkThroughput MetricSettings `mapstructure:"vcenter.vm.network.throughput"` VcenterVMNetworkUsage MetricSettings `mapstructure:"vcenter.vm.network.usage"` } @@ -95,7 +95,7 @@ func DefaultMetricsSettings() MetricsSettings { VcenterHostDiskLatencyAvg: MetricSettings{ Enabled: true, }, - VcenterHostDiskLatencyTotal: MetricSettings{ + VcenterHostDiskLatencyMax: MetricSettings{ Enabled: true, }, VcenterHostDiskThroughput: MetricSettings{ @@ -107,10 +107,10 @@ func DefaultMetricsSettings() MetricsSettings { VcenterHostMemoryUtilization: MetricSettings{ Enabled: true, }, - VcenterHostNetworkErrors: MetricSettings{ + VcenterHostNetworkPacketCount: MetricSettings{ Enabled: true, }, - VcenterHostNetworkPackets: MetricSettings{ + VcenterHostNetworkPacketErrors: MetricSettings{ Enabled: true, }, VcenterHostNetworkThroughput: MetricSettings{ @@ -155,7 +155,7 @@ func DefaultMetricsSettings() MetricsSettings { VcenterVMMemoryUsage: MetricSettings{ Enabled: true, }, - VcenterVMNetworkPackets: MetricSettings{ + VcenterVMNetworkPacketCount: MetricSettings{ Enabled: true, }, VcenterVMNetworkThroughput: MetricSettings{ @@ -796,7 +796,7 @@ func (m *metricVcenterHostDiskLatencyAvg) init() { m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string, latencyTypeAttributeValue string) { +func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -805,7 +805,6 @@ func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pcommon.Timestam dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert(A.LatencyDirection, pcommon.NewValueString(latencyDirectionAttributeValue)) - dp.Attributes().Insert(A.LatencyType, pcommon.NewValueString(latencyTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -833,22 +832,21 @@ func newMetricVcenterHostDiskLatencyAvg(settings MetricSettings) metricVcenterHo return m } -type metricVcenterHostDiskLatencyTotal struct { +type metricVcenterHostDiskLatencyMax struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.host.disk.latency.total metric with initial data. -func (m *metricVcenterHostDiskLatencyTotal) init() { - m.data.SetName("vcenter.host.disk.latency.total") - m.data.SetDescription("The total reported total latency (device and kernel times)") +// init fills vcenter.host.disk.latency.max metric with initial data. +func (m *metricVcenterHostDiskLatencyMax) init() { + m.data.SetName("vcenter.host.disk.latency.max") + m.data.SetDescription("Highest latency value across all disks used by the host, as measured over the most recent 20s interval.") m.data.SetUnit("ms") m.data.SetDataType(pmetric.MetricDataTypeGauge) - m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostDiskLatencyTotal) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { +func (m *metricVcenterHostDiskLatencyMax) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { if !m.settings.Enabled { return } @@ -856,18 +854,17 @@ func (m *metricVcenterHostDiskLatencyTotal) recordDataPoint(start pcommon.Timest dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.LatencyDirection, pcommon.NewValueString(latencyDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostDiskLatencyTotal) updateCapacity() { +func (m *metricVcenterHostDiskLatencyMax) updateCapacity() { if m.data.Gauge().DataPoints().Len() > m.capacity { m.capacity = m.data.Gauge().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostDiskLatencyTotal) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterHostDiskLatencyMax) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Gauge().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -875,8 +872,8 @@ func (m *metricVcenterHostDiskLatencyTotal) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterHostDiskLatencyTotal(settings MetricSettings) metricVcenterHostDiskLatencyTotal { - m := metricVcenterHostDiskLatencyTotal{settings: settings} +func newMetricVcenterHostDiskLatencyMax(settings MetricSettings) metricVcenterHostDiskLatencyMax { + m := metricVcenterHostDiskLatencyMax{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -1035,24 +1032,24 @@ func newMetricVcenterHostMemoryUtilization(settings MetricSettings) metricVcente return m } -type metricVcenterHostNetworkErrors struct { +type metricVcenterHostNetworkPacketCount struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.host.network.errors metric with initial data. -func (m *metricVcenterHostNetworkErrors) init() { - m.data.SetName("vcenter.host.network.errors") - m.data.SetDescription("The summation of errors on the host network.") - m.data.SetUnit("{errors}") +// init fills vcenter.host.network.packet.count metric with initial data. +func (m *metricVcenterHostNetworkPacketCount) init() { + m.data.SetName("vcenter.host.network.packet.count") + m.data.SetDescription("The number of packets sent and received, as measured over the most recent 20s interval.") + m.data.SetUnit("{packets/sec}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostNetworkErrors) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (m *metricVcenterHostNetworkPacketCount) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1064,14 +1061,14 @@ func (m *metricVcenterHostNetworkErrors) recordDataPoint(start pcommon.Timestamp } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostNetworkErrors) updateCapacity() { +func (m *metricVcenterHostNetworkPacketCount) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostNetworkErrors) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterHostNetworkPacketCount) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1079,8 +1076,8 @@ func (m *metricVcenterHostNetworkErrors) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterHostNetworkErrors(settings MetricSettings) metricVcenterHostNetworkErrors { - m := metricVcenterHostNetworkErrors{settings: settings} +func newMetricVcenterHostNetworkPacketCount(settings MetricSettings) metricVcenterHostNetworkPacketCount { + m := metricVcenterHostNetworkPacketCount{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -1088,24 +1085,24 @@ func newMetricVcenterHostNetworkErrors(settings MetricSettings) metricVcenterHos return m } -type metricVcenterHostNetworkPackets struct { +type metricVcenterHostNetworkPacketErrors struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.host.network.packets metric with initial data. -func (m *metricVcenterHostNetworkPackets) init() { - m.data.SetName("vcenter.host.network.packets") - m.data.SetDescription("The number of packets sent over an interval.") - m.data.SetUnit("{packets/sec}") +// init fills vcenter.host.network.packet.errors metric with initial data. +func (m *metricVcenterHostNetworkPacketErrors) init() { + m.data.SetName("vcenter.host.network.packet.errors") + m.data.SetDescription("The summation of packet errors on the host network, as measured over the most recent 20s interval.") + m.data.SetUnit("{errors}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (m *metricVcenterHostNetworkPacketErrors) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1117,14 +1114,14 @@ func (m *metricVcenterHostNetworkPackets) recordDataPoint(start pcommon.Timestam } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterHostNetworkPackets) updateCapacity() { +func (m *metricVcenterHostNetworkPacketErrors) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterHostNetworkPackets) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterHostNetworkPacketErrors) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1132,8 +1129,8 @@ func (m *metricVcenterHostNetworkPackets) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterHostNetworkPackets(settings MetricSettings) metricVcenterHostNetworkPackets { - m := metricVcenterHostNetworkPackets{settings: settings} +func newMetricVcenterHostNetworkPacketErrors(settings MetricSettings) metricVcenterHostNetworkPacketErrors { + m := metricVcenterHostNetworkPacketErrors{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -1853,15 +1850,15 @@ func newMetricVcenterVMMemoryUsage(settings MetricSettings) metricVcenterVMMemor return m } -type metricVcenterVMNetworkPackets struct { +type metricVcenterVMNetworkPacketCount struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. capacity int // max observed number of data points added to the metric. } -// init fills vcenter.vm.network.packets metric with initial data. -func (m *metricVcenterVMNetworkPackets) init() { - m.data.SetName("vcenter.vm.network.packets") +// init fills vcenter.vm.network.packet.count metric with initial data. +func (m *metricVcenterVMNetworkPacketCount) init() { + m.data.SetName("vcenter.vm.network.packet.count") m.data.SetDescription("The amount of packets that was received or transmitted over the instance's network.") m.data.SetUnit("{packets/sec}") m.data.SetDataType(pmetric.MetricDataTypeSum) @@ -1870,7 +1867,7 @@ func (m *metricVcenterVMNetworkPackets) init() { m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { +func (m *metricVcenterVMNetworkPacketCount) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1882,14 +1879,14 @@ func (m *metricVcenterVMNetworkPackets) recordDataPoint(start pcommon.Timestamp, } // updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterVMNetworkPackets) updateCapacity() { +func (m *metricVcenterVMNetworkPacketCount) updateCapacity() { if m.data.Sum().DataPoints().Len() > m.capacity { m.capacity = m.data.Sum().DataPoints().Len() } } // emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterVMNetworkPackets) emit(metrics pmetric.MetricSlice) { +func (m *metricVcenterVMNetworkPacketCount) emit(metrics pmetric.MetricSlice) { if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { m.updateCapacity() m.data.MoveTo(metrics.AppendEmpty()) @@ -1897,8 +1894,8 @@ func (m *metricVcenterVMNetworkPackets) emit(metrics pmetric.MetricSlice) { } } -func newMetricVcenterVMNetworkPackets(settings MetricSettings) metricVcenterVMNetworkPackets { - m := metricVcenterVMNetworkPackets{settings: settings} +func newMetricVcenterVMNetworkPacketCount(settings MetricSettings) metricVcenterVMNetworkPacketCount { + m := metricVcenterVMNetworkPacketCount{settings: settings} if settings.Enabled { m.data = pmetric.NewMetric() m.init() @@ -2030,12 +2027,12 @@ type MetricsBuilder struct { metricVcenterHostCPUUsage metricVcenterHostCPUUsage metricVcenterHostCPUUtilization metricVcenterHostCPUUtilization metricVcenterHostDiskLatencyAvg metricVcenterHostDiskLatencyAvg - metricVcenterHostDiskLatencyTotal metricVcenterHostDiskLatencyTotal + metricVcenterHostDiskLatencyMax metricVcenterHostDiskLatencyMax metricVcenterHostDiskThroughput metricVcenterHostDiskThroughput metricVcenterHostMemoryUsage metricVcenterHostMemoryUsage metricVcenterHostMemoryUtilization metricVcenterHostMemoryUtilization - metricVcenterHostNetworkErrors metricVcenterHostNetworkErrors - metricVcenterHostNetworkPackets metricVcenterHostNetworkPackets + metricVcenterHostNetworkPacketCount metricVcenterHostNetworkPacketCount + metricVcenterHostNetworkPacketErrors metricVcenterHostNetworkPacketErrors metricVcenterHostNetworkThroughput metricVcenterHostNetworkThroughput metricVcenterHostNetworkUsage metricVcenterHostNetworkUsage metricVcenterResourcePoolCPUShares metricVcenterResourcePoolCPUShares @@ -2050,7 +2047,7 @@ type MetricsBuilder struct { metricVcenterVMDiskUtilization metricVcenterVMDiskUtilization metricVcenterVMMemoryBallooned metricVcenterVMMemoryBallooned metricVcenterVMMemoryUsage metricVcenterVMMemoryUsage - metricVcenterVMNetworkPackets metricVcenterVMNetworkPackets + metricVcenterVMNetworkPacketCount metricVcenterVMNetworkPacketCount metricVcenterVMNetworkThroughput metricVcenterVMNetworkThroughput metricVcenterVMNetworkUsage metricVcenterVMNetworkUsage } @@ -2082,12 +2079,12 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) metricVcenterHostCPUUsage: newMetricVcenterHostCPUUsage(settings.VcenterHostCPUUsage), metricVcenterHostCPUUtilization: newMetricVcenterHostCPUUtilization(settings.VcenterHostCPUUtilization), metricVcenterHostDiskLatencyAvg: newMetricVcenterHostDiskLatencyAvg(settings.VcenterHostDiskLatencyAvg), - metricVcenterHostDiskLatencyTotal: newMetricVcenterHostDiskLatencyTotal(settings.VcenterHostDiskLatencyTotal), + metricVcenterHostDiskLatencyMax: newMetricVcenterHostDiskLatencyMax(settings.VcenterHostDiskLatencyMax), metricVcenterHostDiskThroughput: newMetricVcenterHostDiskThroughput(settings.VcenterHostDiskThroughput), metricVcenterHostMemoryUsage: newMetricVcenterHostMemoryUsage(settings.VcenterHostMemoryUsage), metricVcenterHostMemoryUtilization: newMetricVcenterHostMemoryUtilization(settings.VcenterHostMemoryUtilization), - metricVcenterHostNetworkErrors: newMetricVcenterHostNetworkErrors(settings.VcenterHostNetworkErrors), - metricVcenterHostNetworkPackets: newMetricVcenterHostNetworkPackets(settings.VcenterHostNetworkPackets), + metricVcenterHostNetworkPacketCount: newMetricVcenterHostNetworkPacketCount(settings.VcenterHostNetworkPacketCount), + metricVcenterHostNetworkPacketErrors: newMetricVcenterHostNetworkPacketErrors(settings.VcenterHostNetworkPacketErrors), metricVcenterHostNetworkThroughput: newMetricVcenterHostNetworkThroughput(settings.VcenterHostNetworkThroughput), metricVcenterHostNetworkUsage: newMetricVcenterHostNetworkUsage(settings.VcenterHostNetworkUsage), metricVcenterResourcePoolCPUShares: newMetricVcenterResourcePoolCPUShares(settings.VcenterResourcePoolCPUShares), @@ -2102,7 +2099,7 @@ func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) metricVcenterVMDiskUtilization: newMetricVcenterVMDiskUtilization(settings.VcenterVMDiskUtilization), metricVcenterVMMemoryBallooned: newMetricVcenterVMMemoryBallooned(settings.VcenterVMMemoryBallooned), metricVcenterVMMemoryUsage: newMetricVcenterVMMemoryUsage(settings.VcenterVMMemoryUsage), - metricVcenterVMNetworkPackets: newMetricVcenterVMNetworkPackets(settings.VcenterVMNetworkPackets), + metricVcenterVMNetworkPacketCount: newMetricVcenterVMNetworkPacketCount(settings.VcenterVMNetworkPacketCount), metricVcenterVMNetworkThroughput: newMetricVcenterVMNetworkThroughput(settings.VcenterVMNetworkThroughput), metricVcenterVMNetworkUsage: newMetricVcenterVMNetworkUsage(settings.VcenterVMNetworkUsage), } @@ -2193,12 +2190,12 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { mb.metricVcenterHostCPUUsage.emit(ils.Metrics()) mb.metricVcenterHostCPUUtilization.emit(ils.Metrics()) mb.metricVcenterHostDiskLatencyAvg.emit(ils.Metrics()) - mb.metricVcenterHostDiskLatencyTotal.emit(ils.Metrics()) + mb.metricVcenterHostDiskLatencyMax.emit(ils.Metrics()) mb.metricVcenterHostDiskThroughput.emit(ils.Metrics()) mb.metricVcenterHostMemoryUsage.emit(ils.Metrics()) mb.metricVcenterHostMemoryUtilization.emit(ils.Metrics()) - mb.metricVcenterHostNetworkErrors.emit(ils.Metrics()) - mb.metricVcenterHostNetworkPackets.emit(ils.Metrics()) + mb.metricVcenterHostNetworkPacketCount.emit(ils.Metrics()) + mb.metricVcenterHostNetworkPacketErrors.emit(ils.Metrics()) mb.metricVcenterHostNetworkThroughput.emit(ils.Metrics()) mb.metricVcenterHostNetworkUsage.emit(ils.Metrics()) mb.metricVcenterResourcePoolCPUShares.emit(ils.Metrics()) @@ -2213,7 +2210,7 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { mb.metricVcenterVMDiskUtilization.emit(ils.Metrics()) mb.metricVcenterVMMemoryBallooned.emit(ils.Metrics()) mb.metricVcenterVMMemoryUsage.emit(ils.Metrics()) - mb.metricVcenterVMNetworkPackets.emit(ils.Metrics()) + mb.metricVcenterVMNetworkPacketCount.emit(ils.Metrics()) mb.metricVcenterVMNetworkThroughput.emit(ils.Metrics()) mb.metricVcenterVMNetworkUsage.emit(ils.Metrics()) if ils.Metrics().Len() > 0 { @@ -2293,13 +2290,13 @@ func (mb *MetricsBuilder) RecordVcenterHostCPUUtilizationDataPoint(ts pcommon.Ti } // RecordVcenterHostDiskLatencyAvgDataPoint adds a data point to vcenter.host.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string, latencyTypeAttributeValue string) { - mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue, latencyTypeAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { + mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue) } -// RecordVcenterHostDiskLatencyTotalDataPoint adds a data point to vcenter.host.disk.latency.total metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyTotalDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { - mb.metricVcenterHostDiskLatencyTotal.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue) +// RecordVcenterHostDiskLatencyMaxDataPoint adds a data point to vcenter.host.disk.latency.max metric. +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyMaxDataPoint(ts pcommon.Timestamp, val int64) { + mb.metricVcenterHostDiskLatencyMax.recordDataPoint(mb.startTime, ts, val) } // RecordVcenterHostDiskThroughputDataPoint adds a data point to vcenter.host.disk.throughput metric. @@ -2317,14 +2314,14 @@ func (mb *MetricsBuilder) RecordVcenterHostMemoryUtilizationDataPoint(ts pcommon mb.metricVcenterHostMemoryUtilization.recordDataPoint(mb.startTime, ts, val) } -// RecordVcenterHostNetworkErrorsDataPoint adds a data point to vcenter.host.network.errors metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkErrorsDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - mb.metricVcenterHostNetworkErrors.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +// RecordVcenterHostNetworkPacketCountDataPoint adds a data point to vcenter.host.network.packet.count metric. +func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketCountDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { + mb.metricVcenterHostNetworkPacketCount.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } -// RecordVcenterHostNetworkPacketsDataPoint adds a data point to vcenter.host.network.packets metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketsDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - mb.metricVcenterHostNetworkPackets.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +// RecordVcenterHostNetworkPacketErrorsDataPoint adds a data point to vcenter.host.network.packet.errors metric. +func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketErrorsDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { + mb.metricVcenterHostNetworkPacketErrors.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterHostNetworkThroughputDataPoint adds a data point to vcenter.host.network.throughput metric. @@ -2397,9 +2394,9 @@ func (mb *MetricsBuilder) RecordVcenterVMMemoryUsageDataPoint(ts pcommon.Timesta mb.metricVcenterVMMemoryUsage.recordDataPoint(mb.startTime, ts, val) } -// RecordVcenterVMNetworkPacketsDataPoint adds a data point to vcenter.vm.network.packets metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketsDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - mb.metricVcenterVMNetworkPackets.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +// RecordVcenterVMNetworkPacketCountDataPoint adds a data point to vcenter.vm.network.packet.count metric. +func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketCountDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { + mb.metricVcenterVMNetworkPacketCount.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) } // RecordVcenterVMNetworkThroughputDataPoint adds a data point to vcenter.vm.network.throughput metric. diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index dd89743795b65..9fbd0885efe49 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -134,7 +134,6 @@ metrics: value_type: int aggregation: cumulative attributes: [host_effective] - vcenter.datastore.disk.usage: enabled: true description: The amount of space in the datastore. @@ -182,15 +181,15 @@ metrics: unit: ms gauge: value_type: int - attributes: [latency_direction, latency_type] + attributes: [latency_direction] extended_documentation: This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. - vcenter.host.disk.latency.total: + vcenter.host.disk.latency.max: enabled: true - description: The total reported total latency (device and kernel times) + description: Highest latency value across all disks used by the host, as measured over the most recent 20s interval. unit: ms gauge: value_type: int - attributes: [latency_direction] + attributes: [] vcenter.host.memory.utilization: enabled: true description: The percentage of the host system's memory capacity that is being utilized. @@ -225,18 +224,18 @@ metrics: value_type: int aggregation: cumulative attributes: [] - vcenter.host.network.errors: + vcenter.host.network.packet.errors: enabled: true - description: The summation of errors on the host network. + description: The summation of packet errors on the host network, as measured over the most recent 20s interval. unit: "{errors}" sum: monotonic: false value_type: int aggregation: cumulative attributes: [throughput_direction] - vcenter.host.network.packets: + vcenter.host.network.packet.count: enabled: true - description: The number of packets sent over an interval. + description: The number of packets sent and received, as measured over the most recent 20s interval. unit: "{packets/sec}" sum: monotonic: false @@ -354,7 +353,7 @@ metrics: value_type: int aggregation: cumulative attributes: [throughput_direction] - vcenter.vm.network.packets: + vcenter.vm.network.packet.count: enabled: true description: The amount of packets that was received or transmitted over the instance's network. unit: "{packets/sec}" @@ -371,4 +370,4 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [] \ No newline at end of file + attributes: [] diff --git a/receiver/vcenterreceiver/metrics.go b/receiver/vcenterreceiver/metrics.go index 588ad5bdd1a66..57d8db162252a 100644 --- a/receiver/vcenterreceiver/metrics.go +++ b/receiver/vcenterreceiver/metrics.go @@ -227,14 +227,12 @@ func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.Enti case "net.errorsTx.summation": v.mb.RecordVcenterHostNetworkErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") - case "disk.kernelReadLatency.average": - v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "read", "kernel") - case "disk.kernelWriteLatency.average": - v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write", "device") case "disk.totalWriteLatency.average": - v.mb.RecordVcenterHostDiskLatencyTotalDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") case "disk.totalReadLatency.average": - v.mb.RecordVcenterHostDiskLatencyTotalDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "read") + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") + case "disk.maxTotalLatency.latest": + v.mb.RecordVcenterHostDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) } } } From 9fcf32658a6940e6fc8e579ec8e5cd1d8219c35b Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 21 Apr 2022 10:57:30 -0400 Subject: [PATCH 065/105] add 20s interval to extended documentation as needed --- receiver/vcenterreceiver/metadata.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 9fbd0885efe49..22df8b972f574 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -185,11 +185,12 @@ metrics: extended_documentation: This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. vcenter.host.disk.latency.max: enabled: true - description: Highest latency value across all disks used by the host, as measured over the most recent 20s interval. + description: Highest latency value across all disks used by the host. unit: ms gauge: value_type: int attributes: [] + extended_documentation: As measured over the most recent 20s interval. vcenter.host.memory.utilization: enabled: true description: The percentage of the host system's memory capacity that is being utilized. @@ -215,6 +216,7 @@ metrics: value_type: int aggregation: cumulative attributes: [throughput_direction] + extended_documentation: As measured over the most recent 20s interval. vcenter.host.network.usage: enabled: true description: The sum of the data transmitted and received for all the NIC instances of the host. @@ -226,13 +228,14 @@ metrics: attributes: [] vcenter.host.network.packet.errors: enabled: true - description: The summation of packet errors on the host network, as measured over the most recent 20s interval. + description: The summation of packet errors on the host network. unit: "{errors}" sum: monotonic: false value_type: int aggregation: cumulative attributes: [throughput_direction] + extended_documentation: As measured over the most recent 20s interval. vcenter.host.network.packet.count: enabled: true description: The number of packets sent and received, as measured over the most recent 20s interval. @@ -326,7 +329,7 @@ metrics: gauge: value_type: int attributes: [latency_direction] - extended_documentation: This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. + extended_documentation: Requires Performance Counter level 2 for metric to populate. As measured over the most recent 20s interval. vcenter.vm.disk.latency.max: enabled: true description: The highest reported total latency (device and kernel times) over an interval of 20 seconds. @@ -343,7 +346,6 @@ metrics: value_type: int aggregation: cumulative attributes: [] - vcenter.vm.network.throughput: enabled: true description: The amount of data that was received or sent over the network of the virtual machine. @@ -353,6 +355,7 @@ metrics: value_type: int aggregation: cumulative attributes: [throughput_direction] + extended_documentation: As measured over the most recent 20s interval. vcenter.vm.network.packet.count: enabled: true description: The amount of packets that was received or transmitted over the instance's network. @@ -371,3 +374,4 @@ metrics: value_type: int aggregation: cumulative attributes: [] + extended_documentation: As measured over the most recent 20s interval. From 27bff1d9d802b0b549ba7b1f1f24a1a75142d955 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 21 Apr 2022 10:58:53 -0400 Subject: [PATCH 066/105] mdatagen fixes --- receiver/vcenterreceiver/documentation.md | 12 ++++++------ .../internal/metadata/generated_metrics_v2.go | 4 ++-- receiver/vcenterreceiver/metrics.go | 12 ++++++------ 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index a192406a87a2f..5a63683107c4e 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -21,20 +21,20 @@ These are the metrics available for this scraper. | **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host. | MHz | Sum(Int) |
| | **vcenter.host.cpu.utilization** | The CPU utilization of the host system. | % | Gauge(Double) |
| | **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Gauge(Int) |
  • latency_direction
| -| **vcenter.host.disk.latency.max** | Highest latency value across all disks used by the host, as measured over the most recent 20s interval. | ms | Gauge(Int) |
| +| **vcenter.host.disk.latency.max** | Highest latency value across all disks used by the host. As measured over the most recent 20s interval. | ms | Gauge(Int) |
| | **vcenter.host.disk.throughput** | The throughput to the host system's disk. | By/s | Sum(Int) |
| | **vcenter.host.memory.usage** | The amount of memory the host system is using. | MBy | Sum(Int) |
| | **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized. | % | Gauge(Double) |
| | **vcenter.host.network.packet.count** | The number of packets sent and received, as measured over the most recent 20s interval. | {packets/sec} | Sum(Int) |
  • throughput_direction
| -| **vcenter.host.network.packet.errors** | The summation of packet errors on the host network, as measured over the most recent 20s interval. | {errors} | Sum(Int) |
  • throughput_direction
| -| **vcenter.host.network.throughput** | The amount of data that was sent or received over the network by the host. | {KBy/s} | Sum(Int) |
  • throughput_direction
| +| **vcenter.host.network.packet.errors** | The summation of packet errors on the host network. As measured over the most recent 20s interval. | {errors} | Sum(Int) |
  • throughput_direction
| +| **vcenter.host.network.throughput** | The amount of data that was sent or received over the network by the host. As measured over the most recent 20s interval. | {KBy/s} | Sum(Int) |
  • throughput_direction
| | **vcenter.host.network.usage** | The sum of the data transmitted and received for all the NIC instances of the host. | {KBy/s} | Sum(Int) |
| | **vcenter.resource_pool.cpu.shares** | The amount of shares of CPU in the resource pool. | {shares} | Sum(Int) |
| | **vcenter.resource_pool.cpu.usage** | The usage of the CPU used by the resource pool. | {MHz} | Sum(Int) |
| | **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool. | {shares} | Sum(Int) |
| | **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool. | MBy | Sum(Int) |
| | **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine. | % | Gauge(Double) |
| -| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | µs | Gauge(Int) |
  • latency_direction
| +| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk. Requires Performance Counter level 2 for metric to populate. As measured over the most recent 20s interval. | µs | Gauge(Int) |
  • latency_direction
| | **vcenter.vm.disk.latency.max** | The highest reported total latency (device and kernel times) over an interval of 20 seconds. | ms | Gauge(Int) |
| | **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk. | By/sec | Sum(Int) |
| | **vcenter.vm.disk.usage** | The amount of storage space used by the virtual machine. | By | Sum(Int) |
  • disk_state
| @@ -42,8 +42,8 @@ These are the metrics available for this scraper. | **vcenter.vm.memory.ballooned** | The amount of memory that is ballooned due to virtualization. | By | Sum(Int) |
| | **vcenter.vm.memory.usage** | The amount of memory that is used by the virtual machine. | MBy | Sum(Int) |
| | **vcenter.vm.network.packet.count** | The amount of packets that was received or transmitted over the instance's network. | {packets/sec} | Sum(Int) |
  • throughput_direction
| -| **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine. | By/sec | Sum(Int) |
  • throughput_direction
| -| **vcenter.vm.network.usage** | The network utilization combined transmit and receive rates during an interval. | {KBy/s} | Sum(Int) |
| +| **vcenter.vm.network.throughput** | The amount of data that was received or sent over the network of the virtual machine. As measured over the most recent 20s interval. | By/sec | Sum(Int) |
  • throughput_direction
| +| **vcenter.vm.network.usage** | The network utilization combined transmit and receive rates during an interval. As measured over the most recent 20s interval. | {KBy/s} | Sum(Int) |
| **Highlighted metrics** are emitted by default. Other metrics are optional and not emitted by default. Any metric can be enabled or disabled with the following scraper configuration: diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 3ce3becc11633..9350bb824729a 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -841,7 +841,7 @@ type metricVcenterHostDiskLatencyMax struct { // init fills vcenter.host.disk.latency.max metric with initial data. func (m *metricVcenterHostDiskLatencyMax) init() { m.data.SetName("vcenter.host.disk.latency.max") - m.data.SetDescription("Highest latency value across all disks used by the host, as measured over the most recent 20s interval.") + m.data.SetDescription("Highest latency value across all disks used by the host.") m.data.SetUnit("ms") m.data.SetDataType(pmetric.MetricDataTypeGauge) } @@ -1094,7 +1094,7 @@ type metricVcenterHostNetworkPacketErrors struct { // init fills vcenter.host.network.packet.errors metric with initial data. func (m *metricVcenterHostNetworkPacketErrors) init() { m.data.SetName("vcenter.host.network.packet.errors") - m.data.SetDescription("The summation of packet errors on the host network, as measured over the most recent 20s interval.") + m.data.SetDescription("The summation of packet errors on the host network.") m.data.SetUnit("{errors}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) diff --git a/receiver/vcenterreceiver/metrics.go b/receiver/vcenterreceiver/metrics.go index 57d8db162252a..b883a73690b2c 100644 --- a/receiver/vcenterreceiver/metrics.go +++ b/receiver/vcenterreceiver/metrics.go @@ -185,9 +185,9 @@ func (v *vcenterMetricScraper) processVMPerformanceMetrics(info *perfSampleResul case "net.usage.average": v.mb.RecordVcenterVMNetworkUsageDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) case "net.packetsTx.summation": - v.mb.RecordVcenterVMNetworkPacketsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + v.mb.RecordVcenterVMNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") case "net.packetsRx.summation": - v.mb.RecordVcenterVMNetworkPacketsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + v.mb.RecordVcenterVMNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") // Performance monitoring level 2 metrics required case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": @@ -217,15 +217,15 @@ func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.Enti v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") // case "net.bytesTx.average": case "net.packetsTx.summation": - v.mb.RecordVcenterHostNetworkPacketsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") case "net.packetsRx.summation": - v.mb.RecordVcenterHostNetworkPacketsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") // Following requires performance level 2 case "net.errorsRx.summation": - v.mb.RecordVcenterHostNetworkErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + v.mb.RecordVcenterHostNetworkPacketErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") case "net.errorsTx.summation": - v.mb.RecordVcenterHostNetworkErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + v.mb.RecordVcenterHostNetworkPacketErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") case "disk.totalWriteLatency.average": v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") From c647af04a9d5a10aab508efdcbdafb2d96aba264 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 21 Apr 2022 13:48:41 -0400 Subject: [PATCH 067/105] add integration test metric scrape --- receiver/vcenterreceiver/integration_test.go | 10 + receiver/vcenterreceiver/metrics.go | 7 +- .../testdata/metrics/expected.json | 874 ++++++++---------- 3 files changed, 424 insertions(+), 467 deletions(-) diff --git a/receiver/vcenterreceiver/integration_test.go b/receiver/vcenterreceiver/integration_test.go index b1edf4cf07cc9..dedbfe97d4950 100644 --- a/receiver/vcenterreceiver/integration_test.go +++ b/receiver/vcenterreceiver/integration_test.go @@ -19,8 +19,12 @@ package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collec import ( "context" + "path/filepath" "testing" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest/golden" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" "github.com/stretchr/testify/require" "github.com/vmware/govmomi" "github.com/vmware/govmomi/find" @@ -40,6 +44,7 @@ func TestEndtoEnd_ESX(t *testing.T) { TLSClientSetting: configtls.TLSClientSetting{ Insecure: true, }, + Settings: metadata.DefaultMetricsSettings(), }, } s := session.NewManager(c) @@ -66,6 +71,11 @@ func TestEndtoEnd_ESX(t *testing.T) { require.NoError(t, err) require.NotEmpty(t, metrics) + goldenPath := filepath.Join("testdata", "metrics", "expected.json") + expectedMetrics, err := golden.ReadMetrics(goldenPath) + err = scrapertest.CompareMetrics(expectedMetrics, metrics) + require.NoError(t, err) + err = rcvr.Shutdown(ctx) require.NoError(t, err) }) diff --git a/receiver/vcenterreceiver/metrics.go b/receiver/vcenterreceiver/metrics.go index b883a73690b2c..664d2e99fbba3 100644 --- a/receiver/vcenterreceiver/metrics.go +++ b/receiver/vcenterreceiver/metrics.go @@ -57,10 +57,13 @@ func (v *vcenterMetricScraper) recordVMUsages( diskUsed := vm.Summary.Storage.Committed diskFree := vm.Summary.Storage.Uncommitted - diskUtilization := float64(diskUsed) / float64(diskFree) * 100 + v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskUsed, "used") v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskFree, "total") - v.mb.RecordVcenterVMDiskUtilizationDataPoint(now, diskUtilization) + if diskFree != 0 { + diskUtilization := float64(diskUsed) / float64(diskFree) * 100 + v.mb.RecordVcenterVMDiskUtilizationDataPoint(now, diskUtilization) + } } func (v *vcenterMetricScraper) recordDatastoreProperties( diff --git a/receiver/vcenterreceiver/testdata/metrics/expected.json b/receiver/vcenterreceiver/testdata/metrics/expected.json index 87f9c5541ce05..f75ee0ec0fd6a 100644 --- a/receiver/vcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vcenterreceiver/testdata/metrics/expected.json @@ -25,13 +25,13 @@ "metrics": [ { "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host", + "description": "The amount of CPU in Hz used by the host.", "unit": "MHz", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "67" } ], @@ -40,13 +40,13 @@ }, { "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system", + "description": "The CPU utilization of the host system.", "unit": "%", "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asDouble": 1.4603312990409765 } ] @@ -54,13 +54,13 @@ }, { "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using", + "description": "The amount of memory the host system is using.", "unit": "MBy", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "1404" } ], @@ -69,21 +69,21 @@ }, { "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized", + "description": "The percentage of the host system's memory capacity that is being utilized.", "unit": "%", "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asDouble": 34.285714285714285 } ] } }, { - "name": "vcenter.host.network.packets", - "description": "The number of packets sent over an interval", + "name": "vcenter.host.network.packet.count", + "description": "The number of packets sent and received, as measured over the most recent 20s interval.", "unit": "{packets/sec}", "sum": { "dataPoints": [ @@ -96,9 +96,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361125643000", - "asInt": "11597" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219708331000", + "asInt": "9368" }, { "attributes": [ @@ -109,9 +109,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341125643000", - "asInt": "9536" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199708331000", + "asInt": "4522" }, { "attributes": [ @@ -122,9 +122,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321125643000", - "asInt": "7593" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179708331000", + "asInt": "7107" }, { "attributes": [ @@ -135,9 +135,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301125643000", - "asInt": "12653" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159708331000", + "asInt": "11553" }, { "attributes": [ @@ -148,9 +148,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281125643000", - "asInt": "11856" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139708331000", + "asInt": "20673" }, { "attributes": [ @@ -161,9 +161,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361125643000", - "asInt": "14138" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219708331000", + "asInt": "11901" }, { "attributes": [ @@ -174,9 +174,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341125643000", - "asInt": "38211" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199708331000", + "asInt": "14574" }, { "attributes": [ @@ -187,9 +187,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321125643000", - "asInt": "13466" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179708331000", + "asInt": "12841" }, { "attributes": [ @@ -200,9 +200,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301125643000", - "asInt": "12660" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159708331000", + "asInt": "11116" }, { "attributes": [ @@ -213,9 +213,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281125643000", - "asInt": "10873" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139708331000", + "asInt": "22610" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -223,7 +223,7 @@ }, { "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host", + "description": "The amount of data that was sent or received over the network by the host.", "unit": "{KBy/s}", "sum": { "dataPoints": [ @@ -236,9 +236,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361125643000", - "asInt": "619" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219708331000", + "asInt": "518" }, { "attributes": [ @@ -249,9 +249,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341125643000", - "asInt": "1573" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199708331000", + "asInt": "519" }, { "attributes": [ @@ -262,9 +262,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321125643000", - "asInt": "783" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179708331000", + "asInt": "763" }, { "attributes": [ @@ -275,9 +275,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301125643000", - "asInt": "878" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159708331000", + "asInt": "738" }, { "attributes": [ @@ -288,9 +288,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281125643000", - "asInt": "964" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139708331000", + "asInt": "2179" }, { "attributes": [ @@ -301,9 +301,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361125643000", - "asInt": "833" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219708331000", + "asInt": "699" }, { "attributes": [ @@ -314,9 +314,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341125643000", - "asInt": "1777" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199708331000", + "asInt": "592" }, { "attributes": [ @@ -327,9 +327,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321125643000", - "asInt": "519" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179708331000", + "asInt": "507" }, { "attributes": [ @@ -340,9 +340,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301125643000", - "asInt": "895" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159708331000", + "asInt": "753" }, { "attributes": [ @@ -353,9 +353,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281125643000", - "asInt": "910" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139708331000", + "asInt": "2075" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -368,29 +368,29 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361125643000", - "asInt": "1518" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219708331000", + "asInt": "1272" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341125643000", - "asInt": "3193" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199708331000", + "asInt": "1061" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321125643000", - "asInt": "1044" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179708331000", + "asInt": "1018" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301125643000", - "asInt": "1515" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159708331000", + "asInt": "1274" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281125643000", - "asInt": "1653" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139708331000", + "asInt": "3755" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -425,13 +425,13 @@ "metrics": [ { "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host", + "description": "The amount of CPU in Hz used by the host.", "unit": "MHz", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "67" } ], @@ -440,13 +440,13 @@ }, { "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system", + "description": "The CPU utilization of the host system.", "unit": "%", "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asDouble": 1.4603312990409765 } ] @@ -454,13 +454,13 @@ }, { "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using", + "description": "The amount of memory the host system is using.", "unit": "MBy", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "1404" } ], @@ -469,21 +469,21 @@ }, { "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized", + "description": "The percentage of the host system's memory capacity that is being utilized.", "unit": "%", "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asDouble": 34.285714285714285 } ] } }, { - "name": "vcenter.host.network.packets", - "description": "The number of packets sent over an interval", + "name": "vcenter.host.network.packet.count", + "description": "The number of packets sent and received, as measured over the most recent 20s interval.", "unit": "{packets/sec}", "sum": { "dataPoints": [ @@ -496,9 +496,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361159213000", - "asInt": "10651" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219743194000", + "asInt": "8604" }, { "attributes": [ @@ -509,9 +509,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341159213000", - "asInt": "12420" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199743194000", + "asInt": "5890" }, { "attributes": [ @@ -522,9 +522,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321159213000", - "asInt": "8513" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179743194000", + "asInt": "7968" }, { "attributes": [ @@ -535,9 +535,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301159213000", - "asInt": "9034" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159743194000", + "asInt": "8248" }, { "attributes": [ @@ -548,9 +548,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281159213000", - "asInt": "10041" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139743194000", + "asInt": "17508" }, { "attributes": [ @@ -561,9 +561,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361159213000", - "asInt": "18924" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219743194000", + "asInt": "15928" }, { "attributes": [ @@ -574,9 +574,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341159213000", - "asInt": "21446" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199743194000", + "asInt": "8181" }, { "attributes": [ @@ -587,9 +587,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321159213000", - "asInt": "17919" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179743194000", + "asInt": "17088" }, { "attributes": [ @@ -600,9 +600,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301159213000", - "asInt": "21853" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159743194000", + "asInt": "19186" }, { "attributes": [ @@ -613,9 +613,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281159213000", - "asInt": "18799" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139743194000", + "asInt": "39090" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -623,7 +623,7 @@ }, { "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host", + "description": "The amount of data that was sent or received over the network by the host.", "unit": "{KBy/s}", "sum": { "dataPoints": [ @@ -636,9 +636,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361159213000", - "asInt": "570" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219743194000", + "asInt": "477" }, { "attributes": [ @@ -649,9 +649,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341159213000", - "asInt": "1155" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199743194000", + "asInt": "382" }, { "attributes": [ @@ -662,9 +662,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321159213000", - "asInt": "634" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179743194000", + "asInt": "618" }, { "attributes": [ @@ -675,9 +675,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301159213000", - "asInt": "1014" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159743194000", + "asInt": "852" }, { "attributes": [ @@ -688,9 +688,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281159213000", - "asInt": "595" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139743194000", + "asInt": "1343" }, { "attributes": [ @@ -701,9 +701,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361159213000", - "asInt": "867" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219743194000", + "asInt": "728" }, { "attributes": [ @@ -714,9 +714,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341159213000", - "asInt": "1837" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199743194000", + "asInt": "612" }, { "attributes": [ @@ -727,9 +727,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321159213000", - "asInt": "468" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179743194000", + "asInt": "458" }, { "attributes": [ @@ -740,9 +740,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301159213000", - "asInt": "938" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159743194000", + "asInt": "789" }, { "attributes": [ @@ -753,9 +753,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281159213000", - "asInt": "789" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139743194000", + "asInt": "1799" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -768,29 +768,29 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361159213000", - "asInt": "1251" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219743194000", + "asInt": "1049" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341159213000", - "asInt": "2276" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199743194000", + "asInt": "756" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321159213000", - "asInt": "1062" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179743194000", + "asInt": "1035" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301159213000", - "asInt": "1746" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159743194000", + "asInt": "1469" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281159213000", - "asInt": "2058" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139743194000", + "asInt": "4675" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -825,13 +825,13 @@ "metrics": [ { "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host", + "description": "The amount of CPU in Hz used by the host.", "unit": "MHz", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "67" } ], @@ -840,13 +840,13 @@ }, { "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system", + "description": "The CPU utilization of the host system.", "unit": "%", "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asDouble": 1.4603312990409765 } ] @@ -854,13 +854,13 @@ }, { "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using", + "description": "The amount of memory the host system is using.", "unit": "MBy", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "1404" } ], @@ -869,21 +869,21 @@ }, { "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized", + "description": "The percentage of the host system's memory capacity that is being utilized.", "unit": "%", "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asDouble": 34.285714285714285 } ] } }, { - "name": "vcenter.host.network.packets", - "description": "The number of packets sent over an interval", + "name": "vcenter.host.network.packet.count", + "description": "The number of packets sent and received, as measured over the most recent 20s interval.", "unit": "{packets/sec}", "sum": { "dataPoints": [ @@ -896,9 +896,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361185239000", - "asInt": "13503" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219779235000", + "asInt": "10908" }, { "attributes": [ @@ -909,9 +909,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341185239000", - "asInt": "13973" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199779235000", + "asInt": "6626" }, { "attributes": [ @@ -922,9 +922,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321185239000", - "asInt": "8040" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179779235000", + "asInt": "7525" }, { "attributes": [ @@ -935,9 +935,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301185239000", - "asInt": "8858" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159779235000", + "asInt": "8087" }, { "attributes": [ @@ -948,9 +948,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281185239000", - "asInt": "12056" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139779235000", + "asInt": "21022" }, { "attributes": [ @@ -961,9 +961,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361185239000", - "asInt": "14088" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219779235000", + "asInt": "11859" }, { "attributes": [ @@ -974,9 +974,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341185239000", - "asInt": "26549" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199779235000", + "asInt": "10127" }, { "attributes": [ @@ -987,9 +987,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321185239000", - "asInt": "15665" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179779235000", + "asInt": "14938" }, { "attributes": [ @@ -1000,9 +1000,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301185239000", - "asInt": "12773" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159779235000", + "asInt": "11216" }, { "attributes": [ @@ -1013,9 +1013,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281185239000", - "asInt": "10206" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139779235000", + "asInt": "21221" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1023,7 +1023,7 @@ }, { "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host", + "description": "The amount of data that was sent or received over the network by the host.", "unit": "{KBy/s}", "sum": { "dataPoints": [ @@ -1036,9 +1036,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361185239000", - "asInt": "973" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219779235000", + "asInt": "816" }, { "attributes": [ @@ -1049,9 +1049,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341185239000", - "asInt": "1310" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199779235000", + "asInt": "433" }, { "attributes": [ @@ -1062,9 +1062,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321185239000", - "asInt": "571" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179779235000", + "asInt": "557" }, { "attributes": [ @@ -1075,9 +1075,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301185239000", - "asInt": "933" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159779235000", + "asInt": "784" }, { "attributes": [ @@ -1088,9 +1088,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281185239000", - "asInt": "606" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139779235000", + "asInt": "1367" }, { "attributes": [ @@ -1101,9 +1101,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361185239000", - "asInt": "680" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219779235000", + "asInt": "571" }, { "attributes": [ @@ -1114,9 +1114,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341185239000", - "asInt": "1340" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199779235000", + "asInt": "448" }, { "attributes": [ @@ -1127,9 +1127,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321185239000", - "asInt": "410" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179779235000", + "asInt": "401" }, { "attributes": [ @@ -1140,9 +1140,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301185239000", - "asInt": "479" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159779235000", + "asInt": "403" }, { "attributes": [ @@ -1153,9 +1153,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281185239000", - "asInt": "716" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139779235000", + "asInt": "1631" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1168,29 +1168,29 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361185239000", - "asInt": "1765" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219779235000", + "asInt": "1479" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882341185239000", - "asInt": "3078" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563199779235000", + "asInt": "1023" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882321185239000", - "asInt": "756" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563179779235000", + "asInt": "737" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882301185239000", - "asInt": "1731" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563159779235000", + "asInt": "1455" }, { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882281185239000", - "asInt": "1725" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563139779235000", + "asInt": "3919" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1232,8 +1232,8 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "42949672960" }, { @@ -1245,8 +1245,8 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "10995116277760" } ], @@ -1255,13 +1255,13 @@ }, { "name": "vcenter.datastore.disk.utilization", - "description": "The utilization of the datastore", + "description": "The utilization of the datastore.", "unit": "%", "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asDouble": 0.390625 } ] @@ -1308,7 +1308,7 @@ "metrics": [ { "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space the virtual machine is using", + "description": "The amount of storage space used by the virtual machine.", "unit": "By", "sum": { "dataPoints": [ @@ -1321,8 +1321,8 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" }, { @@ -1334,28 +1334,14 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, - { - "name": "vcenter.vm.disk.utilization", - "description": "The utilization of storage on the virtual machine", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", - "asDouble": "NaN" - } - ] - } - }, { "name": "vcenter.vm.memory.ballooned", "description": "The amount of memory that is ballooned due to virtualization.", @@ -1363,8 +1349,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], @@ -1373,13 +1359,13 @@ }, { "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine", + "description": "The amount of memory that is used by the virtual machine.", "unit": "MBy", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], @@ -1387,7 +1373,7 @@ } }, { - "name": "vcenter.vm.network.packets", + "name": "vcenter.vm.network.packet.count", "description": "The amount of packets that was received or transmitted over the instance's network.", "unit": "{packets/sec}", "sum": { @@ -1401,9 +1387,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361212269000", - "asInt": "2057" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219847328000", + "asInt": "554" }, { "attributes": [ @@ -1414,9 +1400,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361212269000", - "asInt": "3192" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219847328000", + "asInt": "990" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1437,9 +1423,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361212269000", - "asInt": "289" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219847328000", + "asInt": "187" }, { "attributes": [ @@ -1450,9 +1436,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361212269000", - "asInt": "695" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219847328000", + "asInt": "228" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1465,9 +1451,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361212269000", - "asInt": "1153" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219847328000", + "asInt": "478" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1514,7 +1500,7 @@ "metrics": [ { "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space the virtual machine is using", + "description": "The amount of storage space used by the virtual machine.", "unit": "By", "sum": { "dataPoints": [ @@ -1527,8 +1513,8 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" }, { @@ -1540,28 +1526,14 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, - { - "name": "vcenter.vm.disk.utilization", - "description": "The utilization of storage on the virtual machine", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", - "asDouble": "NaN" - } - ] - } - }, { "name": "vcenter.vm.memory.ballooned", "description": "The amount of memory that is ballooned due to virtualization.", @@ -1569,8 +1541,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], @@ -1579,13 +1551,13 @@ }, { "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine", + "description": "The amount of memory that is used by the virtual machine.", "unit": "MBy", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], @@ -1593,7 +1565,7 @@ } }, { - "name": "vcenter.vm.network.packets", + "name": "vcenter.vm.network.packet.count", "description": "The amount of packets that was received or transmitted over the instance's network.", "unit": "{packets/sec}", "sum": { @@ -1607,9 +1579,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361235934000", - "asInt": "4068" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219919259000", + "asInt": "1093" }, { "attributes": [ @@ -1620,9 +1592,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361235934000", - "asInt": "7328" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219919259000", + "asInt": "2269" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1643,9 +1615,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361235934000", - "asInt": "327" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219919259000", + "asInt": "210" }, { "attributes": [ @@ -1656,9 +1628,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361235934000", - "asInt": "838" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219919259000", + "asInt": "275" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1671,9 +1643,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361235934000", - "asInt": "1155" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219919259000", + "asInt": "478" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1720,7 +1692,7 @@ "metrics": [ { "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space the virtual machine is using", + "description": "The amount of storage space used by the virtual machine.", "unit": "By", "sum": { "dataPoints": [ @@ -1733,8 +1705,8 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" }, { @@ -1746,28 +1718,14 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, - { - "name": "vcenter.vm.disk.utilization", - "description": "The utilization of storage on the virtual machine", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", - "asDouble": "NaN" - } - ] - } - }, { "name": "vcenter.vm.memory.ballooned", "description": "The amount of memory that is ballooned due to virtualization.", @@ -1775,8 +1733,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], @@ -1785,13 +1743,13 @@ }, { "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine", + "description": "The amount of memory that is used by the virtual machine.", "unit": "MBy", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], @@ -1799,7 +1757,7 @@ } }, { - "name": "vcenter.vm.network.packets", + "name": "vcenter.vm.network.packet.count", "description": "The amount of packets that was received or transmitted over the instance's network.", "unit": "{packets/sec}", "sum": { @@ -1813,9 +1771,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361260279000", - "asInt": "2504" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219988876000", + "asInt": "674" }, { "attributes": [ @@ -1826,9 +1784,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361260279000", - "asInt": "3206" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219988876000", + "asInt": "994" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1849,9 +1807,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361260279000", - "asInt": "285" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219988876000", + "asInt": "184" }, { "attributes": [ @@ -1862,9 +1820,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361260279000", - "asInt": "745" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219988876000", + "asInt": "245" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1877,9 +1835,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361260279000", - "asInt": "1781" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219988876000", + "asInt": "737" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1926,7 +1884,7 @@ "metrics": [ { "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space the virtual machine is using", + "description": "The amount of storage space used by the virtual machine.", "unit": "By", "sum": { "dataPoints": [ @@ -1939,8 +1897,8 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" }, { @@ -1952,28 +1910,14 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, - { - "name": "vcenter.vm.disk.utilization", - "description": "The utilization of storage on the virtual machine", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", - "asDouble": "NaN" - } - ] - } - }, { "name": "vcenter.vm.memory.ballooned", "description": "The amount of memory that is ballooned due to virtualization.", @@ -1981,8 +1925,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], @@ -1991,13 +1935,13 @@ }, { "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine", + "description": "The amount of memory that is used by the virtual machine.", "unit": "MBy", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], @@ -2005,7 +1949,7 @@ } }, { - "name": "vcenter.vm.network.packets", + "name": "vcenter.vm.network.packet.count", "description": "The amount of packets that was received or transmitted over the instance's network.", "unit": "{packets/sec}", "sum": { @@ -2019,9 +1963,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361284303000", - "asInt": "2784" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563220030298000", + "asInt": "801" }, { "attributes": [ @@ -2032,9 +1976,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361284303000", - "asInt": "4957" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563220030298000", + "asInt": "1693" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2055,9 +1999,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361284303000", - "asInt": "365" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563220030298000", + "asInt": "234" }, { "attributes": [ @@ -2068,9 +2012,9 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361284303000", - "asInt": "687" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563220030298000", + "asInt": "226" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2083,9 +2027,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361284303000", - "asInt": "1319" + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563220030298000", + "asInt": "547" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2113,14 +2057,14 @@ }, "metrics": [ { - "name": "vcenter.cluster.cpu.available", - "description": "The amount of CPU available to the cluster", + "name": "vcenter.cluster.cpu.limit", + "description": "The amount of CPU available to the cluster.", "unit": "{MHz}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "6882" } ], @@ -2129,34 +2073,34 @@ }, { "name": "vcenter.cluster.host.count", - "description": "The number of hosts in the datacenter", + "description": "The number of hosts in the cluster.", "unit": "{hosts}", "sum": { "dataPoints": [ { "attributes": [ { - "key": "host_effective", + "key": "effective", "value": { "stringValue": "false" } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" }, { "attributes": [ { - "key": "host_effective", + "key": "effective", "value": { "stringValue": "true" } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "3" } ], @@ -2165,7 +2109,7 @@ }, { "name": "vcenter.cluster.vm.count", - "description": "the number of virtual machines in the datacenter", + "description": "the number of virtual machines in the cluster.", "unit": "{virtual_machines}", "sum": { "dataPoints": [ @@ -2178,8 +2122,8 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "4" }, { @@ -2191,8 +2135,8 @@ } } ], - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "0" } ], @@ -2222,13 +2166,13 @@ "metrics": [ { "name": "vcenter.resource_pool.cpu.shares", - "description": "The amount of shares of memory in the resource pool", + "description": "The amount of shares of CPU in the resource pool.", "unit": "{shares}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "9000" } ], @@ -2237,13 +2181,13 @@ }, { "name": "vcenter.resource_pool.memory.shares", - "description": "The amount of shares of memory in the resource pool", + "description": "The amount of shares of memory in the resource pool.", "unit": "{shares}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "9000" } ], @@ -2273,13 +2217,13 @@ "metrics": [ { "name": "vcenter.resource_pool.cpu.shares", - "description": "The amount of shares of memory in the resource pool", + "description": "The amount of shares of CPU in the resource pool.", "unit": "{shares}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "9000" } ], @@ -2288,13 +2232,13 @@ }, { "name": "vcenter.resource_pool.memory.shares", - "description": "The amount of shares of memory in the resource pool", + "description": "The amount of shares of memory in the resource pool.", "unit": "{shares}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1649882361089942000", - "timeUnixNano": "1649882361091463000", + "startTimeUnixNano": "1650563219669499000", + "timeUnixNano": "1650563219671980000", "asInt": "9000" } ], From d2f840df01dd506dbd64d9f12db24fb7e93e773a Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 21 Apr 2022 14:21:46 -0400 Subject: [PATCH 068/105] fix import order --- receiver/vcenterreceiver/integration_test.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/receiver/vcenterreceiver/integration_test.go b/receiver/vcenterreceiver/integration_test.go index dedbfe97d4950..51e9feded1997 100644 --- a/receiver/vcenterreceiver/integration_test.go +++ b/receiver/vcenterreceiver/integration_test.go @@ -22,9 +22,6 @@ import ( "path/filepath" "testing" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest" - "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest/golden" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" "github.com/stretchr/testify/require" "github.com/vmware/govmomi" "github.com/vmware/govmomi/find" @@ -35,6 +32,10 @@ import ( "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/config/configtls" "go.uber.org/zap" + + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest" + "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest/golden" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" ) func TestEndtoEnd_ESX(t *testing.T) { From a1023ca19f75fa50722ab3ade10b8f332fe31c03 Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 22 Apr 2022 11:13:00 -0400 Subject: [PATCH 069/105] go up to 0.49.1 --- receiver/vcenterreceiver/go.mod | 4 ++-- receiver/vcenterreceiver/go.sum | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 22708778a4fdf..b5d58ca5a972d 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -4,7 +4,7 @@ go 1.17 require ( github.com/vmware/govmomi v0.27.4 - go.opentelemetry.io/collector v0.49.0 + go.opentelemetry.io/collector v0.49.1-0.20220422001137-87ab5de64ce4 go.opentelemetry.io/collector/model v0.49.0 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 @@ -18,7 +18,7 @@ require ( ) require ( - go.opentelemetry.io/collector/pdata v0.49.0 + go.opentelemetry.io/collector/pdata v0.49.1-0.20220422001137-87ab5de64ce4 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect ) diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 8e1042e9b1aeb..8ac2df5dd44c0 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -166,10 +166,14 @@ go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/collector v0.49.0 h1:brKMIUwlL1bt0Faxqqxvj7549KWm9FEN77Z4i4RAlDE= go.opentelemetry.io/collector v0.49.0/go.mod h1:ErYGC1VzzrpK/uM134DJIbARX3jl9vtTqgIXsiWxjGE= +go.opentelemetry.io/collector v0.49.1-0.20220422001137-87ab5de64ce4 h1:HeEQrXdkbkcl8LvmnAsfUE7abAMEu64phMXgZULKjVo= +go.opentelemetry.io/collector v0.49.1-0.20220422001137-87ab5de64ce4/go.mod h1:AS7Mx+W+Imh9WPI96Tli0PYs/rZB6kZ1jHAynMKHxEc= go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c= go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw= go.opentelemetry.io/collector/pdata v0.49.0 h1:aYj5rOlRC0x7lGXbc185LMsMMoY/pjOTXr5s1O2SzXs= go.opentelemetry.io/collector/pdata v0.49.0/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY= +go.opentelemetry.io/collector/pdata v0.49.1-0.20220422001137-87ab5de64ce4 h1:YWLyIgG9d2apZWhpCSLHyPfm5t55V8jKvJZymNaI/Gw= +go.opentelemetry.io/collector/pdata v0.49.1-0.20220422001137-87ab5de64ce4/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY= go.opentelemetry.io/otel v1.6.3 h1:FLOfo8f9JzFVFVyU+MSRJc2HdEAXQgm7pIv2uFKRSZE= go.opentelemetry.io/otel v1.6.3/go.mod h1:7BgNga5fNlF/iZjG06hM3yofffp0ofKCDwSXx1GC4dI= go.opentelemetry.io/otel/metric v0.29.0 h1:7unM/I13Dbc1VHw8lTPQ7zfNIgkhcb8BZhujXOS4jKc= From fd560e406bf56a15f16a5cebd184a040f5ee4ec5 Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 22 Apr 2022 11:18:08 -0400 Subject: [PATCH 070/105] gotidy --- receiver/vcenterreceiver/go.mod | 6 ++++ receiver/vcenterreceiver/go.sum | 53 ++++++++++++++++++++++++++++++--- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index b5d58ca5a972d..f22a64a7b9896 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -30,6 +30,7 @@ require ( require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/protobuf v1.5.2 // indirect github.com/google/uuid v1.3.0 // indirect github.com/knadh/koanf v1.4.1 // indirect github.com/kr/text v0.2.0 // indirect @@ -43,5 +44,10 @@ require ( go.opentelemetry.io/otel/metric v0.29.0 // indirect go.opentelemetry.io/otel/trace v1.6.3 // indirect go.uber.org/atomic v1.9.0 // indirect + golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect + golang.org/x/text v0.3.7 // indirect + google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa // indirect + google.golang.org/grpc v1.45.0 // indirect + google.golang.org/protobuf v1.28.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 8ac2df5dd44c0..14531799f4776 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -1,6 +1,9 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= @@ -17,8 +20,16 @@ github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZx github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +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/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/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -27,12 +38,16 @@ github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892/go.mod h1:CTDl0pzVz github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= 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.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= @@ -49,13 +64,18 @@ github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -64,6 +84,7 @@ 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.3/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.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= @@ -71,6 +92,7 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+ github.com/google/uuid v1.2.0/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/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= @@ -143,15 +165,18 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= @@ -164,14 +189,10 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/collector v0.49.0 h1:brKMIUwlL1bt0Faxqqxvj7549KWm9FEN77Z4i4RAlDE= -go.opentelemetry.io/collector v0.49.0/go.mod h1:ErYGC1VzzrpK/uM134DJIbARX3jl9vtTqgIXsiWxjGE= go.opentelemetry.io/collector v0.49.1-0.20220422001137-87ab5de64ce4 h1:HeEQrXdkbkcl8LvmnAsfUE7abAMEu64phMXgZULKjVo= go.opentelemetry.io/collector v0.49.1-0.20220422001137-87ab5de64ce4/go.mod h1:AS7Mx+W+Imh9WPI96Tli0PYs/rZB6kZ1jHAynMKHxEc= go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c= go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw= -go.opentelemetry.io/collector/pdata v0.49.0 h1:aYj5rOlRC0x7lGXbc185LMsMMoY/pjOTXr5s1O2SzXs= -go.opentelemetry.io/collector/pdata v0.49.0/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY= go.opentelemetry.io/collector/pdata v0.49.1-0.20220422001137-87ab5de64ce4 h1:YWLyIgG9d2apZWhpCSLHyPfm5t55V8jKvJZymNaI/Gw= go.opentelemetry.io/collector/pdata v0.49.1-0.20220422001137-87ab5de64ce4/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY= go.opentelemetry.io/otel v1.6.3 h1:FLOfo8f9JzFVFVyU+MSRJc2HdEAXQgm7pIv2uFKRSZE= @@ -181,6 +202,7 @@ go.opentelemetry.io/otel/metric v0.29.0/go.mod h1:HahKFp1OC1RNTsuO/HNMBHHJR+dmHZ go.opentelemetry.io/otel/sdk v1.6.3 h1:prSHYdwCQOX5DrsEzxowH3nLhoAzEBdZhvrR79scfLs= go.opentelemetry.io/otel/trace v1.6.3 h1:IqN4L+5b0mPNjdXIiZ90Ni4Bl5BRkDQywePLWemd9bc= go.opentelemetry.io/otel/trace v1.6.3/go.mod h1:GNJQusJlUgZl9/TQBPKU/Y/ty+0iVB5fjhKeJGZPGFs= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -204,15 +226,20 @@ 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/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-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +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-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= 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= @@ -228,6 +255,7 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -240,6 +268,9 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/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.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -260,14 +291,22 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= 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= @@ -277,7 +316,11 @@ google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2 google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= 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.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= 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= @@ -285,6 +328,8 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From a914b5f55e614a2be940859d2fdad49e0fe5b5d4 Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 22 Apr 2022 11:26:34 -0400 Subject: [PATCH 071/105] add replace directive for semconv --- receiver/vcenterreceiver/go.mod | 4 ++++ receiver/vcenterreceiver/go.sum | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index f22a64a7b9896..08232f74524ac 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -51,3 +51,7 @@ require ( google.golang.org/protobuf v1.28.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) + +replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest => ../../internal/scrapertest + +replace go.opentelemetry.io/collector/semconv => go.opentelemetry.io/collector/semconv v0.0.0-20220422001137-87ab5de64ce4 diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 14531799f4776..1b439705fdc18 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -149,8 +149,6 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0 h1:AryXrR1fsgC3+L01Z/jiAgLsIrUHZQvgC2Pau33EJFo= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0/go.mod h1:XrwT/hZkbbWu31L9ynvU8xMortX2kd3BAykbO4OLGCE= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= From b408153b0ebd960705d7c9e3de5cacb484ace3fb Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 29 Apr 2022 11:10:00 -0400 Subject: [PATCH 072/105] gotidy fixes --- cmd/configschema/go.mod | 2 +- go.mod | 2 +- receiver/vcenterreceiver/go.mod | 6 ++---- receiver/vcenterreceiver/go.sum | 13 +++++++------ 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/cmd/configschema/go.mod b/cmd/configschema/go.mod index b4fb5952ef7a1..a00119af7ab14 100644 --- a/cmd/configschema/go.mod +++ b/cmd/configschema/go.mod @@ -363,7 +363,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.50.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.50.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.50.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.50.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.50.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.50.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.50.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.50.0 // indirect diff --git a/go.mod b/go.mod index 45d5495d69e51..592dc58a2c841 100644 --- a/go.mod +++ b/go.mod @@ -122,7 +122,7 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/receiver/syslogreceiver v0.50.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/tcplogreceiver v0.50.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/udplogreceiver v0.50.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.50.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver v0.50.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/wavefrontreceiver v0.50.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/windowsperfcountersreceiver v0.50.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.50.0 diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 08232f74524ac..3620171fd6dd8 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -18,7 +18,7 @@ require ( ) require ( - go.opentelemetry.io/collector/pdata v0.49.1-0.20220422001137-87ab5de64ce4 + go.opentelemetry.io/collector/pdata v0.50.0 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect ) @@ -47,11 +47,9 @@ require ( golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect golang.org/x/text v0.3.7 // indirect google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa // indirect - google.golang.org/grpc v1.45.0 // indirect + google.golang.org/grpc v1.46.0 // indirect google.golang.org/protobuf v1.28.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) replace github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest => ../../internal/scrapertest - -replace go.opentelemetry.io/collector/semconv => go.opentelemetry.io/collector/semconv v0.0.0-20220422001137-87ab5de64ce4 diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 1b439705fdc18..3c43b12df8531 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -27,8 +27,8 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -40,7 +40,7 @@ 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.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= @@ -191,8 +191,8 @@ go.opentelemetry.io/collector v0.49.1-0.20220422001137-87ab5de64ce4 h1:HeEQrXdkb go.opentelemetry.io/collector v0.49.1-0.20220422001137-87ab5de64ce4/go.mod h1:AS7Mx+W+Imh9WPI96Tli0PYs/rZB6kZ1jHAynMKHxEc= go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c= go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw= -go.opentelemetry.io/collector/pdata v0.49.1-0.20220422001137-87ab5de64ce4 h1:YWLyIgG9d2apZWhpCSLHyPfm5t55V8jKvJZymNaI/Gw= -go.opentelemetry.io/collector/pdata v0.49.1-0.20220422001137-87ab5de64ce4/go.mod h1:YwmKuiFhNgtmhRdpi8Q8FAWPa0AwJTCSlssSsAtuRcY= +go.opentelemetry.io/collector/pdata v0.50.0 h1:pXDzXJTze0KqO47BASmKurOIkddk5j4tBLI2cQ94mWg= +go.opentelemetry.io/collector/pdata v0.50.0/go.mod h1:jrnUDnlHCTSKf9H7LYTmldQUmNQmPvilNNG/cKlv8Lc= go.opentelemetry.io/otel v1.6.3 h1:FLOfo8f9JzFVFVyU+MSRJc2HdEAXQgm7pIv2uFKRSZE= go.opentelemetry.io/otel v1.6.3/go.mod h1:7BgNga5fNlF/iZjG06hM3yofffp0ofKCDwSXx1GC4dI= go.opentelemetry.io/otel/metric v0.29.0 h1:7unM/I13Dbc1VHw8lTPQ7zfNIgkhcb8BZhujXOS4jKc= @@ -257,6 +257,7 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/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-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -303,8 +304,8 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M= -google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.46.0 h1:oCjezcn6g6A75TGoKYBPgKmVBLexhYLM6MebdrPApP8= +google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= 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= From 4a8a674b71e06026076e59c687dbdded500d9bbf Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 29 Apr 2022 11:23:13 -0400 Subject: [PATCH 073/105] fix component not being on 0.50.0 --- cmd/configschema/go.mod | 2 +- cmd/configschema/go.sum | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- receiver/vcenterreceiver/go.mod | 6 +++--- receiver/vcenterreceiver/go.sum | 12 ++++++------ 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/cmd/configschema/go.mod b/cmd/configschema/go.mod index a00119af7ab14..bde1d658644d7 100644 --- a/cmd/configschema/go.mod +++ b/cmd/configschema/go.mod @@ -444,7 +444,7 @@ require ( go.etcd.io/bbolt v1.3.6 // indirect go.mongodb.org/atlas v0.15.0 // indirect go.opencensus.io v0.23.0 // indirect - go.opentelemetry.io/collector/model v0.49.0 // indirect + go.opentelemetry.io/collector/model v0.50.0 // indirect go.opentelemetry.io/collector/semconv v0.50.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.31.0 // indirect diff --git a/cmd/configschema/go.sum b/cmd/configschema/go.sum index 793e30fb3468c..526fc26de4ed2 100644 --- a/cmd/configschema/go.sum +++ b/cmd/configschema/go.sum @@ -2456,8 +2456,8 @@ go.opentelemetry.io/collector v0.50.0/go.mod h1:At9TyoUvNAioGllgEvRLOK2MDb6epb4M go.opentelemetry.io/collector/model v0.44.0/go.mod h1:4jo1R8uBDspLCxUGhQ0k3v/EFXFbW7s0AIy3LuGLbcU= go.opentelemetry.io/collector/model v0.45.0/go.mod h1:uyiyyq8lV45zrJ94MnLip26sorfNLP6J9XmOvaEmy7w= go.opentelemetry.io/collector/model v0.48.0/go.mod h1:1QVYv8TqsTMt9wVC5BUF9fqMVtk2C5EclWDnuVqdKoU= -go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c= -go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw= +go.opentelemetry.io/collector/model v0.50.0 h1:1wt8pQ4O6GaUeYEaR+dh3zHmYsFicduF2bbPGMZeSKk= +go.opentelemetry.io/collector/model v0.50.0/go.mod h1:vKpC0JMtrL7g9tUHmzcQqd8rEbnahKVdTWZSVO7x3Ms= go.opentelemetry.io/collector/pdata v0.50.0 h1:pXDzXJTze0KqO47BASmKurOIkddk5j4tBLI2cQ94mWg= go.opentelemetry.io/collector/pdata v0.50.0/go.mod h1:jrnUDnlHCTSKf9H7LYTmldQUmNQmPvilNNG/cKlv8Lc= go.opentelemetry.io/collector/semconv v0.50.0 h1:DVsidTnfz3ddJlrr354Emc1Vu2rLPxSLToHFYlO0Qp0= diff --git a/go.mod b/go.mod index 592dc58a2c841..dc44004d2a7c8 100644 --- a/go.mod +++ b/go.mod @@ -443,7 +443,7 @@ require ( go.etcd.io/bbolt v1.3.6 // indirect go.mongodb.org/atlas v0.15.0 // indirect go.opencensus.io v0.23.0 // indirect - go.opentelemetry.io/collector/model v0.49.0 // indirect + go.opentelemetry.io/collector/model v0.50.0 // indirect go.opentelemetry.io/collector/pdata v0.50.0 // indirect go.opentelemetry.io/collector/semconv v0.50.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.31.0 // indirect diff --git a/go.sum b/go.sum index 07bc420401049..8889416c98289 100644 --- a/go.sum +++ b/go.sum @@ -2215,8 +2215,8 @@ go.opentelemetry.io/collector v0.50.0/go.mod h1:At9TyoUvNAioGllgEvRLOK2MDb6epb4M go.opentelemetry.io/collector/model v0.44.0/go.mod h1:4jo1R8uBDspLCxUGhQ0k3v/EFXFbW7s0AIy3LuGLbcU= go.opentelemetry.io/collector/model v0.45.0/go.mod h1:uyiyyq8lV45zrJ94MnLip26sorfNLP6J9XmOvaEmy7w= go.opentelemetry.io/collector/model v0.48.0/go.mod h1:1QVYv8TqsTMt9wVC5BUF9fqMVtk2C5EclWDnuVqdKoU= -go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c= -go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw= +go.opentelemetry.io/collector/model v0.50.0 h1:1wt8pQ4O6GaUeYEaR+dh3zHmYsFicduF2bbPGMZeSKk= +go.opentelemetry.io/collector/model v0.50.0/go.mod h1:vKpC0JMtrL7g9tUHmzcQqd8rEbnahKVdTWZSVO7x3Ms= go.opentelemetry.io/collector/pdata v0.50.0 h1:pXDzXJTze0KqO47BASmKurOIkddk5j4tBLI2cQ94mWg= go.opentelemetry.io/collector/pdata v0.50.0/go.mod h1:jrnUDnlHCTSKf9H7LYTmldQUmNQmPvilNNG/cKlv8Lc= go.opentelemetry.io/collector/semconv v0.50.0 h1:DVsidTnfz3ddJlrr354Emc1Vu2rLPxSLToHFYlO0Qp0= diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 3620171fd6dd8..7e88d25e62800 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -4,8 +4,8 @@ go 1.17 require ( github.com/vmware/govmomi v0.27.4 - go.opentelemetry.io/collector v0.49.1-0.20220422001137-87ab5de64ce4 - go.opentelemetry.io/collector/model v0.49.0 + go.opentelemetry.io/collector v0.50.0 + go.opentelemetry.io/collector/model v0.50.0 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 ) @@ -35,7 +35,7 @@ require ( github.com/knadh/koanf v1.4.1 // indirect github.com/kr/text v0.2.0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/mapstructure v1.4.3 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 3c43b12df8531..7006959b6064b 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -142,8 +142,8 @@ github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eI github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= @@ -187,10 +187,10 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/collector v0.49.1-0.20220422001137-87ab5de64ce4 h1:HeEQrXdkbkcl8LvmnAsfUE7abAMEu64phMXgZULKjVo= -go.opentelemetry.io/collector v0.49.1-0.20220422001137-87ab5de64ce4/go.mod h1:AS7Mx+W+Imh9WPI96Tli0PYs/rZB6kZ1jHAynMKHxEc= -go.opentelemetry.io/collector/model v0.49.0 h1:mbUSNgpaBE3GWmzGsRb5t0xILpXIVYv7scPTTfoMt6c= -go.opentelemetry.io/collector/model v0.49.0/go.mod h1:nOYQv9KoFPs6ihJwOi24qB209EOhS9HkwhGj54YiEAw= +go.opentelemetry.io/collector v0.50.0 h1:UmSIAwdf6/8xDm+RlfMyDr9qzUkPOviupCQ18SddFm4= +go.opentelemetry.io/collector v0.50.0/go.mod h1:At9TyoUvNAioGllgEvRLOK2MDb6epb4MlHiHQdhBliA= +go.opentelemetry.io/collector/model v0.50.0 h1:1wt8pQ4O6GaUeYEaR+dh3zHmYsFicduF2bbPGMZeSKk= +go.opentelemetry.io/collector/model v0.50.0/go.mod h1:vKpC0JMtrL7g9tUHmzcQqd8rEbnahKVdTWZSVO7x3Ms= go.opentelemetry.io/collector/pdata v0.50.0 h1:pXDzXJTze0KqO47BASmKurOIkddk5j4tBLI2cQ94mWg= go.opentelemetry.io/collector/pdata v0.50.0/go.mod h1:jrnUDnlHCTSKf9H7LYTmldQUmNQmPvilNNG/cKlv8Lc= go.opentelemetry.io/otel v1.6.3 h1:FLOfo8f9JzFVFVyU+MSRJc2HdEAXQgm7pIv2uFKRSZE= From 8d5bd4e19d3c70159f5bb8bed0105b7048cee7df Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 4 May 2022 15:37:41 -0400 Subject: [PATCH 074/105] update to v0.50.1-0.20220429151328-041f39835df7 --- receiver/vcenterreceiver/go.mod | 16 +++++++--------- receiver/vcenterreceiver/go.sum | 18 +++++++++--------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 7c3ce99126ec4..6cd500b8a4e21 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -4,8 +4,8 @@ go 1.17 require ( github.com/vmware/govmomi v0.27.4 - go.opentelemetry.io/collector v0.50.0 - go.opentelemetry.io/collector/model v0.50.0 + go.opentelemetry.io/collector v0.50.1-0.20220429151328-041f39835df7 + go.opentelemetry.io/collector/pdata v0.50.1-0.20220429151328-041f39835df7 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 ) @@ -17,13 +17,11 @@ require ( github.com/stretchr/testify v1.7.1 ) -require ( - go.opentelemetry.io/collector/pdata v0.50.1-0.20220429151328-041f39835df7 - gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect -) +require gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect require ( github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0 + go.opentelemetry.io/collector/model v0.50.0 golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 // indirect ) @@ -40,9 +38,9 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.opencensus.io v0.23.0 // indirect - go.opentelemetry.io/otel v1.6.3 // indirect - go.opentelemetry.io/otel/metric v0.29.0 // indirect - go.opentelemetry.io/otel/trace v1.6.3 // indirect + go.opentelemetry.io/otel v1.7.0 // indirect + go.opentelemetry.io/otel/metric v0.30.0 // indirect + go.opentelemetry.io/otel/trace v1.7.0 // indirect go.uber.org/atomic v1.9.0 // indirect golang.org/x/net v0.0.0-20220225172249-27dd8689420f // indirect golang.org/x/text v0.3.7 // indirect diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 63fbaf1058c73..537fa83da9fd7 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -187,19 +187,19 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/collector v0.50.0 h1:UmSIAwdf6/8xDm+RlfMyDr9qzUkPOviupCQ18SddFm4= -go.opentelemetry.io/collector v0.50.0/go.mod h1:At9TyoUvNAioGllgEvRLOK2MDb6epb4MlHiHQdhBliA= +go.opentelemetry.io/collector v0.50.1-0.20220429151328-041f39835df7 h1:EdzWPAR5/XWh6FjjCaqPBmbB62HIpeataITjfXQKS6U= +go.opentelemetry.io/collector v0.50.1-0.20220429151328-041f39835df7/go.mod h1:Qer3GgFX3WkQFz/dRm7pHCITu8Yp6RxWg4Oh4mOmdPc= go.opentelemetry.io/collector/model v0.50.0 h1:1wt8pQ4O6GaUeYEaR+dh3zHmYsFicduF2bbPGMZeSKk= go.opentelemetry.io/collector/model v0.50.0/go.mod h1:vKpC0JMtrL7g9tUHmzcQqd8rEbnahKVdTWZSVO7x3Ms= go.opentelemetry.io/collector/pdata v0.50.1-0.20220429151328-041f39835df7 h1:CVS7mnrDVyeW+9tZ8ficfHGpYAbySGZoZFyuWZmqIzE= go.opentelemetry.io/collector/pdata v0.50.1-0.20220429151328-041f39835df7/go.mod h1:jrnUDnlHCTSKf9H7LYTmldQUmNQmPvilNNG/cKlv8Lc= -go.opentelemetry.io/otel v1.6.3 h1:FLOfo8f9JzFVFVyU+MSRJc2HdEAXQgm7pIv2uFKRSZE= -go.opentelemetry.io/otel v1.6.3/go.mod h1:7BgNga5fNlF/iZjG06hM3yofffp0ofKCDwSXx1GC4dI= -go.opentelemetry.io/otel/metric v0.29.0 h1:7unM/I13Dbc1VHw8lTPQ7zfNIgkhcb8BZhujXOS4jKc= -go.opentelemetry.io/otel/metric v0.29.0/go.mod h1:HahKFp1OC1RNTsuO/HNMBHHJR+dmHZ7wLARRgGDwjLQ= -go.opentelemetry.io/otel/sdk v1.6.3 h1:prSHYdwCQOX5DrsEzxowH3nLhoAzEBdZhvrR79scfLs= -go.opentelemetry.io/otel/trace v1.6.3 h1:IqN4L+5b0mPNjdXIiZ90Ni4Bl5BRkDQywePLWemd9bc= -go.opentelemetry.io/otel/trace v1.6.3/go.mod h1:GNJQusJlUgZl9/TQBPKU/Y/ty+0iVB5fjhKeJGZPGFs= +go.opentelemetry.io/otel v1.7.0 h1:Z2lA3Tdch0iDcrhJXDIlC94XE+bxok1F9B+4Lz/lGsM= +go.opentelemetry.io/otel v1.7.0/go.mod h1:5BdUoMIz5WEs0vt0CUEMtSSaTSHBBVwrhnz7+nrD5xk= +go.opentelemetry.io/otel/metric v0.30.0 h1:Hs8eQZ8aQgs0U49diZoaS6Uaxw3+bBE3lcMUKBFIk3c= +go.opentelemetry.io/otel/metric v0.30.0/go.mod h1:/ShZ7+TS4dHzDFmfi1kSXMhMVubNoP0oIaBp70J6UXU= +go.opentelemetry.io/otel/sdk v1.7.0 h1:4OmStpcKVOfvDOgCt7UriAPtKolwIhxpnSNI/yK+1B0= +go.opentelemetry.io/otel/trace v1.7.0 h1:O37Iogk1lEkMRXewVtZ1BBTVn5JEp8GrJvP92bJqC6o= +go.opentelemetry.io/otel/trace v1.7.0/go.mod h1:fzLSB9nqR2eXzxPXb2JW9IKE+ScyXA48yyE4TNvoHqU= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= From 53a6529f04a13a3e92b5d34c4802f182cb83792e Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 4 May 2022 15:56:53 -0400 Subject: [PATCH 075/105] use newer mdatagen --- .../internal/metadata/generated_metrics_v2.go | 254 ++++++++++++------ receiver/vcenterreceiver/metrics.go | 38 +-- receiver/vcenterreceiver/scraper.go | 8 +- 3 files changed, 202 insertions(+), 98 deletions(-) diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 9350bb824729a..00fcd93ea520e 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -167,6 +167,162 @@ func DefaultMetricsSettings() MetricsSettings { } } +// AttributeDiskState specifies the a value disk_state attribute. +type AttributeDiskState int + +const ( + _ AttributeDiskState = iota + AttributeDiskStateAvailable + AttributeDiskStateUsed +) + +// String returns the string representation of the AttributeDiskState. +func (av AttributeDiskState) String() string { + switch av { + case AttributeDiskStateAvailable: + return "available" + case AttributeDiskStateUsed: + return "used" + } + return "" +} + +// MapAttributeDiskState is a helper map of string to AttributeDiskState attribute value. +var MapAttributeDiskState = map[string]AttributeDiskState{ + "available": AttributeDiskStateAvailable, + "used": AttributeDiskStateUsed, +} + +// AttributeHostEffective specifies the a value host_effective attribute. +type AttributeHostEffective int + +const ( + _ AttributeHostEffective = iota + AttributeHostEffectiveTrue + AttributeHostEffectiveFalse +) + +// String returns the string representation of the AttributeHostEffective. +func (av AttributeHostEffective) String() string { + switch av { + case AttributeHostEffectiveTrue: + return "true" + case AttributeHostEffectiveFalse: + return "false" + } + return "" +} + +// MapAttributeHostEffective is a helper map of string to AttributeHostEffective attribute value. +var MapAttributeHostEffective = map[string]AttributeHostEffective{ + "true": AttributeHostEffectiveTrue, + "false": AttributeHostEffectiveFalse, +} + +// AttributeLatencyDirection specifies the a value latency_direction attribute. +type AttributeLatencyDirection int + +const ( + _ AttributeLatencyDirection = iota + AttributeLatencyDirectionRead + AttributeLatencyDirectionWrite +) + +// String returns the string representation of the AttributeLatencyDirection. +func (av AttributeLatencyDirection) String() string { + switch av { + case AttributeLatencyDirectionRead: + return "read" + case AttributeLatencyDirectionWrite: + return "write" + } + return "" +} + +// MapAttributeLatencyDirection is a helper map of string to AttributeLatencyDirection attribute value. +var MapAttributeLatencyDirection = map[string]AttributeLatencyDirection{ + "read": AttributeLatencyDirectionRead, + "write": AttributeLatencyDirectionWrite, +} + +// AttributeLatencyType specifies the a value latency_type attribute. +type AttributeLatencyType int + +const ( + _ AttributeLatencyType = iota + AttributeLatencyTypeKernel + AttributeLatencyTypeDevice +) + +// String returns the string representation of the AttributeLatencyType. +func (av AttributeLatencyType) String() string { + switch av { + case AttributeLatencyTypeKernel: + return "kernel" + case AttributeLatencyTypeDevice: + return "device" + } + return "" +} + +// MapAttributeLatencyType is a helper map of string to AttributeLatencyType attribute value. +var MapAttributeLatencyType = map[string]AttributeLatencyType{ + "kernel": AttributeLatencyTypeKernel, + "device": AttributeLatencyTypeDevice, +} + +// AttributeThroughputDirection specifies the a value throughput_direction attribute. +type AttributeThroughputDirection int + +const ( + _ AttributeThroughputDirection = iota + AttributeThroughputDirectionTransmitted + AttributeThroughputDirectionReceived +) + +// String returns the string representation of the AttributeThroughputDirection. +func (av AttributeThroughputDirection) String() string { + switch av { + case AttributeThroughputDirectionTransmitted: + return "transmitted" + case AttributeThroughputDirectionReceived: + return "received" + } + return "" +} + +// MapAttributeThroughputDirection is a helper map of string to AttributeThroughputDirection attribute value. +var MapAttributeThroughputDirection = map[string]AttributeThroughputDirection{ + "transmitted": AttributeThroughputDirectionTransmitted, + "received": AttributeThroughputDirectionReceived, +} + +// AttributeVMCountPowerState specifies the a value vm_count_power_state attribute. +type AttributeVMCountPowerState int + +const ( + _ AttributeVMCountPowerState = iota + AttributeVMCountPowerStateOn + AttributeVMCountPowerStateOff +) + +// String returns the string representation of the AttributeVMCountPowerState. +func (av AttributeVMCountPowerState) String() string { + switch av { + case AttributeVMCountPowerStateOn: + return "on" + case AttributeVMCountPowerStateOff: + return "off" + } + return "" +} + +// MapAttributeVMCountPowerState is a helper map of string to AttributeVMCountPowerState attribute value. +var MapAttributeVMCountPowerState = map[string]AttributeVMCountPowerState{ + "on": AttributeVMCountPowerStateOn, + "off": AttributeVMCountPowerStateOff, +} + type metricVcenterClusterCPUEffective struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -2245,8 +2401,8 @@ func (mb *MetricsBuilder) RecordVcenterClusterCPUUsedDataPoint(ts pcommon.Timest } // RecordVcenterClusterHostCountDataPoint adds a data point to vcenter.cluster.host.count metric. -func (mb *MetricsBuilder) RecordVcenterClusterHostCountDataPoint(ts pcommon.Timestamp, val int64, hostEffectiveAttributeValue string) { - mb.metricVcenterClusterHostCount.recordDataPoint(mb.startTime, ts, val, hostEffectiveAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterHostCountDataPoint(ts pcommon.Timestamp, val int64, hostEffectiveAttributeValue AttributeHostEffective) { + mb.metricVcenterClusterHostCount.recordDataPoint(mb.startTime, ts, val, hostEffectiveAttributeValue.String()) } // RecordVcenterClusterMemoryEffectiveDataPoint adds a data point to vcenter.cluster.memory.effective metric. @@ -2265,13 +2421,13 @@ func (mb *MetricsBuilder) RecordVcenterClusterMemoryUsedDataPoint(ts pcommon.Tim } // RecordVcenterClusterVMCountDataPoint adds a data point to vcenter.cluster.vm.count metric. -func (mb *MetricsBuilder) RecordVcenterClusterVMCountDataPoint(ts pcommon.Timestamp, val int64, vmCountPowerStateAttributeValue string) { - mb.metricVcenterClusterVMCount.recordDataPoint(mb.startTime, ts, val, vmCountPowerStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterClusterVMCountDataPoint(ts pcommon.Timestamp, val int64, vmCountPowerStateAttributeValue AttributeVMCountPowerState) { + mb.metricVcenterClusterVMCount.recordDataPoint(mb.startTime, ts, val, vmCountPowerStateAttributeValue.String()) } // RecordVcenterDatastoreDiskUsageDataPoint adds a data point to vcenter.datastore.disk.usage metric. -func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pcommon.Timestamp, val int64, diskStateAttributeValue string) { - mb.metricVcenterDatastoreDiskUsage.recordDataPoint(mb.startTime, ts, val, diskStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterDatastoreDiskUsageDataPoint(ts pcommon.Timestamp, val int64, diskStateAttributeValue AttributeDiskState) { + mb.metricVcenterDatastoreDiskUsage.recordDataPoint(mb.startTime, ts, val, diskStateAttributeValue.String()) } // RecordVcenterDatastoreDiskUtilizationDataPoint adds a data point to vcenter.datastore.disk.utilization metric. @@ -2290,8 +2446,8 @@ func (mb *MetricsBuilder) RecordVcenterHostCPUUtilizationDataPoint(ts pcommon.Ti } // RecordVcenterHostDiskLatencyAvgDataPoint adds a data point to vcenter.host.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { - mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue AttributeLatencyDirection) { + mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue.String()) } // RecordVcenterHostDiskLatencyMaxDataPoint adds a data point to vcenter.host.disk.latency.max metric. @@ -2315,18 +2471,18 @@ func (mb *MetricsBuilder) RecordVcenterHostMemoryUtilizationDataPoint(ts pcommon } // RecordVcenterHostNetworkPacketCountDataPoint adds a data point to vcenter.host.network.packet.count metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketCountDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - mb.metricVcenterHostNetworkPacketCount.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketCountDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue AttributeThroughputDirection) { + mb.metricVcenterHostNetworkPacketCount.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue.String()) } // RecordVcenterHostNetworkPacketErrorsDataPoint adds a data point to vcenter.host.network.packet.errors metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketErrorsDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - mb.metricVcenterHostNetworkPacketErrors.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostNetworkPacketErrorsDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue AttributeThroughputDirection) { + mb.metricVcenterHostNetworkPacketErrors.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue.String()) } // RecordVcenterHostNetworkThroughputDataPoint adds a data point to vcenter.host.network.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - mb.metricVcenterHostNetworkThroughput.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterHostNetworkThroughputDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue AttributeThroughputDirection) { + mb.metricVcenterHostNetworkThroughput.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue.String()) } // RecordVcenterHostNetworkUsageDataPoint adds a data point to vcenter.host.network.usage metric. @@ -2360,8 +2516,8 @@ func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pcommon.Time } // RecordVcenterVMDiskLatencyAvgDataPoint adds a data point to vcenter.vm.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { - mb.metricVcenterVMDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue AttributeLatencyDirection) { + mb.metricVcenterVMDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue.String()) } // RecordVcenterVMDiskLatencyMaxDataPoint adds a data point to vcenter.vm.disk.latency.max metric. @@ -2375,8 +2531,8 @@ func (mb *MetricsBuilder) RecordVcenterVMDiskThroughputDataPoint(ts pcommon.Time } // RecordVcenterVMDiskUsageDataPoint adds a data point to vcenter.vm.disk.usage metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskUsageDataPoint(ts pcommon.Timestamp, val int64, diskStateAttributeValue string) { - mb.metricVcenterVMDiskUsage.recordDataPoint(mb.startTime, ts, val, diskStateAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMDiskUsageDataPoint(ts pcommon.Timestamp, val int64, diskStateAttributeValue AttributeDiskState) { + mb.metricVcenterVMDiskUsage.recordDataPoint(mb.startTime, ts, val, diskStateAttributeValue.String()) } // RecordVcenterVMDiskUtilizationDataPoint adds a data point to vcenter.vm.disk.utilization metric. @@ -2395,13 +2551,13 @@ func (mb *MetricsBuilder) RecordVcenterVMMemoryUsageDataPoint(ts pcommon.Timesta } // RecordVcenterVMNetworkPacketCountDataPoint adds a data point to vcenter.vm.network.packet.count metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketCountDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - mb.metricVcenterVMNetworkPacketCount.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMNetworkPacketCountDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue AttributeThroughputDirection) { + mb.metricVcenterVMNetworkPacketCount.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue.String()) } // RecordVcenterVMNetworkThroughputDataPoint adds a data point to vcenter.vm.network.throughput metric. -func (mb *MetricsBuilder) RecordVcenterVMNetworkThroughputDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue string) { - mb.metricVcenterVMNetworkThroughput.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue) +func (mb *MetricsBuilder) RecordVcenterVMNetworkThroughputDataPoint(ts pcommon.Timestamp, val int64, throughputDirectionAttributeValue AttributeThroughputDirection) { + mb.metricVcenterVMNetworkThroughput.recordDataPoint(mb.startTime, ts, val, throughputDirectionAttributeValue.String()) } // RecordVcenterVMNetworkUsageDataPoint adds a data point to vcenter.vm.network.usage metric. @@ -2443,57 +2599,3 @@ var Attributes = struct { // A is an alias for Attributes. var A = Attributes - -// AttributeDiskState are the possible values that the attribute "disk_state" can have. -var AttributeDiskState = struct { - Available string - Used string -}{ - "available", - "used", -} - -// AttributeHostEffective are the possible values that the attribute "host_effective" can have. -var AttributeHostEffective = struct { - True string - False string -}{ - "true", - "false", -} - -// AttributeLatencyDirection are the possible values that the attribute "latency_direction" can have. -var AttributeLatencyDirection = struct { - Read string - Write string -}{ - "read", - "write", -} - -// AttributeLatencyType are the possible values that the attribute "latency_type" can have. -var AttributeLatencyType = struct { - Kernel string - Device string -}{ - "kernel", - "device", -} - -// AttributeThroughputDirection are the possible values that the attribute "throughput_direction" can have. -var AttributeThroughputDirection = struct { - Transmitted string - Received string -}{ - "transmitted", - "received", -} - -// AttributeVMCountPowerState are the possible values that the attribute "vm_count_power_state" can have. -var AttributeVMCountPowerState = struct { - On string - Off string -}{ - "on", - "off", -} diff --git a/receiver/vcenterreceiver/metrics.go b/receiver/vcenterreceiver/metrics.go index 664d2e99fbba3..30d299062fb18 100644 --- a/receiver/vcenterreceiver/metrics.go +++ b/receiver/vcenterreceiver/metrics.go @@ -22,6 +22,8 @@ import ( "github.com/vmware/govmomi/vim25/types" "go.opentelemetry.io/collector/model/pdata" "go.opentelemetry.io/collector/receiver/scrapererror" + + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" ) func (v *vcenterMetricScraper) recordHostSystemMemoryUsage( @@ -58,8 +60,8 @@ func (v *vcenterMetricScraper) recordVMUsages( diskUsed := vm.Summary.Storage.Committed diskFree := vm.Summary.Storage.Uncommitted - v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskUsed, "used") - v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskFree, "total") + v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskUsed, metadata.AttributeDiskStateUsed) + v.mb.RecordVcenterVMDiskUsageDataPoint(now, diskFree, metadata.AttributeDiskStateAvailable) if diskFree != 0 { diskUtilization := float64(diskUsed) / float64(diskFree) * 100 v.mb.RecordVcenterVMDiskUtilizationDataPoint(now, diskUtilization) @@ -73,8 +75,8 @@ func (v *vcenterMetricScraper) recordDatastoreProperties( s := ds.Summary diskUsage := s.Capacity - s.FreeSpace diskUtilization := float64(diskUsage) / float64(s.Capacity) * 100 - v.mb.RecordVcenterDatastoreDiskUsageDataPoint(now, diskUsage, "used") - v.mb.RecordVcenterDatastoreDiskUsageDataPoint(now, s.Capacity, "total") + v.mb.RecordVcenterDatastoreDiskUsageDataPoint(now, diskUsage, metadata.AttributeDiskStateUsed) + v.mb.RecordVcenterDatastoreDiskUsageDataPoint(now, s.Capacity, metadata.AttributeDiskStateUsed) v.mb.RecordVcenterDatastoreDiskUtilizationDataPoint(now, diskUtilization) } @@ -182,21 +184,21 @@ func (v *vcenterMetricScraper) processVMPerformanceMetrics(info *perfSampleResul switch val.Name { // Performance monitoring level 1 metrics case "net.bytesTx.average": - v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionTransmitted) case "net.bytesRx.average": - v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + v.mb.RecordVcenterVMNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) case "net.usage.average": v.mb.RecordVcenterVMNetworkUsageDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) case "net.packetsTx.summation": - v.mb.RecordVcenterVMNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + v.mb.RecordVcenterVMNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionTransmitted) case "net.packetsRx.summation": - v.mb.RecordVcenterVMNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + v.mb.RecordVcenterVMNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) // Performance monitoring level 2 metrics required case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": - v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "read") + v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeLatencyDirectionRead) case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": - v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") + v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeLatencyDirectionWrite) case "disk.maxTotalLatency": v.mb.RecordVcenterVMDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) } @@ -215,25 +217,25 @@ func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.Enti case "net.usage.average": v.mb.RecordVcenterHostNetworkUsageDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) case "net.bytesTx.average": - v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionTransmitted) case "net.bytesRx.average": - v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) // case "net.bytesTx.average": case "net.packetsTx.summation": - v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionTransmitted) case "net.packetsRx.summation": - v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) // Following requires performance level 2 case "net.errorsRx.summation": - v.mb.RecordVcenterHostNetworkPacketErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "received") + v.mb.RecordVcenterHostNetworkPacketErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) case "net.errorsTx.summation": - v.mb.RecordVcenterHostNetworkPacketErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "transmitted") + v.mb.RecordVcenterHostNetworkPacketErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionTransmitted) case "disk.totalWriteLatency.average": - v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeLatencyDirectionWrite) case "disk.totalReadLatency.average": - v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, "write") + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeLatencyDirectionRead) case "disk.maxTotalLatency.latest": v.mb.RecordVcenterHostDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) } diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 256eb8c6a2c8f..cce94cfa1e1c6 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -103,8 +103,8 @@ func (v *vcenterMetricScraper) collectCluster( c.Properties(ctx, c.Reference(), []string{"summary"}, &moCluster) s := moCluster.Summary.GetComputeResourceSummary() v.mb.RecordVcenterClusterCPULimitDataPoint(now, int64(s.TotalCpu)) - v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumHosts-s.NumEffectiveHosts), "false") - v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumEffectiveHosts), "true") + v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumHosts-s.NumEffectiveHosts), metadata.AttributeHostEffectiveFalse) + v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumEffectiveHosts), metadata.AttributeHostEffectiveTrue) v.mb.EmitForResource( metadata.WithVcenterClusterName(c.Name()), ) @@ -258,8 +258,8 @@ func (v *vcenterMetricScraper) collectVMs( ) } - v.mb.RecordVcenterClusterVMCountDataPoint(colTime, int64(len(vms))-int64(poweredOffVMs), metadata.AttributeVMCountPowerState.On) - v.mb.RecordVcenterClusterVMCountDataPoint(colTime, int64(poweredOffVMs), metadata.AttributeVMCountPowerState.Off) + v.mb.RecordVcenterClusterVMCountDataPoint(colTime, int64(len(vms))-int64(poweredOffVMs), metadata.AttributeVMCountPowerStateOn) + v.mb.RecordVcenterClusterVMCountDataPoint(colTime, int64(poweredOffVMs), metadata.AttributeVMCountPowerStateOff) } func (v *vcenterMetricScraper) collectVM( From 42246f352f1c7ca32bb5a831cf97b4295bc5eccf Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 9 May 2022 09:32:56 -0400 Subject: [PATCH 076/105] remove any logging functionality change && update documentation --- receiver/vcenterreceiver/README.md | 23 ++------ receiver/vcenterreceiver/client.go | 6 +- receiver/vcenterreceiver/config.go | 34 +++-------- receiver/vcenterreceiver/config_test.go | 37 ++++-------- receiver/vcenterreceiver/factory.go | 54 +++--------------- receiver/vcenterreceiver/factory_test.go | 11 +--- receiver/vcenterreceiver/receiver.go | 56 ------------------- receiver/vcenterreceiver/scraper.go | 2 +- receiver/vcenterreceiver/scraper_test.go | 11 ++-- receiver/vcenterreceiver/testdata/config.yaml | 10 ++-- 10 files changed, 51 insertions(+), 193 deletions(-) delete mode 100644 receiver/vcenterreceiver/receiver.go diff --git a/receiver/vcenterreceiver/README.md b/receiver/vcenterreceiver/README.md index 460ba53939f9c..6ae2ed33462df 100644 --- a/receiver/vcenterreceiver/README.md +++ b/receiver/vcenterreceiver/README.md @@ -2,7 +2,7 @@ This receiver fetches metrics from a vCenter or ESXi host running VMware vSphere APIs. -Supported pipeline types: `metrics` and `logs`(not implemented quite yet) +Supported pipeline types: `metrics` > :construction: This receiver is in **BETA**. Configuration fields and metric data model are subject to change. @@ -18,16 +18,6 @@ A “Read Only” user assigned to a vSphere with permissions to the vCenter ser ## Configuration -Configuration is split up into `metrics` and `logs` - -```yaml -receivers: - vcenter: - metrics: - logs: -``` - -### Metrics Configuration | Parameter | Default | Type | Notes | | --- | --- | --- | --- | @@ -42,12 +32,11 @@ receivers: ```yaml receivers: vcenter: - metrics: - endpoint: http://localhost:15672 - username: otelu - password: $VCENTER_PASSWORD - collection_interval: 5m - settings: [] + endpoint: http://localhost:15672 + username: otelu + password: $VCENTER_PASSWORD + collection_interval: 5m + settings: [] ``` The full list of settings exposed for this receiver are documented [here](./config.go) with detailed sample configurations [here](./testdata/config.yaml). TLS config is documented further under the [opentelemetry collector's configtls package](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md). diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index c51ff843b8c73..198e4d4b9d530 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -53,16 +53,16 @@ func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { if err != nil { return err } - client, err := govmomi.NewClient(ctx, sdkURL, vc.cfg.MetricsConfig.Insecure) + client, err := govmomi.NewClient(ctx, sdkURL, vc.cfg.Insecure) if err != nil { return fmt.Errorf("unable to connect to vSphere SDK on listed endpoint: %w", err) } - tlsCfg, err := vc.cfg.MetricsConfig.LoadTLSConfig() + tlsCfg, err := vc.cfg.LoadTLSConfig() if err != nil { return err } client.DefaultTransport().TLSClientConfig = tlsCfg - user := url.UserPassword(vc.cfg.MetricsConfig.Username, vc.cfg.MetricsConfig.Password) + user := url.UserPassword(vc.cfg.Username, vc.cfg.Password) err = client.Login(ctx, user) if err != nil { return fmt.Errorf("unable to login to vcenter sdk: %w", err) diff --git a/receiver/vcenterreceiver/config.go b/receiver/vcenterreceiver/config.go index cf9b12dc79a45..d795b5f9f7b12 100644 --- a/receiver/vcenterreceiver/config.go +++ b/receiver/vcenterreceiver/config.go @@ -29,15 +29,10 @@ import ( // Config is the configuration of the receiver type Config struct { - config.ReceiverSettings `mapstructure:",squash"` - MetricsConfig *MetricsConfig `mapstructure:"metrics,omitempty"` -} - -// MetricsConfig is the metrics configuration of the receiver -type MetricsConfig struct { + config.ReceiverSettings `mapstructure:",squash"` scraperhelper.ScraperControllerSettings `mapstructure:",squash"` configtls.TLSClientSetting `mapstructure:"tls,omitempty"` - Settings metadata.MetricsSettings `mapstructure:"settings"` + Metrics metadata.MetricsSettings `mapstructure:"metrics"` Endpoint string `mapstructure:"endpoint"` Username string `mapstructure:"username"` Password string `mapstructure:"password"` @@ -54,26 +49,15 @@ func (c *Config) Validate() error { return err } -// ID returns the ID of the component. -func (c *Config) ID() config.ComponentID { - // defaulting to use the MetricsConfig ID - return c.MetricsConfig.ID() -} - func (c *Config) validateMetricsConfig() error { - mc := c.MetricsConfig - if mc == nil { - return nil - } - - if mc.Endpoint == "" { + if c.Endpoint == "" { return errors.New("no endpoint was provided") } var err error - res, err := url.Parse(mc.Endpoint) + res, err := url.Parse(c.Endpoint) if err != nil { - err = multierr.Append(err, fmt.Errorf("unable to parse url %s: %w", c.MetricsConfig.Endpoint, err)) + err = multierr.Append(err, fmt.Errorf("unable to parse url %s: %w", c.Endpoint, err)) return err } @@ -81,15 +65,15 @@ func (c *Config) validateMetricsConfig() error { err = multierr.Append(err, errors.New("url scheme must be http or https")) } - if mc.Username == "" { + if c.Username == "" { err = multierr.Append(err, errors.New("username not provided and is required")) } - if mc.Password == "" { + if c.Password == "" { err = multierr.Append(err, errors.New("password not provided and is required")) } - if _, tlsErr := mc.LoadTLSConfig(); err != nil { + if _, tlsErr := c.LoadTLSConfig(); err != nil { err = multierr.Append(err, fmt.Errorf("error loading tls configuration: %w", tlsErr)) } @@ -98,7 +82,7 @@ func (c *Config) validateMetricsConfig() error { // SDKUrl returns the url for the vCenter SDK func (c *Config) SDKUrl() (*url.URL, error) { - res, err := url.Parse(c.MetricsConfig.Endpoint) + res, err := url.Parse(c.Endpoint) if err != nil { return res, err } diff --git a/receiver/vcenterreceiver/config_test.go b/receiver/vcenterreceiver/config_test.go index 094b3d49d2e6c..5dd3bccbbe4c6 100644 --- a/receiver/vcenterreceiver/config_test.go +++ b/receiver/vcenterreceiver/config_test.go @@ -28,65 +28,48 @@ func TestConfigValidation(t *testing.T) { cfg Config expectedErr error }{ - { - desc: "nil configs", - cfg: Config{ - MetricsConfig: nil, - }, - }, { desc: "empty endpoint", cfg: Config{ - MetricsConfig: &MetricsConfig{ - Endpoint: "", - }, + Endpoint: "", }, expectedErr: errors.New("no endpoint was provided"), }, { desc: "with endpoint", cfg: Config{ - MetricsConfig: &MetricsConfig{ - Endpoint: "http://vcsa.some-host", - }, + + Endpoint: "http://vcsa.some-host", }, }, { desc: "not http or https", cfg: Config{ - MetricsConfig: &MetricsConfig{ - Endpoint: "ws://vcsa.some-host", - }, + Endpoint: "ws://vcsa.some-host", }, expectedErr: errors.New("url scheme must be http or https"), }, { desc: "unparseable URL", cfg: Config{ - MetricsConfig: &MetricsConfig{ - Endpoint: "h" + string(rune(0x7f)), - TLSClientSetting: configtls.TLSClientSetting{}, - }, + Endpoint: "h" + string(rune(0x7f)), + TLSClientSetting: configtls.TLSClientSetting{}, }, expectedErr: errors.New("unable to parse url"), }, { desc: "no username", cfg: Config{ - MetricsConfig: &MetricsConfig{ - Endpoint: "https://vcsa.some-host", - Password: "otelp", - }, + Endpoint: "https://vcsa.some-host", + Password: "otelp", }, expectedErr: errors.New("username not provided"), }, { desc: "no password", cfg: Config{ - MetricsConfig: &MetricsConfig{ - Endpoint: "https://vcsa.some-host", - Username: "otelu", - }, + Endpoint: "https://vcsa.some-host", + Username: "otelu", }, expectedErr: errors.New("password not provided"), }, diff --git a/receiver/vcenterreceiver/factory.go b/receiver/vcenterreceiver/factory.go index 8994ec84fef88..d07614cf7bcc8 100644 --- a/receiver/vcenterreceiver/factory.go +++ b/receiver/vcenterreceiver/factory.go @@ -17,7 +17,6 @@ package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-colle import ( "context" "errors" - "sync" "time" "go.opentelemetry.io/collector/component" @@ -33,58 +32,29 @@ const ( typeStr = "vcenter" ) -type vcenterReceiverFactory struct { - receivers map[*Config]*vcenterReceiver - receiverLock *sync.RWMutex -} - // NewFactory returns the receiver factory for the vcenterreceiver func NewFactory() component.ReceiverFactory { - f := &vcenterReceiverFactory{ - receivers: make(map[*Config]*vcenterReceiver), - receiverLock: &sync.RWMutex{}, - } return component.NewReceiverFactory( typeStr, createDefaultConfig, - component.WithMetricsReceiver(f.createMetricsReceiver), + component.WithMetricsReceiver(createMetricsReceiver), ) } func createDefaultConfig() config.Receiver { return &Config{ - MetricsConfig: &MetricsConfig{ - ScraperControllerSettings: scraperhelper.ScraperControllerSettings{ - ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), - CollectionInterval: 2 * time.Minute, - }, - TLSClientSetting: configtls.TLSClientSetting{}, - Settings: metadata.DefaultMetricsSettings(), + ScraperControllerSettings: scraperhelper.ScraperControllerSettings{ + ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), + CollectionInterval: 2 * time.Minute, }, + TLSClientSetting: configtls.TLSClientSetting{}, + Metrics: metadata.DefaultMetricsSettings(), } } -func (f *vcenterReceiverFactory) ensureReceiver(params component.ReceiverCreateSettings, config config.Receiver) *vcenterReceiver { - f.receiverLock.RLock() - receiver := f.receivers[config.(*Config)] - f.receiverLock.RUnlock() - if receiver != nil { - return receiver - } - rconfig := config.(*Config) - receiver = &vcenterReceiver{ - logger: params.Logger, - config: rconfig, - } - f.receiverLock.Lock() - f.receivers[config.(*Config)] = receiver - f.receiverLock.Unlock() - return receiver -} - var errConfigNotVcenter = errors.New("config was not an vcenter receiver config") -func (f *vcenterReceiverFactory) createMetricsReceiver( +func createMetricsReceiver( _ context.Context, params component.ReceiverCreateSettings, rConf config.Receiver, @@ -94,7 +64,6 @@ func (f *vcenterReceiverFactory) createMetricsReceiver( if !ok { return nil, errConfigNotVcenter } - r := f.ensureReceiver(params, cfg) vr := newVmwareVcenterScraper(params.Logger, cfg) scraper, err := scraperhelper.NewScraper( typeStr, @@ -106,15 +75,10 @@ func (f *vcenterReceiverFactory) createMetricsReceiver( return nil, err } - rcvr, err := scraperhelper.NewScraperControllerReceiver( - &cfg.MetricsConfig.ScraperControllerSettings, + return scraperhelper.NewScraperControllerReceiver( + &cfg.ScraperControllerSettings, params, consumer, scraperhelper.AddScraper(scraper), ) - if err != nil { - return nil, err - } - r.scraper = rcvr - return r, nil } diff --git a/receiver/vcenterreceiver/factory_test.go b/receiver/vcenterreceiver/factory_test.go index cceb5492da7bf..0c828a257e644 100644 --- a/receiver/vcenterreceiver/factory_test.go +++ b/receiver/vcenterreceiver/factory_test.go @@ -16,7 +16,6 @@ package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-colle import ( "context" - "sync" "testing" "github.com/stretchr/testify/require" @@ -26,10 +25,6 @@ import ( ) func TestCreateMetricsReceiver(t *testing.T) { - f := vcenterReceiverFactory{ - receivers: make(map[*Config]*vcenterReceiver), - receiverLock: &sync.RWMutex{}, - } testCases := []struct { desc string testFn func(t *testing.T) @@ -38,7 +33,7 @@ func TestCreateMetricsReceiver(t *testing.T) { desc: "Default config", testFn: func(t *testing.T) { t.Parallel() - _, err := f.createMetricsReceiver( + _, err := createMetricsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), createDefaultConfig(), @@ -51,7 +46,7 @@ func TestCreateMetricsReceiver(t *testing.T) { desc: "Nil config", testFn: func(t *testing.T) { t.Parallel() - _, err := f.createMetricsReceiver( + _, err := createMetricsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), nil, @@ -64,7 +59,7 @@ func TestCreateMetricsReceiver(t *testing.T) { desc: "Nil consumer", testFn: func(t *testing.T) { t.Parallel() - _, err := f.createMetricsReceiver( + _, err := createMetricsReceiver( context.Background(), componenttest.NewNopReceiverCreateSettings(), createDefaultConfig(), diff --git a/receiver/vcenterreceiver/receiver.go b/receiver/vcenterreceiver/receiver.go deleted file mode 100644 index d52fef7afb624..0000000000000 --- a/receiver/vcenterreceiver/receiver.go +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright The OpenTelemetry Authors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package vcenterreceiver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver" - -import ( - "context" - "fmt" - - "go.opentelemetry.io/collector/component" - "go.uber.org/multierr" - "go.uber.org/zap" -) - -var _ component.Receiver = (*vcenterReceiver)(nil) - -type vcenterReceiver struct { - config *Config - logger *zap.Logger - scraper component.Receiver -} - -func (v *vcenterReceiver) Start(ctx context.Context, host component.Host) error { - var err error - if v.scraper != nil && v.config.MetricsConfig.Endpoint != "" { - scraperErr := v.scraper.Start(ctx, host) - if scraperErr != nil { - // Start should not stop the collector if the metrics client connection attempt does not succeed, - // so we log on start when we cannot connect - v.logger.Error(fmt.Sprintf("unable to initially connect to vSphere SDK: %s", scraperErr.Error())) - } - } - return err -} - -func (v *vcenterReceiver) Shutdown(ctx context.Context) error { - var err error - if v.scraper != nil { - scraperErr := v.scraper.Shutdown(ctx) - if scraperErr != nil { - err = multierr.Append(err, scraperErr) - } - } - return err -} diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index cce94cfa1e1c6..869d90884ce5b 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -47,7 +47,7 @@ func newVmwareVcenterScraper( client: client, config: config, logger: logger, - mb: metadata.NewMetricsBuilder(config.MetricsConfig.Settings), + mb: metadata.NewMetricsBuilder(config.Metrics), } } diff --git a/receiver/vcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go index fff6d6b399b89..3ddcd73a60367 100644 --- a/receiver/vcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -58,6 +58,7 @@ func TestScrape(t *testing.T) { expectedMetrics, err := golden.ReadMetrics(goldenPath) require.NoError(t, err) scrapertest.CompareMetrics(expectedMetrics, metrics) + require.NoError(t, scraper.Shutdown(ctx)) }) } @@ -66,7 +67,7 @@ func TestScrape_NoClient(t *testing.T) { scraper := &vcenterMetricScraper{ client: nil, config: &Config{ - MetricsConfig: &MetricsConfig{Endpoint: "http://vcsa.localnet"}, + Endpoint: "http://vcsa.localnet", }, mb: metadata.NewMetricsBuilder(metadata.DefaultMetricsSettings()), logger: zap.NewNop(), @@ -85,18 +86,14 @@ func TestStartFailures_Metrics(t *testing.T) { { desc: "bad client connect", cfg: Config{ - MetricsConfig: &MetricsConfig{ - Endpoint: "http://no-host", - }, + Endpoint: "http://no-host", }, err: errors.New("unable to connect"), }, { desc: "unparsable endpoint", cfg: Config{ - MetricsConfig: &MetricsConfig{ - Endpoint: "://some-host", - }, + Endpoint: "://some-host", }, err: errors.New("parse"), }, diff --git a/receiver/vcenterreceiver/testdata/config.yaml b/receiver/vcenterreceiver/testdata/config.yaml index 1a14418e9d4b8..8b9fd5882d600 100644 --- a/receiver/vcenterreceiver/testdata/config.yaml +++ b/receiver/vcenterreceiver/testdata/config.yaml @@ -1,10 +1,12 @@ receivers: vcenter: + endpoint: http://vcsa.host.localnet + username: otelu + password: $VCENTER_PASSWORD + collection_interval: 5m metrics: - endpoint: http://vcsa.host.localnet - username: otelu - password: $VCENTER_PASSWORD - collection_interval: 5m + vcenter.host.cpu.utilization: + enabled: false processors: nop: From b552ce4c589790a987c7248b5a18c34a8da4e1ad Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 9 May 2022 10:08:20 -0400 Subject: [PATCH 077/105] fix integration test from flattening of config --- receiver/vcenterreceiver/integration_test.go | 27 +- .../testdata/metrics/integration-metrics.json | 2253 +++++++++++++++++ 2 files changed, 2262 insertions(+), 18 deletions(-) create mode 100644 receiver/vcenterreceiver/testdata/metrics/integration-metrics.json diff --git a/receiver/vcenterreceiver/integration_test.go b/receiver/vcenterreceiver/integration_test.go index 51e9feded1997..d9ca02e227521 100644 --- a/receiver/vcenterreceiver/integration_test.go +++ b/receiver/vcenterreceiver/integration_test.go @@ -41,12 +41,10 @@ import ( func TestEndtoEnd_ESX(t *testing.T) { simulator.Test(func(ctx context.Context, c *vim25.Client) { cfg := &Config{ - MetricsConfig: &MetricsConfig{ - TLSClientSetting: configtls.TLSClientSetting{ - Insecure: true, - }, - Settings: metadata.DefaultMetricsSettings(), + TLSClientSetting: configtls.TLSClientSetting{ + Insecure: true, }, + Metrics: metadata.DefaultMetricsSettings(), } s := session.NewManager(c) @@ -57,27 +55,20 @@ func TestEndtoEnd_ESX(t *testing.T) { } scraper.client.vimDriver = c scraper.client.finder = find.NewFinder(c) - - rcvr := &vcenterReceiver{ - config: cfg, - scraper: scraper, - } - - err := rcvr.Start(ctx, componenttest.NewNopHost()) + err := scraper.Start(ctx, componenttest.NewNopHost()) require.NoError(t, err) - sc, ok := rcvr.scraper.(*vcenterMetricScraper) - require.True(t, ok) - metrics, err := sc.scrape(ctx) + metrics, err := scraper.scrape(ctx) require.NoError(t, err) require.NotEmpty(t, metrics) - goldenPath := filepath.Join("testdata", "metrics", "expected.json") + goldenPath := filepath.Join("testdata", "metrics", "integration-metrics.json") expectedMetrics, err := golden.ReadMetrics(goldenPath) - err = scrapertest.CompareMetrics(expectedMetrics, metrics) + require.NoError(t, err) + err = scrapertest.CompareMetrics(expectedMetrics, metrics, scrapertest.IgnoreMetricValues()) require.NoError(t, err) - err = rcvr.Shutdown(ctx) + err = scraper.Shutdown(ctx) require.NoError(t, err) }) } diff --git a/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json b/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json new file mode 100644 index 0000000000000..4cdc8653cadb2 --- /dev/null +++ b/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json @@ -0,0 +1,2253 @@ +{ + "resourceMetrics": [ + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H0" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host.", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.packet.count", + "description": "The number of packets sent and received, as measured over the most recent 20s interval.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737721172000", + "asInt": "15794" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717721172000", + "asInt": "6601" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697721172000", + "asInt": "6820" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677721172000", + "asInt": "12481" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657721172000", + "asInt": "10545" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737721172000", + "asInt": "25677" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717721172000", + "asInt": "12410" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697721172000", + "asInt": "15883" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677721172000", + "asInt": "17129" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657721172000", + "asInt": "16527" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737721172000", + "asInt": "768" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717721172000", + "asInt": "736" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697721172000", + "asInt": "481" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677721172000", + "asInt": "485" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657721172000", + "asInt": "878" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737721172000", + "asInt": "778" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717721172000", + "asInt": "731" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697721172000", + "asInt": "301" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677721172000", + "asInt": "648" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657721172000", + "asInt": "803" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737721172000", + "asInt": "1839" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717721172000", + "asInt": "926" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697721172000", + "asInt": "525" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677721172000", + "asInt": "1454" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657721172000", + "asInt": "1798" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H1" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host.", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.packet.count", + "description": "The number of packets sent and received, as measured over the most recent 20s interval.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737756493000", + "asInt": "15081" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717756493000", + "asInt": "8773" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697756493000", + "asInt": "4903" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677756493000", + "asInt": "8867" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657756493000", + "asInt": "7428" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737756493000", + "asInt": "15959" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717756493000", + "asInt": "14347" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697756493000", + "asInt": "8119" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677756493000", + "asInt": "12388" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657756493000", + "asInt": "16847" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737756493000", + "asInt": "1014" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717756493000", + "asInt": "721" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697756493000", + "asInt": "341" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677756493000", + "asInt": "349" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657756493000", + "asInt": "1037" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737756493000", + "asInt": "502" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717756493000", + "asInt": "740" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697756493000", + "asInt": "532" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677756493000", + "asInt": "713" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657756493000", + "asInt": "1236" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737756493000", + "asInt": "1018" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717756493000", + "asInt": "1360" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697756493000", + "asInt": "979" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677756493000", + "asInt": "1343" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657756493000", + "asInt": "2704" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H2" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host.", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.packet.count", + "description": "The number of packets sent and received, as measured over the most recent 20s interval.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737791502000", + "asInt": "14235" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717791502000", + "asInt": "10077" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697791502000", + "asInt": "4854" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677791502000", + "asInt": "10849" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657791502000", + "asInt": "11838" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737791502000", + "asInt": "20591" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717791502000", + "asInt": "19591" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697791502000", + "asInt": "10305" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677791502000", + "asInt": "16941" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657791502000", + "asInt": "29085" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737791502000", + "asInt": "1042" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717791502000", + "asInt": "487" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697791502000", + "asInt": "610" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677791502000", + "asInt": "485" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657791502000", + "asInt": "1099" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737791502000", + "asInt": "1236" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717791502000", + "asInt": "530" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697791502000", + "asInt": "377" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677791502000", + "asInt": "683" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657791502000", + "asInt": "1085" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737791502000", + "asInt": "1950" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104717791502000", + "asInt": "1320" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104697791502000", + "asInt": "1030" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104677791502000", + "asInt": "1181" + }, + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104657791502000", + "asInt": "2363" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.datastore.name", + "value": { + "stringValue": "LocalDS_0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.datastore.disk.usage", + "description": "The amount of space in the datastore.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "42949672960" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "10995116277760" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.datastore.disk.utilization", + "description": "The utilization of the datastore.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asDouble": 0.390625 + } + ] + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_H0_VM0" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "b4689bed-97f0-5bcd-8a4c-07477cc8f06f" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space used by the virtual machine.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "available" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packet.count", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737826784000", + "asInt": "872" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737826784000", + "asInt": "1797" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737826784000", + "asInt": "198" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737826784000", + "asInt": "314" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilization combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737826784000", + "asInt": "484" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_H0_VM1" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "12f8928d-f144-5c57-89db-dd2d0902c9fa" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space used by the virtual machine.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "available" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packet.count", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737860674000", + "asInt": "896" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737860674000", + "asInt": "2062" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737860674000", + "asInt": "184" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737860674000", + "asInt": "297" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilization combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737860674000", + "asInt": "441" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_C0_RP0_VM0" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "bfff331f-7f07-572d-951e-edd3701dc061" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H1" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space used by the virtual machine.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "available" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packet.count", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737894885000", + "asInt": "543" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737894885000", + "asInt": "1423" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737894885000", + "asInt": "116" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737894885000", + "asInt": "285" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilization combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737894885000", + "asInt": "379" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_C0_RP0_VM1" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "6132d223-1566-5921-bc3b-df91ece09a4d" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space used by the virtual machine.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "available" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packet.count", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737929623000", + "asInt": "657" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737929623000", + "asInt": "1578" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737929623000", + "asInt": "193" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737929623000", + "asInt": "300" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilization combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737929623000", + "asInt": "444" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.cluster.cpu.limit", + "description": "The amount of CPU available to the cluster.", + "unit": "{MHz}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "6882" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.cluster.host.count", + "description": "The number of hosts in the cluster.", + "unit": "{hosts}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "effective", + "value": { + "stringValue": "false" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "effective", + "value": { + "stringValue": "true" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "3" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.cluster.vm.count", + "description": "the number of virtual machines in the cluster.", + "unit": "{virtual_machines}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "power_state", + "value": { + "stringValue": "on" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "4" + }, + { + "attributes": [ + { + "key": "power_state", + "value": { + "stringValue": "off" + } + } + ], + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.resource_pool.name", + "value": { + "stringValue": "Resources" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.resource_pool.cpu.shares", + "description": "The amount of shares of CPU in the resource pool.", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.resource_pool.memory.shares", + "description": "The amount of shares of memory in the resource pool.", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.resource_pool.name", + "value": { + "stringValue": "Resources" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.resource_pool.cpu.shares", + "description": "The amount of shares of CPU in the resource pool.", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.resource_pool.memory.shares", + "description": "The amount of shares of memory in the resource pool.", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652104737416251000", + "timeUnixNano": "1652104737677400000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + } + ] +} \ No newline at end of file From 8357e75627d9de6f79e3935174aa281b69404869 Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 9 May 2022 11:07:27 -0400 Subject: [PATCH 078/105] fix scraper start not erroring if connection cannot be established --- receiver/vcenterreceiver/config.go | 12 ------------ receiver/vcenterreceiver/scraper.go | 7 ++++++- receiver/vcenterreceiver/scraper_test.go | 3 --- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/receiver/vcenterreceiver/config.go b/receiver/vcenterreceiver/config.go index d795b5f9f7b12..d0eb484169e5f 100644 --- a/receiver/vcenterreceiver/config.go +++ b/receiver/vcenterreceiver/config.go @@ -19,7 +19,6 @@ import ( "fmt" "net/url" - "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/config/configtls" "go.opentelemetry.io/collector/receiver/scraperhelper" "go.uber.org/multierr" @@ -29,7 +28,6 @@ import ( // Config is the configuration of the receiver type Config struct { - config.ReceiverSettings `mapstructure:",squash"` scraperhelper.ScraperControllerSettings `mapstructure:",squash"` configtls.TLSClientSetting `mapstructure:"tls,omitempty"` Metrics metadata.MetricsSettings `mapstructure:"metrics"` @@ -40,16 +38,6 @@ type Config struct { // Validate checks to see if the supplied config will work for the receiver func (c *Config) Validate() error { - var err error - metricsErr := c.validateMetricsConfig() - if metricsErr != nil { - err = multierr.Append(err, metricsErr) - } - - return err -} - -func (c *Config) validateMetricsConfig() error { if c.Endpoint == "" { return errors.New("no endpoint was provided") } diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 869d90884ce5b..0db691ed030ea 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -52,7 +52,12 @@ func newVmwareVcenterScraper( } func (v *vcenterMetricScraper) Start(ctx context.Context, _ component.Host) error { - return v.client.EnsureConnection(ctx) + connectErr := v.client.EnsureConnection(ctx) + // don't fail to start if we cannot establish connection, just log an error + if connectErr != nil { + v.logger.Error(fmt.Sprintf("unable to establish a connection to the vSphere SDK %s", connectErr.Error())) + } + return nil } func (v *vcenterMetricScraper) Shutdown(ctx context.Context) error { diff --git a/receiver/vcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go index 3ddcd73a60367..1364b270c2d79 100644 --- a/receiver/vcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -16,7 +16,6 @@ package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collec import ( "context" - "errors" "path/filepath" "testing" @@ -88,14 +87,12 @@ func TestStartFailures_Metrics(t *testing.T) { cfg: Config{ Endpoint: "http://no-host", }, - err: errors.New("unable to connect"), }, { desc: "unparsable endpoint", cfg: Config{ Endpoint: "://some-host", }, - err: errors.New("parse"), }, } From 50aa4beb06b706bded7749f5c07e0e71746ac410 Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 9 May 2022 11:52:16 -0400 Subject: [PATCH 079/105] make scrapertest less flaky --- receiver/vcenterreceiver/scraper.go | 24 +- receiver/vcenterreceiver/scraper_test.go | 4 +- .../testdata/metrics/expected.json | 2254 +---------------- 3 files changed, 23 insertions(+), 2259 deletions(-) diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 0db691ed030ea..27e1dfbc5f4a7 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -92,7 +92,7 @@ func (v *vcenterMetricScraper) collectClusters(ctx context.Context) error { v.collectHosts(ctx, now, c, errs) v.collectDatastores(ctx, now, c, errs) v.collectVMs(ctx, now, c, errs) - v.collectCluster(ctx, now, c) + v.collectCluster(ctx, now, c, errs) } v.collectResourcePools(ctx, now, errs) @@ -103,9 +103,14 @@ func (v *vcenterMetricScraper) collectCluster( ctx context.Context, now pdata.Timestamp, c *object.ClusterComputeResource, + errs *scrapererror.ScrapeErrors, ) { var moCluster mo.ClusterComputeResource - c.Properties(ctx, c.Reference(), []string{"summary"}, &moCluster) + err := c.Properties(ctx, c.Reference(), []string{"summary"}, &moCluster) + if err != nil { + errs.AddPartial(1, err) + return + } s := moCluster.Summary.GetComputeResourceSummary() v.mb.RecordVcenterClusterCPULimitDataPoint(now, int64(s.TotalCpu)) v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumHosts-s.NumEffectiveHosts), metadata.AttributeHostEffectiveFalse) @@ -128,7 +133,7 @@ func (v *vcenterMetricScraper) collectDatastores( } for _, ds := range datastores { - v.collectDatastore(ctx, colTime, ds) + v.collectDatastore(ctx, colTime, ds, errs) } } @@ -136,9 +141,14 @@ func (v *vcenterMetricScraper) collectDatastore( ctx context.Context, now pdata.Timestamp, ds *object.Datastore, + errs *scrapererror.ScrapeErrors, ) { var moDS mo.Datastore - ds.Properties(ctx, ds.Reference(), []string{"summary", "name"}, &moDS) + err := ds.Properties(ctx, ds.Reference(), []string{"summary", "name"}, &moDS) + if err != nil { + errs.AddPartial(1, err) + return + } v.recordDatastoreProperties(now, moDS) v.mb.EmitForResource( @@ -202,11 +212,15 @@ func (v *vcenterMetricScraper) collectResourcePools( } for _, rp := range rps { var moRP mo.ResourcePool - rp.Properties(ctx, rp.Reference(), []string{ + err = rp.Properties(ctx, rp.Reference(), []string{ "summary", "summary.quickStats", "name", }, &moRP) + if err != nil { + errs.AddPartial(1, err) + continue + } v.recordResourcePool(ts, moRP) v.mb.EmitForResource(metadata.WithVcenterResourcePoolName(rp.Name())) } diff --git a/receiver/vcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go index 1364b270c2d79..b98caacf26a4d 100644 --- a/receiver/vcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -56,7 +56,9 @@ func TestScrape(t *testing.T) { goldenPath := filepath.Join("testdata", "metrics", "expected.json") expectedMetrics, err := golden.ReadMetrics(goldenPath) require.NoError(t, err) - scrapertest.CompareMetrics(expectedMetrics, metrics) + + err = scrapertest.CompareMetrics(expectedMetrics, metrics, scrapertest.IgnoreMetricValues(), scrapertest.IgnoreMetricAttributeValue("vcenter.host.name")) + require.NoError(t, err) require.NoError(t, scraper.Shutdown(ctx)) }) } diff --git a/receiver/vcenterreceiver/testdata/metrics/expected.json b/receiver/vcenterreceiver/testdata/metrics/expected.json index f75ee0ec0fd6a..ec7d79dc81bf8 100644 --- a/receiver/vcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vcenterreceiver/testdata/metrics/expected.json @@ -1,2253 +1 @@ -{ - "resourceMetrics": [ - { - "resource": { - "attributes": [ - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H0" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host.", - "unit": "MHz", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "67" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asDouble": 1.4603312990409765 - } - ] - } - }, - { - "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "1404" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.packet.count", - "description": "The number of packets sent and received, as measured over the most recent 20s interval.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219708331000", - "asInt": "9368" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199708331000", - "asInt": "4522" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179708331000", - "asInt": "7107" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159708331000", - "asInt": "11553" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139708331000", - "asInt": "20673" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219708331000", - "asInt": "11901" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199708331000", - "asInt": "14574" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179708331000", - "asInt": "12841" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159708331000", - "asInt": "11116" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139708331000", - "asInt": "22610" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219708331000", - "asInt": "518" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199708331000", - "asInt": "519" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179708331000", - "asInt": "763" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159708331000", - "asInt": "738" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139708331000", - "asInt": "2179" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219708331000", - "asInt": "699" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199708331000", - "asInt": "592" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179708331000", - "asInt": "507" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159708331000", - "asInt": "753" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139708331000", - "asInt": "2075" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219708331000", - "asInt": "1272" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199708331000", - "asInt": "1061" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179708331000", - "asInt": "1018" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159708331000", - "asInt": "1274" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139708331000", - "asInt": "3755" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H1" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host.", - "unit": "MHz", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "67" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asDouble": 1.4603312990409765 - } - ] - } - }, - { - "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "1404" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.packet.count", - "description": "The number of packets sent and received, as measured over the most recent 20s interval.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219743194000", - "asInt": "8604" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199743194000", - "asInt": "5890" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179743194000", - "asInt": "7968" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159743194000", - "asInt": "8248" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139743194000", - "asInt": "17508" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219743194000", - "asInt": "15928" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199743194000", - "asInt": "8181" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179743194000", - "asInt": "17088" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159743194000", - "asInt": "19186" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139743194000", - "asInt": "39090" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219743194000", - "asInt": "477" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199743194000", - "asInt": "382" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179743194000", - "asInt": "618" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159743194000", - "asInt": "852" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139743194000", - "asInt": "1343" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219743194000", - "asInt": "728" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199743194000", - "asInt": "612" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179743194000", - "asInt": "458" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159743194000", - "asInt": "789" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139743194000", - "asInt": "1799" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219743194000", - "asInt": "1049" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199743194000", - "asInt": "756" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179743194000", - "asInt": "1035" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159743194000", - "asInt": "1469" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139743194000", - "asInt": "4675" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H2" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host.", - "unit": "MHz", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "67" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asDouble": 1.4603312990409765 - } - ] - } - }, - { - "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "1404" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.packet.count", - "description": "The number of packets sent and received, as measured over the most recent 20s interval.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219779235000", - "asInt": "10908" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199779235000", - "asInt": "6626" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179779235000", - "asInt": "7525" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159779235000", - "asInt": "8087" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139779235000", - "asInt": "21022" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219779235000", - "asInt": "11859" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199779235000", - "asInt": "10127" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179779235000", - "asInt": "14938" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159779235000", - "asInt": "11216" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139779235000", - "asInt": "21221" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219779235000", - "asInt": "816" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199779235000", - "asInt": "433" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179779235000", - "asInt": "557" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159779235000", - "asInt": "784" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139779235000", - "asInt": "1367" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219779235000", - "asInt": "571" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199779235000", - "asInt": "448" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179779235000", - "asInt": "401" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159779235000", - "asInt": "403" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139779235000", - "asInt": "1631" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219779235000", - "asInt": "1479" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563199779235000", - "asInt": "1023" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563179779235000", - "asInt": "737" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563159779235000", - "asInt": "1455" - }, - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563139779235000", - "asInt": "3919" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.datastore.name", - "value": { - "stringValue": "LocalDS_0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.datastore.disk.usage", - "description": "The amount of space in the datastore.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "42949672960" - }, - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "total" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "10995116277760" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.datastore.disk.utilization", - "description": "The utilization of the datastore.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asDouble": 0.390625 - } - ] - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_H0_VM0" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "b4689bed-97f0-5bcd-8a4c-07477cc8f06f" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - }, - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_H0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space used by the virtual machine.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "total" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219847328000", - "asInt": "554" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219847328000", - "asInt": "990" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219847328000", - "asInt": "187" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219847328000", - "asInt": "228" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219847328000", - "asInt": "478" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_H0_VM1" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "12f8928d-f144-5c57-89db-dd2d0902c9fa" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - }, - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_H0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space used by the virtual machine.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "total" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219919259000", - "asInt": "1093" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219919259000", - "asInt": "2269" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219919259000", - "asInt": "210" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219919259000", - "asInt": "275" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219919259000", - "asInt": "478" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_C0_RP0_VM0" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "bfff331f-7f07-572d-951e-edd3701dc061" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - }, - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H1" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space used by the virtual machine.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "total" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219988876000", - "asInt": "674" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219988876000", - "asInt": "994" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219988876000", - "asInt": "184" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219988876000", - "asInt": "245" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219988876000", - "asInt": "737" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_C0_RP0_VM1" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "6132d223-1566-5921-bc3b-df91ece09a4d" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - }, - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space used by the virtual machine.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "total" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563220030298000", - "asInt": "801" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563220030298000", - "asInt": "1693" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563220030298000", - "asInt": "234" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563220030298000", - "asInt": "226" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563220030298000", - "asInt": "547" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.cluster.cpu.limit", - "description": "The amount of CPU available to the cluster.", - "unit": "{MHz}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "6882" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.cluster.host.count", - "description": "The number of hosts in the cluster.", - "unit": "{hosts}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "effective", - "value": { - "stringValue": "false" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - }, - { - "attributes": [ - { - "key": "effective", - "value": { - "stringValue": "true" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "3" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.cluster.vm.count", - "description": "the number of virtual machines in the cluster.", - "unit": "{virtual_machines}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "power_state", - "value": { - "stringValue": "on" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "4" - }, - { - "attributes": [ - { - "key": "power_state", - "value": { - "stringValue": "off" - } - } - ], - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.resource_pool.name", - "value": { - "stringValue": "Resources" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.resource_pool.cpu.shares", - "description": "The amount of shares of CPU in the resource pool.", - "unit": "{shares}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "9000" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.resource_pool.memory.shares", - "description": "The amount of shares of memory in the resource pool.", - "unit": "{shares}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "9000" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.resource_pool.name", - "value": { - "stringValue": "Resources" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.resource_pool.cpu.shares", - "description": "The amount of shares of CPU in the resource pool.", - "unit": "{shares}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "9000" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.resource_pool.memory.shares", - "description": "The amount of shares of memory in the resource pool.", - "unit": "{shares}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1650563219669499000", - "timeUnixNano": "1650563219671980000", - "asInt": "9000" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - } - ] -} \ No newline at end of file +{"resourceMetrics":[{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H0"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host.","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packet.count","description":"The number of packets sent and received, as measured over the most recent 20s interval.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378765516000","asInt":"6492"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358765516000","asInt":"7023"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338765516000","asInt":"8293"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318765516000","asInt":"13480"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298765516000","asInt":"5871"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378765516000","asInt":"10440"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358765516000","asInt":"12898"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338765516000","asInt":"12030"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318765516000","asInt":"28368"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298765516000","asInt":"16059"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378765516000","asInt":"312"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358765516000","asInt":"794"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338765516000","asInt":"447"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318765516000","asInt":"1061"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298765516000","asInt":"667"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378765516000","asInt":"678"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358765516000","asInt":"908"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338765516000","asInt":"1134"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318765516000","asInt":"1182"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298765516000","asInt":"540"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378765516000","asInt":"1238"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358765516000","asInt":"2030"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338765516000","asInt":"1550"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318765516000","asInt":"2512"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298765516000","asInt":"1712"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H1"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host.","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packet.count","description":"The number of packets sent and received, as measured over the most recent 20s interval.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378801400000","asInt":"7807"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358801400000","asInt":"9662"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338801400000","asInt":"14219"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318801400000","asInt":"13740"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298801400000","asInt":"8278"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378801400000","asInt":"17493"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358801400000","asInt":"18699"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338801400000","asInt":"22029"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318801400000","asInt":"30410"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298801400000","asInt":"14468"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378801400000","asInt":"613"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358801400000","asInt":"973"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338801400000","asInt":"645"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318801400000","asInt":"753"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298801400000","asInt":"667"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378801400000","asInt":"622"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358801400000","asInt":"907"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338801400000","asInt":"1096"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318801400000","asInt":"935"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298801400000","asInt":"706"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378801400000","asInt":"1338"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358801400000","asInt":"2609"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338801400000","asInt":"2174"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318801400000","asInt":"2322"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298801400000","asInt":"1203"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H2"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host.","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packet.count","description":"The number of packets sent and received, as measured over the most recent 20s interval.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378842284000","asInt":"7806"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358842284000","asInt":"8504"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338842284000","asInt":"11535"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318842284000","asInt":"15287"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298842284000","asInt":"7040"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378842284000","asInt":"13606"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358842284000","asInt":"20110"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338842284000","asInt":"21056"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318842284000","asInt":"30718"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298842284000","asInt":"13724"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378842284000","asInt":"397"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358842284000","asInt":"1041"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338842284000","asInt":"952"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318842284000","asInt":"919"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298842284000","asInt":"692"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378842284000","asInt":"575"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358842284000","asInt":"825"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338842284000","asInt":"773"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318842284000","asInt":"886"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298842284000","asInt":"377"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378842284000","asInt":"931"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358842284000","asInt":"1437"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338842284000","asInt":"1520"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318842284000","asInt":"2309"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298842284000","asInt":"1326"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.datastore.name","value":{"stringValue":"LocalDS_0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.datastore.disk.usage","description":"The amount of space in the datastore.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"42949672960"},{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"10995116277760"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.datastore.disk.utilization","description":"The utilization of the datastore.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":0.390625}]}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_H0_VM0"}},{"key":"vcenter.vm.id","value":{"stringValue":"b4689bed-97f0-5bcd-8a4c-07477cc8f06f"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space used by the virtual machine.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"available"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packet.count","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378876866000","asInt":"1021"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378876866000","asInt":"2549"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378876866000","asInt":"196"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378876866000","asInt":"335"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilization combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378876866000","asInt":"785"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_H0_VM1"}},{"key":"vcenter.vm.id","value":{"stringValue":"12f8928d-f144-5c57-89db-dd2d0902c9fa"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space used by the virtual machine.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"available"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packet.count","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378912560000","asInt":"1059"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378912560000","asInt":"1856"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378912560000","asInt":"288"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378912560000","asInt":"303"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilization combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378912560000","asInt":"749"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_C0_RP0_VM0"}},{"key":"vcenter.vm.id","value":{"stringValue":"bfff331f-7f07-572d-951e-edd3701dc061"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space used by the virtual machine.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"available"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packet.count","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378950777000","asInt":"1334"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378950777000","asInt":"1981"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378950777000","asInt":"239"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378950777000","asInt":"342"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilization combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378950777000","asInt":"497"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_C0_RP0_VM1"}},{"key":"vcenter.vm.id","value":{"stringValue":"6132d223-1566-5921-bc3b-df91ece09a4d"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space used by the virtual machine.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"available"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packet.count","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378990665000","asInt":"1081"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378990665000","asInt":"2882"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378990665000","asInt":"228"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378990665000","asInt":"307"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilization combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378990665000","asInt":"597"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.cluster.cpu.limit","description":"The amount of CPU available to the cluster.","unit":"{MHz}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"6882"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.cluster.host.count","description":"The number of hosts in the cluster.","unit":"{hosts}","sum":{"dataPoints":[{"attributes":[{"key":"effective","value":{"stringValue":"false"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"},{"attributes":[{"key":"effective","value":{"stringValue":"true"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"3"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.cluster.vm.count","description":"the number of virtual machines in the cluster.","unit":"{virtual_machines}","sum":{"dataPoints":[{"attributes":[{"key":"power_state","value":{"stringValue":"on"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"4"},{"attributes":[{"key":"power_state","value":{"stringValue":"off"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.resource_pool.name","value":{"stringValue":"Resources"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.resource_pool.cpu.shares","description":"The amount of shares of CPU in the resource pool.","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.resource_pool.memory.shares","description":"The amount of shares of memory in the resource pool.","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.resource_pool.name","value":{"stringValue":"Resources"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.resource_pool.cpu.shares","description":"The amount of shares of CPU in the resource pool.","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.resource_pool.memory.shares","description":"The amount of shares of memory in the resource pool.","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]}]} \ No newline at end of file From b05e41919f6ae40db21350ffded368268cc88969 Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 9 May 2022 11:52:43 -0400 Subject: [PATCH 080/105] format test json --- .../testdata/metrics/expected.json | 2254 ++++++++++++++++- 1 file changed, 2253 insertions(+), 1 deletion(-) diff --git a/receiver/vcenterreceiver/testdata/metrics/expected.json b/receiver/vcenterreceiver/testdata/metrics/expected.json index ec7d79dc81bf8..f82faa2169878 100644 --- a/receiver/vcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vcenterreceiver/testdata/metrics/expected.json @@ -1 +1,2253 @@ -{"resourceMetrics":[{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H0"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host.","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packet.count","description":"The number of packets sent and received, as measured over the most recent 20s interval.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378765516000","asInt":"6492"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358765516000","asInt":"7023"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338765516000","asInt":"8293"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318765516000","asInt":"13480"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298765516000","asInt":"5871"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378765516000","asInt":"10440"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358765516000","asInt":"12898"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338765516000","asInt":"12030"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318765516000","asInt":"28368"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298765516000","asInt":"16059"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378765516000","asInt":"312"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358765516000","asInt":"794"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338765516000","asInt":"447"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318765516000","asInt":"1061"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298765516000","asInt":"667"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378765516000","asInt":"678"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358765516000","asInt":"908"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338765516000","asInt":"1134"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318765516000","asInt":"1182"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298765516000","asInt":"540"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378765516000","asInt":"1238"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358765516000","asInt":"2030"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338765516000","asInt":"1550"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318765516000","asInt":"2512"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298765516000","asInt":"1712"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H1"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host.","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packet.count","description":"The number of packets sent and received, as measured over the most recent 20s interval.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378801400000","asInt":"7807"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358801400000","asInt":"9662"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338801400000","asInt":"14219"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318801400000","asInt":"13740"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298801400000","asInt":"8278"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378801400000","asInt":"17493"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358801400000","asInt":"18699"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338801400000","asInt":"22029"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318801400000","asInt":"30410"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298801400000","asInt":"14468"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378801400000","asInt":"613"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358801400000","asInt":"973"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338801400000","asInt":"645"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318801400000","asInt":"753"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298801400000","asInt":"667"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378801400000","asInt":"622"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358801400000","asInt":"907"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338801400000","asInt":"1096"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318801400000","asInt":"935"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298801400000","asInt":"706"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378801400000","asInt":"1338"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358801400000","asInt":"2609"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338801400000","asInt":"2174"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318801400000","asInt":"2322"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298801400000","asInt":"1203"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H2"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.host.cpu.usage","description":"The amount of CPU in Hz used by the host.","unit":"MHz","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"67"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.cpu.utilization","description":"The CPU utilization of the host system.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":1.4603312990409765}]}},{"name":"vcenter.host.memory.usage","description":"The amount of memory the host system is using.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"1404"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.memory.utilization","description":"The percentage of the host system's memory capacity that is being utilized.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":34.285714285714285}]}},{"name":"vcenter.host.network.packet.count","description":"The number of packets sent and received, as measured over the most recent 20s interval.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378842284000","asInt":"7806"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358842284000","asInt":"8504"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338842284000","asInt":"11535"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318842284000","asInt":"15287"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298842284000","asInt":"7040"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378842284000","asInt":"13606"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358842284000","asInt":"20110"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338842284000","asInt":"21056"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318842284000","asInt":"30718"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298842284000","asInt":"13724"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.throughput","description":"The amount of data that was sent or received over the network by the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378842284000","asInt":"397"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358842284000","asInt":"1041"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338842284000","asInt":"952"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318842284000","asInt":"919"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298842284000","asInt":"692"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378842284000","asInt":"575"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358842284000","asInt":"825"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338842284000","asInt":"773"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318842284000","asInt":"886"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298842284000","asInt":"377"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.host.network.usage","description":"The sum of the data transmitted and received for all the NIC instances of the host.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378842284000","asInt":"931"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111358842284000","asInt":"1437"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111338842284000","asInt":"1520"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111318842284000","asInt":"2309"},{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111298842284000","asInt":"1326"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.datastore.name","value":{"stringValue":"LocalDS_0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.datastore.disk.usage","description":"The amount of space in the datastore.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"42949672960"},{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"10995116277760"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.datastore.disk.utilization","description":"The utilization of the datastore.","unit":"%","gauge":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asDouble":0.390625}]}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_H0_VM0"}},{"key":"vcenter.vm.id","value":{"stringValue":"b4689bed-97f0-5bcd-8a4c-07477cc8f06f"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space used by the virtual machine.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"available"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packet.count","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378876866000","asInt":"1021"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378876866000","asInt":"2549"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378876866000","asInt":"196"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378876866000","asInt":"335"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilization combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378876866000","asInt":"785"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_H0_VM1"}},{"key":"vcenter.vm.id","value":{"stringValue":"12f8928d-f144-5c57-89db-dd2d0902c9fa"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space used by the virtual machine.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"available"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packet.count","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378912560000","asInt":"1059"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378912560000","asInt":"1856"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378912560000","asInt":"288"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378912560000","asInt":"303"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilization combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378912560000","asInt":"749"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_C0_RP0_VM0"}},{"key":"vcenter.vm.id","value":{"stringValue":"bfff331f-7f07-572d-951e-edd3701dc061"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space used by the virtual machine.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"available"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packet.count","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378950777000","asInt":"1334"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378950777000","asInt":"1981"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378950777000","asInt":"239"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378950777000","asInt":"342"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilization combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378950777000","asInt":"497"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.vm.name","value":{"stringValue":"DC0_C0_RP0_VM1"}},{"key":"vcenter.vm.id","value":{"stringValue":"6132d223-1566-5921-bc3b-df91ece09a4d"}},{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}},{"key":"vcenter.host.name","value":{"stringValue":"DC0_C0_H0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.vm.disk.usage","description":"The amount of storage space used by the virtual machine.","unit":"By","sum":{"dataPoints":[{"attributes":[{"key":"disk_state","value":{"stringValue":"used"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"},{"attributes":[{"key":"disk_state","value":{"stringValue":"available"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.ballooned","description":"The amount of memory that is ballooned due to virtualization.","unit":"By","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.memory.usage","description":"The amount of memory that is used by the virtual machine.","unit":"MBy","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.packet.count","description":"The amount of packets that was received or transmitted over the instance's network.","unit":"{packets/sec}","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378990665000","asInt":"1081"},{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378990665000","asInt":"2882"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.throughput","description":"The amount of data that was received or sent over the network of the virtual machine.","unit":"By/sec","sum":{"dataPoints":[{"attributes":[{"key":"direction","value":{"stringValue":"received"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378990665000","asInt":"228"},{"attributes":[{"key":"direction","value":{"stringValue":"transmitted"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378990665000","asInt":"307"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.vm.network.usage","description":"The network utilization combined transmit and receive rates during an interval.","unit":"{KBy/s}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378990665000","asInt":"597"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.cluster.name","value":{"stringValue":"DC0_C0"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.cluster.cpu.limit","description":"The amount of CPU available to the cluster.","unit":"{MHz}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"6882"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.cluster.host.count","description":"The number of hosts in the cluster.","unit":"{hosts}","sum":{"dataPoints":[{"attributes":[{"key":"effective","value":{"stringValue":"false"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"},{"attributes":[{"key":"effective","value":{"stringValue":"true"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"3"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.cluster.vm.count","description":"the number of virtual machines in the cluster.","unit":"{virtual_machines}","sum":{"dataPoints":[{"attributes":[{"key":"power_state","value":{"stringValue":"on"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"4"},{"attributes":[{"key":"power_state","value":{"stringValue":"off"}}],"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"0"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.resource_pool.name","value":{"stringValue":"Resources"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.resource_pool.cpu.shares","description":"The amount of shares of CPU in the resource pool.","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.resource_pool.memory.shares","description":"The amount of shares of memory in the resource pool.","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]},{"resource":{"attributes":[{"key":"vcenter.resource_pool.name","value":{"stringValue":"Resources"}}]},"scopeMetrics":[{"scope":{"name":"otelcol/vmwarevcenterreceiver"},"metrics":[{"name":"vcenter.resource_pool.cpu.shares","description":"The amount of shares of CPU in the resource pool.","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}},{"name":"vcenter.resource_pool.memory.shares","description":"The amount of shares of memory in the resource pool.","unit":"{shares}","sum":{"dataPoints":[{"startTimeUnixNano":"1652111378434918000","timeUnixNano":"1652111378724588000","asInt":"9000"}],"aggregationTemporality":"AGGREGATION_TEMPORALITY_CUMULATIVE"}}]}]}]} \ No newline at end of file +{ + "resourceMetrics": [ + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H0" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host.", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.packet.count", + "description": "The number of packets sent and received, as measured over the most recent 20s interval.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378765516000", + "asInt": "6492" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358765516000", + "asInt": "7023" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338765516000", + "asInt": "8293" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318765516000", + "asInt": "13480" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298765516000", + "asInt": "5871" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378765516000", + "asInt": "10440" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358765516000", + "asInt": "12898" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338765516000", + "asInt": "12030" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318765516000", + "asInt": "28368" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298765516000", + "asInt": "16059" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378765516000", + "asInt": "312" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358765516000", + "asInt": "794" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338765516000", + "asInt": "447" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318765516000", + "asInt": "1061" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298765516000", + "asInt": "667" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378765516000", + "asInt": "678" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358765516000", + "asInt": "908" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338765516000", + "asInt": "1134" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318765516000", + "asInt": "1182" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298765516000", + "asInt": "540" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378765516000", + "asInt": "1238" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358765516000", + "asInt": "2030" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338765516000", + "asInt": "1550" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318765516000", + "asInt": "2512" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298765516000", + "asInt": "1712" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H1" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host.", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.packet.count", + "description": "The number of packets sent and received, as measured over the most recent 20s interval.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378801400000", + "asInt": "7807" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358801400000", + "asInt": "9662" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338801400000", + "asInt": "14219" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318801400000", + "asInt": "13740" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298801400000", + "asInt": "8278" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378801400000", + "asInt": "17493" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358801400000", + "asInt": "18699" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338801400000", + "asInt": "22029" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318801400000", + "asInt": "30410" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298801400000", + "asInt": "14468" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378801400000", + "asInt": "613" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358801400000", + "asInt": "973" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338801400000", + "asInt": "645" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318801400000", + "asInt": "753" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298801400000", + "asInt": "667" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378801400000", + "asInt": "622" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358801400000", + "asInt": "907" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338801400000", + "asInt": "1096" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318801400000", + "asInt": "935" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298801400000", + "asInt": "706" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378801400000", + "asInt": "1338" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358801400000", + "asInt": "2609" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338801400000", + "asInt": "2174" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318801400000", + "asInt": "2322" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298801400000", + "asInt": "1203" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H2" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host.", + "unit": "MHz", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "67" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asDouble": 1.4603312990409765 + } + ] + } + }, + { + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "1404" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asDouble": 34.285714285714285 + } + ] + } + }, + { + "name": "vcenter.host.network.packet.count", + "description": "The number of packets sent and received, as measured over the most recent 20s interval.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378842284000", + "asInt": "7806" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358842284000", + "asInt": "8504" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338842284000", + "asInt": "11535" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318842284000", + "asInt": "15287" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298842284000", + "asInt": "7040" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378842284000", + "asInt": "13606" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358842284000", + "asInt": "20110" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338842284000", + "asInt": "21056" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318842284000", + "asInt": "30718" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298842284000", + "asInt": "13724" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378842284000", + "asInt": "397" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358842284000", + "asInt": "1041" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338842284000", + "asInt": "952" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318842284000", + "asInt": "919" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298842284000", + "asInt": "692" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378842284000", + "asInt": "575" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358842284000", + "asInt": "825" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338842284000", + "asInt": "773" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318842284000", + "asInt": "886" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298842284000", + "asInt": "377" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.usage", + "description": "The sum of the data transmitted and received for all the NIC instances of the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378842284000", + "asInt": "931" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111358842284000", + "asInt": "1437" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111338842284000", + "asInt": "1520" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111318842284000", + "asInt": "2309" + }, + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111298842284000", + "asInt": "1326" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.datastore.name", + "value": { + "stringValue": "LocalDS_0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.datastore.disk.usage", + "description": "The amount of space in the datastore.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "42949672960" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "10995116277760" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.datastore.disk.utilization", + "description": "The utilization of the datastore.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asDouble": 0.390625 + } + ] + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_H0_VM0" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "b4689bed-97f0-5bcd-8a4c-07477cc8f06f" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space used by the virtual machine.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "available" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packet.count", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378876866000", + "asInt": "1021" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378876866000", + "asInt": "2549" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378876866000", + "asInt": "196" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378876866000", + "asInt": "335" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilization combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378876866000", + "asInt": "785" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_H0_VM1" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "12f8928d-f144-5c57-89db-dd2d0902c9fa" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space used by the virtual machine.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "available" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packet.count", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378912560000", + "asInt": "1059" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378912560000", + "asInt": "1856" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378912560000", + "asInt": "288" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378912560000", + "asInt": "303" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilization combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378912560000", + "asInt": "749" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_C0_RP0_VM0" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "bfff331f-7f07-572d-951e-edd3701dc061" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space used by the virtual machine.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "available" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packet.count", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378950777000", + "asInt": "1334" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378950777000", + "asInt": "1981" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378950777000", + "asInt": "239" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378950777000", + "asInt": "342" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilization combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378950777000", + "asInt": "497" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.vm.name", + "value": { + "stringValue": "DC0_C0_RP0_VM1" + } + }, + { + "key": "vcenter.vm.id", + "value": { + "stringValue": "6132d223-1566-5921-bc3b-df91ece09a4d" + } + }, + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.vm.disk.usage", + "description": "The amount of storage space used by the virtual machine.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "used" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "disk_state", + "value": { + "stringValue": "available" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.ballooned", + "description": "The amount of memory that is ballooned due to virtualization.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.memory.usage", + "description": "The amount of memory that is used by the virtual machine.", + "unit": "MBy", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.packet.count", + "description": "The amount of packets that was received or transmitted over the instance's network.", + "unit": "{packets/sec}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378990665000", + "asInt": "1081" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378990665000", + "asInt": "2882" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378990665000", + "asInt": "228" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378990665000", + "asInt": "307" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.vm.network.usage", + "description": "The network utilization combined transmit and receive rates during an interval.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378990665000", + "asInt": "597" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.cluster.cpu.limit", + "description": "The amount of CPU available to the cluster.", + "unit": "{MHz}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "6882" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.cluster.host.count", + "description": "The number of hosts in the cluster.", + "unit": "{hosts}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "effective", + "value": { + "stringValue": "false" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "effective", + "value": { + "stringValue": "true" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "3" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.cluster.vm.count", + "description": "the number of virtual machines in the cluster.", + "unit": "{virtual_machines}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "power_state", + "value": { + "stringValue": "on" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "4" + }, + { + "attributes": [ + { + "key": "power_state", + "value": { + "stringValue": "off" + } + } + ], + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.resource_pool.name", + "value": { + "stringValue": "Resources" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.resource_pool.cpu.shares", + "description": "The amount of shares of CPU in the resource pool.", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.resource_pool.memory.shares", + "description": "The amount of shares of memory in the resource pool.", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.resource_pool.name", + "value": { + "stringValue": "Resources" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vmwarevcenterreceiver" + }, + "metrics": [ + { + "name": "vcenter.resource_pool.cpu.shares", + "description": "The amount of shares of CPU in the resource pool.", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.resource_pool.memory.shares", + "description": "The amount of shares of memory in the resource pool.", + "unit": "{shares}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1652111378434918000", + "timeUnixNano": "1652111378724588000", + "asInt": "9000" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + } + ] + } + ] + } + ] +} \ No newline at end of file From b4c9c2437e82bc0d331ac0b761da38177e0620ce Mon Sep 17 00:00:00 2001 From: Keith Schmitt <32067685+schmikei@users.noreply.github.com> Date: Mon, 9 May 2022 16:12:47 -0400 Subject: [PATCH 081/105] Apply suggestions from code review Co-authored-by: Daniel Jaglowski --- receiver/vcenterreceiver/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/receiver/vcenterreceiver/README.md b/receiver/vcenterreceiver/README.md index 6ae2ed33462df..0768ed142ac8b 100644 --- a/receiver/vcenterreceiver/README.md +++ b/receiver/vcenterreceiver/README.md @@ -4,7 +4,7 @@ This receiver fetches metrics from a vCenter or ESXi host running VMware vSphere Supported pipeline types: `metrics` -> :construction: This receiver is in **BETA**. Configuration fields and metric data model are subject to change. +> :construction: This receiver is in **Alpha**. Configuration fields and metric data model are subject to change. ## Prerequisites @@ -14,7 +14,7 @@ This receiver has been built to support ESXi and vCenter versions: - 6.7 - 7.5 -A “Read Only” user assigned to a vSphere with permissions to the vCenter server, cluster and all subsequent resources being monitored. Must be specified in order for the receiver to retrieve information about them. +A “Read Only” user assigned to a vSphere with permissions to the vCenter server, cluster and all subsequent resources being monitored must be specified in order for the receiver to retrieve information about them. ## Configuration @@ -36,7 +36,7 @@ receivers: username: otelu password: $VCENTER_PASSWORD collection_interval: 5m - settings: [] + metrics: [] ``` The full list of settings exposed for this receiver are documented [here](./config.go) with detailed sample configurations [here](./testdata/config.yaml). TLS config is documented further under the [opentelemetry collector's configtls package](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md). From efa4d7275375c54eba366f9eaf6118555e6ad606 Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 9 May 2022 16:34:14 -0400 Subject: [PATCH 082/105] adjust metric definition for vcenter.host.disk.throughput --- receiver/vcenterreceiver/documentation.md | 8 +- .../internal/metadata/generated_metrics_v2.go | 82 ++++++++++--------- receiver/vcenterreceiver/metadata.yaml | 10 +-- receiver/vcenterreceiver/metrics.go | 15 +++- 4 files changed, 62 insertions(+), 53 deletions(-) diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index 5a63683107c4e..76d52312154f1 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -20,9 +20,9 @@ These are the metrics available for this scraper. | **vcenter.datastore.disk.utilization** | The utilization of the datastore. | % | Gauge(Double) |
| | **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host. | MHz | Sum(Int) |
| | **vcenter.host.cpu.utilization** | The CPU utilization of the host system. | % | Gauge(Double) |
| -| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Gauge(Int) |
  • latency_direction
| +| **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel read and write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Gauge(Int) |
  • disk_direction
| | **vcenter.host.disk.latency.max** | Highest latency value across all disks used by the host. As measured over the most recent 20s interval. | ms | Gauge(Int) |
| -| **vcenter.host.disk.throughput** | The throughput to the host system's disk. | By/s | Sum(Int) |
| +| **vcenter.host.disk.throughput** | The throughput to the host system's disk. | By/s | Sum(Int) |
  • disk_direction
| | **vcenter.host.memory.usage** | The amount of memory the host system is using. | MBy | Sum(Int) |
| | **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized. | % | Gauge(Double) |
| | **vcenter.host.network.packet.count** | The number of packets sent and received, as measured over the most recent 20s interval. | {packets/sec} | Sum(Int) |
  • throughput_direction
| @@ -34,7 +34,7 @@ These are the metrics available for this scraper. | **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool. | {shares} | Sum(Int) |
| | **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool. | MBy | Sum(Int) |
| | **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine. | % | Gauge(Double) |
| -| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk. Requires Performance Counter level 2 for metric to populate. As measured over the most recent 20s interval. | µs | Gauge(Int) |
  • latency_direction
| +| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk. Requires Performance Counter level 2 for metric to populate. As measured over the most recent 20s interval. | µs | Gauge(Int) |
  • disk_direction
| | **vcenter.vm.disk.latency.max** | The highest reported total latency (device and kernel times) over an interval of 20 seconds. | ms | Gauge(Int) |
| | **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk. | By/sec | Sum(Int) |
| | **vcenter.vm.disk.usage** | The amount of storage space used by the virtual machine. | By | Sum(Int) |
  • disk_state
| @@ -69,9 +69,9 @@ metrics: | Name | Description | Values | | ---- | ----------- | ------ | +| disk_direction (direction) | The direction of disk latency. | read, write | | disk_state | The state of storage and whether it is already allocated or free. | available, used | | host_effective (effective) | Whether the host is effective in the vCenter cluster. | true, false | -| latency_direction (direction) | The direction of disk latency. | read, write | | latency_type (type) | The type of disk latency being reported. | kernel, device | | throughput_direction (direction) | The direction of network throughput. | transmitted, received | | vm_count_power_state (power_state) | Whether the virtual machines are powered on or off. | on, off | diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 00fcd93ea520e..2926b98e6a418 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -167,6 +167,32 @@ func DefaultMetricsSettings() MetricsSettings { } } +// AttributeDiskDirection specifies the a value disk_direction attribute. +type AttributeDiskDirection int + +const ( + _ AttributeDiskDirection = iota + AttributeDiskDirectionRead + AttributeDiskDirectionWrite +) + +// String returns the string representation of the AttributeDiskDirection. +func (av AttributeDiskDirection) String() string { + switch av { + case AttributeDiskDirectionRead: + return "read" + case AttributeDiskDirectionWrite: + return "write" + } + return "" +} + +// MapAttributeDiskDirection is a helper map of string to AttributeDiskDirection attribute value. +var MapAttributeDiskDirection = map[string]AttributeDiskDirection{ + "read": AttributeDiskDirectionRead, + "write": AttributeDiskDirectionWrite, +} + // AttributeDiskState specifies the a value disk_state attribute. type AttributeDiskState int @@ -219,32 +245,6 @@ var MapAttributeHostEffective = map[string]AttributeHostEffective{ "false": AttributeHostEffectiveFalse, } -// AttributeLatencyDirection specifies the a value latency_direction attribute. -type AttributeLatencyDirection int - -const ( - _ AttributeLatencyDirection = iota - AttributeLatencyDirectionRead - AttributeLatencyDirectionWrite -) - -// String returns the string representation of the AttributeLatencyDirection. -func (av AttributeLatencyDirection) String() string { - switch av { - case AttributeLatencyDirectionRead: - return "read" - case AttributeLatencyDirectionWrite: - return "write" - } - return "" -} - -// MapAttributeLatencyDirection is a helper map of string to AttributeLatencyDirection attribute value. -var MapAttributeLatencyDirection = map[string]AttributeLatencyDirection{ - "read": AttributeLatencyDirectionRead, - "write": AttributeLatencyDirectionWrite, -} - // AttributeLatencyType specifies the a value latency_type attribute. type AttributeLatencyType int @@ -952,7 +952,7 @@ func (m *metricVcenterHostDiskLatencyAvg) init() { m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { +func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, diskDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -960,7 +960,7 @@ func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pcommon.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.LatencyDirection, pcommon.NewValueString(latencyDirectionAttributeValue)) + dp.Attributes().Insert(A.DiskDirection, pcommon.NewValueString(diskDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1051,9 +1051,10 @@ func (m *metricVcenterHostDiskThroughput) init() { m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) + m.data.Sum().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { +func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, diskDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1061,6 +1062,7 @@ func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pcommon.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) + dp.Attributes().Insert(A.DiskDirection, pcommon.NewValueString(diskDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1666,7 +1668,7 @@ func (m *metricVcenterVMDiskLatencyAvg) init() { m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue string) { +func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, diskDirectionAttributeValue string) { if !m.settings.Enabled { return } @@ -1674,7 +1676,7 @@ func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.LatencyDirection, pcommon.NewValueString(latencyDirectionAttributeValue)) + dp.Attributes().Insert(A.DiskDirection, pcommon.NewValueString(diskDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2446,8 +2448,8 @@ func (mb *MetricsBuilder) RecordVcenterHostCPUUtilizationDataPoint(ts pcommon.Ti } // RecordVcenterHostDiskLatencyAvgDataPoint adds a data point to vcenter.host.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue AttributeLatencyDirection) { - mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue.String()) +func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, diskDirectionAttributeValue AttributeDiskDirection) { + mb.metricVcenterHostDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, diskDirectionAttributeValue.String()) } // RecordVcenterHostDiskLatencyMaxDataPoint adds a data point to vcenter.host.disk.latency.max metric. @@ -2456,8 +2458,8 @@ func (mb *MetricsBuilder) RecordVcenterHostDiskLatencyMaxDataPoint(ts pcommon.Ti } // RecordVcenterHostDiskThroughputDataPoint adds a data point to vcenter.host.disk.throughput metric. -func (mb *MetricsBuilder) RecordVcenterHostDiskThroughputDataPoint(ts pcommon.Timestamp, val int64) { - mb.metricVcenterHostDiskThroughput.recordDataPoint(mb.startTime, ts, val) +func (mb *MetricsBuilder) RecordVcenterHostDiskThroughputDataPoint(ts pcommon.Timestamp, val int64, diskDirectionAttributeValue AttributeDiskDirection) { + mb.metricVcenterHostDiskThroughput.recordDataPoint(mb.startTime, ts, val, diskDirectionAttributeValue.String()) } // RecordVcenterHostMemoryUsageDataPoint adds a data point to vcenter.host.memory.usage metric. @@ -2516,8 +2518,8 @@ func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pcommon.Time } // RecordVcenterVMDiskLatencyAvgDataPoint adds a data point to vcenter.vm.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, latencyDirectionAttributeValue AttributeLatencyDirection) { - mb.metricVcenterVMDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, latencyDirectionAttributeValue.String()) +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, diskDirectionAttributeValue AttributeDiskDirection) { + mb.metricVcenterVMDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, diskDirectionAttributeValue.String()) } // RecordVcenterVMDiskLatencyMaxDataPoint adds a data point to vcenter.vm.disk.latency.max metric. @@ -2576,12 +2578,12 @@ func (mb *MetricsBuilder) Reset(options ...metricBuilderOption) { // Attributes contains the possible metric attributes that can be used. var Attributes = struct { + // DiskDirection (The direction of disk latency.) + DiskDirection string // DiskState (The state of storage and whether it is already allocated or free.) DiskState string // HostEffective (Whether the host is effective in the vCenter cluster.) HostEffective string - // LatencyDirection (The direction of disk latency.) - LatencyDirection string // LatencyType (The type of disk latency being reported.) LatencyType string // ThroughputDirection (The direction of network throughput.) @@ -2589,9 +2591,9 @@ var Attributes = struct { // VMCountPowerState (Whether the virtual machines are powered on or off.) VMCountPowerState string }{ + "direction", "disk_state", "effective", - "direction", "type", "direction", "power_state", diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 22df8b972f574..321323d7b957d 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -34,7 +34,7 @@ attributes: enum: - "true" - "false" - latency_direction: + disk_direction: value: direction description: The direction of disk latency. enum: @@ -174,15 +174,15 @@ metrics: monotonic: false value_type: int aggregation: cumulative - attributes: [] + attributes: [disk_direction] vcenter.host.disk.latency.avg: enabled: true description: The latency of operations to the host system's disk. unit: ms gauge: value_type: int - attributes: [latency_direction] - extended_documentation: This latency is the sum of the device and kernel write latencies. Requires Performance Counter level 2 for metric to populate. + attributes: [disk_direction] + extended_documentation: This latency is the sum of the device and kernel read and write latencies. Requires Performance Counter level 2 for metric to populate. vcenter.host.disk.latency.max: enabled: true description: Highest latency value across all disks used by the host. @@ -328,7 +328,7 @@ metrics: unit: µs gauge: value_type: int - attributes: [latency_direction] + attributes: [disk_direction] extended_documentation: Requires Performance Counter level 2 for metric to populate. As measured over the most recent 20s interval. vcenter.vm.disk.latency.max: enabled: true diff --git a/receiver/vcenterreceiver/metrics.go b/receiver/vcenterreceiver/metrics.go index 30d299062fb18..79292c8711ddf 100644 --- a/receiver/vcenterreceiver/metrics.go +++ b/receiver/vcenterreceiver/metrics.go @@ -112,6 +112,7 @@ var hostPerfMetricList = []string{ "disk.kernelReadLatency.average", "disk.kernelWriteLatency.average", "disk.read.average", + "disk.write.average", } func (v *vcenterMetricScraper) recordHostPerformanceMetrics( @@ -150,7 +151,9 @@ var vmPerfMetricList = []string{ // disk metrics "disk.write.average", "disk.totalWriteLatency.average", + "disk.totalReadLatency.average", "virtualDisk.totalWriteLatency.average", + "virtualDisk.totalReadLatency.average", } func (v *vcenterMetricScraper) recordVMPerformance( @@ -196,9 +199,9 @@ func (v *vcenterMetricScraper) processVMPerformanceMetrics(info *perfSampleResul // Performance monitoring level 2 metrics required case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": - v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeLatencyDirectionRead) + v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionRead) case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": - v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeLatencyDirectionWrite) + v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionWrite) case "disk.maxTotalLatency": v.mb.RecordVcenterVMDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) } @@ -225,6 +228,10 @@ func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.Enti v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionTransmitted) case "net.packetsRx.summation": v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) + case "disk.read.usage": + v.mb.RecordVcenterHostDiskThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionRead) + case "disk.write.usage": + v.mb.RecordVcenterHostDiskThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionWrite) // Following requires performance level 2 case "net.errorsRx.summation": @@ -233,9 +240,9 @@ func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.Enti v.mb.RecordVcenterHostNetworkPacketErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionTransmitted) case "disk.totalWriteLatency.average": - v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeLatencyDirectionWrite) + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionWrite) case "disk.totalReadLatency.average": - v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeLatencyDirectionRead) + v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionRead) case "disk.maxTotalLatency.latest": v.mb.RecordVcenterHostDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) } From 1439070c1db9f644d1bfe5c4b72a8a2f16d7642d Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 9 May 2022 16:52:44 -0400 Subject: [PATCH 083/105] remove comment and move pm level 2 metrics to appropriate section --- receiver/vcenterreceiver/metrics.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/receiver/vcenterreceiver/metrics.go b/receiver/vcenterreceiver/metrics.go index 79292c8711ddf..7071eff4ff2d3 100644 --- a/receiver/vcenterreceiver/metrics.go +++ b/receiver/vcenterreceiver/metrics.go @@ -223,22 +223,20 @@ func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.Enti v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionTransmitted) case "net.bytesRx.average": v.mb.RecordVcenterHostNetworkThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) - // case "net.bytesTx.average": case "net.packetsTx.summation": v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionTransmitted) case "net.packetsRx.summation": v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) + + // Following requires performance level 2 case "disk.read.usage": v.mb.RecordVcenterHostDiskThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionRead) case "disk.write.usage": v.mb.RecordVcenterHostDiskThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionWrite) - - // Following requires performance level 2 case "net.errorsRx.summation": v.mb.RecordVcenterHostNetworkPacketErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) case "net.errorsTx.summation": v.mb.RecordVcenterHostNetworkPacketErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionTransmitted) - case "disk.totalWriteLatency.average": v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionWrite) case "disk.totalReadLatency.average": From e7e3307170e53d0e157463f79f5376474ea6bcf0 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 12 May 2022 15:05:15 -0400 Subject: [PATCH 084/105] try to be respective of datacenters --- cmd/configschema/go.mod | 2 +- cmd/configschema/go.sum | 7 ++----- cmd/otelcontribcol/content.json | 0 go.mod | 2 +- go.sum | 7 ++----- receiver/vcenterreceiver/client.go | 21 +++++++++++++++++++-- receiver/vcenterreceiver/client_test.go | 2 +- receiver/vcenterreceiver/go.mod | 3 +-- receiver/vcenterreceiver/go.sum | 11 +++-------- receiver/vcenterreceiver/scraper.go | 20 +++++++++++++++----- 10 files changed, 45 insertions(+), 30 deletions(-) create mode 100644 cmd/otelcontribcol/content.json diff --git a/cmd/configschema/go.mod b/cmd/configschema/go.mod index 7d1d494bb3296..a2e91c98309f9 100644 --- a/cmd/configschema/go.mod +++ b/cmd/configschema/go.mod @@ -446,7 +446,7 @@ require ( github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - github.com/vmware/govmomi v0.27.4 // indirect + github.com/vmware/govmomi v0.28.0 // indirect github.com/wavefronthq/wavefront-sdk-go v0.9.11 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.1 // indirect diff --git a/cmd/configschema/go.sum b/cmd/configschema/go.sum index 559e61c4470f8..d2055c23708a2 100644 --- a/cmd/configschema/go.sum +++ b/cmd/configschema/go.sum @@ -232,7 +232,6 @@ github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDO github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -563,7 +562,6 @@ github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892/go.mod h1:CTDl0pzVzE5DEzZhPfvhY/9sPFMQIxaJ9VAMs9AagrE= github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denisenkom/go-mssqldb v0.11.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= @@ -2121,9 +2119,8 @@ github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vb github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/vmware/govmomi v0.27.4 h1:5kY8TAkhB20lsjzrjE073eRb8+HixBI29PVMG5lxq6I= -github.com/vmware/govmomi v0.27.4/go.mod h1:daTuJEcQosNMXYJOeku0qdBJP9SOLLWB3Mqz8THtv6o= -github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= +github.com/vmware/govmomi v0.28.0 h1:VgeQ/Rvz79U9G8QIKLdgpsN9AndHJL+5iMJLgYIrBGI= +github.com/vmware/govmomi v0.28.0/go.mod h1:F7adsVewLNHsW/IIm7ziFURaXDaHEwcc+ym4r3INMdY= github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad/go.mod h1:Hy8o65+MXnS6EwGElrSRjUzQDLXreJlzYLlWiHtt8hM= github.com/wavefronthq/wavefront-sdk-go v0.9.11 h1:3qv/yyNNyLKPQftQWFrfHGUv50e/gMxKlUQnILlvHKw= github.com/wavefronthq/wavefront-sdk-go v0.9.11/go.mod h1:AcW8zJJcYodB7B9KYzoxVH6K0fmYd6MgpmXE1LMo+OU= diff --git a/cmd/otelcontribcol/content.json b/cmd/otelcontribcol/content.json new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/go.mod b/go.mod index 6d55f86550b97..79db12d75feb5 100644 --- a/go.mod +++ b/go.mod @@ -447,7 +447,7 @@ require ( github.com/vishvananda/netns v0.0.0-20210104183010-2eb08e3e575f // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - github.com/vmware/govmomi v0.27.4 // indirect + github.com/vmware/govmomi v0.28.0 // indirect github.com/wavefronthq/wavefront-sdk-go v0.9.11 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect github.com/xdg-go/scram v1.1.1 // indirect diff --git a/go.sum b/go.sum index ee220aee7150f..2331f71837bf5 100644 --- a/go.sum +++ b/go.sum @@ -232,7 +232,6 @@ github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDO github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -563,7 +562,6 @@ github.com/davecgh/go-spew v0.0.0-20161028175848-04cdfd42973b/go.mod h1:J7Y8YcW2 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892/go.mod h1:CTDl0pzVzE5DEzZhPfvhY/9sPFMQIxaJ9VAMs9AagrE= github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/denisenkom/go-mssqldb v0.11.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= @@ -2118,9 +2116,8 @@ github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vb github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/vmware/govmomi v0.27.4 h1:5kY8TAkhB20lsjzrjE073eRb8+HixBI29PVMG5lxq6I= -github.com/vmware/govmomi v0.27.4/go.mod h1:daTuJEcQosNMXYJOeku0qdBJP9SOLLWB3Mqz8THtv6o= -github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= +github.com/vmware/govmomi v0.28.0 h1:VgeQ/Rvz79U9G8QIKLdgpsN9AndHJL+5iMJLgYIrBGI= +github.com/vmware/govmomi v0.28.0/go.mod h1:F7adsVewLNHsW/IIm7ziFURaXDaHEwcc+ym4r3INMdY= github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad/go.mod h1:Hy8o65+MXnS6EwGElrSRjUzQDLXreJlzYLlWiHtt8hM= github.com/wavefronthq/wavefront-sdk-go v0.9.11 h1:3qv/yyNNyLKPQftQWFrfHGUv50e/gMxKlUQnILlvHKw= github.com/wavefronthq/wavefront-sdk-go v0.9.11/go.mod h1:AcW8zJJcYodB7B9KYzoxVH6K0fmYd6MgpmXE1LMo+OU= diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index 198e4d4b9d530..6dbfbf6c7a0e1 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -46,7 +46,9 @@ func newVmwarevcenterClient(c *Config) *vcenterClient { // EnsureConnection will establish a connection to the vSphere SDK if not already established func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { if vc.moClient != nil { - return nil + if ok, err := vc.moClient.SessionManager.SessionIsActive(ctx); ok && err != nil { + return nil + } } sdkURL, err := vc.cfg.SDKUrl() @@ -83,7 +85,22 @@ func (vc *vcenterClient) Disconnect(ctx context.Context) error { } // Clusters returns the clusterComputeResources of the vSphere SDK -func (vc *vcenterClient) Clusters(ctx context.Context) ([]*object.ClusterComputeResource, error) { +func (vc *vcenterClient) Datacenters(ctx context.Context) ([]*object.Datacenter, error) { + // defaultDatacenter, err := vc.finder.DatacenterOrDefault(ctx, "") + // if err != nil { + // return []*object.Datacenter{}, fmt.Errorf("unable to detect default datacenter: %w", err) + // } + // vc.finder = vc.finder.SetDatacenter(defaultDatacenter) + datacenters, err := vc.finder.DatacenterList(ctx, "*") + if err != nil { + return []*object.Datacenter{}, fmt.Errorf("unable to get datacenter lists: %w", err) + } + return datacenters, nil +} + +// Clusters returns the clusterComputeResources of the vSphere SDK +func (vc *vcenterClient) Clusters(ctx context.Context, datacenter *object.Datacenter) ([]*object.ClusterComputeResource, error) { + vc.finder = vc.finder.SetDatacenter(datacenter) clusters, err := vc.finder.ClusterComputeResourceList(ctx, "*") if err != nil { return []*object.ClusterComputeResource{}, err diff --git a/receiver/vcenterreceiver/client_test.go b/receiver/vcenterreceiver/client_test.go index 4c7a9e49d4d53..cc0c700804d19 100644 --- a/receiver/vcenterreceiver/client_test.go +++ b/receiver/vcenterreceiver/client_test.go @@ -31,7 +31,7 @@ func TestGetClusters(t *testing.T) { vimDriver: c, finder: finder, } - clusters, err := client.Clusters(ctx) + clusters, err := client.Clusters(ctx, "") require.NoError(t, err) require.NotEmpty(t, clusters, 0) }) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 6cd500b8a4e21..7dd3fa1e07e75 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -3,7 +3,7 @@ module github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcente go 1.17 require ( - github.com/vmware/govmomi v0.27.4 + github.com/vmware/govmomi v0.28.0 go.opentelemetry.io/collector v0.50.1-0.20220429151328-041f39835df7 go.opentelemetry.io/collector/pdata v0.50.1-0.20220429151328-041f39835df7 go.uber.org/multierr v1.8.0 @@ -31,7 +31,6 @@ require ( github.com/golang/protobuf v1.5.2 // indirect github.com/google/uuid v1.3.0 // indirect github.com/knadh/koanf v1.4.1 // indirect - github.com/kr/text v0.2.0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 537fa83da9fd7..8e4db1efaf950 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -2,7 +2,6 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -30,11 +29,10 @@ github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-xdr v0.0.0-20161123171359-e6a2ba005892/go.mod h1:CTDl0pzVzE5DEzZhPfvhY/9sPFMQIxaJ9VAMs9AagrE= +github.com/dougm/pretty v0.0.0-20171025230240-2ee9d7453c02 h1:tR3jsKPiO/mb6ntzk/dJlHZtm37CPfVp1C9KIo534+4= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -89,7 +87,6 @@ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/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/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= @@ -129,7 +126,6 @@ github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= @@ -179,9 +175,8 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/vmware/govmomi v0.27.4 h1:5kY8TAkhB20lsjzrjE073eRb8+HixBI29PVMG5lxq6I= -github.com/vmware/govmomi v0.27.4/go.mod h1:daTuJEcQosNMXYJOeku0qdBJP9SOLLWB3Mqz8THtv6o= -github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= +github.com/vmware/govmomi v0.28.0 h1:VgeQ/Rvz79U9G8QIKLdgpsN9AndHJL+5iMJLgYIrBGI= +github.com/vmware/govmomi v0.28.0/go.mod h1:F7adsVewLNHsW/IIm7ziFURaXDaHEwcc+ym4r3INMdY= 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= diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 27e1dfbc5f4a7..f3a641e7ca11f 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -74,17 +74,27 @@ func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error return pdata.NewMetrics(), fmt.Errorf("unable to connect to vSphere SDK: %w", err) } - err := v.collectClusters(ctx) + err := v.collectDatacenters(ctx) return v.mb.Emit(), err } -func (v *vcenterMetricScraper) collectClusters(ctx context.Context) error { +func (v *vcenterMetricScraper) collectDatacenters(ctx context.Context) error { + datacenters, err := v.client.Datacenters(ctx) + if err != nil { + return err + } + for _, dc := range datacenters { + v.collectClusters(ctx, dc) + } + return nil +} + +func (v *vcenterMetricScraper) collectClusters(ctx context.Context, datacenter *object.Datacenter) error { errs := &scrapererror.ScrapeErrors{} - clusters, err := v.client.Clusters(ctx) + clusters, err := v.client.Clusters(ctx, datacenter) if err != nil { - errs.Add(err) - return errs.Combine() + return err } now := pdata.NewTimestampFromTime(time.Now()) From cdf9aae42c9bc233f69cf46c29bba1f58c3a9a24 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 12 May 2022 15:17:40 -0400 Subject: [PATCH 085/105] fix only vCenter server functionality --- receiver/vcenterreceiver/client.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index 6dbfbf6c7a0e1..7880cb418b276 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -46,9 +46,7 @@ func newVmwarevcenterClient(c *Config) *vcenterClient { // EnsureConnection will establish a connection to the vSphere SDK if not already established func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { if vc.moClient != nil { - if ok, err := vc.moClient.SessionManager.SessionIsActive(ctx); ok && err != nil { - return nil - } + return nil } sdkURL, err := vc.cfg.SDKUrl() From 04671a3f96243d5d1998537d3eae3fb092a4444b Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 20 May 2022 12:35:28 -0400 Subject: [PATCH 086/105] try building out a mock server for test coverage --- receiver/vcenterreceiver/client.go | 11 +- receiver/vcenterreceiver/go.mod | 1 + receiver/vcenterreceiver/go.sum | 2 + .../internal/mockserver/client_mock.go | 238 + .../responses/cluster-datastore.xml | 16 + .../responses/cluster-resource-pool-list.xml | 18 + .../mockserver/responses/cluster-summary.xml | 67 + .../mockserver}/responses/datacenter-list.xml | 0 .../responses/datacenter-properties.xml | 30 + .../mockserver}/responses/datacenter.xml | 0 .../responses/datastore-properties.xml | 29 + .../responses/datastore-summary.xml | 29 + .../mockserver/responses/host-cluster.xml | 18 + .../mockserver/responses/host-list.xml | 16 + .../mockserver/responses/host-names.xml | 14 + .../mockserver/responses/host-parent.xml | 36 + .../responses/host-performance-counters.xml | 921 ++ .../mockserver}/responses/host-properties.xml | 2 +- .../mockserver}/responses/login.xml | 0 .../internal/mockserver/responses/logout.xml | 9 + .../mockserver/responses/perf-manager.xml | 12489 ++++++++++++++++ .../property-collector-properties.xml | 0 .../responses/property-collector.xml | 0 .../responses/resource-pool-group-empty.xml | 6 + .../responses/resource-pool-group.xml | 6 + .../responses/resource-pool-summary.xml | 99 + .../mockserver/responses/resource-pool.xml | 21 + .../mockserver/responses/service-content.xml | 72 + .../mockserver/responses/vm-empty-folder.xml | 6 + .../mockserver/responses/vm-folder-parent.xml | 36 + .../mockserver/responses/vm-folder.xml | 66 + .../mockserver/responses/vm-group.xml | 14 + .../internal/mockserver/responses/vm-host.xml | 14 + .../responses/vm-performance-counters.xml | 238 + .../mockserver/responses/vm-properties.xml | 1300 ++ receiver/vcenterreceiver/scraper.go | 4 +- receiver/vcenterreceiver/scraper_test.go | 57 +- .../testdata/metrics/expected.json | 2801 ++-- .../testdata/metrics/responses/hosts-list.xml | 31 - .../metrics/responses/service-content.xml | 0 40 files changed, 17612 insertions(+), 1105 deletions(-) create mode 100644 receiver/vcenterreceiver/internal/mockserver/client_mock.go create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/cluster-datastore.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/cluster-resource-pool-list.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/cluster-summary.xml rename receiver/vcenterreceiver/{testdata/metrics => internal/mockserver}/responses/datacenter-list.xml (100%) create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/datacenter-properties.xml rename receiver/vcenterreceiver/{testdata/metrics => internal/mockserver}/responses/datacenter.xml (100%) create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/datastore-properties.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/datastore-summary.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/host-cluster.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/host-list.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/host-names.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/host-parent.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml rename receiver/vcenterreceiver/{testdata/metrics => internal/mockserver}/responses/host-properties.xml (99%) rename receiver/vcenterreceiver/{testdata/metrics => internal/mockserver}/responses/login.xml (100%) create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/logout.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml rename receiver/vcenterreceiver/{testdata/metrics => internal/mockserver}/responses/property-collector-properties.xml (100%) rename receiver/vcenterreceiver/{testdata/metrics => internal/mockserver}/responses/property-collector.xml (100%) create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group-empty.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-summary.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/resource-pool.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/service-content.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/vm-empty-folder.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/vm-folder-parent.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/vm-folder.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/vm-group.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/vm-host.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml create mode 100644 receiver/vcenterreceiver/internal/mockserver/responses/vm-properties.xml delete mode 100644 receiver/vcenterreceiver/testdata/metrics/responses/hosts-list.xml delete mode 100644 receiver/vcenterreceiver/testdata/metrics/responses/service-content.xml diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index 7880cb418b276..cd7b3a212f3a7 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -37,7 +37,7 @@ type vcenterClient struct { cfg *Config } -func newVmwarevcenterClient(c *Config) *vcenterClient { +func newVcenterClient(c *Config) *vcenterClient { return &vcenterClient{ cfg: c, } @@ -84,11 +84,6 @@ func (vc *vcenterClient) Disconnect(ctx context.Context) error { // Clusters returns the clusterComputeResources of the vSphere SDK func (vc *vcenterClient) Datacenters(ctx context.Context) ([]*object.Datacenter, error) { - // defaultDatacenter, err := vc.finder.DatacenterOrDefault(ctx, "") - // if err != nil { - // return []*object.Datacenter{}, fmt.Errorf("unable to detect default datacenter: %w", err) - // } - // vc.finder = vc.finder.SetDatacenter(defaultDatacenter) datacenters, err := vc.finder.DatacenterList(ctx, "*") if err != nil { return []*object.Datacenter{}, fmt.Errorf("unable to get datacenter lists: %w", err) @@ -116,11 +111,11 @@ func (vc *vcenterClient) ResourcePools(ctx context.Context) ([]*object.ResourceP } func (vc *vcenterClient) VMs(ctx context.Context) ([]*object.VirtualMachine, error) { - rps, err := vc.finder.VirtualMachineList(ctx, "*") + vms, err := vc.finder.VirtualMachineList(ctx, "*") if err != nil { return nil, fmt.Errorf("unable to retrieve resource pools: %w", err) } - return rps, err + return vms, err } type perfSampleResult struct { diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index ab3d938d06a83..77840b86e1a6c 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -26,6 +26,7 @@ require ( ) require ( + github.com/basgys/goxml2json v1.1.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index da485885e9476..d78d0d36983c7 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -15,6 +15,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72H github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk= github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/basgys/goxml2json v1.1.0 h1:4ln5i4rseYfXNd86lGEB+Vi652IsIXIvggKM/BhUKVw= +github.com/basgys/goxml2json v1.1.0/go.mod h1:wH7a5Np/Q4QoECFIU8zTQlZwZkrilY0itPfecMw41Dw= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= diff --git a/receiver/vcenterreceiver/internal/mockserver/client_mock.go b/receiver/vcenterreceiver/internal/mockserver/client_mock.go new file mode 100644 index 0000000000000..d97bb2fe9503c --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/client_mock.go @@ -0,0 +1,238 @@ +package mockserver + +import ( + "embed" + "encoding/json" + "errors" + "net/http" + "net/http/httptest" + "path/filepath" + "testing" + + xj "github.com/basgys/goxml2json" + "github.com/stretchr/testify/require" +) + +const ( + // MockUsername is the correct user for authentication to the Mock Server + MockUsername = "otelu" + // MockPassword is the correct password for authentication to the Mock Server + MockPassword = "otelp" + // MockUser500Response will cause the MockServer to return a 500 response code + MockUser500Response = "500user" +) + +var errNotFound = errors.New("not found") + +var responses embed.FS + +type soapRequest struct { + Envelope soapEnvelope `json:"Envelope"` +} + +type soapEnvelope struct { + Body map[string]interface{} `json:"Body"` +} + +// MockServer has access to recorded SOAP responses and will serve them over http based off the scraper's API calls +func MockServer(t *testing.T, responsesFolder embed.FS) *httptest.Server { + responses = responsesFolder + vsphereMock := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + authUser, _, _ := r.BasicAuth() + if authUser == MockUser500Response { + w.WriteHeader(500) + return + } + + jsonified, err := xj.Convert(r.Body) + sr := &soapRequest{} + err = json.Unmarshal(jsonified.Bytes(), sr) + require.NoError(t, err) + require.Len(t, sr.Envelope.Body, 1) + + var requestType string + for k := range sr.Envelope.Body { + requestType = k + } + require.NotEmpty(t, requestType) + + body, err := routeBody(t, requestType, sr.Envelope.Body) + if errors.Is(err, errNotFound) { + w.WriteHeader(404) + return + } + w.WriteHeader(http.StatusOK) + w.Header().Set("Content-Type", "text/xml") + w.Write(body) + })) + return vsphereMock +} + +func routeBody(t *testing.T, requestType string, body map[string]interface{}) ([]byte, error) { + switch requestType { + case "RetrieveServiceContent": + return loadResponse(t, "service-content.xml") + case "Login": + return loadResponse(t, "login.xml") + case "Logout": + return loadResponse(t, "logout.xml") + case "RetrieveProperties": + return routeRetreiveProperties(t, body) + case "QueryPerf": + return routePerformanceQuery(t, body) + } + + return []byte{}, errNotFound +} + +func routeRetreiveProperties(t *testing.T, body map[string]interface{}) ([]byte, error) { + rp, ok := body["RetrieveProperties"].(map[string]interface{}) + require.True(t, ok) + specSet := rp["specSet"].(map[string]interface{}) + + var objectSetArray = false + objectSet, ok := specSet["objectSet"].(map[string]interface{}) + if !ok { + objectSetArray = true + } + + var propSetArray = false + propSet, ok := specSet["propSet"].(map[string]interface{}) + if !ok { + propSetArray = true + } + + var obj map[string]interface{} + var content string + var contentType string + if !objectSetArray { + obj = objectSet["obj"].(map[string]interface{}) + content = obj["#content"].(string) + contentType = obj["-type"].(string) + } + + switch { + case content == "group-d1" && contentType == "Folder": + return loadResponse(t, "datacenter.xml") + + case content == "datacenter-3" && contentType == "Datacenter": + return loadResponse(t, "datacenter-properties.xml") + + case content == "domain-c8" && contentType == "ClusterComputeResource": + if propSetArray { + pSet := specSet["propSet"].([]interface{}) + for _, prop := range pSet { + spec := prop.(map[string]interface{}) + specType := spec["type"].(string) + if specType == "ResourcePool" { + return loadResponse(t, "resource-pool.xml") + } + } + } + path := propSet["pathSet"].(string) + switch path { + case "datastore": + return loadResponse(t, "cluster-datastore.xml") + case "summary": + return loadResponse(t, "cluster-summary.xml") + case "host": + return loadResponse(t, "host-list.xml") + } + + case content == "PerfMgr" && contentType == "PerformanceManager": + return loadResponse(t, "perf-manager.xml") + + case content == "group-h5" && contentType == "Folder": + // TODO: look into propset for when to grab the parent resource + if objectSet["skip"] == "true" { + return loadResponse(t, "host-cluster.xml") + } + return loadResponse(t, "host-parent.xml") + + case content == "datastore-1003" && contentType == "Datastore": + if objectSetArray { + return loadResponse(t, "datastore-list.xml") + } + return loadResponse(t, "datastore-summary.xml") + + case contentType == "HostSystem": + if ps, ok := propSet["pathSet"].([]interface{}); ok { + for _, v := range ps { + if v == "summary.hardware" { + return loadResponse(t, "host-properties.xml") + } + } + } else { + ps, ok := propSet["pathSet"].(string) + require.True(t, ok) + if ps == "name" { + return loadResponse(t, "host-names.xml") + } + + } + + case content == "group-v4" && contentType == "Folder": + if propSetArray { + return loadResponse(t, "vm-group.xml") + } + if propSet == nil { + return loadResponse(t, "vm-folder.xml") + } + return loadResponse(t, "vm-folder-parent.xml") + + case content == "vm-1040" && contentType == "VirtualMachine": + if propSet["pathSet"] == "summary.runtime.host" { + return loadResponse(t, "vm-host.xml") + } + return loadResponse(t, "vm-properties.xml") + + case (content == "group-v1034" || content == "group-v1001") && contentType == "Folder": + return loadResponse(t, "vm-empty-folder.xml") + + case contentType == "ResourcePool": + if ps, ok := propSet["pathSet"].([]interface{}); ok { + for _, prop := range ps { + if prop == "summary" { + return loadResponse(t, "resource-pool-summary.xml") + } + } + } + + if ss, ok := objectSet["selectSet"].(map[string]interface{}); ok && ss["path"] == "resourcePool" { + return loadResponse(t, "resource-pool-group.xml") + } + + case objectSetArray: + objectArray := specSet["objectSet"].([]interface{}) + for _, i := range objectArray { + m, ok := i.(map[string]interface{}) + require.True(t, ok) + mObj := m["obj"].(map[string](interface{})) + typeString := mObj["-type"] + if typeString == "HostSystem" { + return loadResponse(t, "host-names.xml") + } + } + } + + return []byte{}, errNotFound +} + +func routePerformanceQuery(t *testing.T, body map[string]interface{}) ([]byte, error) { + queryPerf := body["QueryPerf"].(map[string]interface{}) + require.NotNil(t, queryPerf) + querySpec := queryPerf["querySpec"].(map[string]interface{}) + entity := querySpec["entity"].(map[string]interface{}) + switch entity["-type"] { + case "HostSystem": + return loadResponse(t, "host-performance-counters.xml") + case "VirtualMachine": + return loadResponse(t, "vm-performance-counters.xml") + } + + return []byte{}, errNotFound +} + +func loadResponse(t *testing.T, filename string) ([]byte, error) { + return responses.ReadFile(filepath.Join("internal", "mockserver", "responses", filename)) +} diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/cluster-datastore.xml b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-datastore.xml new file mode 100644 index 0000000000000..65a10cd8791da --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-datastore.xml @@ -0,0 +1,16 @@ + + + + + + domain-c8 + + datastore + + datastore-1003 + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/cluster-resource-pool-list.xml b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-resource-pool-list.xml new file mode 100644 index 0000000000000..7407ef241b26a --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-resource-pool-list.xml @@ -0,0 +1,18 @@ + + + + + + domain-c8 + + name + Cluster + + + resourcePool + resgroup-9 + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/cluster-summary.xml b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-summary.xml new file mode 100644 index 0000000000000..aaa69ea7858ae --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-summary.xml @@ -0,0 +1,67 @@ + + + + + + domain-c8 + + summary + + 280044 + 2468289376256 + 108 + 216 + 252846 + 2140347 + 3 + 3 + green + 1 + + 92 + 91 + 100 + + 64 + 163 + 23 + 100 + 0 + 0 + 0 + 0 + 13 + + 252846 + 2140347 + 18000 + 180640 + 0 + 0 + 22075 + 181115 + 8349 + 14880 + 185343 + 0 + 13 + + intel-cascadelake + vsga-baseline + + 57 + 92 + 363 + + notInMaintenanceMode + healthy + + host-1002 + 1 + + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/testdata/metrics/responses/datacenter-list.xml b/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-list.xml similarity index 100% rename from receiver/vcenterreceiver/testdata/metrics/responses/datacenter-list.xml rename to receiver/vcenterreceiver/internal/mockserver/responses/datacenter-list.xml diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-properties.xml b/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-properties.xml new file mode 100644 index 0000000000000..53df8c412d795 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-properties.xml @@ -0,0 +1,30 @@ + + + + + + datacenter-3 + + datastoreFolder + group-s6 + + + hostFolder + group-h5 + + + name + Datacenter + + + networkFolder + group-n7 + + + vmFolder + group-v4 + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/testdata/metrics/responses/datacenter.xml b/receiver/vcenterreceiver/internal/mockserver/responses/datacenter.xml similarity index 100% rename from receiver/vcenterreceiver/testdata/metrics/responses/datacenter.xml rename to receiver/vcenterreceiver/internal/mockserver/responses/datacenter.xml diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/datastore-properties.xml b/receiver/vcenterreceiver/internal/mockserver/responses/datastore-properties.xml new file mode 100644 index 0000000000000..274d84bf85e2c --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/datastore-properties.xml @@ -0,0 +1,29 @@ + + + + + + datastore-1003 + + name + vsanDatastore + + + summary + + datastore-1003 + vsanDatastore + ds:///vmfs/volumes/vsan:52a9fa9bb23554ec-600746f1f7361622/ + 57611315257344 + 51693551508648 + 4485439029248 + true + true + vsan + normal + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/datastore-summary.xml b/receiver/vcenterreceiver/internal/mockserver/responses/datastore-summary.xml new file mode 100644 index 0000000000000..274d84bf85e2c --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/datastore-summary.xml @@ -0,0 +1,29 @@ + + + + + + datastore-1003 + + name + vsanDatastore + + + summary + + datastore-1003 + vsanDatastore + ds:///vmfs/volumes/vsan:52a9fa9bb23554ec-600746f1f7361622/ + 57611315257344 + 51693551508648 + 4485439029248 + true + true + vsan + normal + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-cluster.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-cluster.xml new file mode 100644 index 0000000000000..7407ef241b26a --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-cluster.xml @@ -0,0 +1,18 @@ + + + + + + domain-c8 + + name + Cluster + + + resourcePool + resgroup-9 + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-list.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-list.xml new file mode 100644 index 0000000000000..2b7f38d47bd2c --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-list.xml @@ -0,0 +1,16 @@ + + + + + + domain-c8 + + host + + host-1002 + + + + + + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-names.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-names.xml new file mode 100644 index 0000000000000..29ea06a874a27 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-names.xml @@ -0,0 +1,14 @@ + + + + + + host-1002 + + name + esxi-27971.cf5e88ac.australia-southeast1.gve.goog + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-parent.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-parent.xml new file mode 100644 index 0000000000000..a3a9eb3de3f01 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-parent.xml @@ -0,0 +1,36 @@ + + + + + + group-h5 + + name + host + + + parent + datacenter-3 + + + + datacenter-3 + + name + Datacenter + + + parent + group-d1 + + + + group-d1 + + name + Datacenters + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml new file mode 100644 index 0000000000000..26d4454a1aabd --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml @@ -0,0 +1,921 @@ + + + + + + host-1002 + + 2022-05-17T17:24:40Z + 20 + + + 2022-05-17T17:25:00Z + 20 + + + 2022-05-17T17:25:20Z + 20 + + + 2022-05-17T17:25:40Z + 20 + + + 2022-05-17T17:26:00Z + 20 + + + + 143 + vmnic3 + + 769 + 773 + 927 + 980 + 864 + + + + 532 + vmnic3 + + 411 + 422 + 551 + 617 + 488 + + + + 147 + vmnic3 + + 40810 + 41703 + 42960 + 42206 + 41480 + + + + 146 + vmnic3 + + 42110 + 42686 + 44277 + 43122 + 42703 + + + + 521 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____362E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 520 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____362E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 517 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____362E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 516 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____362E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 520 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____BD2D000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 517 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____BD2D000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 516 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____BD2D000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 520 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____B32D000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 517 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____B32D000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 521 + t10.NVMe____Dell_Express_Flash_NVMe_P4610_1.6TB_SFF_00010E266CE4D25C + + 0 + 0 + 0 + 0 + 0 + + + + 520 + t10.NVMe____Dell_Express_Flash_NVMe_P4610_1.6TB_SFF_00010E10E3E4D25C + + 0 + 0 + 0 + 0 + 0 + + + + 520 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____482E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 517 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____482E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 516 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____3D2E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 521 + t10.ATA_____DELLBOSS_VD_____________________________983baa25884a001000000000 + + 0 + 0 + 0 + 0 + 0 + + + + 520 + t10.ATA_____DELLBOSS_VD_____________________________983baa25884a001000000000 + + 0 + 0 + 0 + 0 + 0 + + + + 517 + t10.ATA_____DELLBOSS_VD_____________________________983baa25884a001000000000 + + 0 + 0 + 0 + 0 + 0 + + + + 516 + t10.ATA_____DELLBOSS_VD_____________________________983baa25884a001000000000 + + 0 + 4 + 1 + 0 + 0 + + + + 521 + t10.NVMe____Dell_Express_Flash_NVMe_P4610_1.6TB_SFF_00010E10E3E4D25C + + 0 + 0 + 0 + 0 + 0 + + + + 538 + vmnic3 + + 0 + 0 + 0 + 0 + 0 + + + + 531 + vmnic1 + + 0 + 0 + 0 + 0 + 0 + + + + 516 + t10.NVMe____Dell_Express_Flash_NVMe_P4610_1.6TB_SFF_00010E10E3E4D25C + + 0 + 0 + 0 + 0 + 0 + + + + 130 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____3D2E000121382500 + + 0 + 0 + 0 + 2 + 1 + + + + 538 + vmnic1 + + 0 + 0 + 0 + 0 + 0 + + + + 517 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____3C2E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 143 + vmnic1 + + 0 + 0 + 0 + 0 + 0 + + + + 130 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____3C2E000121382500 + + 7 + 0 + 0 + 4 + 2 + + + + 538 + + + 0 + 0 + 0 + 0 + 0 + + + + 531 + + + 928 + 1120 + 1646 + 1291 + 1058 + + + + 516 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____B32D000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 537 + vmnic2 + + 0 + 0 + 0 + 0 + 0 + + + + 532 + vmnic0 + + 3064 + 2537 + 4373 + 3746 + 2569 + + + + 532 + vmnic2 + + 0 + 0 + 0 + 0 + 0 + + + + 147 + vmnic0 + + 11182 + 13009 + 16489 + 12398 + 12984 + + + + 146 + vmnic0 + + 13316 + 14473 + 19662 + 15478 + 14458 + + + + 130 + + + 28 + 45 + 88 + 92 + 31 + + + + 146 + vmnic1 + + 116 + 114 + 113 + 112 + 120 + + + + 130 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____362E000121382500 + + 4 + 0 + 1 + 2 + 0 + + + + 537 + vmnic1 + + 0 + 0 + 0 + 0 + 0 + + + + 531 + vmnic0 + + 570 + 768 + 1269 + 927 + 681 + + + + 130 + t10.NVMe____Dell_Express_Flash_NVMe_P4610_1.6TB_SFF_00010E10E3E4D25C + + 6 + 6 + 4 + 8 + 19 + + + + 130 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____482E000121382500 + + 0 + 0 + 0 + 1 + 0 + + + + 531 + vmnic3 + + 357 + 351 + 376 + 363 + 376 + + + + 532 + + + 3475 + 2959 + 4924 + 4364 + 3058 + + + + 532 + vmnic1 + + 0 + 0 + 0 + 0 + 0 + + + + 521 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____3C2E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 521 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____BD2D000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 521 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____3D2E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 521 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____482E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 146 + + + 55647 + 57376 + 64156 + 58814 + 57390 + + + + 521 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____B32D000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 517 + t10.NVMe____Dell_Express_Flash_NVMe_P4610_1.6TB_SFF_00010E266CE4D25C + + 0 + 0 + 0 + 0 + 0 + + + + 538 + vmnic2 + + 0 + 0 + 0 + 0 + 0 + + + + 517 + t10.NVMe____Dell_Express_Flash_NVMe_P4610_1.6TB_SFF_00010E10E3E4D25C + + 0 + 0 + 0 + 0 + 0 + + + + 147 + + + 51992 + 54712 + 59449 + 54604 + 54464 + + + + 147 + vmnic1 + + 0 + 0 + 0 + 0 + 0 + + + + 520 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____3C2E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 146 + vmnic2 + + 105 + 103 + 104 + 102 + 109 + + + + 531 + vmnic2 + + 0 + 0 + 0 + 0 + 0 + + + + 537 + vmnic3 + + 0 + 0 + 0 + 0 + 0 + + + + 147 + vmnic2 + + 0 + 0 + 0 + 0 + 0 + + + + 143 + vmnic2 + + 0 + 0 + 0 + 0 + 0 + + + + 130 + t10.ATA_____DELLBOSS_VD_____________________________983baa25884a001000000000 + + 4 + 25 + 76 + 63 + 0 + + + + 143 + vmnic0 + + 3634 + 3305 + 5642 + 4674 + 3251 + + + + 143 + + + 4404 + 4079 + 6570 + 5655 + 4117 + + + + 130 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____BD2D000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 517 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____3D2E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 537 + vmnic0 + + 0 + 0 + 0 + 0 + 0 + + + + 537 + + + 0 + 0 + 0 + 0 + 0 + + + + 130 + t10.NVMe____Dell_Express_Flash_NVMe_P4610_1.6TB_SFF_00010E266CE4D25C + + 5 + 10 + 5 + 7 + 6 + + + + 130 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____B32D000121382500 + + 0 + 2 + 0 + 2 + 0 + + + + 520 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____3D2E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 516 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____3C2E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 516 + t10.NVMe____Dell_Express_Flash_NVMe_P4610_1.6TB_SFF_00010E266CE4D25C + + 0 + 0 + 0 + 0 + 0 + + + + 520 + t10.NVMe____Dell_Express_Flash_NVMe_P4610_1.6TB_SFF_00010E266CE4D25C + + 0 + 0 + 0 + 0 + 0 + + + + 516 + t10.NVMe____Dell_Express_Flash_PM1725b_3.2TB_SFF____482E000121382500 + + 0 + 0 + 0 + 0 + 0 + + + + 538 + vmnic0 + + 0 + 0 + 0 + 0 + 0 + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/testdata/metrics/responses/host-properties.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-properties.xml similarity index 99% rename from receiver/vcenterreceiver/testdata/metrics/responses/host-properties.xml rename to receiver/vcenterreceiver/internal/mockserver/responses/host-properties.xml index 468fba2dd333a..3b7d0b6b2a663 100644 --- a/receiver/vcenterreceiver/testdata/metrics/responses/host-properties.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-properties.xml @@ -11427,7 +11427,7 @@ PowerOff - vm-1031 + vm-1040 -1 -1 systemDefault diff --git a/receiver/vcenterreceiver/testdata/metrics/responses/login.xml b/receiver/vcenterreceiver/internal/mockserver/responses/login.xml similarity index 100% rename from receiver/vcenterreceiver/testdata/metrics/responses/login.xml rename to receiver/vcenterreceiver/internal/mockserver/responses/login.xml diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/logout.xml b/receiver/vcenterreceiver/internal/mockserver/responses/logout.xml new file mode 100644 index 0000000000000..9304b562809f6 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/logout.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml b/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml new file mode 100644 index 0000000000000..11e1934daccf0 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml @@ -0,0 +1,12489 @@ + + + + + + PerfMgr + + perfCounter + + + 1 + + + CPU usage as a percentage during the interval + usage + + + + CPU + cpu + + + + Percentage + percent + + none + rate + 4 + 4 + + + 2 + + + CPU usage as a percentage during the interval + usage + + + + CPU + cpu + + + + Percentage + percent + + average + rate + 1 + 3 + + + 3 + + + CPU usage as a percentage during the interval + usage + + + + CPU + cpu + + + + Percentage + percent + + minimum + rate + 4 + 4 + + + 4 + + + CPU usage as a percentage during the interval + usage + + + + CPU + cpu + + + + Percentage + percent + + maximum + rate + 4 + 4 + + + 5 + + + CPU usage in megahertz during the interval + usagemhz + + + + CPU + cpu + + + + Megahertz + megaHertz + + none + rate + 4 + 4 + + + 6 + + + CPU usage in megahertz during the interval + usagemhz + + + + CPU + cpu + + + + Megahertz + megaHertz + + average + rate + 1 + 3 + + + 7 + + + CPU usage in megahertz during the interval + usagemhz + + + + CPU + cpu + + + + Megahertz + megaHertz + + minimum + rate + 4 + 4 + + + 8 + + + CPU usage in megahertz during the interval + usagemhz + + + + CPU + cpu + + + + Megahertz + megaHertz + + maximum + rate + 4 + 4 + + + 9 + + + Total CPU capacity reserved by virtual machines + reservedCapacity + + + + CPU + cpu + + + + Megahertz + megaHertz + + average + absolute + 2 + 3 + + + 10 + + + Amount of time spent on system processes on each virtual CPU in the virtual machine + system + + + + CPU + cpu + + + + Millisecond + millisecond + + summation + delta + 3 + 3 + + + 11 + + + Total CPU time spent in wait state + wait + + + + CPU + cpu + + + + Millisecond + millisecond + + summation + delta + 3 + 3 + + + 12 + + + Time that the virtual machine was ready, but could not get scheduled to run on the physical CPU during last measurement interval + ready + + + + CPU + cpu + + + + Millisecond + millisecond + + summation + delta + 1 + 3 + + + 13 + + + Total time that the CPU spent in an idle state + idle + + + + CPU + cpu + + + + Millisecond + millisecond + + summation + delta + 2 + 3 + + + 14 + + + Total CPU usage + used + + + + CPU + cpu + + + + Millisecond + millisecond + + summation + delta + 3 + 3 + + + 15 + + + Capacity in MHz of the physical CPU cores + capacity.provisioned + + + + CPU + cpu + + + + Megahertz + megaHertz + + average + absolute + 4 + 4 + + + 16 + + + CPU resources devoted by the ESXi scheduler to the virtual machines and resource pools + capacity.entitlement + + + + CPU + cpu + + + + Megahertz + megaHertz + + average + absolute + 4 + 4 + + + 17 + + + CPU usage as a percent during the interval + capacity.usage + + + + CPU + cpu + + + + Megahertz + megaHertz + + average + rate + 4 + 4 + + + 18 + + + The amount of CPU resources a VM would use if there were no CPU contention + capacity.demand + + + + CPU + cpu + + + + Megahertz + megaHertz + + average + absolute + 4 + 4 + + + 19 + + + Percent of time the VM is unable to run because it is contending for access to the physical CPU(s) + capacity.contention + + + + CPU + cpu + + + + Percentage + percent + + average + rate + 4 + 4 + + + 20 + + + The number of virtual processors provisioned to the entity + corecount.provisioned + + + + CPU + cpu + + + + Number + number + + average + absolute + 4 + 4 + + + 21 + + + The number of virtual processors running on the host + corecount.usage + + + + CPU + cpu + + + + Number + number + + average + absolute + 4 + 4 + + + 22 + + + Time the VM vCPU is ready to run, but is unable to run due to co-scheduling constraints + corecount.contention + + + + CPU + cpu + + + + Percentage + percent + + average + rate + 4 + 4 + + + 23 + + + Percentage of host physical memory that has been consumed + usage + + + + Memory + mem + + + + Percentage + percent + + none + absolute + 4 + 4 + + + 24 + + + Percentage of host physical memory that has been consumed + usage + + + + Memory + mem + + + + Percentage + percent + + average + absolute + 1 + 3 + + + 25 + + + Percentage of host physical memory that has been consumed + usage + + + + Memory + mem + + + + Percentage + percent + + minimum + absolute + 4 + 4 + + + 26 + + + Percentage of host physical memory that has been consumed + usage + + + + Memory + mem + + + + Percentage + percent + + maximum + absolute + 4 + 4 + + + 27 + + + Memory reservation consumed by powered-on virtual machines + reservedCapacity + + + + Memory + mem + + + + Megabyte + megaBytes + + average + absolute + 2 + 3 + + + 28 + + + Amount of host physical memory or physical memory that is mapped for a virtual machine or a host + granted + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 29 + + + Amount of host physical memory or physical memory that is mapped for a virtual machine or a host + granted + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 30 + + + Amount of host physical memory or physical memory that is mapped for a virtual machine or a host + granted + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 31 + + + Amount of host physical memory or physical memory that is mapped for a virtual machine or a host + granted + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 32 + + + Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi + active + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 33 + + + Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi + active + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 34 + + + Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi + active + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 35 + + + Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi + active + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 36 + + + Amount of guest physical memory that is shared within a single virtual machine or across virtual machines + shared + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 37 + + + Amount of guest physical memory that is shared within a single virtual machine or across virtual machines + shared + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 38 + + + Amount of guest physical memory that is shared within a single virtual machine or across virtual machines + shared + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 39 + + + Amount of guest physical memory that is shared within a single virtual machine or across virtual machines + shared + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 40 + + + Guest physical memory pages whose content is 0x00 + zero + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 41 + + + Guest physical memory pages whose content is 0x00 + zero + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 42 + + + Guest physical memory pages whose content is 0x00 + zero + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 43 + + + Guest physical memory pages whose content is 0x00 + zero + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 44 + + + Amount by which reservation can be raised + unreserved + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 45 + + + Amount by which reservation can be raised + unreserved + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 46 + + + Amount by which reservation can be raised + unreserved + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 47 + + + Amount by which reservation can be raised + unreserved + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 48 + + + Swap storage space consumed + swapused + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 49 + + + Swap storage space consumed + swapused + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 50 + + + Swap storage space consumed + swapused + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 51 + + + Swap storage space consumed + swapused + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 52 + + + swapunreserved + swapunreserved + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 53 + + + swapunreserved + swapunreserved + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 54 + + + swapunreserved + swapunreserved + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 55 + + + swapunreserved + swapunreserved + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 56 + + + Amount of host physical memory that backs shared guest physical memory (Shared) + sharedcommon + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 57 + + + Amount of host physical memory that backs shared guest physical memory (Shared) + sharedcommon + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 58 + + + Amount of host physical memory that backs shared guest physical memory (Shared) + sharedcommon + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 59 + + + Amount of host physical memory that backs shared guest physical memory (Shared) + sharedcommon + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 60 + + + Virtual address space of ESXi that is dedicated to its heap + heap + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 61 + + + Virtual address space of ESXi that is dedicated to its heap + heap + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 62 + + + Virtual address space of ESXi that is dedicated to its heap + heap + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 63 + + + Virtual address space of ESXi that is dedicated to its heap + heap + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 64 + + + Free address space in the heap of ESXi. This is less than or equal to Heap + heapfree + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 65 + + + Free address space in the heap of ESXi. This is less than or equal to Heap + heapfree + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 66 + + + Free address space in the heap of ESXi. This is less than or equal to Heap + heapfree + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 67 + + + Free address space in the heap of ESXi. This is less than or equal to Heap + heapfree + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 68 + + + Current memory availability state of ESXi. Possible values are high, clear, soft, hard, low. The state value determines the techniques used for memory reclamation from virtual machines + state + + + + Memory + mem + + + + Number + number + + latest + absolute + 2 + 3 + + + 69 + + + Amount of guest physical memory that is swapped out to the swap space + swapped + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 70 + + + Amount of guest physical memory that is swapped out to the swap space + swapped + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 71 + + + Amount of guest physical memory that is swapped out to the swap space + swapped + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 72 + + + Amount of guest physical memory that is swapped out to the swap space + swapped + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 73 + + + Amount of memory that ESXi needs to reclaim by swapping + swaptarget + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 74 + + + Amount of memory that ESXi needs to reclaim by swapping + swaptarget + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 75 + + + Amount of memory that ESXi needs to reclaim by swapping + swaptarget + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 76 + + + Amount of memory that ESXi needs to reclaim by swapping + swaptarget + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 77 + + + swapIn + swapIn + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 78 + + + swapIn + swapIn + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 79 + + + swapIn + swapIn + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 80 + + + swapIn + swapIn + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 81 + + + swapOut + swapOut + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 82 + + + swapOut + swapOut + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 83 + + + swapOut + swapOut + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 84 + + + swapOut + swapOut + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 85 + + + Rate at which guest physical memory is swapped in from the swap space + swapinRate + + + + Memory + mem + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 1 + 3 + + + 86 + + + Rate at which guest physical memory is swapped out to the swap space + swapoutRate + + + + Memory + mem + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 1 + 3 + + + 87 + + + Amount of memory that is swapped out for the Service Console + swapOut + + + + Management agent + managementAgent + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 3 + 3 + + + 88 + + + Amount of memory that is swapped in for the Service Console + swapIn + + + + Management agent + managementAgent + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 3 + 3 + + + 89 + + + Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest + vmmemctl + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 90 + + + Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest + vmmemctl + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 1 + 3 + + + 91 + + + Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest + vmmemctl + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 92 + + + Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest + vmmemctl + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 93 + + + Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi + vmmemctltarget + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 94 + + + Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi + vmmemctltarget + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 95 + + + Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi + vmmemctltarget + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 96 + + + Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi + vmmemctltarget + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 97 + + + Amount of host physical memory consumed for backing up guest physical memory pages + consumed + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 98 + + + Amount of host physical memory consumed for backing up guest physical memory pages + consumed + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 1 + 3 + + + 99 + + + Amount of host physical memory consumed for backing up guest physical memory pages + consumed + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 100 + + + Amount of host physical memory consumed for backing up guest physical memory pages + consumed + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 101 + + + Host physical memory consumed by ESXi data structures for running the virtual machines + overhead + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 102 + + + Host physical memory consumed by ESXi data structures for running the virtual machines + overhead + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 1 + 1 + + + 103 + + + Host physical memory consumed by ESXi data structures for running the virtual machines + overhead + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 104 + + + Host physical memory consumed by ESXi data structures for running the virtual machines + overhead + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 105 + + + Guest physical memory pages that have undergone memory compression + compressed + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 106 + + + Rate of guest physical memory page compression by ESXi + compressionRate + + + + Memory + mem + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 3 + + + 107 + + + Rate of guest physical memory decompression + decompressionRate + + + + Memory + mem + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 3 + + + 108 + + + Total amount of memory available to the host + capacity.provisioned + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 109 + + + Amount of host physical memory the VM is entitled to, as determined by the ESXi scheduler + capacity.entitlement + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 110 + + + Amount of physical memory available for use by virtual machines on this host + capacity.usable + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 111 + + + Amount of physical memory actively used + capacity.usage + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 112 + + + Percentage of time VMs are waiting to access swapped, compressed or ballooned memory + capacity.contention + + + + Memory + mem + + + + Percentage + percent + + average + rate + 4 + 4 + + + 113 + + + vm + capacity.usage.vm + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 4 + + + 114 + + + vmOvrhd + capacity.usage.vmOvrhd + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 4 + + + 115 + + + vmkOvrhd + capacity.usage.vmkOvrhd + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 4 + + + 116 + + + userworld + capacity.usage.userworld + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 4 + + + 117 + + + vm + reservedCapacity.vm + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 4 + + + 118 + + + vmOvhd + reservedCapacity.vmOvhd + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 4 + + + 119 + + + vmkOvrhd + reservedCapacity.vmkOvrhd + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 4 + + + 120 + + + userworld + reservedCapacity.userworld + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 4 + + + 121 + + + Percent of memory that has been reserved either through VMkernel use, by userworlds or due to VM memory reservations + reservedCapacityPct + + + + Memory + mem + + + + Percentage + percent + + average + absolute + 4 + 4 + + + 122 + + + Amount of physical memory consumed by VMs on this host + consumed.vms + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 4 + + + 123 + + + Amount of physical memory consumed by userworlds on this host + consumed.userworlds + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 4 + + + 124 + + + Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval. + usage + + + + Disk + disk + + + + Kilobytes per second + kiloBytesPerSecond + + none + rate + 4 + 4 + + + 125 + + + Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval. + usage + + + + Disk + disk + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 1 + 3 + + + 126 + + + Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval. + usage + + + + Disk + disk + + + + Kilobytes per second + kiloBytesPerSecond + + minimum + rate + 4 + 4 + + + 127 + + + Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval. + usage + + + + Disk + disk + + + + Kilobytes per second + kiloBytesPerSecond + + maximum + rate + 4 + 4 + + + 128 + + + Number of disk reads during the collection interval + numberRead + + + + Disk + disk + + + + Number + number + + summation + delta + 3 + 3 + + + 129 + + + Number of disk writes during the collection interval + numberWrite + + + + Disk + disk + + + + Number + number + + summation + delta + 3 + 3 + + + 130 + + + Average number of kilobytes read from the disk each second during the collection interval + read + + + + Disk + disk + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 3 + + + 131 + + + Average number of kilobytes written to disk each second during the collection interval + write + + + + Disk + disk + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 3 + + + 132 + + + Average amount of time taken during the collection interval to process a SCSI command issued by the guest OS to the virtual machine + totalLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 3 + 3 + + + 133 + + + Highest latency value across all disks used by the host + maxTotalLatency + + + + Disk + disk + + + + Millisecond + millisecond + + latest + absolute + 1 + 3 + + + 134 + + + Number of SCSI commands aborted during the collection interval + commandsAborted + + + + Disk + disk + + + + Number + number + + summation + delta + 2 + 3 + + + 135 + + + Number of SCSI-bus reset commands issued during the collection interval + busResets + + + + Disk + disk + + + + Number + number + + summation + delta + 2 + 3 + + + 136 + + + Average number of disk reads per second during the collection interval + numberReadAveraged + + + + Disk + disk + + + + Number + number + + average + rate + 1 + 3 + + + 137 + + + Average number of disk writes per second during the collection interval + numberWriteAveraged + + + + Disk + disk + + + + Number + number + + average + rate + 1 + 3 + + + 138 + + + Aggregated disk I/O rate, including the rates for all virtual machines running on the host during the collection interval + throughput.usage + + + + Disk + disk + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 139 + + + Average amount of time for an I/O operation to complete successfully + throughput.contention + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 4 + 4 + + + 140 + + + Number of SCSI reservation conflicts for the LUN during the collection interval + scsiReservationConflicts + + + + Disk + disk + + + + Number + number + + summation + delta + 2 + 2 + + + 141 + + + Number of SCSI reservation conflicts for the LUN as a percent of total commands during the collection interval + scsiReservationCnflctsPct + + + + Disk + disk + + + + Percentage + percent + + average + absolute + 4 + 4 + + + 142 + + + Network utilization (combined transmit-rates and receive-rates) during the interval + usage + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + none + rate + 4 + 4 + + + 143 + + + Network utilization (combined transmit-rates and receive-rates) during the interval + usage + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 1 + 3 + + + 144 + + + Network utilization (combined transmit-rates and receive-rates) during the interval + usage + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + minimum + rate + 4 + 4 + + + 145 + + + Network utilization (combined transmit-rates and receive-rates) during the interval + usage + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + maximum + rate + 4 + 4 + + + 146 + + + Number of packets received during the interval + packetsRx + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 147 + + + Number of packets transmitted during the interval + packetsTx + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 148 + + + Average rate at which data was received during the interval + received + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 3 + + + 149 + + + Average rate at which data was transmitted during the interval + transmitted + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 3 + + + 150 + + + The maximum network bandwidth for the host + throughput.provisioned + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + absolute + 4 + 4 + + + 151 + + + The current available network bandwidth for the host + throughput.usable + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + absolute + 4 + 4 + + + 152 + + + The current network bandwidth usage for the host + throughput.usage + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 153 + + + The aggregate network droppped packets for the host + throughput.contention + + + + Network + net + + + + Number + number + + summation + delta + 4 + 4 + + + 154 + + + Average rate of packets received and transmitted per second + throughput.packetsPerSec + + + + Network + net + + + + Number + number + + average + rate + 4 + 4 + + + 155 + + + Total time elapsed, in seconds, since last system startup + uptime + + + + System + sys + + + + Second + second + + latest + absolute + 1 + 3 + + + 156 + + + Number of heartbeats issued per virtual machine during the interval + heartbeat + + + + System + sys + + + + Number + number + + summation + delta + 1 + 3 + + + 157 + + + Current power usage + power + + + + Power + power + + + + Watt + watt + + average + rate + 2 + 3 + + + 158 + + + Maximum allowed power usage + powerCap + + + + Power + power + + + + Watt + watt + + average + absolute + 3 + 3 + + + 159 + + + Total energy used since last stats reset + energy + + + + Power + power + + + + Joule + joule + + summation + delta + 3 + 3 + + + 160 + + + Current power usage as a percentage of maximum allowed power + capacity.usagePct + + + + Power + power + + + + Percentage + percent + + average + absolute + 4 + 4 + + + 161 + + + Average number of commands issued per second by the storage adapter during the collection interval + commandsAveraged + + + + Storage adapter + storageAdapter + + + + Number + number + + average + rate + 2 + 2 + + + 162 + + + Average number of read commands issued per second by the storage adapter during the collection interval + numberReadAveraged + + + + Storage adapter + storageAdapter + + + + Number + number + + average + rate + 2 + 2 + + + 163 + + + Average number of write commands issued per second by the storage adapter during the collection interval + numberWriteAveraged + + + + Storage adapter + storageAdapter + + + + Number + number + + average + rate + 2 + 2 + + + 164 + + + Rate of reading data by the storage adapter + read + + + + Storage adapter + storageAdapter + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 2 + + + 165 + + + Rate of writing data by the storage adapter + write + + + + Storage adapter + storageAdapter + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 2 + + + 166 + + + The average time a read by the storage adapter takes + totalReadLatency + + + + Storage adapter + storageAdapter + + + + Millisecond + millisecond + + average + absolute + 2 + 2 + + + 167 + + + The average time a write by the storage adapter takes + totalWriteLatency + + + + Storage adapter + storageAdapter + + + + Millisecond + millisecond + + average + absolute + 2 + 2 + + + 168 + + + Highest latency value across all storage adapters used by the host + maxTotalLatency + + + + Storage adapter + storageAdapter + + + + Millisecond + millisecond + + latest + absolute + 3 + 3 + + + 169 + + + Average amount of time for an I/O operation to complete successfully + throughput.cont + + + + Storage adapter + storageAdapter + + + + Millisecond + millisecond + + average + absolute + 4 + 4 + + + 170 + + + The percent of I/Os that have been issued but have not yet completed + OIOsPct + + + + Storage adapter + storageAdapter + + + + Percentage + percent + + average + absolute + 4 + 4 + + + 171 + + + Average number of read commands issued per second to the virtual disk during the collection interval + numberReadAveraged + + + + Virtual disk + virtualDisk + + + + Number + number + + average + rate + 1 + 3 + + + 172 + + + Average number of write commands issued per second to the virtual disk during the collection interval + numberWriteAveraged + + + + Virtual disk + virtualDisk + + + + Number + number + + average + rate + 1 + 3 + + + 173 + + + Rate of reading data from the virtual disk + read + + + + Virtual disk + virtualDisk + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 2 + + + 174 + + + Rate of writing data to the virtual disk + write + + + + Virtual disk + virtualDisk + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 2 + + + 175 + + + The average time a read from the virtual disk takes + totalReadLatency + + + + Virtual disk + virtualDisk + + + + Millisecond + millisecond + + average + absolute + 1 + 3 + + + 176 + + + The average time a write to the virtual disk takes + totalWriteLatency + + + + Virtual disk + virtualDisk + + + + Millisecond + millisecond + + average + absolute + 1 + 3 + + + 177 + + + Average amount of time for an I/O operation to complete successfully + throughput.cont + + + + Virtual disk + virtualDisk + + + + Millisecond + millisecond + + average + absolute + 4 + 4 + + + 178 + + + Average number of read commands issued per second to the datastore during the collection interval + numberReadAveraged + + + + Datastore + datastore + + + + Number + number + + average + rate + 1 + 3 + + + 179 + + + Average number of write commands issued per second to the datastore during the collection interval + numberWriteAveraged + + + + Datastore + datastore + + + + Number + number + + average + rate + 1 + 3 + + + 180 + + + Rate of reading data from the datastore + read + + + + Datastore + datastore + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 2 + + + 181 + + + Rate of writing data to the datastore + write + + + + Datastore + datastore + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 2 + + + 182 + + + The average time a read from the datastore takes + totalReadLatency + + + + Datastore + datastore + + + + Millisecond + millisecond + + average + absolute + 1 + 3 + + + 183 + + + The average time a write to the datastore takes + totalWriteLatency + + + + Datastore + datastore + + + + Millisecond + millisecond + + average + absolute + 1 + 3 + + + 184 + + + Highest latency value across all datastores used by the host + maxTotalLatency + + + + Datastore + datastore + + + + Millisecond + millisecond + + latest + absolute + 3 + 3 + + + 185 + + + Storage I/O Control aggregated IOPS + datastoreIops + + + + Datastore + datastore + + + + Number + number + + average + absolute + 1 + 3 + + + 186 + + + Storage I/O Control size-normalized I/O latency + sizeNormalizedDatastoreLatency + + + + Datastore + datastore + + + + Microsecond + microsecond + + average + absolute + 1 + 3 + + + 187 + + + usage + throughput.usage + + + + Datastore + datastore + + + + Kilobytes per second + kiloBytesPerSecond + + average + absolute + 4 + 4 + + + 188 + + + contention + throughput.contention + + + + Datastore + datastore + + + + Millisecond + millisecond + + average + absolute + 4 + 4 + + + 189 + + + busResets + busResets + + + + Datastore + datastore + + + + Number + number + + summation + delta + 2 + 2 + + + 190 + + + commandsAborted + commandsAborted + + + + Datastore + datastore + + + + Number + number + + summation + delta + 2 + 2 + + + 191 + + + Percentage of time Storage I/O Control actively controlled datastore latency + siocActiveTimePercentage + + + + Datastore + datastore + + + + Percentage + percent + + average + absolute + 1 + 3 + + + 192 + + + Average amount of time for an I/O operation to complete successfully + throughput.cont + + + + Storage path + storagePath + + + + Millisecond + millisecond + + average + absolute + 4 + 4 + + + 193 + + + Highest latency value across all storage paths used by the host + maxTotalLatency + + + + Storage path + storagePath + + + + Millisecond + millisecond + + latest + absolute + 3 + 3 + + + 194 + + + Virtual disk I/O rate + throughput.usage + + + + Virtual disk + virtualDisk + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 195 + + + Number of terminations to a virtual disk + commandsAborted + + + + Virtual disk + virtualDisk + + + + Number + number + + summation + delta + 2 + 4 + + + 196 + + + Number of resets to a virtual disk + busResets + + + + Virtual disk + virtualDisk + + + + Number + number + + summation + delta + 2 + 4 + + + 197 + + + The number of I/Os that have been issued but have not yet completed + outstandingIOs + + + + Storage adapter + storageAdapter + + + + Number + number + + average + absolute + 2 + 2 + + + 198 + + + The current number of I/Os that are waiting to be issued + queued + + + + Storage adapter + storageAdapter + + + + Number + number + + average + absolute + 2 + 2 + + + 199 + + + The maximum number of I/Os that can be outstanding at a given time + queueDepth + + + + Storage adapter + storageAdapter + + + + Number + number + + average + absolute + 2 + 2 + + + 200 + + + Average amount of time spent in the VMkernel queue, per SCSI command, during the collection interval + queueLatency + + + + Storage adapter + storageAdapter + + + + Millisecond + millisecond + + average + absolute + 2 + 2 + + + 201 + + + The storage adapter's I/O rate + throughput.usag + + + + Storage adapter + storageAdapter + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 202 + + + Number of SCSI-bus reset commands issued during the collection interval + busResets + + + + Storage path + storagePath + + + + Number + number + + summation + delta + 2 + 3 + + + 203 + + + Number of SCSI commands terminated during the collection interval + commandsAborted + + + + Storage path + storagePath + + + + Number + number + + summation + delta + 2 + 3 + + + 204 + + + Storage path I/O rate + throughput.usage + + + + Storage path + storagePath + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 205 + + + Average pNic I/O rate for VMs + throughput.usage.vm + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 3 + 3 + + + 206 + + + Average pNic I/O rate for NFS + throughput.usage.nfs + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 3 + 3 + + + 207 + + + Average pNic I/O rate for vMotion + throughput.usage.vmotion + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 3 + 3 + + + 208 + + + Average pNic I/O rate for FT + throughput.usage.ft + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 3 + 3 + + + 209 + + + Average pNic I/O rate for iSCSI + throughput.usage.iscsi + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 3 + 3 + + + 210 + + + Average pNic I/O rate for HBR + throughput.usage.hbr + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 3 + 3 + + + 211 + + + Current maximum allowed power usage + capacity.usable + + + + Power + power + + + + Watt + watt + + average + absolute + 4 + 4 + + + 212 + + + Current power usage + capacity.usage + + + + Power + power + + + + Watt + watt + + average + absolute + 4 + 4 + + + 213 + + + Amount of CPU resources allocated to the virtual machine or resource pool, based on the total cluster capacity and the resource configuration of the resource hierarchy + cpuentitlement + + + + CPU + cpu + + + + Megahertz + megaHertz + + latest + absolute + 2 + 3 + + + 214 + + + Memory allocation as calculated by the VMkernel scheduler based on current estimated demand and reservation, limit, and shares policies set for all virtual machines and resource pools in the host or cluster + mementitlement + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 2 + 3 + + + 215 + + + DRS score of the virtual machine + vmDrsScore + + + + Cluster services + clusterServices + + + + Percentage + percent + + latest + absolute + 1 + 1 + + + 216 + + + Fairness of distributed CPU resource allocation + cpufairness + + + + Cluster services + clusterServices + + + + Number + number + + latest + absolute + 1 + 3 + + + 217 + + + Aggregate available memory resources of all the hosts within a cluster + memfairness + + + + Cluster services + clusterServices + + + + Number + number + + latest + absolute + 1 + 3 + + + 218 + + + The rate of transmitted packets for this VDS + throughput.pktsTx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 219 + + + The rate of transmitted Multicast packets for this VDS + throughput.pktsTxMulticast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 220 + + + The rate of transmitted Broadcast packets for this VDS + throughput.pktsTxBroadcast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 221 + + + The rate of received packets for this vDS + throughput.pktsRx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 222 + + + The rate of received Multicast packets for this VDS + throughput.pktsRxMulticast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 223 + + + The rate of received Broadcast packets for this VDS + throughput.pktsRxBroadcast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 224 + + + Count of dropped transmitted packets for this VDS + throughput.droppedTx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 225 + + + Count of dropped received packets for this VDS + throughput.droppedRx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 226 + + + The rate of transmitted packets for this DVPort + throughput.vds.pktsTx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 227 + + + The rate of transmitted multicast packets for this DVPort + throughput.vds.pktsTxMcast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 228 + + + The rate of transmitted broadcast packets for this DVPort + throughput.vds.pktsTxBcast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 229 + + + The rate of received packets for this DVPort + throughput.vds.pktsRx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 230 + + + The rate of received multicast packets for this DVPort + throughput.vds.pktsRxMcast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 231 + + + The rate of received broadcast packets for this DVPort + throughput.vds.pktsRxBcast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 232 + + + Count of dropped transmitted packets for this DVPort + throughput.vds.droppedTx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 233 + + + Count of dropped received packets for this DVPort + throughput.vds.droppedRx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 234 + + + The rate of transmitted packets for this LAG + throughput.vds.lagTx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 235 + + + The rate of transmitted Multicast packets for this LAG + throughput.vds.lagTxMcast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 236 + + + The rate of transmitted Broadcast packets for this LAG + throughput.vds.lagTxBcast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 237 + + + The rate of received packets for this LAG + throughput.vds.lagRx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 238 + + + The rate of received multicast packets for this LAG + throughput.vds.lagRxMcast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 239 + + + The rate of received Broadcast packets for this LAG + throughput.vds.lagRxBcast + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 240 + + + Count of dropped transmitted packets for this LAG + throughput.vds.lagDropTx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 241 + + + Count of dropped received packets for this LAG + throughput.vds.lagDropRx + + + + Network + net + + + + Number + number + + average + absolute + 3 + 3 + + + 242 + + + Number of virtual machine power on operations + numPoweron + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 243 + + + Number of virtual machine power off operations + numPoweroff + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 244 + + + Number of virtual machine suspend operations + numSuspend + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 245 + + + Number of virtual machine reset operations + numReset + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 246 + + + Number of virtual machine guest reboot operations + numRebootGuest + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 247 + + + Number of virtual machine standby guest operations + numStandbyGuest + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 248 + + + Number of virtual machine guest shutdown operations + numShutdownGuest + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 249 + + + Number of virtual machine create operations + numCreate + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 250 + + + Number of virtual machine delete operations + numDestroy + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 251 + + + Number of virtual machine register operations + numRegister + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 252 + + + Number of virtual machine unregister operations + numUnregister + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 253 + + + Number of virtual machine reconfigure operations + numReconfigure + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 254 + + + Number of virtual machine clone operations + numClone + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 255 + + + Number of virtual machine template deploy operations + numDeploy + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 256 + + + Number of host change operations for powered-off and suspended VMs + numChangeHost + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 257 + + + Number of datastore change operations for powered-off and suspended virtual machines + numChangeDS + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 258 + + + Number of host and datastore change operations for powered-off and suspended virtual machines + numChangeHostDS + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 259 + + + Number of migrations with vMotion (host change operations for powered-on VMs) + numVMotion + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 260 + + + Number of migrations with Storage vMotion (datastore change operations for powered-on VMs) + numSVMotion + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 261 + + + Number of host and datastore change operations for powered-on and suspended virtual machines + numXVMotion + + + + Virtual machine operations + vmop + + + + Number + number + + latest + absolute + 1 + 3 + + + 262 + + + Total available CPU resources of all hosts within a cluster + effectivecpu + + + + Cluster services + clusterServices + + + + Megahertz + megaHertz + + average + rate + 1 + 3 + + + 263 + + + Total amount of machine memory of all hosts in the cluster that is available for use for virtual machine memory and overhead memory + effectivemem + + + + Cluster services + clusterServices + + + + Megabyte + megaBytes + + average + absolute + 1 + 3 + + + 264 + + + Total amount of CPU resources of all hosts in the cluster + totalmhz + + + + CPU + cpu + + + + Megahertz + megaHertz + + average + rate + 1 + 3 + + + 265 + + + Total amount of host physical memory of all hosts in the cluster that is available for virtual machine memory (physical memory for use by the guest OS) and virtual machine overhead memory + totalmb + + + + Memory + mem + + + + Megabyte + megaBytes + + average + absolute + 1 + 3 + + + 266 + + + DRS score of the cluster + clusterDrsScore + + + + Cluster services + clusterServices + + + + Percentage + percent + + latest + absolute + 1 + 1 + + + 267 + + + vSphere HA number of failures that can be tolerated + failover + + + + Cluster services + clusterServices + + + + Number + number + + latest + absolute + 1 + 3 + + + 268 + + + Amount of space actually used by the virtual machine or the datastore + used + + + + Disk + disk + + + + Kilobyte + kiloBytes + + latest + absolute + 1 + 1 + + + 269 + + + Amount of storage set aside for use by a datastore or a virtual machine + provisioned + + + + Disk + disk + + + + Kilobyte + kiloBytes + + latest + absolute + 1 + 1 + + + 270 + + + Configured size of the datastore + capacity + + + + Disk + disk + + + + Kilobyte + kiloBytes + + latest + absolute + 1 + 3 + + + 271 + + + Amount of space associated exclusively with a virtual machine + unshared + + + + Disk + disk + + + + Kilobyte + kiloBytes + + latest + absolute + 1 + 1 + + + 272 + + + Storage overhead of a virtual machine or a datastore due to delta disk backings + deltaused + + + + Disk + disk + + + + Kilobyte + kiloBytes + + latest + absolute + 2 + 3 + + + 273 + + + provisioned + capacity.provisioned + + + + Disk + disk + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 274 + + + usage + capacity.usage + + + + Disk + disk + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 275 + + + contention + capacity.contention + + + + Disk + disk + + + + Percentage + percent + + average + absolute + 4 + 4 + + + 276 + + + The latency of an activation operation in vCenter Server + activationlatencystats + + + + vCenter debugging information + vcDebugInfo + + + + Millisecond + millisecond + + maximum + absolute + 4 + 4 + + + 277 + + + The latency of an activation operation in vCenter Server + activationlatencystats + + + + vCenter debugging information + vcDebugInfo + + + + Millisecond + millisecond + + minimum + absolute + 4 + 4 + + + 278 + + + The latency of an activation operation in vCenter Server + activationlatencystats + + + + vCenter debugging information + vcDebugInfo + + + + Millisecond + millisecond + + summation + absolute + 1 + 1 + + + 279 + + + Activation operations in vCenter Server + activationstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 280 + + + Activation operations in vCenter Server + activationstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 281 + + + Activation operations in vCenter Server + activationstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 1 + 1 + + + 282 + + + buffersz + buffersz + + + + vCenter resource usage information + vcResources + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 283 + + + cachesz + cachesz + + + + vCenter resource usage information + vcResources + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 284 + + + Number of context switches per second on the system where vCenter Server is running + ctxswitchesrate + + + + vCenter resource usage information + vcResources + + + + Number + number + + average + rate + 1 + 1 + + + 285 + + + diskreadsectorrate + diskreadsectorrate + + + + vCenter resource usage information + vcResources + + + + Number + number + + average + rate + 4 + 4 + + + 286 + + + Number of disk reads per second on the system where vCenter Server is running + diskreadsrate + + + + vCenter resource usage information + vcResources + + + + Number + number + + average + rate + 1 + 1 + + + 287 + + + diskwritesectorrate + diskwritesectorrate + + + + vCenter resource usage information + vcResources + + + + Number + number + + average + rate + 4 + 4 + + + 288 + + + Number of disk writes per second on the system where vCenter Server is running + diskwritesrate + + + + vCenter resource usage information + vcResources + + + + Number + number + + average + rate + 1 + 1 + + + 289 + + + The latency of a host sync operation in vCenter Server + hostsynclatencystats + + + + vCenter debugging information + vcDebugInfo + + + + Millisecond + millisecond + + maximum + absolute + 4 + 4 + + + 290 + + + The latency of a host sync operation in vCenter Server + hostsynclatencystats + + + + vCenter debugging information + vcDebugInfo + + + + Millisecond + millisecond + + minimum + absolute + 4 + 4 + + + 291 + + + The latency of a host sync operation in vCenter Server + hostsynclatencystats + + + + vCenter debugging information + vcDebugInfo + + + + Millisecond + millisecond + + summation + absolute + 1 + 1 + + + 292 + + + The number of host sync operations in vCenter Server + hostsyncstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 293 + + + The number of host sync operations in vCenter Server + hostsyncstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 294 + + + The number of host sync operations in vCenter Server + hostsyncstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 1 + 1 + + + 295 + + + vCenter Server inventory statistics + inventorystats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 296 + + + vCenter Server inventory statistics + inventorystats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 297 + + + vCenter Server inventory statistics + inventorystats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 1 + 1 + + + 298 + + + vCenter Server locking statistics + lockstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 299 + + + vCenter Server locking statistics + lockstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 300 + + + vCenter Server locking statistics + lockstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 1 + 1 + + + 301 + + + vCenter Server LRO statistics + lrostats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 302 + + + vCenter Server LRO statistics + lrostats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 303 + + + vCenter Server LRO statistics + lrostats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 1 + 1 + + + 304 + + + Miscellaneous statistics + miscstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 305 + + + Miscellaneous statistics + miscstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 306 + + + Miscellaneous statistics + miscstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 1 + 1 + + + 307 + + + Managed object reference counts in vCenter Server + morefregstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 308 + + + Managed object reference counts in vCenter Server + morefregstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 309 + + + Managed object reference counts in vCenter Server + morefregstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 1 + 1 + + + 310 + + + Rate of the number of total packets received per second on the system where vCenter Server is running + packetrecvrate + + + + vCenter resource usage information + vcResources + + + + Number + number + + average + rate + 1 + 1 + + + 311 + + + Number of total packets sent per second on the system where vCenter Server is running + packetsentrate + + + + vCenter resource usage information + vcResources + + + + Number + number + + average + rate + 1 + 1 + + + 312 + + + Total system CPU used on the system where vCenter Server in running + systemcpuusage + + + + vCenter resource usage information + vcResources + + + + Percentage + percent + + average + rate + 1 + 1 + + + 313 + + + Number of page faults per second on the system where vCenter Server is running + pagefaultrate + + + + vCenter resource usage information + vcResources + + + + Number + number + + average + rate + 1 + 1 + + + 314 + + + Physical memory used by vCenter + physicalmemusage + + + + vCenter resource usage information + vcResources + + + + Kilobyte + kiloBytes + + average + absolute + 1 + 1 + + + 315 + + + CPU used by vCenter Server in privileged mode + priviledgedcpuusage + + + + vCenter resource usage information + vcResources + + + + Percentage + percent + + average + rate + 1 + 1 + + + 316 + + + Object counts in vCenter Server + scoreboard + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 317 + + + Object counts in vCenter Server + scoreboard + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 318 + + + Object counts in vCenter Server + scoreboard + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 3 + 3 + + + 319 + + + The statistics of client sessions connected to vCenter Server + sessionstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 320 + + + The statistics of client sessions connected to vCenter Server + sessionstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 321 + + + The statistics of client sessions connected to vCenter Server + sessionstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 1 + 1 + + + 322 + + + Number of systems calls made per second on the system where vCenter Server is running + syscallsrate + + + + vCenter resource usage information + vcResources + + + + Number + number + + average + rate + 1 + 1 + + + 323 + + + The statistics of vCenter Server as a running system such as thread statistics and heap statistics + systemstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 324 + + + The statistics of vCenter Server as a running system such as thread statistics and heap statistics + systemstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 325 + + + The statistics of vCenter Server as a running system such as thread statistics and heap statistics + systemstats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 1 + 1 + + + 326 + + + CPU used by vCenter Server in user mode + usercpuusage + + + + vCenter resource usage information + vcResources + + + + Percentage + percent + + average + rate + 1 + 1 + + + 327 + + + vCenter service statistics such as events, alarms, and tasks + vcservicestats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + maximum + absolute + 4 + 4 + + + 328 + + + vCenter service statistics such as events, alarms, and tasks + vcservicestats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + minimum + absolute + 4 + 4 + + + 329 + + + vCenter service statistics such as events, alarms, and tasks + vcservicestats + + + + vCenter debugging information + vcDebugInfo + + + + Number + number + + summation + absolute + 1 + 1 + + + 330 + + + Virtual memory used by vCenter Server + virtualmemusage + + + + vCenter resource usage information + vcResources + + + + Kilobyte + kiloBytes + + average + absolute + 1 + 1 + + + 331 + + + Average number of outstanding read requests to the virtual disk during the collection interval + readOIO + + + + Virtual disk + virtualDisk + + + + Number + number + + latest + absolute + 2 + 2 + + + 332 + + + Average number of outstanding write requests to the virtual disk during the collection interval + writeOIO + + + + Virtual disk + virtualDisk + + + + Number + number + + latest + absolute + 2 + 2 + + + 333 + + + Storage DRS virtual disk metric for the read workload model + readLoadMetric + + + + Virtual disk + virtualDisk + + + + Number + number + + latest + absolute + 2 + 2 + + + 334 + + + Storage DRS virtual disk metric for the write workload model + writeLoadMetric + + + + Virtual disk + virtualDisk + + + + Number + number + + latest + absolute + 2 + 2 + + + 335 + + + CPU active average over 1 minute + actav1 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 336 + + + Storage DRS datastore bytes read + datastoreReadBytes + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 2 + 2 + + + 337 + + + Storage DRS datastore bytes written + datastoreWriteBytes + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 2 + 2 + + + 338 + + + Storage DRS datastore read I/O rate + datastoreReadIops + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 1 + 3 + + + 339 + + + Storage DRS datastore write I/O rate + datastoreWriteIops + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 1 + 3 + + + 340 + + + Storage DRS datastore outstanding read requests + datastoreReadOIO + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 1 + 3 + + + 341 + + + Storage DRS datastore outstanding write requests + datastoreWriteOIO + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 1 + 3 + + + 342 + + + Storage DRS datastore normalized read latency + datastoreNormalReadLatency + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 2 + 2 + + + 343 + + + Storage DRS datastore normalized write latency + datastoreNormalWriteLatency + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 2 + 2 + + + 344 + + + Storage DRS datastore metric for read workload model + datastoreReadLoadMetric + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 4 + 4 + + + 345 + + + Storage DRS datastore metric for write workload model + datastoreWriteLoadMetric + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 4 + 4 + + + 346 + + + The average datastore latency as seen by virtual machines + datastoreVMObservedLatency + + + + Datastore + datastore + + + + Microsecond + microsecond + + latest + absolute + 1 + 3 + + + 401 + + + Number of SCSI reservation conflicts for the LUN as a percent of total commands during the collection interval + scsiReservationCnflctsPct + + + + Disk + disk + + + + Percentage + percent + + average + rate + 4 + 4 + + + 402 + + + The number of I/Os that have been issued but have not yet completed + outstandingIOs + + + + Storage adapter + storageAdapter + + + + Number + number + + latest + absolute + 4 + 4 + + + 403 + + + The current number of I/Os that are waiting to be issued + queued + + + + Storage adapter + storageAdapter + + + + Number + number + + latest + absolute + 4 + 4 + + + 404 + + + The maximum number of I/Os that can be outstanding at a given time + queueDepth + + + + Storage adapter + storageAdapter + + + + Number + number + + latest + absolute + 4 + 4 + + + 405 + + + CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading) + utilization + + + + CPU + cpu + + + + Percentage + percent + + average + rate + 2 + 3 + + + 406 + + + The number of virtual processors provisioned to the entity + corecount.provisioned + + + + CPU + cpu + + + + Number + number + + latest + absolute + 4 + 4 + + + 407 + + + The amount of L3 cache the VM uses + cache.l3.occupancy + + + + CPU + cpu + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 408 + + + The number of virtual processors running on the host + corecount.usage + + + + CPU + cpu + + + + Number + number + + latest + absolute + 4 + 4 + + + 409 + + + CPU load average over the past 1 minute, sampled on every 6 seconds + load.avg1min + + + + CPU + cpu + + + + Percentage + percent + + latest + absolute + 4 + 4 + + + 410 + + + CPU load average over the past 5 minutes, sampled on every 6 seconds + load.avg5min + + + + CPU + cpu + + + + Percentage + percent + + latest + absolute + 4 + 4 + + + 411 + + + CPU load average over the past 15 minutes, sampled on every 6 seconds + load.avg15min + + + + CPU + cpu + + + + Percentage + percent + + latest + absolute + 4 + 4 + + + 412 + + + Total amount of memory available to the host + capacity.provisioned + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 413 + + + Percent of memory that has been reserved either through VMkernel use, by userworlds or due to VM memory reservations + reservedCapacityPct + + + + Memory + mem + + + + Percentage + percent + + latest + absolute + 4 + 4 + + + 414 + + + Ratio of total requested memory and the managed memory minus 1 over the past 1 minute + overcommit.avg1min + + + + Memory + mem + + + + Number + number + + latest + absolute + 4 + 4 + + + 415 + + + Ratio of total requested memory and the managed memory minus 1 over the past 5 minutes + overcommit.avg5min + + + + Memory + mem + + + + Number + number + + latest + absolute + 4 + 4 + + + 416 + + + Ratio of total requested memory and the managed memory minus 1 over the past 15 minutes + overcommit.avg15min + + + + Memory + mem + + + + Number + number + + latest + absolute + 4 + 4 + + + 417 + + + Total amount of machine memory on the ESXi host + physical.total + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 418 + + + Amount of machine memory being used by everything other than VMkernel + physical.user + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 419 + + + Amount of machine memory that is free on the ESXi host + physical.free + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 420 + + + Total amount of machine memory managed by VMkernel + kernel.managed + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 421 + + + Mininum amount of machine memory that VMkernel likes to keep free + kernel.minfree + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 422 + + + Amount of machine memory that is currently unreserved + kernel.unreserved + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 423 + + + Amount of physical memory that is being shared + pshare.shared + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 424 + + + Amount of machine memory that is common across World(s) + pshare.common + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 425 + + + Amount of machine memory saved due to page-sharing + pshare.sharedSave + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 426 + + + Current swap usage + swap.current + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 427 + + + Where ESXi expects the reclaimed memory using swapping and compression to be + swap.target + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 428 + + + Rate at which memory is swapped in by ESXi from disk + swap.readrate + + + + Memory + mem + + + + Megabytes per second + megaBytesPerSecond + + average + rate + 4 + 4 + + + 429 + + + Rate at which memory is swapped to disk by the ESXi + swap.writerate + + + + Memory + mem + + + + Megabytes per second + megaBytesPerSecond + + average + rate + 4 + 4 + + + 430 + + + Total compressed physical memory + zip.zipped + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 431 + + + Saved memory by compression + zip.saved + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 432 + + + Total amount of physical memory reclaimed using the vmmemctl modules + memctl.current + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 433 + + + Total amount of physical memory ESXi would like to reclaim using the vmmemctl modules + memctl.target + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 434 + + + Maximum amount of physical memory ESXi can reclaim using the vmmemctl modules + memctl.max + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 455 + + + CPU time spent waiting for swap-in + swapwait + + + + CPU + cpu + + + + Millisecond + millisecond + + summation + delta + 3 + 3 + + + 456 + + + CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading) + utilization + + + + CPU + cpu + + + + Percentage + percent + + none + rate + 4 + 4 + + + 457 + + + CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading) + utilization + + + + CPU + cpu + + + + Percentage + percent + + maximum + rate + 4 + 4 + + + 458 + + + CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading) + utilization + + + + CPU + cpu + + + + Percentage + percent + + minimum + rate + 4 + 4 + + + 459 + + + CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized) + coreUtilization + + + + CPU + cpu + + + + Percentage + percent + + none + rate + 4 + 4 + + + 460 + + + CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized) + coreUtilization + + + + CPU + cpu + + + + Percentage + percent + + average + rate + 2 + 3 + + + 461 + + + CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized) + coreUtilization + + + + CPU + cpu + + + + Percentage + percent + + maximum + rate + 4 + 4 + + + 462 + + + CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized) + coreUtilization + + + + CPU + cpu + + + + Percentage + percent + + minimum + rate + 4 + 4 + + + 463 + + + Total CPU capacity reserved by and available for virtual machines + totalCapacity + + + + CPU + cpu + + + + Megahertz + megaHertz + + average + absolute + 2 + 3 + + + 464 + + + Percent of time the virtual machine is unable to run because it is contending for access to the physical CPU(s) + latency + + + + CPU + cpu + + + + Percentage + percent + + average + rate + 2 + 3 + + + 465 + + + CPU resources devoted by the ESX scheduler + entitlement + + + + CPU + cpu + + + + Megahertz + megaHertz + + latest + absolute + 2 + 3 + + + 466 + + + The amount of CPU resources a virtual machine would use if there were no CPU contention or CPU limit + demand + + + + CPU + cpu + + + + Megahertz + megaHertz + + average + absolute + 2 + 3 + + + 467 + + + Time the virtual machine is ready to run, but is unable to run due to co-scheduling constraints + costop + + + + CPU + cpu + + + + Millisecond + millisecond + + summation + delta + 2 + 3 + + + 468 + + + Time the virtual machine is ready to run, but is not run due to maxing out its CPU limit setting + maxlimited + + + + CPU + cpu + + + + Millisecond + millisecond + + summation + delta + 2 + 3 + + + 469 + + + Time the virtual machine was interrupted to perform system services on behalf of itself or other virtual machines + overlap + + + + CPU + cpu + + + + Millisecond + millisecond + + summation + delta + 3 + 3 + + + 470 + + + Time the virtual machine is scheduled to run + run + + + + CPU + cpu + + + + Millisecond + millisecond + + summation + delta + 2 + 3 + + + 471 + + + CPU resource entitlement to CPU demand ratio (in percents) + demandEntitlementRatio + + + + CPU + cpu + + + + Percentage + percent + + latest + absolute + 4 + 4 + + + 472 + + + Percentage of time that the virtual machine was ready, but could not get scheduled to run on the physical CPU + readiness + + + + CPU + cpu + + + + Percentage + percent + + average + rate + 4 + 4 + + + 473 + + + Virtual CPU usage as a percentage during the interval + usage.vcpus + + + + CPU + cpu + + + + Percentage + percent + + average + rate + 4 + 4 + + + 474 + + + Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter + swapin + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 475 + + + Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter + swapin + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 476 + + + Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter + swapin + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 477 + + + Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter + swapin + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 478 + + + Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on. + swapout + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 479 + + + Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on. + swapout + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 480 + + + Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on. + swapout + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 481 + + + Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on. + swapout + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 482 + + + Amount of host physical memory consumed by VMkernel + sysUsage + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 483 + + + Amount of host physical memory consumed by VMkernel + sysUsage + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 484 + + + Amount of host physical memory consumed by VMkernel + sysUsage + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 485 + + + Amount of host physical memory consumed by VMkernel + sysUsage + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 486 + + + Amount of guest physical memory that is being actively written by guest. Activeness is estimated by ESXi + activewrite + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 487 + + + Host physical memory reserved by ESXi, for its data structures, for running the virtual machine + overheadMax + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 488 + + + Total reservation, available and consumed, for powered-on virtual machines + totalCapacity + + + + Memory + mem + + + + Megabyte + megaBytes + + average + absolute + 2 + 3 + + + 489 + + + Amount of guest physical memory pages compressed by ESXi + zipped + + + + Memory + mem + + + + Kilobyte + kiloBytes + + latest + absolute + 2 + 3 + + + 490 + + + Host physical memory, reclaimed from a virtual machine, by memory compression. This value is less than the value of 'Compressed' memory + zipSaved + + + + Memory + mem + + + + Kilobyte + kiloBytes + + latest + absolute + 2 + 3 + + + 491 + + + Percentage of time the virtual machine spent waiting to swap in or decompress guest physical memory + latency + + + + Memory + mem + + + + Percentage + percent + + average + absolute + 2 + 3 + + + 492 + + + Amount of host physical memory the virtual machine deserves, as determined by ESXi + entitlement + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 493 + + + Threshold of free host physical memory below which ESXi will begin actively reclaiming memory from virtual machines by swapping, compression and ballooning + lowfreethreshold + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 2 + 3 + + + 494 + + + Storage space consumed on the host swap cache for storing swapped guest physical memory pages + llSwapUsed + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 495 + + + Rate at which guest physical memory is swapped in from the host swap cache + llSwapInRate + + + + Memory + mem + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 3 + + + 496 + + + Rate at which guest physical memory is swapped out to the host swap cache + llSwapOutRate + + + + Memory + mem + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 3 + + + 497 + + + Estimate of the host physical memory, from Overhead consumed, that is actively read or written to by ESXi + overheadTouched + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 498 + + + Storage space consumed on the host swap cache for storing swapped guest physical memory pages + llSwapUsed + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 499 + + + Storage space consumed on the host swap cache for storing swapped guest physical memory pages + llSwapUsed + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 500 + + + Storage space consumed on the host swap cache for storing swapped guest physical memory pages + llSwapUsed + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 501 + + + Amount of guest physical memory swapped in from host cache + llSwapIn + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 502 + + + Amount of guest physical memory swapped in from host cache + llSwapIn + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 503 + + + Amount of guest physical memory swapped in from host cache + llSwapIn + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 504 + + + Amount of guest physical memory swapped in from host cache + llSwapIn + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 505 + + + Amount of guest physical memory swapped out to the host swap cache + llSwapOut + + + + Memory + mem + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 506 + + + Amount of guest physical memory swapped out to the host swap cache + llSwapOut + + + + Memory + mem + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 507 + + + Amount of guest physical memory swapped out to the host swap cache + llSwapOut + + + + Memory + mem + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 508 + + + Amount of guest physical memory swapped out to the host swap cache + llSwapOut + + + + Memory + mem + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 509 + + + Space used for holding VMFS Pointer Blocks in memory + vmfs.pbc.size + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 510 + + + Maximum size the VMFS Pointer Block Cache can grow to + vmfs.pbc.sizeMax + + + + Memory + mem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 511 + + + Amount of file blocks whose addresses are cached in the VMFS PB Cache + vmfs.pbc.workingSet + + + + Memory + mem + + + + Terabyte + teraBytes + + latest + absolute + 4 + 4 + + + 512 + + + Maximum amount of file blocks whose addresses are cached in the VMFS PB Cache + vmfs.pbc.workingSetMax + + + + Memory + mem + + + + Terabyte + teraBytes + + latest + absolute + 4 + 4 + + + 513 + + + Amount of VMFS heap used by the VMFS PB Cache + vmfs.pbc.overhead + + + + Memory + mem + + + + Kilobyte + kiloBytes + + latest + absolute + 4 + 4 + + + 514 + + + Trailing average of the ratio of capacity misses to compulsory misses for the VMFS PB Cache + vmfs.pbc.capMissRatio + + + + Memory + mem + + + + Percentage + percent + + latest + absolute + 4 + 4 + + + 515 + + + Number of SCSI commands issued during the collection interval + commands + + + + Disk + disk + + + + Number + number + + summation + delta + 2 + 3 + + + 516 + + + Average amount of time, in milliseconds, to read from the physical device + deviceReadLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 2 + 3 + + + 517 + + + Average amount of time, in milliseconds, spent by VMkernel to process each SCSI read command + kernelReadLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 2 + 3 + + + 518 + + + Average amount of time taken during the collection interval to process a SCSI read command issued from the guest OS to the virtual machine + totalReadLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 2 + 3 + + + 519 + + + Average amount of time spent in the VMkernel queue, per SCSI read command, during the collection interval + queueReadLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 2 + 3 + + + 520 + + + Average amount of time, in milliseconds, to write to the physical device + deviceWriteLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 2 + 3 + + + 521 + + + Average amount of time, in milliseconds, spent by VMkernel to process each SCSI write command + kernelWriteLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 2 + 3 + + + 522 + + + Average amount of time taken during the collection interval to process a SCSI write command issued by the guest OS to the virtual machine + totalWriteLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 2 + 3 + + + 523 + + + Average amount of time spent in the VMkernel queue, per SCSI write command, during the collection interval + queueWriteLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 2 + 3 + + + 524 + + + Average amount of time, in milliseconds, to complete a SCSI command from the physical device + deviceLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 1 + 3 + + + 525 + + + Average amount of time, in milliseconds, spent by VMkernel to process each SCSI command + kernelLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 2 + 3 + + + 526 + + + Average amount of time spent in the VMkernel queue, per SCSI command, during the collection interval + queueLatency + + + + Disk + disk + + + + Millisecond + millisecond + + average + absolute + 2 + 3 + + + 527 + + + Maximum queue depth + maxQueueDepth + + + + Disk + disk + + + + Number + number + + average + absolute + 1 + 3 + + + 528 + + + Average number of SCSI commands issued per second during the collection interval + commandsAveraged + + + + Disk + disk + + + + Number + number + + average + rate + 2 + 3 + + + 529 + + + Number of receives dropped + droppedRx + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 530 + + + Number of transmits dropped + droppedTx + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 531 + + + Average amount of data received per second + bytesRx + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 3 + + + 532 + + + Average amount of data transmitted per second + bytesTx + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 2 + 3 + + + 533 + + + Number of broadcast packets received during the sampling interval + broadcastRx + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 534 + + + Number of broadcast packets transmitted during the sampling interval + broadcastTx + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 535 + + + Number of multicast packets received during the sampling interval + multicastRx + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 536 + + + Number of multicast packets transmitted during the sampling interval + multicastTx + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 537 + + + Number of packets with errors received during the sampling interval + errorsRx + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 538 + + + Number of packets with errors transmitted during the sampling interval + errorsTx + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 539 + + + Number of frames with unknown protocol received during the sampling interval + unknownProtos + + + + Network + net + + + + Number + number + + summation + delta + 2 + 3 + + + 540 + + + pnicBytesRx + pnicBytesRx + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 541 + + + pnicBytesTx + pnicBytesTx + + + + Network + net + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 542 + + + Number of heartbeats issued per virtual machine during the interval + heartbeat + + + + System + sys + + + + Number + number + + latest + absolute + 4 + 4 + + + 543 + + + Amount of disk space usage for each mount point + diskUsage + + + + System + sys + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 544 + + + Amount of CPU used by the Service Console and other applications during the interval + resourceCpuUsage + + + + System + sys + + + + Megahertz + megaHertz + + none + rate + 4 + 4 + + + 545 + + + Amount of CPU used by the Service Console and other applications during the interval + resourceCpuUsage + + + + System + sys + + + + Megahertz + megaHertz + + average + rate + 3 + 3 + + + 546 + + + Amount of CPU used by the Service Console and other applications during the interval + resourceCpuUsage + + + + System + sys + + + + Megahertz + megaHertz + + maximum + rate + 4 + 4 + + + 547 + + + Amount of CPU used by the Service Console and other applications during the interval + resourceCpuUsage + + + + System + sys + + + + Megahertz + megaHertz + + minimum + rate + 4 + 4 + + + 548 + + + Memory touched by the system resource group + resourceMemTouched + + + + System + sys + + + + Kilobyte + kiloBytes + + latest + absolute + 3 + 3 + + + 549 + + + Memory mapped by the system resource group + resourceMemMapped + + + + System + sys + + + + Kilobyte + kiloBytes + + latest + absolute + 3 + 3 + + + 550 + + + Memory saved due to sharing by the system resource group + resourceMemShared + + + + System + sys + + + + Kilobyte + kiloBytes + + latest + absolute + 3 + 3 + + + 551 + + + Memory swapped out by the system resource group + resourceMemSwapped + + + + System + sys + + + + Kilobyte + kiloBytes + + latest + absolute + 3 + 3 + + + 552 + + + Overhead memory consumed by the system resource group + resourceMemOverhead + + + + System + sys + + + + Kilobyte + kiloBytes + + latest + absolute + 3 + 3 + + + 553 + + + Memory shared by the system resource group + resourceMemCow + + + + System + sys + + + + Kilobyte + kiloBytes + + latest + absolute + 3 + 3 + + + 554 + + + Zero filled memory used by the system resource group + resourceMemZero + + + + System + sys + + + + Kilobyte + kiloBytes + + latest + absolute + 3 + 3 + + + 555 + + + CPU running average over 1 minute of the system resource group + resourceCpuRun1 + + + + System + sys + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 556 + + + CPU active average over 1 minute of the system resource group + resourceCpuAct1 + + + + System + sys + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 557 + + + CPU maximum limited over 1 minute of the system resource group + resourceCpuMaxLimited1 + + + + System + sys + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 558 + + + CPU running average over 5 minutes of the system resource group + resourceCpuRun5 + + + + System + sys + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 559 + + + CPU active average over 5 minutes of the system resource group + resourceCpuAct5 + + + + System + sys + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 560 + + + CPU maximum limited over 5 minutes of the system resource group + resourceCpuMaxLimited5 + + + + System + sys + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 561 + + + CPU allocation reservation (in MHz) of the system resource group + resourceCpuAllocMin + + + + System + sys + + + + Megahertz + megaHertz + + latest + absolute + 3 + 3 + + + 562 + + + CPU allocation limit (in MHz) of the system resource group + resourceCpuAllocMax + + + + System + sys + + + + Megahertz + megaHertz + + latest + absolute + 3 + 3 + + + 563 + + + CPU allocation shares of the system resource group + resourceCpuAllocShares + + + + System + sys + + + + Number + number + + latest + absolute + 3 + 3 + + + 564 + + + Memory allocation reservation (in KB) of the system resource group + resourceMemAllocMin + + + + System + sys + + + + Kilobyte + kiloBytes + + latest + absolute + 3 + 3 + + + 565 + + + Memory allocation limit (in KB) of the system resource group + resourceMemAllocMax + + + + System + sys + + + + Kilobyte + kiloBytes + + latest + absolute + 3 + 3 + + + 566 + + + Memory allocation shares of the system resource group + resourceMemAllocShares + + + + System + sys + + + + Number + number + + latest + absolute + 3 + 3 + + + 567 + + + Total time elapsed, in seconds, since last operating system boot-up + osUptime + + + + System + sys + + + + Second + second + + latest + absolute + 4 + 4 + + + 568 + + + Memory consumed by the system resource group + resourceMemConsumed + + + + System + sys + + + + Kilobyte + kiloBytes + + latest + absolute + 4 + 4 + + + 569 + + + Number of file descriptors used by the system resource group + resourceFdUsage + + + + System + sys + + + + Number + number + + latest + absolute + 4 + 4 + + + 570 + + + CPU active peak over 1 minute + actpk1 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 571 + + + CPU running average over 1 minute + runav1 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 572 + + + CPU active average over 5 minutes + actav5 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 573 + + + CPU active peak over 5 minutes + actpk5 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 574 + + + CPU running average over 5 minutes + runav5 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 575 + + + CPU active average over 15 minutes + actav15 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 576 + + + CPU active peak over 15 minutes + actpk15 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 577 + + + CPU running average over 15 minutes + runav15 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 578 + + + CPU running peak over 1 minute + runpk1 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 579 + + + Amount of CPU resources over the limit that were refused, average over 1 minute + maxLimited1 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 580 + + + CPU running peak over 5 minutes + runpk5 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 581 + + + Amount of CPU resources over the limit that were refused, average over 5 minutes + maxLimited5 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 582 + + + CPU running peak over 15 minutes + runpk15 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 583 + + + Amount of CPU resources over the limit that were refused, average over 15 minutes + maxLimited15 + + + + Resource group CPU + rescpu + + + + Percentage + percent + + latest + absolute + 3 + 3 + + + 584 + + + Group CPU sample count + sampleCount + + + + Resource group CPU + rescpu + + + + Number + number + + latest + absolute + 3 + 3 + + + 585 + + + Group CPU sample period + samplePeriod + + + + Resource group CPU + rescpu + + + + Millisecond + millisecond + + latest + absolute + 3 + 3 + + + 586 + + + Amount of total configured memory that is available for use + memUsed + + + + Management agent + managementAgent + + + + Kilobyte + kiloBytes + + average + absolute + 3 + 3 + + + 587 + + + Sum of the memory swapped by all powered-on virtual machines on the host + swapUsed + + + + Management agent + managementAgent + + + + Kilobyte + kiloBytes + + average + absolute + 3 + 3 + + + 588 + + + Amount of Service Console CPU usage + cpuUsage + + + + Management agent + managementAgent + + + + Megahertz + megaHertz + + average + rate + 3 + 3 + + + 589 + + + Average number of commands issued per second on the storage path during the collection interval + commandsAveraged + + + + Storage path + storagePath + + + + Number + number + + average + rate + 3 + 3 + + + 590 + + + Average number of read commands issued per second on the storage path during the collection interval + numberReadAveraged + + + + Storage path + storagePath + + + + Number + number + + average + rate + 3 + 3 + + + 591 + + + Average number of write commands issued per second on the storage path during the collection interval + numberWriteAveraged + + + + Storage path + storagePath + + + + Number + number + + average + rate + 3 + 3 + + + 592 + + + Rate of reading data on the storage path + read + + + + Storage path + storagePath + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 3 + 3 + + + 593 + + + Rate of writing data on the storage path + write + + + + Storage path + storagePath + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 3 + 3 + + + 594 + + + The average time a read issued on the storage path takes + totalReadLatency + + + + Storage path + storagePath + + + + Millisecond + millisecond + + average + absolute + 3 + 3 + + + 595 + + + The average time a write issued on the storage path takes + totalWriteLatency + + + + Storage path + storagePath + + + + Millisecond + millisecond + + average + absolute + 3 + 3 + + + 596 + + + Average read request size in bytes + readIOSize + + + + Virtual disk + virtualDisk + + + + Number + number + + latest + absolute + 4 + 4 + + + 597 + + + Average write request size in bytes + writeIOSize + + + + Virtual disk + virtualDisk + + + + Number + number + + latest + absolute + 4 + 4 + + + 598 + + + Number of seeks during the interval that were less than 64 LBNs apart + smallSeeks + + + + Virtual disk + virtualDisk + + + + Number + number + + latest + absolute + 4 + 4 + + + 599 + + + Number of seeks during the interval that were between 64 and 8192 LBNs apart + mediumSeeks + + + + Virtual disk + virtualDisk + + + + Number + number + + latest + absolute + 4 + 4 + + + 600 + + + Number of seeks during the interval that were greater than 8192 LBNs apart + largeSeeks + + + + Virtual disk + virtualDisk + + + + Number + number + + latest + absolute + 4 + 4 + + + 601 + + + Read latency in microseconds + readLatencyUS + + + + Virtual disk + virtualDisk + + + + Microsecond + microsecond + + latest + absolute + 4 + 4 + + + 602 + + + Write latency in microseconds + writeLatencyUS + + + + Virtual disk + virtualDisk + + + + Microsecond + microsecond + + latest + absolute + 4 + 4 + + + 603 + + + Storage I/O Control datastore maximum queue depth + datastoreMaxQueueDepth + + + + Datastore + datastore + + + + Number + number + + latest + absolute + 1 + 3 + + + 604 + + + unmapSize + unmapSize + + + + Datastore + datastore + + + + Megabyte + megaBytes + + summation + delta + 4 + 4 + + + 605 + + + unmapIOs + unmapIOs + + + + Datastore + datastore + + + + Number + number + + summation + delta + 4 + 4 + + + 606 + + + Current number of replicated virtual machines + hbrNumVms + + + + vSphere Replication + hbr + + + + Number + number + + average + absolute + 4 + 4 + + + 607 + + + Average amount of data received per second + hbrNetRx + + + + vSphere Replication + hbr + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 608 + + + Average amount of data transmitted per second + hbrNetTx + + + + vSphere Replication + hbr + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 609 + + + Number of caches controlled by the virtual flash module + numActiveVMDKs + + + + Virtual flash module related statistical values + vflashModule + + + + Number + number + + latest + absolute + 4 + 4 + + + 610 + + + Read IOPS + readIops + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Number + number + + average + rate + 4 + 4 + + + 611 + + + Read throughput in kBps + readThroughput + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 612 + + + Average read latency in ms + readAvgLatency + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Millisecond + millisecond + + average + absolute + 4 + 4 + + + 613 + + + Max read latency in ms + readMaxLatency + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Millisecond + millisecond + + latest + absolute + 4 + 4 + + + 614 + + + Cache hit rate percentage + readCacheHitRate + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Percentage + percent + + latest + absolute + 4 + 4 + + + 615 + + + Read congestion + readCongestion + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Number + number + + average + rate + 4 + 4 + + + 616 + + + Write IOPS + writeIops + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Number + number + + average + rate + 4 + 4 + + + 617 + + + Write throughput in kBps + writeThroughput + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 618 + + + Average write latency in ms + writeAvgLatency + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Millisecond + millisecond + + average + absolute + 4 + 4 + + + 619 + + + Max write latency in ms + writeMaxLatency + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Millisecond + millisecond + + latest + absolute + 4 + 4 + + + 620 + + + Write congestion + writeCongestion + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Number + number + + average + rate + 4 + 4 + + + 621 + + + Recovery write IOPS + recoveryWriteIops + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Number + number + + average + rate + 4 + 4 + + + 622 + + + Recovery write through-put in kBps + recoveryWriteThroughput + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Kilobytes per second + kiloBytesPerSecond + + average + rate + 4 + 4 + + + 623 + + + Average recovery write latency in ms + recoveryWriteAvgLatency + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Millisecond + millisecond + + average + absolute + 4 + 4 + + + 624 + + + Max recovery write latency in ms + recoveryWriteMaxLatency + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Millisecond + millisecond + + latest + absolute + 4 + 4 + + + 625 + + + Recovery write congestion + recoveryWriteCongestion + + + + vSAN DOM object related statistical values + vsanDomObj + + + + Number + number + + average + rate + 4 + 4 + + + 626 + + + The utilization of a GPU in percentages + utilization + + + + GPU + gpu + + + + Percentage + percent + + none + absolute + 4 + 4 + + + 627 + + + The utilization of a GPU in percentages + utilization + + + + GPU + gpu + + + + Percentage + percent + + average + absolute + 4 + 4 + + + 628 + + + The utilization of a GPU in percentages + utilization + + + + GPU + gpu + + + + Percentage + percent + + maximum + absolute + 4 + 4 + + + 629 + + + The utilization of a GPU in percentages + utilization + + + + GPU + gpu + + + + Percentage + percent + + minimum + absolute + 4 + 4 + + + 630 + + + The amount of GPU memory used in kilobytes + mem.used + + + + GPU + gpu + + + + Kilobyte + kiloBytes + + none + absolute + 4 + 4 + + + 631 + + + The amount of GPU memory used in kilobytes + mem.used + + + + GPU + gpu + + + + Kilobyte + kiloBytes + + average + absolute + 4 + 4 + + + 632 + + + The amount of GPU memory used in kilobytes + mem.used + + + + GPU + gpu + + + + Kilobyte + kiloBytes + + maximum + absolute + 4 + 4 + + + 633 + + + The amount of GPU memory used in kilobytes + mem.used + + + + GPU + gpu + + + + Kilobyte + kiloBytes + + minimum + absolute + 4 + 4 + + + 634 + + + The amount of GPU memory used in percentages of the total available + mem.usage + + + + GPU + gpu + + + + Percentage + percent + + none + absolute + 4 + 4 + + + 635 + + + The amount of GPU memory used in percentages of the total available + mem.usage + + + + GPU + gpu + + + + Percentage + percent + + average + absolute + 4 + 4 + + + 636 + + + The amount of GPU memory used in percentages of the total available + mem.usage + + + + GPU + gpu + + + + Percentage + percent + + maximum + absolute + 4 + 4 + + + 637 + + + The amount of GPU memory used in percentages of the total available + mem.usage + + + + GPU + gpu + + + + Percentage + percent + + minimum + absolute + 4 + 4 + + + 638 + + + The temperature of a GPU in degrees celsius + temperature + + + + GPU + gpu + + + + Temperature in degrees Celsius + celsius + + average + absolute + 4 + 4 + + + 639 + + + Persistent memory available reservation on a host. + available.reservation + + + + PMEM + pmem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 640 + + + Persistent memory reservation managed by DRS on a host. + drsmanaged.reservation + + + + PMEM + pmem + + + + Megabyte + megaBytes + + latest + absolute + 4 + 4 + + + 701 + + + Memory reservation health state, 2->Red, 1->Green + health.reservationState + + + + Memory + mem + + + + Number + number + + latest + absolute + 4 + 4 + + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/testdata/metrics/responses/property-collector-properties.xml b/receiver/vcenterreceiver/internal/mockserver/responses/property-collector-properties.xml similarity index 100% rename from receiver/vcenterreceiver/testdata/metrics/responses/property-collector-properties.xml rename to receiver/vcenterreceiver/internal/mockserver/responses/property-collector-properties.xml diff --git a/receiver/vcenterreceiver/testdata/metrics/responses/property-collector.xml b/receiver/vcenterreceiver/internal/mockserver/responses/property-collector.xml similarity index 100% rename from receiver/vcenterreceiver/testdata/metrics/responses/property-collector.xml rename to receiver/vcenterreceiver/internal/mockserver/responses/property-collector.xml diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group-empty.xml b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group-empty.xml new file mode 100644 index 0000000000000..ede213ad6ed14 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group-empty.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group.xml b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group.xml new file mode 100644 index 0000000000000..ede213ad6ed14 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-summary.xml b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-summary.xml new file mode 100644 index 0000000000000..0a31e6fc063d6 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-summary.xml @@ -0,0 +1,99 @@ + + + + + + resgroup-9 + + name + Resources + + + summary + + Resources + + resgroup-9 + + 252846 + true + 252846 + + 4000 + normal + + + + 2140385 + true + 2140385 + + 163840 + normal + + + + + + 930037628928 + 189414768640 + 1314275721216 + 1314275721216 + 210757484544 + 2244313350144 + + + 101439 + 18000 + 151407 + 151407 + 13791 + 252846 + + green + disabled + + + 13791 + 14440 + 40543 + 200994 + 13636 + 185343 + 150394 + 239546 + 199617 + 1 + 0 + 0 + 2191 + 1378 + 0 + + 236544 + + + + summary.quickStats + + 13791 + 14440 + 40543 + 200994 + 13636 + 185343 + 150394 + 239546 + 199617 + 1 + 0 + 0 + 2191 + 1378 + 0 + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool.xml b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool.xml new file mode 100644 index 0000000000000..17da7a92d30ba --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool.xml @@ -0,0 +1,21 @@ + + + + + + resgroup-9 + + name + Resources + + + + host-1002 + + name + esxi-27971.cf5e88ac.australia-southeast1.gve.goog + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/service-content.xml b/receiver/vcenterreceiver/internal/mockserver/responses/service-content.xml new file mode 100644 index 0000000000000..9bcfe24504279 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/service-content.xml @@ -0,0 +1,72 @@ + + + + + + group-d1 + propertyCollector + ViewManager + + VMware vCenter Server + VMware vCenter Server 7.0.2 build-19272235 + VMware, Inc. + 7.0.2 + 19272235 + INTL + 000 + linux-x64 + vpx + VirtualCenter + 7.0.2.0 + c005f507-5050-4e15-bed8-10f2b41de30b + VMware VirtualCenter Server + 7.0 + + VpxSettings + UserDirectory + SessionManager + AuthorizationManager + ServiceMgr + PerfMgr + ScheduledTaskManager + AlarmManager + EventManager + TaskManager + ExtensionManager + CustomizationSpecManager + GuestCustomizationManager + CustomFieldsManager + DiagMgr + LicenseManager + SearchIndex + FileManager + DatastoreNamespaceManager + virtualDiskManager + SnmpSystem + ProvChecker + CompatChecker + OvfManager + IpPoolManager + DVSManager + HostProfileManager + ClusterProfileManager + MoComplianceManager + LocalizationManager + StorageResourceManager + guestOperationsManager + OverheadMemoryManager + certificateManager + IoFilterManager + VStorageObjectManager + HostSpecificationManager + CryptoManager + HealthUpdateManager + FailoverClusterConfigurator + FailoverClusterManager + TenantManager-19272235 + SiteInfoManager + StorageQueryManager + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-empty-folder.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-empty-folder.xml new file mode 100644 index 0000000000000..ede213ad6ed14 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-empty-folder.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder-parent.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder-parent.xml new file mode 100644 index 0000000000000..25ac52deddf89 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder-parent.xml @@ -0,0 +1,36 @@ + + + + + + group-v4 + + name + vm + + + parent + datacenter-3 + + + + datacenter-3 + + name + Datacenter + + + parent + group-d1 + + + + group-d1 + + name + Datacenters + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder.xml new file mode 100644 index 0000000000000..ebf2c021be61b --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder.xml @@ -0,0 +1,66 @@ + + + + + + vm-6005 + + name + loadbalancer + + + + vm-6004 + + name + debian + + + + group-v1034 + + childType + + Folder + VirtualMachine + VirtualApp + + + + name + HCX Management VMs + + + + group-v1001 + + childType + + Folder + VirtualMachine + VirtualApp + + + + name + Discovered virtual machine + + + + group-v1022 + + childType + + Folder + VirtualMachine + VirtualApp + + + + name + Workload VMs + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-group.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-group.xml new file mode 100644 index 0000000000000..8fa9c582b78d5 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-group.xml @@ -0,0 +1,14 @@ + + + + + + vm-1040 + + name + CentOS 7 + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-host.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-host.xml new file mode 100644 index 0000000000000..897daf26c445d --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-host.xml @@ -0,0 +1,14 @@ + + + + + + vm-6005 + + summary.runtime.host + host-1002 + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml new file mode 100644 index 0000000000000..6df0df48495bc --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml @@ -0,0 +1,238 @@ + + + + + + vm-1040 + + 2022-05-17T14:39:20Z + 20 + + + + 176 + scsi0:0 + + 0 + + + + 531 + + + 0 + + + + 147 + + + 0 + + + + 146 + + + 0 + + + + 143 + vmnic3 + + 0 + + + + 532 + vmnic3 + + 0 + + + + 147 + vmnic3 + + 0 + + + + 531 + vmnic2 + + 0 + + + + 147 + vmnic2 + + 0 + + + + 143 + vmnic1 + + 0 + + + + 532 + vmnic1 + + 0 + + + + 143 + + + 0 + + + + 531 + vmnic1 + + 0 + + + + 531 + vmnic3 + + 0 + + + + 147 + vmnic1 + + 0 + + + + 146 + vmnic1 + + 0 + + + + 143 + vmnic0 + + 0 + + + + 147 + vmnic0 + + 0 + + + + 146 + vmnic0 + + 0 + + + + 143 + 4000 + + 0 + + + + 146 + vmnic3 + + 0 + + + + 146 + vmnic2 + + 0 + + + + 532 + + + 0 + + + + 531 + 4000 + + 0 + + + + 532 + vmnic0 + + 0 + + + + 143 + vmnic2 + + 0 + + + + 532 + vmnic2 + + 0 + + + + 531 + vmnic0 + + 0 + + + + 175 + scsi0:0 + + 0 + + + + 146 + 4000 + + 0 + + + + 147 + 4000 + + 0 + + + + 532 + 4000 + + 0 + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-properties.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-properties.xml new file mode 100644 index 0000000000000..247e561045504 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-properties.xml @@ -0,0 +1,1300 @@ + + + + + + vm-6004 + + config + + 2022-04-13T18:56:00.417958Z + 1970-01-01T00:00:00Z + debian + Debian GNU/Linux 11 (64-bit) + vmx-19 + 42001f4c-7517-8f34-7a25-82539bff5246 + 2022-04-13T17:59:31.644999Z + 5000bbe0-993e-5813-c56a-198eaa62fb61 + true + 564de59f-2b94-0b67-2754-ed2d4dc0a9e3 + + debian11_64Guest + + + [vsanDatastore] 830f5762-12e2-515b-102b-0c42a15b3c50/debian.vmx + [vsanDatastore] 830f5762-12e2-515b-102b-0c42a15b3c50/ + [vsanDatastore] 830f5762-12e2-515b-102b-0c42a15b3c50/ + [vsanDatastore] 830f5762-12e2-515b-102b-0c42a15b3c50/ + + + 0 + true + true + true + true + manual + true + false + + 0 + + + + false + true + false + false + release + any + false + false + false + automatic + hvAuto + powerOff + false + unset + false + false + + + soft + hard + soft + soft + hard + soft + checkpoint + + + 4 + 1 + 16384 + false + false + + 3000 + + + ISO [vsanDatastore] d7cda260-92d1-4894-9cf8-0c42a15b3c50/debian-11.3.0-amd64-DVD-1.iso + + + [vsanDatastore] d7cda260-92d1-4894-9cf8-0c42a15b3c50/debian-11.3.0-amd64-DVD-1.iso + datastore-1003 + + + true + true + false + ok + + 200 + 0 + + + 12000 + + + Device on the virtual machine PCI bus that provides support for the virtual machine communication interface + + + 32 + + 100 + 17 + -1677766074 + false + true + + + 200 + + + IDE 0 + + 0 + 3000 + + + 201 + + + IDE 1 + + 1 + + + 300 + + + PS2 controller 0 + + 0 + 600 + 700 + + + 100 + + + PCI controller 0 + + 0 + 500 + 12000 + 1000 + 4000 + + + 400 + + + SIO controller 0 + + 0 + + + 600 + + + Keyboard + + 300 + 0 + + + 700 + + + Pointing device; Device + + + + false + autodetect + + 300 + 1 + + + 500 + + + Video card + + 100 + 0 + 8192 + 1 + false + false + automatic + 262144 + + + 1000 + + + VMware paravirtual SCSI + + 100 + 3 + 0 + 2000 + true + noSharing + 7 + + + 2000 + + + 125,829,120 KB + + + [vsanDatastore] 830f5762-12e2-515b-102b-0c42a15b3c50/debian.vmdk + datastore-1003 + 840f5762-ac4a-1296-feca-0c42a15b3c50 + persistent + false + false + true + false + 6000C29c-e66c-8729-d0e0-4ded1be42148 + d400fbcadf15c3a3c8a07b6ffffffffe + false + sharingNone + + 1000 + 0 + 125829120 + 128849018880 + + 1000 + normal + + + -1 + + 1000 + normal + + 0 + + 9-2000 + false + + + 4000 + + + DVSwitch: 50 00 df 4b 09 9b 8b f7-d8 2e ae 6e 9f fb 35 0a + + + + 50 00 df 4b 09 9b 8b f7-d8 2e ae 6e 9f fb 35 0a + dvportgroup-4007 + 107b844e-b6d8-41a7-b239-45b3c1e40acb + 1649876160 + + + + unset + true + true + true + ok + + 100 + 7 + assigned + 00:50:56:80:8d:62 + true + + 0 + + 50 + normal + + -1 + + 25a979c8-e087-4c56-a1ee-c77f7ba8c5d1 + true + + + + 0 + false + -1 + + 4000 + normal + + + + 0 + false + -1 + + 163840 + normal + + 151 + + false + false + false + 16384 + 0 + + nvram + debian.nvram + + + svga.present + TRUE + + + pciBridge0.present + TRUE + + + pciBridge4.present + TRUE + + + pciBridge4.virtualDev + pcieRootPort + + + pciBridge4.functions + 8 + + + pciBridge5.present + TRUE + + + pciBridge5.virtualDev + pcieRootPort + + + pciBridge5.functions + 8 + + + pciBridge6.present + TRUE + + + pciBridge6.virtualDev + pcieRootPort + + + pciBridge6.functions + 8 + + + pciBridge7.present + TRUE + + + pciBridge7.virtualDev + pcieRootPort + + + pciBridge7.functions + 8 + + + hpet0.present + TRUE + + + sched.cpu.latencySensitivity + normal + + + vmware.tools.internalversion + 0 + + + vmware.tools.requiredversion + 11334 + + + migrate.hostLogState + none + + + migrate.migrationId + 0 + + + migrate.hostLog + debian-65890666.hlog + + + viv.moid + c005f507-5050-4e15-bed8-10f2b41de30b:vm-6004:bxZ8c0yeNQvzT6ujHqKLtSp6nwsY5RIOA6n0BvNXlDU= + + + ethernet0.pciSlotNumber + 192 + + + monitor.phys_bits_used + 45 + + + numa.autosize.cookie + 40012 + + + numa.autosize.vcpu.maxPerVirtualNode + 4 + + + pciBridge0.pciSlotNumber + 17 + + + pciBridge4.pciSlotNumber + 21 + + + pciBridge5.pciSlotNumber + 22 + + + pciBridge6.pciSlotNumber + 23 + + + pciBridge7.pciSlotNumber + 24 + + + sched.swap.derivedName + /vmfs/volumes/vsan:52a9fa9bb23554ec-600746f1f7361622/830f5762-12e2-515b-102b-0c42a15b3c50/debian-049d5a68.vswp + + + scsi0.pciSlotNumber + 160 + + + scsi0.sasWWID + 50 05 05 6c 75 17 8f 30 + + + scsi0:0.redo + + + + softPowerOff + FALSE + + + vmci0.pciSlotNumber + 32 + + + vmotion.checkpointFBSize + 8388608 + + + vmotion.checkpointSVGAPrimarySize + 8388608 + + + vmotion.svga.graphicsMemoryKB + 8192 + + + vmotion.svga.mobMaxSize + 8388608 + + + svga.guestBackedPrimaryAware + TRUE + + + vsanDatastore + /vmfs/volumes/vsan:52a9fa9bb23554ec-600746f1f7361622 + + inherit + + 0 + false + false + false + 10000 + + false + bios + 40 + false + false + false + false + + never + none + + false + 830f5762-12e2-515b-102b-0c42a15b3c50 + 890f5762-021b-22d5-a34b-0c42a15b3c50 + + false + + opportunistic + + 0 + unlocked + + + ftEncryptionOpportunistic + + false + + + + runtime + + + + false + vmNptIncompatibleHost + green + + 4000 + + host-1002 + connected + poweredOn + notConfigured + + true + + false + 2022-04-13T18:54:10Z + 0 + 10372 + 16384 + 0 + inactive + false + intel-cascadelake + false + + cpuid.lm + cpuid.lm + Num:Min:1 + + + cpuid.3dnprefetch + cpuid.3dnprefetch + Bool:Min:1 + + + cpuid.abm + cpuid.abm + Bool:Min:1 + + + cpuid.adx + cpuid.adx + Bool:Min:1 + + + cpuid.aes + cpuid.aes + Bool:Min:1 + + + cpuid.avx + cpuid.avx + Bool:Min:1 + + + cpuid.avx2 + cpuid.avx2 + Bool:Min:1 + + + cpuid.avx512bw + cpuid.avx512bw + Bool:Min:1 + + + cpuid.avx512cd + cpuid.avx512cd + Bool:Min:1 + + + cpuid.avx512dq + cpuid.avx512dq + Bool:Min:1 + + + cpuid.avx512f + cpuid.avx512f + Bool:Min:1 + + + cpuid.avx512vl + cpuid.avx512vl + Bool:Min:1 + + + cpuid.avx512vnni + cpuid.avx512vnni + Bool:Min:1 + + + cpuid.bmi1 + cpuid.bmi1 + Bool:Min:1 + + + cpuid.bmi2 + cpuid.bmi2 + Bool:Min:1 + + + cpuid.clflushopt + cpuid.clflushopt + Bool:Min:1 + + + cpuid.clwb + cpuid.clwb + Bool:Min:1 + + + cpuid.cmpxchg16b + cpuid.cmpxchg16b + Bool:Min:1 + + + cpuid.enfstrg + cpuid.enfstrg + Bool:Min:1 + + + cpuid.f16c + cpuid.f16c + Bool:Min:1 + + + cpuid.fcmd + cpuid.fcmd + Bool:Min:1 + + + cpuid.fma + cpuid.fma + Bool:Min:1 + + + cpuid.fsgsbase + cpuid.fsgsbase + Bool:Min:1 + + + cpuid.ibpb + cpuid.ibpb + Bool:Min:1 + + + cpuid.ibrs + cpuid.ibrs + Bool:Min:1 + + + cpuid.intel + cpuid.intel + Bool:Min:1 + + + cpuid.invpcid + cpuid.invpcid + Bool:Min:1 + + + cpuid.lahf64 + cpuid.lahf64 + Bool:Min:1 + + + cpuid.lm + cpuid.lm + Bool:Min:1 + + + cpuid.mdclear + cpuid.mdclear + Bool:Min:1 + + + cpuid.movbe + cpuid.movbe + Bool:Min:1 + + + cpuid.nx + cpuid.nx + Bool:Min:1 + + + cpuid.pcid + cpuid.pcid + Bool:Min:1 + + + cpuid.pclmulqdq + cpuid.pclmulqdq + Bool:Min:1 + + + cpuid.pdpe1gb + cpuid.pdpe1gb + Bool:Min:1 + + + cpuid.pku + cpuid.pku + Bool:Min:1 + + + cpuid.popcnt + cpuid.popcnt + Bool:Min:1 + + + cpuid.rdrand + cpuid.rdrand + Bool:Min:1 + + + cpuid.rdseed + cpuid.rdseed + Bool:Min:1 + + + cpuid.rdtscp + cpuid.rdtscp + Bool:Min:1 + + + cpuid.smap + cpuid.smap + Bool:Min:1 + + + cpuid.smep + cpuid.smep + Bool:Min:1 + + + cpuid.ss + cpuid.ss + Bool:Min:1 + + + cpuid.ssbd + cpuid.ssbd + Bool:Min:1 + + + cpuid.sse3 + cpuid.sse3 + Bool:Min:1 + + + cpuid.sse41 + cpuid.sse41 + Bool:Min:1 + + + cpuid.sse42 + cpuid.sse42 + Bool:Min:1 + + + cpuid.ssse3 + cpuid.ssse3 + Bool:Min:1 + + + cpuid.stibp + cpuid.stibp + Bool:Min:1 + + + cpuid.xcr0_master_hi16_zmm + cpuid.xcr0_master_hi16_zmm + Bool:Min:1 + + + cpuid.xcr0_master_opmask + cpuid.xcr0_master_opmask + Bool:Min:1 + + + cpuid.xcr0_master_pkru + cpuid.xcr0_master_pkru + Bool:Min:1 + + + cpuid.xcr0_master_sse + cpuid.xcr0_master_sse + Bool:Min:1 + + + cpuid.xcr0_master_ymm_h + cpuid.xcr0_master_ymm_h + Bool:Min:1 + + + cpuid.xcr0_master_zmm_h + cpuid.xcr0_master_zmm_h + Bool:Min:1 + + + cpuid.xgetbv_ecx1 + cpuid.xgetbv_ecx1 + Bool:Min:1 + + + cpuid.xsave + cpuid.xsave + Bool:Min:1 + + + cpuid.xsavec + cpuid.xsavec + Bool:Min:1 + + + cpuid.xsaveopt + cpuid.xsaveopt + Bool:Min:1 + + + cpuid.xsaves + cpuid.xsaves + Bool:Min:1 + + + misc.cpuidfaulting + misc.cpuidfaulting + Bool:Min:1 + + + misc.ibrs_all + misc.ibrs_all + Bool:Min:1 + + + misc.mds_no + misc.mds_no + Bool:Min:1 + + + misc.rdcl_no + misc.rdcl_no + Bool:Min:1 + + + misc.rsba_no + misc.rsba_no + Bool:Min:1 + + false + false + false + + + + summary + + vm-6004 + + + + false + vmNptIncompatibleHost + green + + 4000 + + host-1002 + connected + poweredOn + notConfigured + + true + + false + 2022-04-13T18:54:10Z + 0 + 10372 + 16384 + 0 + inactive + false + intel-cascadelake + false + + cpuid.lm + cpuid.lm + Num:Min:1 + + + cpuid.3dnprefetch + cpuid.3dnprefetch + Bool:Min:1 + + + cpuid.abm + cpuid.abm + Bool:Min:1 + + + cpuid.adx + cpuid.adx + Bool:Min:1 + + + cpuid.aes + cpuid.aes + Bool:Min:1 + + + cpuid.avx + cpuid.avx + Bool:Min:1 + + + cpuid.avx2 + cpuid.avx2 + Bool:Min:1 + + + cpuid.avx512bw + cpuid.avx512bw + Bool:Min:1 + + + cpuid.avx512cd + cpuid.avx512cd + Bool:Min:1 + + + cpuid.avx512dq + cpuid.avx512dq + Bool:Min:1 + + + cpuid.avx512f + cpuid.avx512f + Bool:Min:1 + + + cpuid.avx512vl + cpuid.avx512vl + Bool:Min:1 + + + cpuid.avx512vnni + cpuid.avx512vnni + Bool:Min:1 + + + cpuid.bmi1 + cpuid.bmi1 + Bool:Min:1 + + + cpuid.bmi2 + cpuid.bmi2 + Bool:Min:1 + + + cpuid.clflushopt + cpuid.clflushopt + Bool:Min:1 + + + cpuid.clwb + cpuid.clwb + Bool:Min:1 + + + cpuid.cmpxchg16b + cpuid.cmpxchg16b + Bool:Min:1 + + + cpuid.enfstrg + cpuid.enfstrg + Bool:Min:1 + + + cpuid.f16c + cpuid.f16c + Bool:Min:1 + + + cpuid.fcmd + cpuid.fcmd + Bool:Min:1 + + + cpuid.fma + cpuid.fma + Bool:Min:1 + + + cpuid.fsgsbase + cpuid.fsgsbase + Bool:Min:1 + + + cpuid.ibpb + cpuid.ibpb + Bool:Min:1 + + + cpuid.ibrs + cpuid.ibrs + Bool:Min:1 + + + cpuid.intel + cpuid.intel + Bool:Min:1 + + + cpuid.invpcid + cpuid.invpcid + Bool:Min:1 + + + cpuid.lahf64 + cpuid.lahf64 + Bool:Min:1 + + + cpuid.lm + cpuid.lm + Bool:Min:1 + + + cpuid.mdclear + cpuid.mdclear + Bool:Min:1 + + + cpuid.movbe + cpuid.movbe + Bool:Min:1 + + + cpuid.nx + cpuid.nx + Bool:Min:1 + + + cpuid.pcid + cpuid.pcid + Bool:Min:1 + + + cpuid.pclmulqdq + cpuid.pclmulqdq + Bool:Min:1 + + + cpuid.pdpe1gb + cpuid.pdpe1gb + Bool:Min:1 + + + cpuid.pku + cpuid.pku + Bool:Min:1 + + + cpuid.popcnt + cpuid.popcnt + Bool:Min:1 + + + cpuid.rdrand + cpuid.rdrand + Bool:Min:1 + + + cpuid.rdseed + cpuid.rdseed + Bool:Min:1 + + + cpuid.rdtscp + cpuid.rdtscp + Bool:Min:1 + + + cpuid.smap + cpuid.smap + Bool:Min:1 + + + cpuid.smep + cpuid.smep + Bool:Min:1 + + + cpuid.ss + cpuid.ss + Bool:Min:1 + + + cpuid.ssbd + cpuid.ssbd + Bool:Min:1 + + + cpuid.sse3 + cpuid.sse3 + Bool:Min:1 + + + cpuid.sse41 + cpuid.sse41 + Bool:Min:1 + + + cpuid.sse42 + cpuid.sse42 + Bool:Min:1 + + + cpuid.ssse3 + cpuid.ssse3 + Bool:Min:1 + + + cpuid.stibp + cpuid.stibp + Bool:Min:1 + + + cpuid.xcr0_master_hi16_zmm + cpuid.xcr0_master_hi16_zmm + Bool:Min:1 + + + cpuid.xcr0_master_opmask + cpuid.xcr0_master_opmask + Bool:Min:1 + + + cpuid.xcr0_master_pkru + cpuid.xcr0_master_pkru + Bool:Min:1 + + + cpuid.xcr0_master_sse + cpuid.xcr0_master_sse + Bool:Min:1 + + + cpuid.xcr0_master_ymm_h + cpuid.xcr0_master_ymm_h + Bool:Min:1 + + + cpuid.xcr0_master_zmm_h + cpuid.xcr0_master_zmm_h + Bool:Min:1 + + + cpuid.xgetbv_ecx1 + cpuid.xgetbv_ecx1 + Bool:Min:1 + + + cpuid.xsave + cpuid.xsave + Bool:Min:1 + + + cpuid.xsavec + cpuid.xsavec + Bool:Min:1 + + + cpuid.xsaveopt + cpuid.xsaveopt + Bool:Min:1 + + + cpuid.xsaves + cpuid.xsaves + Bool:Min:1 + + + misc.cpuidfaulting + misc.cpuidfaulting + Bool:Min:1 + + + misc.ibrs_all + misc.ibrs_all + Bool:Min:1 + + + misc.mds_no + misc.mds_no + Bool:Min:1 + + + misc.rdcl_no + misc.rdcl_no + Bool:Min:1 + + + misc.rsba_no + misc.rsba_no + Bool:Min:1 + + false + false + false + + + toolsNotInstalled + guestToolsNotInstalled + guestToolsNotInstalled + guestToolsNotRunning + + + debian + + [vsanDatastore] 830f5762-12e2-515b-102b-0c42a15b3c50/debian.vmx + 16384 + 0 + 0 + 4 + 1 + 1 + 42001f4c-7517-8f34-7a25-82539bff5246 + 5000bbe0-993e-5813-c56a-198eaa62fb61 + debian11_64Guest + Debian GNU/Linux 11 (64-bit) + + false + false + 0 + vmx-19 + + + 16311648256 + 258847277056 + 15992881152 + 2022-05-17T14:28:26.159606Z + + + 0 + 0 + 0 + 163 + 6599 + gray + 0 + 1904 + 10372 + 16535 + 6524 + 6524 + 0 + 0 + 0 + 76 + -1 + -1 + gray + 0 + 2925324 + 0 + + green + + + + + + \ No newline at end of file diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index f3a641e7ca11f..732ecc9493eff 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -42,7 +42,7 @@ func newVmwareVcenterScraper( logger *zap.Logger, config *Config, ) *vcenterMetricScraper { - client := newVmwarevcenterClient(config) + client := newVcenterClient(config) return &vcenterMetricScraper{ client: client, config: config, @@ -66,7 +66,7 @@ func (v *vcenterMetricScraper) Shutdown(ctx context.Context) error { func (v *vcenterMetricScraper) scrape(ctx context.Context) (pdata.Metrics, error) { if v.client == nil { - v.client = newVmwarevcenterClient(v.config) + v.client = newVcenterClient(v.config) } // ensure connection before scraping diff --git a/receiver/vcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go index b98caacf26a4d..dd46dc3c0f8a3 100644 --- a/receiver/vcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -16,51 +16,45 @@ package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collec import ( "context" + "embed" "path/filepath" "testing" "github.com/stretchr/testify/require" - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/find" - "github.com/vmware/govmomi/session" - "github.com/vmware/govmomi/simulator" - "github.com/vmware/govmomi/vim25" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest/golden" "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/metadata" + mock "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/mockserver" ) +//go:embed internal/mockserver/responses/* +var resources embed.FS + func TestScrape(t *testing.T) { - simulator.Test(func(ctx context.Context, c *vim25.Client) { - finder := find.NewFinder(c) - client := &vcenterClient{ - cfg: NewFactory().CreateDefaultConfig().(*Config), - moClient: &govmomi.Client{ - SessionManager: session.NewManager(c), - Client: c, - }, - vimDriver: c, - finder: finder, - } - scraper := &vcenterMetricScraper{ - client: client, - mb: metadata.NewMetricsBuilder(metadata.DefaultMetricsSettings()), - logger: zap.NewNop(), - } - metrics, err := scraper.scrape(ctx) - require.NoError(t, err) - require.NotEqual(t, metrics.MetricCount(), 0) + ctx := context.Background() + mockServer := mock.MockServer(t, resources) + + cfg := &Config{ + Metrics: metadata.DefaultMetricsSettings(), + Endpoint: mockServer.URL, + Username: mock.MockUsername, + Password: mock.MockPassword, + } + scraper := newVmwareVcenterScraper(zap.NewNop(), cfg) + + metrics, err := scraper.scrape(ctx) + require.NoError(t, err) + require.NotEqual(t, metrics.MetricCount(), 0) - goldenPath := filepath.Join("testdata", "metrics", "expected.json") - expectedMetrics, err := golden.ReadMetrics(goldenPath) - require.NoError(t, err) + goldenPath := filepath.Join("testdata", "metrics", "expected.json") + expectedMetrics, err := golden.ReadMetrics(goldenPath) + require.NoError(t, err) - err = scrapertest.CompareMetrics(expectedMetrics, metrics, scrapertest.IgnoreMetricValues(), scrapertest.IgnoreMetricAttributeValue("vcenter.host.name")) - require.NoError(t, err) - require.NoError(t, scraper.Shutdown(ctx)) - }) + err = scrapertest.CompareMetrics(expectedMetrics, metrics) + require.NoError(t, err) + require.NoError(t, scraper.Shutdown(ctx)) } func TestScrape_NoClient(t *testing.T) { @@ -76,6 +70,7 @@ func TestScrape_NoClient(t *testing.T) { metrics, err := scraper.scrape(ctx) require.ErrorContains(t, err, "unable to connect to vSphere SDK") require.Equal(t, metrics.MetricCount(), 0) + require.NoError(t, scraper.Shutdown(ctx)) } func TestStartFailures_Metrics(t *testing.T) { diff --git a/receiver/vcenterreceiver/testdata/metrics/expected.json b/receiver/vcenterreceiver/testdata/metrics/expected.json index f82faa2169878..573866667a0c3 100644 --- a/receiver/vcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vcenterreceiver/testdata/metrics/expected.json @@ -6,13 +6,13 @@ { "key": "vcenter.host.name", "value": { - "stringValue": "DC0_C0_H0" + "stringValue": "esxi-27971.cf5e88ac.australia-southeast1.gve.goog" } }, { "key": "vcenter.cluster.name", "value": { - "stringValue": "DC0_C0" + "stringValue": "Cluster" } } ] @@ -30,9 +30,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "67" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "6107" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -45,9 +45,9 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asDouble": 1.4603312990409765 + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asDouble": 6.542186227878476 } ] } @@ -59,9 +59,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "1404" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "140833" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -74,9 +74,9 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asDouble": 34.285714285714285 + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asDouble": 17.948557824655133 } ] } @@ -96,9 +96,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378765516000", - "asInt": "6492" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "40810" }, { "attributes": [ @@ -109,9 +109,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358765516000", - "asInt": "7023" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "41703" }, { "attributes": [ @@ -122,9 +122,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338765516000", - "asInt": "8293" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "42960" }, { "attributes": [ @@ -135,9 +135,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318765516000", - "asInt": "13480" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "42206" }, { "attributes": [ @@ -148,9 +148,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298765516000", - "asInt": "5871" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "41480" }, { "attributes": [ @@ -161,9 +161,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378765516000", - "asInt": "10440" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "42110" }, { "attributes": [ @@ -174,9 +174,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358765516000", - "asInt": "12898" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "42686" }, { "attributes": [ @@ -187,9 +187,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338765516000", - "asInt": "12030" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "44277" }, { "attributes": [ @@ -200,9 +200,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318765516000", - "asInt": "28368" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "43122" }, { "attributes": [ @@ -213,20 +213,10 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298765516000", - "asInt": "16059" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "42703" + }, { "attributes": [ { @@ -236,9 +226,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378765516000", - "asInt": "312" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "11182" }, { "attributes": [ @@ -249,9 +239,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358765516000", - "asInt": "794" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "13009" }, { "attributes": [ @@ -262,9 +252,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338765516000", - "asInt": "447" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "16489" }, { "attributes": [ @@ -275,9 +265,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318765516000", - "asInt": "1061" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "12398" }, { "attributes": [ @@ -288,9 +278,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298765516000", - "asInt": "667" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "12984" }, { "attributes": [ @@ -301,9 +291,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378765516000", - "asInt": "678" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "13316" }, { "attributes": [ @@ -314,9 +304,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358765516000", - "asInt": "908" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "14473" }, { "attributes": [ @@ -327,9 +317,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338765516000", - "asInt": "1134" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "19662" }, { "attributes": [ @@ -340,9 +330,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318765516000", - "asInt": "1182" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "15478" }, { "attributes": [ @@ -353,204 +343,74 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298765516000", - "asInt": "540" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378765516000", - "asInt": "1238" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "14458" }, - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358765516000", - "asInt": "2030" - }, - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338765516000", - "asInt": "1550" - }, - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318765516000", - "asInt": "2512" - }, - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298765516000", - "asInt": "1712" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H1" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host.", - "unit": "MHz", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "67" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asDouble": 1.4603312990409765 - } - ] - } - }, - { - "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "1404" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.packet.count", - "description": "The number of packets sent and received, as measured over the most recent 20s interval.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ { "attributes": [ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378801400000", - "asInt": "7807" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "116" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358801400000", - "asInt": "9662" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "114" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338801400000", - "asInt": "14219" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "113" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318801400000", - "asInt": "13740" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "112" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298801400000", - "asInt": "8278" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "120" }, { "attributes": [ @@ -561,9 +421,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378801400000", - "asInt": "17493" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "55647" }, { "attributes": [ @@ -574,9 +434,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358801400000", - "asInt": "18699" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "57376" }, { "attributes": [ @@ -587,9 +447,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338801400000", - "asInt": "22029" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "64156" }, { "attributes": [ @@ -600,9 +460,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318801400000", - "asInt": "30410" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "58814" }, { "attributes": [ @@ -613,20 +473,10 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298801400000", - "asInt": "14468" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "57390" + }, { "attributes": [ { @@ -636,9 +486,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378801400000", - "asInt": "613" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "51992" }, { "attributes": [ @@ -649,9 +499,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358801400000", - "asInt": "973" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "54712" }, { "attributes": [ @@ -662,9 +512,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338801400000", - "asInt": "645" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "59449" }, { "attributes": [ @@ -675,9 +525,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318801400000", - "asInt": "753" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "54604" }, { "attributes": [ @@ -688,243 +538,1173 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298801400000", - "asInt": "667" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "54464" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "received" + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378801400000", - "asInt": "622" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "received" + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358801400000", - "asInt": "907" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "received" + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338801400000", - "asInt": "1096" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "received" + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318801400000", - "asInt": "935" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "received" + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298801400000", - "asInt": "706" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378801400000", - "asInt": "1338" - }, - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358801400000", - "asInt": "2609" - }, - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338801400000", - "asInt": "2174" - }, - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318801400000", - "asInt": "2322" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" }, - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298801400000", - "asInt": "1203" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H2" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host.", - "unit": "MHz", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "67" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asDouble": 1.4603312990409765 - } - ] - } - }, - { - "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "1404" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.packet.count", - "description": "The number of packets sent and received, as measured over the most recent 20s interval.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ { "attributes": [ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378842284000", - "asInt": "7806" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "105" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358842284000", - "asInt": "8504" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "103" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "104" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "102" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "109" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.packet.errors", + "description": "The summation of packet errors on the host network.", + "unit": "{errors}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.host.network.throughput", + "description": "The amount of data that was sent or received over the network by the host.", + "unit": "{KBy/s}", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "411" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "422" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "551" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "617" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "488" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "928" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "1120" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "1646" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "1291" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "1058" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "3064" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "2537" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "4373" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "3746" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "2569" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338842284000", - "asInt": "11535" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" }, { "attributes": [ @@ -935,9 +1715,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318842284000", - "asInt": "15287" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" }, { "attributes": [ @@ -948,9 +1728,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298842284000", - "asInt": "7040" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" }, { "attributes": [ @@ -961,9 +1741,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378842284000", - "asInt": "13606" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "570" }, { "attributes": [ @@ -974,9 +1754,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358842284000", - "asInt": "20110" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "768" }, { "attributes": [ @@ -987,9 +1767,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338842284000", - "asInt": "21056" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "1269" }, { "attributes": [ @@ -1000,9 +1780,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318842284000", - "asInt": "30718" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "927" }, { "attributes": [ @@ -1013,20 +1793,140 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298842284000", - "asInt": "13724" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "681" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "357" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "351" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "376" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "363" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "376" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "3475" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "2959" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "4924" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "4364" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "3058" + }, { "attributes": [ { @@ -1036,9 +1936,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378842284000", - "asInt": "397" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" }, { "attributes": [ @@ -1049,9 +1949,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358842284000", - "asInt": "1041" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" }, { "attributes": [ @@ -1062,9 +1962,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338842284000", - "asInt": "952" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" }, { "attributes": [ @@ -1075,9 +1975,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318842284000", - "asInt": "919" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" }, { "attributes": [ @@ -1088,9 +1988,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298842284000", - "asInt": "692" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" }, { "attributes": [ @@ -1101,9 +2001,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378842284000", - "asInt": "575" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" }, { "attributes": [ @@ -1114,9 +2014,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358842284000", - "asInt": "825" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" }, { "attributes": [ @@ -1127,9 +2027,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338842284000", - "asInt": "773" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" }, { "attributes": [ @@ -1140,9 +2040,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318842284000", - "asInt": "886" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" }, { "attributes": [ @@ -1153,9 +2053,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298842284000", - "asInt": "377" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1168,29 +2068,129 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378842284000", - "asInt": "931" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "769" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "773" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "927" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "980" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "864" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "3634" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "3305" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "5642" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "4674" }, { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111358842284000", - "asInt": "1437" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "3251" }, { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111338842284000", - "asInt": "1520" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808280000000000", + "asInt": "4404" }, { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111318842284000", - "asInt": "2309" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808300000000000", + "asInt": "4079" }, { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111298842284000", - "asInt": "1326" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808320000000000", + "asInt": "6570" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808340000000000", + "asInt": "5655" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652808360000000000", + "asInt": "4117" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1206,7 +2206,7 @@ { "key": "vcenter.datastore.name", "value": { - "stringValue": "LocalDS_0" + "stringValue": "vsanDatastore" } } ] @@ -1232,9 +2232,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "42949672960" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "5917763748696" }, { "attributes": [ @@ -1245,9 +2245,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "10995116277760" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "57611315257344" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1260,9 +2260,9 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asDouble": 0.390625 + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asDouble": 10.271877533539964 } ] } @@ -1277,25 +2277,25 @@ { "key": "vcenter.vm.name", "value": { - "stringValue": "DC0_H0_VM0" + "stringValue": "CentOS 7" } }, { "key": "vcenter.vm.id", "value": { - "stringValue": "b4689bed-97f0-5bcd-8a4c-07477cc8f06f" + "stringValue": "5000bbe0-993e-5813-c56a-198eaa62fb61" } }, { "key": "vcenter.cluster.name", "value": { - "stringValue": "DC0_C0" + "stringValue": "Cluster" } }, { "key": "vcenter.host.name", "value": { - "stringValue": "DC0_H0" + "stringValue": "esxi-27971.cf5e88ac.australia-southeast1.gve.goog" } } ] @@ -1306,6 +2306,41 @@ "name": "otelcol/vmwarevcenterreceiver" }, "metrics": [ + { + "name": "vcenter.vm.disk.latency.avg", + "description": "The latency of operations to the virtual machine's disk.", + "unit": "µs", + "gauge": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + } + ] + } + }, { "name": "vcenter.vm.disk.usage", "description": "The amount of storage space used by the virtual machine.", @@ -1321,9 +2356,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "0" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "16311648256" }, { "attributes": [ @@ -1334,14 +2369,28 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "0" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "258847277056" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, + { + "name": "vcenter.vm.disk.utilization", + "description": "The utilization of storage on the virtual machine.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asDouble": 6.301649544673818 + } + ] + } + }, { "name": "vcenter.vm.memory.ballooned", "description": "The amount of memory that is ballooned due to virtualization.", @@ -1349,8 +2398,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", "asInt": "0" } ], @@ -1364,9 +2413,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "0" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "163" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1387,9 +2436,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378876866000", - "asInt": "1021" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" }, { "attributes": [ @@ -1400,32 +2449,22 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378876866000", - "asInt": "2549" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "received" + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378876866000", - "asInt": "196" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" }, { "attributes": [ @@ -1436,176 +2475,49 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378876866000", - "asInt": "335" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378876866000", - "asInt": "785" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_H0_VM1" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "12f8928d-f144-5c57-89db-dd2d0902c9fa" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - }, - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_H0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space used by the virtual machine.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "disk_state", - "value": { - "stringValue": "used" - } - } - ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", "asInt": "0" }, { "attributes": [ { - "key": "disk_state", + "key": "direction", "value": { - "stringValue": "available" + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ + }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378912560000", - "asInt": "1059" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "received" + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378912560000", - "asInt": "1856" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, { "attributes": [ { @@ -1615,141 +2527,60 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378912560000", - "asInt": "288" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378912560000", - "asInt": "303" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378912560000", - "asInt": "749" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_C0_RP0_VM0" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "bfff331f-7f07-572d-951e-edd3701dc061" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - }, - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space used by the virtual machine.", - "unit": "By", - "sum": { - "dataPoints": [ + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, { "attributes": [ { - "key": "disk_state", + "key": "direction", "value": { - "stringValue": "used" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", "asInt": "0" }, { "attributes": [ { - "key": "disk_state", + "key": "direction", "value": { - "stringValue": "available" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine.", - "unit": "MBy", - "sum": { - "dataPoints": [ + }, { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", "asInt": "0" } ], @@ -1757,9 +2588,9 @@ } }, { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", + "name": "vcenter.vm.network.throughput", + "description": "The amount of data that was received or sent over the network of the virtual machine.", + "unit": "By/sec", "sum": { "dataPoints": [ { @@ -1767,37 +2598,27 @@ { "key": "direction", "value": { - "stringValue": "transmitted" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378950777000", - "asInt": "1334" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "received" + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378950777000", - "asInt": "1981" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, { "attributes": [ { @@ -1807,9 +2628,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378950777000", - "asInt": "239" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" }, { "attributes": [ @@ -1820,140 +2641,62 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378950777000", - "asInt": "342" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378950777000", - "asInt": "497" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.vm.name", - "value": { - "stringValue": "DC0_C0_RP0_VM1" - } - }, - { - "key": "vcenter.vm.id", - "value": { - "stringValue": "6132d223-1566-5921-bc3b-df91ece09a4d" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - }, - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ - { - "name": "vcenter.vm.disk.usage", - "description": "The amount of storage space used by the virtual machine.", - "unit": "By", - "sum": { - "dataPoints": [ + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, { "attributes": [ { - "key": "disk_state", + "key": "direction", "value": { - "stringValue": "used" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", "asInt": "0" }, { "attributes": [ { - "key": "disk_state", + "key": "direction", "value": { - "stringValue": "available" + "stringValue": "received" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.ballooned", - "description": "The amount of memory that is ballooned due to virtualization.", - "unit": "By", - "sum": { - "dataPoints": [ + }, { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "transmitted" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.memory.usage", - "description": "The amount of memory that is used by the virtual machine.", - "unit": "MBy", - "sum": { - "dataPoints": [ + }, { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "received" + } + } + ], + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", "asInt": "0" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ + }, { "attributes": [ { @@ -1963,33 +2706,23 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378990665000", - "asInt": "1081" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" }, { "attributes": [ { "key": "direction", "value": { - "stringValue": "received" + "stringValue": "transmitted" } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378990665000", - "asInt": "2882" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, { "attributes": [ { @@ -1999,9 +2732,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378990665000", - "asInt": "228" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" }, { "attributes": [ @@ -2012,9 +2745,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378990665000", - "asInt": "307" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2027,9 +2760,34 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378990665000", - "asInt": "597" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" + }, + { + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1652798360000000000", + "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2045,7 +2803,7 @@ { "key": "vcenter.cluster.name", "value": { - "stringValue": "DC0_C0" + "stringValue": "Cluster" } } ] @@ -2063,9 +2821,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "6882" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "280044" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2086,8 +2844,8 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", "asInt": "0" }, { @@ -2099,8 +2857,8 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", "asInt": "3" } ], @@ -2122,9 +2880,9 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "4" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "1" }, { "attributes": [ @@ -2135,8 +2893,8 @@ } } ], - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", "asInt": "0" } ], @@ -2171,75 +2929,54 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "9000" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "4000" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, { - "name": "vcenter.resource_pool.memory.shares", - "description": "The amount of shares of memory in the resource pool.", - "unit": "{shares}", + "name": "vcenter.resource_pool.cpu.usage", + "description": "The usage of the CPU used by the resource pool.", + "unit": "{MHz}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "9000" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "13791" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.resource_pool.name", - "value": { - "stringValue": "Resources" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vmwarevcenterreceiver" - }, - "metrics": [ + }, { - "name": "vcenter.resource_pool.cpu.shares", - "description": "The amount of shares of CPU in the resource pool.", + "name": "vcenter.resource_pool.memory.shares", + "description": "The amount of shares of memory in the resource pool.", "unit": "{shares}", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "9000" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "163840" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, { - "name": "vcenter.resource_pool.memory.shares", - "description": "The amount of shares of memory in the resource pool.", - "unit": "{shares}", + "name": "vcenter.resource_pool.memory.usage", + "description": "The usage of the memory by the resource pool.", + "unit": "MBy", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652111378434918000", - "timeUnixNano": "1652111378724588000", - "asInt": "9000" + "startTimeUnixNano": "1653063068683694000", + "timeUnixNano": "1653063068690425000", + "asInt": "40543" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" diff --git a/receiver/vcenterreceiver/testdata/metrics/responses/hosts-list.xml b/receiver/vcenterreceiver/testdata/metrics/responses/hosts-list.xml deleted file mode 100644 index 805f8c2bbba5c..0000000000000 --- a/receiver/vcenterreceiver/testdata/metrics/responses/hosts-list.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - host-1002 - - name - esxi-27971.cf5e88ac.australia-southeast1.gve.goog - - - - host-1008 - - name - esxi-18857.cf5e88ac.australia-southeast1.gve.goog - - - - host-1009 - - name - esxi-18938.cf5e88ac.australia-southeast1.gve.goog - - - - - \ No newline at end of file diff --git a/receiver/vcenterreceiver/testdata/metrics/responses/service-content.xml b/receiver/vcenterreceiver/testdata/metrics/responses/service-content.xml deleted file mode 100644 index e69de29bb2d1d..0000000000000 From ba52924c885cc51a038f90fc77751dff8d2fdb4c Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 20 May 2022 13:38:37 -0400 Subject: [PATCH 087/105] make goporto --- receiver/vcenterreceiver/internal/mockserver/client_mock.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/receiver/vcenterreceiver/internal/mockserver/client_mock.go b/receiver/vcenterreceiver/internal/mockserver/client_mock.go index d97bb2fe9503c..2bfa62d04f76e 100644 --- a/receiver/vcenterreceiver/internal/mockserver/client_mock.go +++ b/receiver/vcenterreceiver/internal/mockserver/client_mock.go @@ -1,4 +1,4 @@ -package mockserver +package mockserver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/mockserver" import ( "embed" From ce9a924eed5f09249fd6a7df6ef9dd764b3d9614 Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 20 May 2022 13:44:38 -0400 Subject: [PATCH 088/105] fix build issues --- cmd/configschema/go.sum | 1 + go.sum | 1 + receiver/vcenterreceiver/go.mod | 9 +++++---- receiver/vcenterreceiver/go.sum | 9 ++++++--- .../internal/mockserver/client_mock.go | 14 ++++++++++++++ 5 files changed, 27 insertions(+), 7 deletions(-) diff --git a/cmd/configschema/go.sum b/cmd/configschema/go.sum index 40d931ee8b2c9..59a25cade783c 100644 --- a/cmd/configschema/go.sum +++ b/cmd/configschema/go.sum @@ -332,6 +332,7 @@ github.com/aws/smithy-go v1.5.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAm github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.11.0 h1:nOfSDwiiH232f90OuevPnAEQO5ZqH+xnn8uGVsvBCw4= github.com/aws/smithy-go v1.11.0/go.mod h1:3xHYmszWVx2c0kIwQeEVf9uSm4fYZt67FBJnwub1bgM= +github.com/basgys/goxml2json v1.1.0 h1:4ln5i4rseYfXNd86lGEB+Vi652IsIXIvggKM/BhUKVw= github.com/beeker1121/goque v2.1.0+incompatible h1:m5pZ5b8nqzojS2DF2ioZphFYQUqGYsDORq6uefUItPM= github.com/beeker1121/goque v2.1.0+incompatible/go.mod h1:L6dOWBhDOnxUVQsb0wkLve0VCnt2xJW/MI8pdRX4ANw= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= diff --git a/go.sum b/go.sum index 649b1117a0098..b37c5da08eadc 100644 --- a/go.sum +++ b/go.sum @@ -332,6 +332,7 @@ github.com/aws/smithy-go v1.5.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAm github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.11.0 h1:nOfSDwiiH232f90OuevPnAEQO5ZqH+xnn8uGVsvBCw4= github.com/aws/smithy-go v1.11.0/go.mod h1:3xHYmszWVx2c0kIwQeEVf9uSm4fYZt67FBJnwub1bgM= +github.com/basgys/goxml2json v1.1.0 h1:4ln5i4rseYfXNd86lGEB+Vi652IsIXIvggKM/BhUKVw= github.com/beeker1121/goque v2.1.0+incompatible h1:m5pZ5b8nqzojS2DF2ioZphFYQUqGYsDORq6uefUItPM= github.com/beeker1121/goque v2.1.0+incompatible/go.mod h1:L6dOWBhDOnxUVQsb0wkLve0VCnt2xJW/MI8pdRX4ANw= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 77840b86e1a6c..1ea1c9baed5f3 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -4,7 +4,7 @@ go 1.17 require ( github.com/vmware/govmomi v0.28.0 - go.opentelemetry.io/collector v0.50.1-0.20220429151328-041f39835df7 + go.opentelemetry.io/collector v0.51.0 go.opentelemetry.io/collector/pdata v0.51.0 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 @@ -20,13 +20,14 @@ require ( require gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect require ( - github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.49.0 + github.com/basgys/goxml2json v1.1.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.51.0 go.opentelemetry.io/collector/model v0.50.0 golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 // indirect ) require ( - github.com/basgys/goxml2json v1.1.0 // indirect + github.com/bitly/go-simplejson v0.5.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect @@ -36,7 +37,7 @@ require ( github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect - github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index d78d0d36983c7..fb6aad268a2af 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -20,6 +20,8 @@ github.com/basgys/goxml2json v1.1.0/go.mod h1:wH7a5Np/Q4QoECFIU8zTQlZwZkrilY0itP github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -148,8 +150,9 @@ github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= @@ -191,8 +194,8 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/collector v0.50.1-0.20220429151328-041f39835df7 h1:EdzWPAR5/XWh6FjjCaqPBmbB62HIpeataITjfXQKS6U= -go.opentelemetry.io/collector v0.50.1-0.20220429151328-041f39835df7/go.mod h1:Qer3GgFX3WkQFz/dRm7pHCITu8Yp6RxWg4Oh4mOmdPc= +go.opentelemetry.io/collector v0.51.0 h1:r4cfvLYkmdTWU+RioL2QqxD/GLJUXRNifG0NCfRmxwk= +go.opentelemetry.io/collector v0.51.0/go.mod h1:2pHwJxKDhSd4t42GkiCosU9G3szHoWUK2R0qnB6X67A= go.opentelemetry.io/collector/model v0.50.0 h1:1wt8pQ4O6GaUeYEaR+dh3zHmYsFicduF2bbPGMZeSKk= go.opentelemetry.io/collector/model v0.50.0/go.mod h1:vKpC0JMtrL7g9tUHmzcQqd8rEbnahKVdTWZSVO7x3Ms= go.opentelemetry.io/collector/pdata v0.51.0 h1:J5CCnrg1iGOA1CfFOH+wAkMlJ1vjcm677kuPp18mbko= diff --git a/receiver/vcenterreceiver/internal/mockserver/client_mock.go b/receiver/vcenterreceiver/internal/mockserver/client_mock.go index 2bfa62d04f76e..94ccafd4a2a16 100644 --- a/receiver/vcenterreceiver/internal/mockserver/client_mock.go +++ b/receiver/vcenterreceiver/internal/mockserver/client_mock.go @@ -1,3 +1,17 @@ +// Copyright The OpenTelemetry Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package mockserver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/mockserver" import ( From 7457f1b530b077c8c9d3016cf7bdb6f9b41bbfc2 Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 20 May 2022 14:16:15 -0400 Subject: [PATCH 089/105] use latest mdatagen --- receiver/vcenterreceiver/documentation.md | 3 +- receiver/vcenterreceiver/factory.go | 2 +- .../internal/metadata/generated_metrics_v2.go | 206 +++---- receiver/vcenterreceiver/metadata.yaml | 11 +- receiver/vcenterreceiver/scraper.go | 4 +- receiver/vcenterreceiver/scraper_test.go | 8 +- .../testdata/metrics/expected.json | 528 +++++++++--------- .../testdata/metrics/integration-metrics.json | 33 +- 8 files changed, 378 insertions(+), 417 deletions(-) diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index 76d52312154f1..c199e70e30b80 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -1,6 +1,6 @@ [comment]: <> (Code generated by mdatagen. DO NOT EDIT.) -# vmwarevcenterreceiver +# vcenterreceiver ## Metrics @@ -10,7 +10,6 @@ These are the metrics available for this scraper. | ---- | ----------- | ---- | ---- | ---------- | | **vcenter.cluster.cpu.effective** | The effective CPU available to the cluster. This value excludes CPU from hosts in maintenance mode or are unresponsive. | {MHz} | Sum(Int) |
| | **vcenter.cluster.cpu.limit** | The amount of CPU available to the cluster. | {MHz} | Sum(Int) |
| -| **vcenter.cluster.cpu.used** | The amount of CPU used by the cluster. | {MHz} | Sum(Int) |
| | **vcenter.cluster.host.count** | The number of hosts in the cluster. | {hosts} | Sum(Int) |
  • host_effective
| | **vcenter.cluster.memory.effective** | The effective memory of the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive. | By | Sum(Int) |
| | **vcenter.cluster.memory.limit** | The available memory of the cluster. | By | Sum(Int) |
| diff --git a/receiver/vcenterreceiver/factory.go b/receiver/vcenterreceiver/factory.go index d07614cf7bcc8..c6c2ae1f9b917 100644 --- a/receiver/vcenterreceiver/factory.go +++ b/receiver/vcenterreceiver/factory.go @@ -64,7 +64,7 @@ func createMetricsReceiver( if !ok { return nil, errConfigNotVcenter } - vr := newVmwareVcenterScraper(params.Logger, cfg) + vr := newVmwareVcenterScraper(params.Logger, cfg, params) scraper, err := scraperhelper.NewScraper( typeStr, vr.scrape, diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 2926b98e6a418..8dba9175211d3 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -5,6 +5,7 @@ package metadata import ( "time" + "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" ) @@ -14,11 +15,10 @@ type MetricSettings struct { Enabled bool `mapstructure:"enabled"` } -// MetricsSettings provides settings for vmwarevcenterreceiver metrics. +// MetricsSettings provides settings for vcenterreceiver metrics. type MetricsSettings struct { VcenterClusterCPUEffective MetricSettings `mapstructure:"vcenter.cluster.cpu.effective"` VcenterClusterCPULimit MetricSettings `mapstructure:"vcenter.cluster.cpu.limit"` - VcenterClusterCPUUsed MetricSettings `mapstructure:"vcenter.cluster.cpu.used"` VcenterClusterHostCount MetricSettings `mapstructure:"vcenter.cluster.host.count"` VcenterClusterMemoryEffective MetricSettings `mapstructure:"vcenter.cluster.memory.effective"` VcenterClusterMemoryLimit MetricSettings `mapstructure:"vcenter.cluster.memory.limit"` @@ -62,9 +62,6 @@ func DefaultMetricsSettings() MetricsSettings { VcenterClusterCPULimit: MetricSettings{ Enabled: true, }, - VcenterClusterCPUUsed: MetricSettings{ - Enabled: true, - }, VcenterClusterHostCount: MetricSettings{ Enabled: true, }, @@ -425,57 +422,6 @@ func newMetricVcenterClusterCPULimit(settings MetricSettings) metricVcenterClust return m } -type metricVcenterClusterCPUUsed struct { - data pmetric.Metric // data buffer for generated metric. - settings MetricSettings // metric settings provided by user. - capacity int // max observed number of data points added to the metric. -} - -// init fills vcenter.cluster.cpu.used metric with initial data. -func (m *metricVcenterClusterCPUUsed) init() { - m.data.SetName("vcenter.cluster.cpu.used") - m.data.SetDescription("The amount of CPU used by the cluster.") - m.data.SetUnit("{MHz}") - m.data.SetDataType(pmetric.MetricDataTypeSum) - m.data.Sum().SetIsMonotonic(false) - m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) -} - -func (m *metricVcenterClusterCPUUsed) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64) { - if !m.settings.Enabled { - return - } - dp := m.data.Sum().DataPoints().AppendEmpty() - dp.SetStartTimestamp(start) - dp.SetTimestamp(ts) - dp.SetIntVal(val) -} - -// updateCapacity saves max length of data point slices that will be used for the slice capacity. -func (m *metricVcenterClusterCPUUsed) updateCapacity() { - if m.data.Sum().DataPoints().Len() > m.capacity { - m.capacity = m.data.Sum().DataPoints().Len() - } -} - -// emit appends recorded metric data to a metrics slice and prepares it for recording another set of data points. -func (m *metricVcenterClusterCPUUsed) emit(metrics pmetric.MetricSlice) { - if m.settings.Enabled && m.data.Sum().DataPoints().Len() > 0 { - m.updateCapacity() - m.data.MoveTo(metrics.AppendEmpty()) - m.init() - } -} - -func newMetricVcenterClusterCPUUsed(settings MetricSettings) metricVcenterClusterCPUUsed { - m := metricVcenterClusterCPUUsed{settings: settings} - if settings.Enabled { - m.data = pmetric.NewMetric() - m.init() - } - return m -} - type metricVcenterClusterHostCount struct { data pmetric.Metric // data buffer for generated metric. settings MetricSettings // metric settings provided by user. @@ -501,7 +447,7 @@ func (m *metricVcenterClusterHostCount) recordDataPoint(start pcommon.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.HostEffective, pcommon.NewValueString(hostEffectiveAttributeValue)) + dp.Attributes().Insert("effective", pcommon.NewValueString(hostEffectiveAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -707,7 +653,7 @@ func (m *metricVcenterClusterVMCount) recordDataPoint(start pcommon.Timestamp, t dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.VMCountPowerState, pcommon.NewValueString(vmCountPowerStateAttributeValue)) + dp.Attributes().Insert("power_state", pcommon.NewValueString(vmCountPowerStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -760,7 +706,7 @@ func (m *metricVcenterDatastoreDiskUsage) recordDataPoint(start pcommon.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.DiskState, pcommon.NewValueString(diskStateAttributeValue)) + dp.Attributes().Insert("disk_state", pcommon.NewValueString(diskStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -960,7 +906,7 @@ func (m *metricVcenterHostDiskLatencyAvg) recordDataPoint(start pcommon.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.DiskDirection, pcommon.NewValueString(diskDirectionAttributeValue)) + dp.Attributes().Insert("direction", pcommon.NewValueString(diskDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1062,7 +1008,7 @@ func (m *metricVcenterHostDiskThroughput) recordDataPoint(start pcommon.Timestam dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.DiskDirection, pcommon.NewValueString(diskDirectionAttributeValue)) + dp.Attributes().Insert("direction", pcommon.NewValueString(diskDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1215,7 +1161,7 @@ func (m *metricVcenterHostNetworkPacketCount) recordDataPoint(start pcommon.Time dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert("direction", pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1268,7 +1214,7 @@ func (m *metricVcenterHostNetworkPacketErrors) recordDataPoint(start pcommon.Tim dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert("direction", pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1321,7 +1267,7 @@ func (m *metricVcenterHostNetworkThroughput) recordDataPoint(start pcommon.Times dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert("direction", pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1676,7 +1622,7 @@ func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.DiskDirection, pcommon.NewValueString(diskDirectionAttributeValue)) + dp.Attributes().Insert("direction", pcommon.NewValueString(diskDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -1829,7 +1775,7 @@ func (m *metricVcenterVMDiskUsage) recordDataPoint(start pcommon.Timestamp, ts p dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.DiskState, pcommon.NewValueString(diskStateAttributeValue)) + dp.Attributes().Insert("disk_state", pcommon.NewValueString(diskStateAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2033,7 +1979,7 @@ func (m *metricVcenterVMNetworkPacketCount) recordDataPoint(start pcommon.Timest dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert("direction", pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2086,7 +2032,7 @@ func (m *metricVcenterVMNetworkThroughput) recordDataPoint(start pcommon.Timesta dp.SetStartTimestamp(start) dp.SetTimestamp(ts) dp.SetIntVal(val) - dp.Attributes().Insert(A.ThroughputDirection, pcommon.NewValueString(throughputDirectionAttributeValue)) + dp.Attributes().Insert("direction", pcommon.NewValueString(throughputDirectionAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2168,13 +2114,13 @@ func newMetricVcenterVMNetworkUsage(settings MetricSettings) metricVcenterVMNetw // MetricsBuilder provides an interface for scrapers to report metrics while taking care of all the transformations // required to produce metric representation defined in metadata and user settings. type MetricsBuilder struct { - startTime pcommon.Timestamp // start time that will be applied to all recorded data points. - metricsCapacity int // maximum observed number of metrics per resource. - resourceCapacity int // maximum observed number of resource attributes. - metricsBuffer pmetric.Metrics // accumulates metrics data before emitting. + startTime pcommon.Timestamp // start time that will be applied to all recorded data points. + metricsCapacity int // maximum observed number of metrics per resource. + resourceCapacity int // maximum observed number of resource attributes. + metricsBuffer pmetric.Metrics // accumulates metrics data before emitting. + buildInfo component.BuildInfo // contains version information metricVcenterClusterCPUEffective metricVcenterClusterCPUEffective metricVcenterClusterCPULimit metricVcenterClusterCPULimit - metricVcenterClusterCPUUsed metricVcenterClusterCPUUsed metricVcenterClusterHostCount metricVcenterClusterHostCount metricVcenterClusterMemoryEffective metricVcenterClusterMemoryEffective metricVcenterClusterMemoryLimit metricVcenterClusterMemoryLimit @@ -2220,13 +2166,13 @@ func WithStartTime(startTime pcommon.Timestamp) metricBuilderOption { } } -func NewMetricsBuilder(settings MetricsSettings, options ...metricBuilderOption) *MetricsBuilder { +func NewMetricsBuilder(settings MetricsSettings, buildInfo component.BuildInfo, options ...metricBuilderOption) *MetricsBuilder { mb := &MetricsBuilder{ startTime: pcommon.NewTimestampFromTime(time.Now()), metricsBuffer: pmetric.NewMetrics(), + buildInfo: buildInfo, metricVcenterClusterCPUEffective: newMetricVcenterClusterCPUEffective(settings.VcenterClusterCPUEffective), metricVcenterClusterCPULimit: newMetricVcenterClusterCPULimit(settings.VcenterClusterCPULimit), - metricVcenterClusterCPUUsed: newMetricVcenterClusterCPUUsed(settings.VcenterClusterCPUUsed), metricVcenterClusterHostCount: newMetricVcenterClusterHostCount(settings.VcenterClusterHostCount), metricVcenterClusterMemoryEffective: newMetricVcenterClusterMemoryEffective(settings.VcenterClusterMemoryEffective), metricVcenterClusterMemoryLimit: newMetricVcenterClusterMemoryLimit(settings.VcenterClusterMemoryLimit), @@ -2277,67 +2223,85 @@ func (mb *MetricsBuilder) updateCapacity(rm pmetric.ResourceMetrics) { } } -// ResourceOption applies changes to provided resource. -type ResourceOption func(pcommon.Resource) +// ResourceMetricsOption applies changes to provided resource metrics. +type ResourceMetricsOption func(pmetric.ResourceMetrics) // WithVcenterClusterName sets provided value as "vcenter.cluster.name" attribute for current resource. -func WithVcenterClusterName(val string) ResourceOption { - return func(r pcommon.Resource) { - r.Attributes().UpsertString("vcenter.cluster.name", val) +func WithVcenterClusterName(val string) ResourceMetricsOption { + return func(rm pmetric.ResourceMetrics) { + rm.Resource().Attributes().UpsertString("vcenter.cluster.name", val) } } // WithVcenterDatastoreName sets provided value as "vcenter.datastore.name" attribute for current resource. -func WithVcenterDatastoreName(val string) ResourceOption { - return func(r pcommon.Resource) { - r.Attributes().UpsertString("vcenter.datastore.name", val) +func WithVcenterDatastoreName(val string) ResourceMetricsOption { + return func(rm pmetric.ResourceMetrics) { + rm.Resource().Attributes().UpsertString("vcenter.datastore.name", val) } } // WithVcenterHostName sets provided value as "vcenter.host.name" attribute for current resource. -func WithVcenterHostName(val string) ResourceOption { - return func(r pcommon.Resource) { - r.Attributes().UpsertString("vcenter.host.name", val) +func WithVcenterHostName(val string) ResourceMetricsOption { + return func(rm pmetric.ResourceMetrics) { + rm.Resource().Attributes().UpsertString("vcenter.host.name", val) } } // WithVcenterResourcePoolName sets provided value as "vcenter.resource_pool.name" attribute for current resource. -func WithVcenterResourcePoolName(val string) ResourceOption { - return func(r pcommon.Resource) { - r.Attributes().UpsertString("vcenter.resource_pool.name", val) +func WithVcenterResourcePoolName(val string) ResourceMetricsOption { + return func(rm pmetric.ResourceMetrics) { + rm.Resource().Attributes().UpsertString("vcenter.resource_pool.name", val) } } // WithVcenterVMID sets provided value as "vcenter.vm.id" attribute for current resource. -func WithVcenterVMID(val string) ResourceOption { - return func(r pcommon.Resource) { - r.Attributes().UpsertString("vcenter.vm.id", val) +func WithVcenterVMID(val string) ResourceMetricsOption { + return func(rm pmetric.ResourceMetrics) { + rm.Resource().Attributes().UpsertString("vcenter.vm.id", val) } } // WithVcenterVMName sets provided value as "vcenter.vm.name" attribute for current resource. -func WithVcenterVMName(val string) ResourceOption { - return func(r pcommon.Resource) { - r.Attributes().UpsertString("vcenter.vm.name", val) +func WithVcenterVMName(val string) ResourceMetricsOption { + return func(rm pmetric.ResourceMetrics) { + rm.Resource().Attributes().UpsertString("vcenter.vm.name", val) + } +} + +// WithStartTimeOverride overrides start time for all the resource metrics data points. +// This option should be only used if different start time has to be set on metrics coming from different resources. +func WithStartTimeOverride(start pcommon.Timestamp) ResourceMetricsOption { + return func(rm pmetric.ResourceMetrics) { + var dps pmetric.NumberDataPointSlice + metrics := rm.ScopeMetrics().At(0).Metrics() + for i := 0; i < metrics.Len(); i++ { + switch metrics.At(i).DataType() { + case pmetric.MetricDataTypeGauge: + dps = metrics.At(i).Gauge().DataPoints() + case pmetric.MetricDataTypeSum: + dps = metrics.At(i).Sum().DataPoints() + } + for j := 0; j < dps.Len(); j++ { + dps.At(j).SetStartTimestamp(start) + } + } } } // EmitForResource saves all the generated metrics under a new resource and updates the internal state to be ready for // recording another set of data points as part of another resource. This function can be helpful when one scraper // needs to emit metrics from several resources. Otherwise calling this function is not required, -// just `Emit` function can be called instead. Resource attributes should be provided as ResourceOption arguments. -func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { +// just `Emit` function can be called instead. +// Resource attributes should be provided as ResourceMetricsOption arguments. +func (mb *MetricsBuilder) EmitForResource(rmo ...ResourceMetricsOption) { rm := pmetric.NewResourceMetrics() rm.Resource().Attributes().EnsureCapacity(mb.resourceCapacity) - for _, op := range ro { - op(rm.Resource()) - } ils := rm.ScopeMetrics().AppendEmpty() - ils.Scope().SetName("otelcol/vmwarevcenterreceiver") + ils.Scope().SetName("otelcol/vcenterreceiver") + ils.Scope().SetVersion(mb.buildInfo.Version) ils.Metrics().EnsureCapacity(mb.metricsCapacity) mb.metricVcenterClusterCPUEffective.emit(ils.Metrics()) mb.metricVcenterClusterCPULimit.emit(ils.Metrics()) - mb.metricVcenterClusterCPUUsed.emit(ils.Metrics()) mb.metricVcenterClusterHostCount.emit(ils.Metrics()) mb.metricVcenterClusterMemoryEffective.emit(ils.Metrics()) mb.metricVcenterClusterMemoryLimit.emit(ils.Metrics()) @@ -2371,6 +2335,9 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { mb.metricVcenterVMNetworkPacketCount.emit(ils.Metrics()) mb.metricVcenterVMNetworkThroughput.emit(ils.Metrics()) mb.metricVcenterVMNetworkUsage.emit(ils.Metrics()) + for _, op := range rmo { + op(rm) + } if ils.Metrics().Len() > 0 { mb.updateCapacity(rm) rm.MoveTo(mb.metricsBuffer.ResourceMetrics().AppendEmpty()) @@ -2380,8 +2347,8 @@ func (mb *MetricsBuilder) EmitForResource(ro ...ResourceOption) { // Emit returns all the metrics accumulated by the metrics builder and updates the internal state to be ready for // recording another set of metrics. This function will be responsible for applying all the transformations required to // produce metric representation defined in metadata and user settings, e.g. delta or cumulative. -func (mb *MetricsBuilder) Emit(ro ...ResourceOption) pmetric.Metrics { - mb.EmitForResource(ro...) +func (mb *MetricsBuilder) Emit(rmo ...ResourceMetricsOption) pmetric.Metrics { + mb.EmitForResource(rmo...) metrics := pmetric.NewMetrics() mb.metricsBuffer.MoveTo(metrics) return metrics @@ -2397,11 +2364,6 @@ func (mb *MetricsBuilder) RecordVcenterClusterCPULimitDataPoint(ts pcommon.Times mb.metricVcenterClusterCPULimit.recordDataPoint(mb.startTime, ts, val) } -// RecordVcenterClusterCPUUsedDataPoint adds a data point to vcenter.cluster.cpu.used metric. -func (mb *MetricsBuilder) RecordVcenterClusterCPUUsedDataPoint(ts pcommon.Timestamp, val int64) { - mb.metricVcenterClusterCPUUsed.recordDataPoint(mb.startTime, ts, val) -} - // RecordVcenterClusterHostCountDataPoint adds a data point to vcenter.cluster.host.count metric. func (mb *MetricsBuilder) RecordVcenterClusterHostCountDataPoint(ts pcommon.Timestamp, val int64, hostEffectiveAttributeValue AttributeHostEffective) { mb.metricVcenterClusterHostCount.recordDataPoint(mb.startTime, ts, val, hostEffectiveAttributeValue.String()) @@ -2575,29 +2537,3 @@ func (mb *MetricsBuilder) Reset(options ...metricBuilderOption) { op(mb) } } - -// Attributes contains the possible metric attributes that can be used. -var Attributes = struct { - // DiskDirection (The direction of disk latency.) - DiskDirection string - // DiskState (The state of storage and whether it is already allocated or free.) - DiskState string - // HostEffective (Whether the host is effective in the vCenter cluster.) - HostEffective string - // LatencyType (The type of disk latency being reported.) - LatencyType string - // ThroughputDirection (The direction of network throughput.) - ThroughputDirection string - // VMCountPowerState (Whether the virtual machines are powered on or off.) - VMCountPowerState string -}{ - "direction", - "disk_state", - "effective", - "type", - "direction", - "power_state", -} - -// A is an alias for Attributes. -var A = Attributes diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 321323d7b957d..2a3d51cae36b6 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -1,4 +1,4 @@ -name: vmwarevcenterreceiver +name: vcenterreceiver resource_attributes: vcenter.cluster.name: @@ -80,15 +80,6 @@ metrics: value_type: int aggregation: cumulative attributes: [] - vcenter.cluster.cpu.used: - enabled: true - description: The amount of CPU used by the cluster. - unit: "{MHz}" - sum: - monotonic: false - value_type: int - aggregation: cumulative - attributes: [] vcenter.cluster.memory.limit: enabled: true description: The available memory of the cluster. diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 732ecc9493eff..34a4ab5111d80 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -41,13 +41,14 @@ type vcenterMetricScraper struct { func newVmwareVcenterScraper( logger *zap.Logger, config *Config, + settings component.ReceiverCreateSettings, ) *vcenterMetricScraper { client := newVcenterClient(config) return &vcenterMetricScraper{ client: client, config: config, logger: logger, - mb: metadata.NewMetricsBuilder(config.Metrics), + mb: metadata.NewMetricsBuilder(config.Metrics, settings.BuildInfo), } } @@ -123,6 +124,7 @@ func (v *vcenterMetricScraper) collectCluster( } s := moCluster.Summary.GetComputeResourceSummary() v.mb.RecordVcenterClusterCPULimitDataPoint(now, int64(s.TotalCpu)) + v.mb.RecordVcenterClusterCPUEffectiveDataPoint(now, int64(s.EffectiveCpu)) v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumHosts-s.NumEffectiveHosts), metadata.AttributeHostEffectiveFalse) v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumEffectiveHosts), metadata.AttributeHostEffectiveTrue) v.mb.EmitForResource( diff --git a/receiver/vcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go index dd46dc3c0f8a3..85963fca3e251 100644 --- a/receiver/vcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -21,6 +21,8 @@ import ( "testing" "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component" + "go.opentelemetry.io/collector/component/componenttest" "go.uber.org/zap" "github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest" @@ -42,7 +44,7 @@ func TestScrape(t *testing.T) { Username: mock.MockUsername, Password: mock.MockPassword, } - scraper := newVmwareVcenterScraper(zap.NewNop(), cfg) + scraper := newVmwareVcenterScraper(zap.NewNop(), cfg, componenttest.NewNopReceiverCreateSettings()) metrics, err := scraper.scrape(ctx) require.NoError(t, err) @@ -64,7 +66,7 @@ func TestScrape_NoClient(t *testing.T) { config: &Config{ Endpoint: "http://vcsa.localnet", }, - mb: metadata.NewMetricsBuilder(metadata.DefaultMetricsSettings()), + mb: metadata.NewMetricsBuilder(metadata.DefaultMetricsSettings(), component.NewDefaultBuildInfo()), logger: zap.NewNop(), } metrics, err := scraper.scrape(ctx) @@ -95,7 +97,7 @@ func TestStartFailures_Metrics(t *testing.T) { ctx := context.Background() for _, tc := range cases { - scraper := newVmwareVcenterScraper(zap.NewNop(), &tc.cfg) + scraper := newVmwareVcenterScraper(zap.NewNop(), &tc.cfg, componenttest.NewNopReceiverCreateSettings()) err := scraper.Start(ctx, nil) if tc.err != nil { require.ErrorContains(t, err, tc.err.Error()) diff --git a/receiver/vcenterreceiver/testdata/metrics/expected.json b/receiver/vcenterreceiver/testdata/metrics/expected.json index 573866667a0c3..70ba27b77e286 100644 --- a/receiver/vcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vcenterreceiver/testdata/metrics/expected.json @@ -20,7 +20,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -30,8 +31,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "6107" } ], @@ -45,8 +46,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asDouble": 6.542186227878476 } ] @@ -59,8 +60,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "140833" } ], @@ -74,8 +75,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asDouble": 17.948557824655133 } ] @@ -96,7 +97,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "40810" }, @@ -109,7 +110,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "41703" }, @@ -122,7 +123,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "42960" }, @@ -135,7 +136,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "42206" }, @@ -148,7 +149,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "41480" }, @@ -161,7 +162,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "42110" }, @@ -174,7 +175,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "42686" }, @@ -187,7 +188,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "44277" }, @@ -200,7 +201,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "43122" }, @@ -213,7 +214,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "42703" }, @@ -226,7 +227,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "11182" }, @@ -239,7 +240,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "13009" }, @@ -252,7 +253,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "16489" }, @@ -265,7 +266,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "12398" }, @@ -278,7 +279,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "12984" }, @@ -291,7 +292,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "13316" }, @@ -304,7 +305,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "14473" }, @@ -317,7 +318,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "19662" }, @@ -330,7 +331,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "15478" }, @@ -343,7 +344,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "14458" }, @@ -356,7 +357,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "116" }, @@ -369,7 +370,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "114" }, @@ -382,7 +383,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "113" }, @@ -395,7 +396,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "112" }, @@ -408,7 +409,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "120" }, @@ -421,7 +422,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "55647" }, @@ -434,7 +435,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "57376" }, @@ -447,7 +448,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "64156" }, @@ -460,7 +461,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "58814" }, @@ -473,7 +474,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "57390" }, @@ -486,7 +487,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "51992" }, @@ -499,7 +500,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "54712" }, @@ -512,7 +513,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "59449" }, @@ -525,7 +526,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "54604" }, @@ -538,7 +539,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "54464" }, @@ -551,7 +552,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -564,7 +565,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -577,7 +578,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -590,7 +591,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -603,7 +604,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -616,7 +617,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "105" }, @@ -629,7 +630,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "103" }, @@ -642,7 +643,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "104" }, @@ -655,7 +656,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "102" }, @@ -668,7 +669,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "109" }, @@ -681,7 +682,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -694,7 +695,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -707,7 +708,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -720,7 +721,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -733,7 +734,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" } @@ -756,7 +757,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -769,7 +770,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -782,7 +783,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -795,7 +796,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -808,7 +809,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -821,7 +822,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -834,7 +835,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -847,7 +848,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -860,7 +861,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -873,7 +874,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -886,7 +887,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -899,7 +900,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -912,7 +913,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -925,7 +926,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -938,7 +939,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -951,7 +952,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -964,7 +965,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -977,7 +978,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -990,7 +991,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1003,7 +1004,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1016,7 +1017,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1029,7 +1030,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1042,7 +1043,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1055,7 +1056,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1068,7 +1069,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1081,7 +1082,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1094,7 +1095,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1107,7 +1108,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1120,7 +1121,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1133,7 +1134,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1146,7 +1147,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1159,7 +1160,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1172,7 +1173,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1185,7 +1186,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1198,7 +1199,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1211,7 +1212,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1224,7 +1225,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1237,7 +1238,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1250,7 +1251,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1263,7 +1264,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1276,7 +1277,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1289,7 +1290,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1302,7 +1303,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1315,7 +1316,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1328,7 +1329,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1341,7 +1342,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1354,7 +1355,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1367,7 +1368,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1380,7 +1381,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1393,7 +1394,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" } @@ -1416,7 +1417,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "411" }, @@ -1429,7 +1430,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "422" }, @@ -1442,7 +1443,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "551" }, @@ -1455,7 +1456,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "617" }, @@ -1468,7 +1469,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "488" }, @@ -1481,7 +1482,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1494,7 +1495,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1507,7 +1508,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1520,7 +1521,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1533,7 +1534,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1546,7 +1547,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "928" }, @@ -1559,7 +1560,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "1120" }, @@ -1572,7 +1573,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "1646" }, @@ -1585,7 +1586,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "1291" }, @@ -1598,7 +1599,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "1058" }, @@ -1611,7 +1612,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "3064" }, @@ -1624,7 +1625,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "2537" }, @@ -1637,7 +1638,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "4373" }, @@ -1650,7 +1651,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "3746" }, @@ -1663,7 +1664,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "2569" }, @@ -1676,7 +1677,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1689,7 +1690,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1702,7 +1703,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1715,7 +1716,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1728,7 +1729,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1741,7 +1742,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "570" }, @@ -1754,7 +1755,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "768" }, @@ -1767,7 +1768,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "1269" }, @@ -1780,7 +1781,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "927" }, @@ -1793,7 +1794,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "681" }, @@ -1806,7 +1807,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "357" }, @@ -1819,7 +1820,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "351" }, @@ -1832,7 +1833,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "376" }, @@ -1845,7 +1846,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "363" }, @@ -1858,7 +1859,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "376" }, @@ -1871,7 +1872,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "3475" }, @@ -1884,7 +1885,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "2959" }, @@ -1897,7 +1898,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "4924" }, @@ -1910,7 +1911,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "4364" }, @@ -1923,7 +1924,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "3058" }, @@ -1936,7 +1937,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1949,7 +1950,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1962,7 +1963,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1975,7 +1976,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1988,7 +1989,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -2001,7 +2002,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -2014,7 +2015,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2027,7 +2028,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2040,7 +2041,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2053,7 +2054,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" } @@ -2068,127 +2069,127 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "769" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "773" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "927" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "980" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "864" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "3634" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "3305" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "5642" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "4674" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "3251" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808280000000000", "asInt": "4404" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808300000000000", "asInt": "4079" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808320000000000", "asInt": "6570" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808340000000000", "asInt": "5655" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652808360000000000", "asInt": "4117" } @@ -2214,7 +2215,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -2232,8 +2234,8 @@ } } ], - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "5917763748696" }, { @@ -2245,8 +2247,8 @@ } } ], - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "57611315257344" } ], @@ -2260,8 +2262,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asDouble": 10.271877533539964 } ] @@ -2303,7 +2305,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -2321,7 +2324,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2334,7 +2337,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -2356,8 +2359,8 @@ } } ], - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "16311648256" }, { @@ -2369,8 +2372,8 @@ } } ], - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "258847277056" } ], @@ -2384,8 +2387,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asDouble": 6.301649544673818 } ] @@ -2398,8 +2401,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "0" } ], @@ -2413,8 +2416,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "163" } ], @@ -2436,7 +2439,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2449,7 +2452,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2462,7 +2465,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2475,7 +2478,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2488,7 +2491,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2501,7 +2504,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2514,7 +2517,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2527,7 +2530,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2540,7 +2543,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2553,7 +2556,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2566,7 +2569,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2579,7 +2582,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -2602,7 +2605,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2615,7 +2618,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2628,7 +2631,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2641,7 +2644,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2654,7 +2657,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2667,7 +2670,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2680,7 +2683,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2693,7 +2696,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2706,7 +2709,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2719,7 +2722,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2732,7 +2735,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2745,7 +2748,7 @@ } } ], - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -2760,32 +2763,32 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653063068683694000", + "startTimeUnixNano": "1653070379724375000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -2811,9 +2814,25 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ + { + "name": "vcenter.cluster.cpu.effective", + "description": "The effective CPU available to the cluster. This value excludes CPU from hosts in maintenance mode or are unresponsive.", + "unit": "{MHz}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", + "asInt": "252846" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, { "name": "vcenter.cluster.cpu.limit", "description": "The amount of CPU available to the cluster.", @@ -2821,8 +2840,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "280044" } ], @@ -2844,8 +2863,8 @@ } } ], - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "0" }, { @@ -2857,8 +2876,8 @@ } } ], - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "3" } ], @@ -2880,8 +2899,8 @@ } } ], - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "1" }, { @@ -2893,8 +2912,8 @@ } } ], - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "0" } ], @@ -2919,7 +2938,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -2929,8 +2949,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "4000" } ], @@ -2944,8 +2964,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "13791" } ], @@ -2959,8 +2979,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "163840" } ], @@ -2974,8 +2994,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653063068683694000", - "timeUnixNano": "1653063068690425000", + "startTimeUnixNano": "1653070379724375000", + "timeUnixNano": "1653070379731348000", "asInt": "40543" } ], diff --git a/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json b/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json index 4cdc8653cadb2..bcc62f0c6f6c1 100644 --- a/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json +++ b/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json @@ -20,7 +20,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -420,7 +421,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -820,7 +822,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -1214,7 +1217,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -1303,7 +1307,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -1495,7 +1500,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -1687,7 +1693,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -1879,7 +1886,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -2053,7 +2061,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -2161,7 +2170,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { @@ -2212,7 +2222,8 @@ "scopeMetrics": [ { "scope": { - "name": "otelcol/vmwarevcenterreceiver" + "name": "otelcol/vcenterreceiver", + "version": "latest" }, "metrics": [ { From 08493eacb9f1bf758a83abe4a99ad86a8fd596d0 Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 20 May 2022 14:34:17 -0400 Subject: [PATCH 090/105] add newlines to ends of xml recordings --- .../internal/mockserver/responses/cluster-datastore.xml | 2 +- .../mockserver/responses/cluster-resource-pool-list.xml | 2 +- .../internal/mockserver/responses/cluster-summary.xml | 2 +- .../internal/mockserver/responses/datacenter-list.xml | 2 +- .../mockserver/responses/datacenter-properties.xml | 2 +- .../mockserver/responses/datastore-properties.xml | 2 +- .../internal/mockserver/responses/datastore-summary.xml | 2 +- .../internal/mockserver/responses/host-cluster.xml | 2 +- .../internal/mockserver/responses/host-names.xml | 2 +- .../internal/mockserver/responses/host-parent.xml | 2 +- .../mockserver/responses/host-performance-counters.xml | 2 +- .../internal/mockserver/responses/host-properties.xml | 2 +- .../internal/mockserver/responses/login.xml | 9 +++------ .../internal/mockserver/responses/logout.xml | 2 +- .../internal/mockserver/responses/perf-manager.xml | 2 +- .../responses/property-collector-properties.xml | 2 +- .../internal/mockserver/responses/property-collector.xml | 2 +- .../mockserver/responses/resource-pool-group-empty.xml | 2 +- .../mockserver/responses/resource-pool-group.xml | 2 +- .../mockserver/responses/resource-pool-summary.xml | 2 +- .../internal/mockserver/responses/resource-pool.xml | 2 +- .../internal/mockserver/responses/service-content.xml | 2 +- .../internal/mockserver/responses/vm-empty-folder.xml | 2 +- .../internal/mockserver/responses/vm-folder-parent.xml | 2 +- .../internal/mockserver/responses/vm-folder.xml | 2 +- .../internal/mockserver/responses/vm-group.xml | 2 +- .../internal/mockserver/responses/vm-host.xml | 2 +- .../mockserver/responses/vm-performance-counters.xml | 2 +- .../internal/mockserver/responses/vm-properties.xml | 2 +- 29 files changed, 31 insertions(+), 34 deletions(-) diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/cluster-datastore.xml b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-datastore.xml index 65a10cd8791da..4f9c7b9fc827f 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/cluster-datastore.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-datastore.xml @@ -13,4 +13,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/cluster-resource-pool-list.xml b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-resource-pool-list.xml index 7407ef241b26a..f9b4069492798 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/cluster-resource-pool-list.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-resource-pool-list.xml @@ -15,4 +15,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/cluster-summary.xml b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-summary.xml index aaa69ea7858ae..142830123a4c6 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/cluster-summary.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/cluster-summary.xml @@ -64,4 +64,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-list.xml b/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-list.xml index dd221b27b1d97..20252e8c6befb 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-list.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-list.xml @@ -14,4 +14,4 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-properties.xml b/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-properties.xml index 53df8c412d795..83eda304f6aa2 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-properties.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/datacenter-properties.xml @@ -27,4 +27,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/datastore-properties.xml b/receiver/vcenterreceiver/internal/mockserver/responses/datastore-properties.xml index 274d84bf85e2c..4ef61ef939f1b 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/datastore-properties.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/datastore-properties.xml @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/datastore-summary.xml b/receiver/vcenterreceiver/internal/mockserver/responses/datastore-summary.xml index 274d84bf85e2c..4ef61ef939f1b 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/datastore-summary.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/datastore-summary.xml @@ -26,4 +26,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-cluster.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-cluster.xml index 7407ef241b26a..f9b4069492798 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/host-cluster.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-cluster.xml @@ -15,4 +15,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-names.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-names.xml index 29ea06a874a27..a7ef0115df1d6 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/host-names.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-names.xml @@ -11,4 +11,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-parent.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-parent.xml index a3a9eb3de3f01..2bce16abf9cfd 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/host-parent.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-parent.xml @@ -33,4 +33,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml index 26d4454a1aabd..3f9c60fff5998 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml @@ -918,4 +918,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-properties.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-properties.xml index 3b7d0b6b2a663..1d29fbd370108 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/host-properties.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-properties.xml @@ -29495,4 +29495,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/login.xml b/receiver/vcenterreceiver/internal/mockserver/responses/login.xml index 509f44fc940cd..52858f4aed8be 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/login.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/login.xml @@ -1,12 +1,9 @@ - + - 521bd1df-8e40-373b-1c4e-b58d792652be + 1aa1746c-76d1-488c-af18-1952ea2a3924 GVE.LOCAL\CloudOwner Cloud Owner 2022-05-12T19:53:57.280248Z @@ -20,4 +17,4 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/logout.xml b/receiver/vcenterreceiver/internal/mockserver/responses/logout.xml index 9304b562809f6..0d4b1ecc037bc 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/logout.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/logout.xml @@ -6,4 +6,4 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml b/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml index 11e1934daccf0..4eeeca502d2e4 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml @@ -12486,4 +12486,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/property-collector-properties.xml b/receiver/vcenterreceiver/internal/mockserver/responses/property-collector-properties.xml index 0d109e58fa1e3..d38fd6a171ca6 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/property-collector-properties.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/property-collector-properties.xml @@ -30,4 +30,4 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/property-collector.xml b/receiver/vcenterreceiver/internal/mockserver/responses/property-collector.xml index dd221b27b1d97..20252e8c6befb 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/property-collector.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/property-collector.xml @@ -14,4 +14,4 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group-empty.xml b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group-empty.xml index ede213ad6ed14..26226f9bb581e 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group-empty.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group-empty.xml @@ -3,4 +3,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group.xml b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group.xml index ede213ad6ed14..26226f9bb581e 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-group.xml @@ -3,4 +3,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-summary.xml b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-summary.xml index 0a31e6fc063d6..a7fcd373d72ba 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-summary.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool-summary.xml @@ -96,4 +96,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool.xml b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool.xml index 17da7a92d30ba..9fd8f9a297fc0 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/resource-pool.xml @@ -18,4 +18,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/service-content.xml b/receiver/vcenterreceiver/internal/mockserver/responses/service-content.xml index 9bcfe24504279..9a8f6c657276b 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/service-content.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/service-content.xml @@ -69,4 +69,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-empty-folder.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-empty-folder.xml index ede213ad6ed14..26226f9bb581e 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/vm-empty-folder.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-empty-folder.xml @@ -3,4 +3,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder-parent.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder-parent.xml index 25ac52deddf89..1d683e80ef9f9 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder-parent.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder-parent.xml @@ -33,4 +33,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder.xml index ebf2c021be61b..e52662442746b 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-folder.xml @@ -63,4 +63,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-group.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-group.xml index 8fa9c582b78d5..270c3b85867f0 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/vm-group.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-group.xml @@ -11,4 +11,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-host.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-host.xml index 897daf26c445d..0880d8ed974d6 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/vm-host.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-host.xml @@ -11,4 +11,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml index 6df0df48495bc..e94b716424d7d 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml @@ -235,4 +235,4 @@ - \ No newline at end of file + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-properties.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-properties.xml index 247e561045504..1bf812e36da37 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/vm-properties.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-properties.xml @@ -1297,4 +1297,4 @@ - \ No newline at end of file + From 6dc5d7eb0b2610088285faa1065b2599eca1b422 Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 20 May 2022 14:50:15 -0400 Subject: [PATCH 091/105] fix integration test --- receiver/vcenterreceiver/integration_test.go | 2 +- .../testdata/metrics/integration-metrics.json | 745 +++++++++--------- 2 files changed, 381 insertions(+), 366 deletions(-) diff --git a/receiver/vcenterreceiver/integration_test.go b/receiver/vcenterreceiver/integration_test.go index d9ca02e227521..69d23aa1be679 100644 --- a/receiver/vcenterreceiver/integration_test.go +++ b/receiver/vcenterreceiver/integration_test.go @@ -48,7 +48,7 @@ func TestEndtoEnd_ESX(t *testing.T) { } s := session.NewManager(c) - scraper := newVmwareVcenterScraper(zap.NewNop(), cfg) + scraper := newVmwareVcenterScraper(zap.NewNop(), cfg, componenttest.NewNopReceiverCreateSettings()) scraper.client.moClient = &govmomi.Client{ Client: c, SessionManager: s, diff --git a/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json b/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json index bcc62f0c6f6c1..e83f1f1c6d9e7 100644 --- a/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json +++ b/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json @@ -31,8 +31,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "67" } ], @@ -46,8 +46,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asDouble": 1.4603312990409765 } ] @@ -60,8 +60,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "1404" } ], @@ -75,8 +75,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asDouble": 34.285714285714285 } ] @@ -97,9 +97,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737721172000", - "asInt": "15794" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563973214000", + "asInt": "12975" }, { "attributes": [ @@ -110,9 +110,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717721172000", - "asInt": "6601" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072543973214000", + "asInt": "9316" }, { "attributes": [ @@ -123,9 +123,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697721172000", - "asInt": "6820" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072523973214000", + "asInt": "8266" }, { "attributes": [ @@ -136,9 +136,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677721172000", - "asInt": "12481" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072503973214000", + "asInt": "11121" }, { "attributes": [ @@ -149,9 +149,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657721172000", - "asInt": "10545" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072483973214000", + "asInt": "12091" }, { "attributes": [ @@ -162,9 +162,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737721172000", - "asInt": "25677" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563973214000", + "asInt": "15029" }, { "attributes": [ @@ -175,9 +175,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717721172000", - "asInt": "12410" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072543973214000", + "asInt": "25421" }, { "attributes": [ @@ -188,9 +188,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697721172000", - "asInt": "15883" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072523973214000", + "asInt": "15335" }, { "attributes": [ @@ -201,9 +201,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677721172000", - "asInt": "17129" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072503973214000", + "asInt": "10956" }, { "attributes": [ @@ -214,9 +214,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657721172000", - "asInt": "16527" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072483973214000", + "asInt": "11777" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -237,9 +237,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737721172000", - "asInt": "768" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563973214000", + "asInt": "598" }, { "attributes": [ @@ -250,9 +250,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717721172000", - "asInt": "736" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072543973214000", + "asInt": "731" }, { "attributes": [ @@ -263,9 +263,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697721172000", - "asInt": "481" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072523973214000", + "asInt": "961" }, { "attributes": [ @@ -276,9 +276,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677721172000", - "asInt": "485" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072503973214000", + "asInt": "694" }, { "attributes": [ @@ -289,9 +289,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657721172000", - "asInt": "878" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072483973214000", + "asInt": "1079" }, { "attributes": [ @@ -302,9 +302,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737721172000", - "asInt": "778" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563973214000", + "asInt": "871" }, { "attributes": [ @@ -315,9 +315,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717721172000", - "asInt": "731" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072543973214000", + "asInt": "885" }, { "attributes": [ @@ -328,9 +328,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697721172000", - "asInt": "301" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072523973214000", + "asInt": "600" }, { "attributes": [ @@ -341,9 +341,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677721172000", - "asInt": "648" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072503973214000", + "asInt": "753" }, { "attributes": [ @@ -354,9 +354,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657721172000", - "asInt": "803" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072483973214000", + "asInt": "1013" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -369,29 +369,29 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737721172000", - "asInt": "1839" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563973214000", + "asInt": "1530" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717721172000", - "asInt": "926" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072543973214000", + "asInt": "1543" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697721172000", - "asInt": "525" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072523973214000", + "asInt": "1241" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677721172000", - "asInt": "1454" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072503973214000", + "asInt": "1236" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657721172000", - "asInt": "1798" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072483973214000", + "asInt": "1846" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -432,8 +432,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "67" } ], @@ -447,8 +447,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asDouble": 1.4603312990409765 } ] @@ -461,8 +461,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "1404" } ], @@ -476,8 +476,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asDouble": 34.285714285714285 } ] @@ -498,9 +498,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737756493000", - "asInt": "15081" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564006678000", + "asInt": "11601" }, { "attributes": [ @@ -511,9 +511,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717756493000", - "asInt": "8773" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072544006678000", + "asInt": "9009" }, { "attributes": [ @@ -524,9 +524,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697756493000", - "asInt": "4903" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072524006678000", + "asInt": "10298" }, { "attributes": [ @@ -537,9 +537,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677756493000", - "asInt": "8867" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072504006678000", + "asInt": "9934" }, { "attributes": [ @@ -550,9 +550,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657756493000", - "asInt": "7428" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072484006678000", + "asInt": "9762" }, { "attributes": [ @@ -563,9 +563,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737756493000", - "asInt": "15959" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564006678000", + "asInt": "15862" }, { "attributes": [ @@ -576,9 +576,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717756493000", - "asInt": "14347" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072544006678000", + "asInt": "16454" }, { "attributes": [ @@ -589,9 +589,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697756493000", - "asInt": "8119" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072524006678000", + "asInt": "14772" }, { "attributes": [ @@ -602,9 +602,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677756493000", - "asInt": "12388" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072504006678000", + "asInt": "17429" }, { "attributes": [ @@ -615,9 +615,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657756493000", - "asInt": "16847" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072484006678000", + "asInt": "26542" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -638,9 +638,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737756493000", - "asInt": "1014" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564006678000", + "asInt": "805" }, { "attributes": [ @@ -651,9 +651,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717756493000", - "asInt": "721" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072544006678000", + "asInt": "762" }, { "attributes": [ @@ -664,9 +664,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697756493000", - "asInt": "341" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072524006678000", + "asInt": "518" }, { "attributes": [ @@ -677,9 +677,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677756493000", - "asInt": "349" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072504006678000", + "asInt": "710" }, { "attributes": [ @@ -690,9 +690,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657756493000", - "asInt": "1037" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072484006678000", + "asInt": "807" }, { "attributes": [ @@ -703,9 +703,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737756493000", - "asInt": "502" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564006678000", + "asInt": "869" }, { "attributes": [ @@ -716,9 +716,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717756493000", - "asInt": "740" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072544006678000", + "asInt": "701" }, { "attributes": [ @@ -729,9 +729,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697756493000", - "asInt": "532" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072524006678000", + "asInt": "801" }, { "attributes": [ @@ -742,9 +742,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677756493000", - "asInt": "713" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072504006678000", + "asInt": "651" }, { "attributes": [ @@ -755,9 +755,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657756493000", - "asInt": "1236" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072484006678000", + "asInt": "964" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -770,29 +770,29 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737756493000", - "asInt": "1018" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564006678000", + "asInt": "1381" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717756493000", - "asInt": "1360" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072544006678000", + "asInt": "1325" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697756493000", - "asInt": "979" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072524006678000", + "asInt": "1474" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677756493000", - "asInt": "1343" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072504006678000", + "asInt": "1194" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657756493000", - "asInt": "2704" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072484006678000", + "asInt": "1851" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -833,8 +833,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "67" } ], @@ -848,8 +848,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asDouble": 1.4603312990409765 } ] @@ -862,8 +862,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "1404" } ], @@ -877,8 +877,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asDouble": 34.285714285714285 } ] @@ -899,9 +899,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737791502000", - "asInt": "14235" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564039025000", + "asInt": "12920" }, { "attributes": [ @@ -912,9 +912,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717791502000", - "asInt": "10077" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072544039025000", + "asInt": "14058" }, { "attributes": [ @@ -925,9 +925,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697791502000", - "asInt": "4854" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072524039025000", + "asInt": "5309" }, { "attributes": [ @@ -938,9 +938,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677791502000", - "asInt": "10849" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072504039025000", + "asInt": "9074" }, { "attributes": [ @@ -951,9 +951,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657791502000", - "asInt": "11838" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072484039025000", + "asInt": "10665" }, { "attributes": [ @@ -964,9 +964,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737791502000", - "asInt": "20591" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564039025000", + "asInt": "15076" }, { "attributes": [ @@ -977,9 +977,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717791502000", - "asInt": "19591" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072544039025000", + "asInt": "22959" }, { "attributes": [ @@ -990,9 +990,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697791502000", - "asInt": "10305" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072524039025000", + "asInt": "19483" }, { "attributes": [ @@ -1003,9 +1003,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677791502000", - "asInt": "16941" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072504039025000", + "asInt": "23140" }, { "attributes": [ @@ -1016,9 +1016,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657791502000", - "asInt": "29085" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072484039025000", + "asInt": "22204" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1039,9 +1039,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737791502000", - "asInt": "1042" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564039025000", + "asInt": "978" }, { "attributes": [ @@ -1052,9 +1052,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717791502000", - "asInt": "487" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072544039025000", + "asInt": "656" }, { "attributes": [ @@ -1065,9 +1065,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697791502000", - "asInt": "610" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072524039025000", + "asInt": "724" }, { "attributes": [ @@ -1078,9 +1078,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677791502000", - "asInt": "485" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072504039025000", + "asInt": "574" }, { "attributes": [ @@ -1091,9 +1091,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657791502000", - "asInt": "1099" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072484039025000", + "asInt": "1062" }, { "attributes": [ @@ -1104,9 +1104,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737791502000", - "asInt": "1236" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564039025000", + "asInt": "631" }, { "attributes": [ @@ -1117,9 +1117,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717791502000", - "asInt": "530" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072544039025000", + "asInt": "644" }, { "attributes": [ @@ -1130,9 +1130,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697791502000", - "asInt": "377" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072524039025000", + "asInt": "778" }, { "attributes": [ @@ -1143,9 +1143,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677791502000", - "asInt": "683" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072504039025000", + "asInt": "476" }, { "attributes": [ @@ -1156,9 +1156,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657791502000", - "asInt": "1085" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072484039025000", + "asInt": "501" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1171,29 +1171,29 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737791502000", - "asInt": "1950" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564039025000", + "asInt": "1112" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104717791502000", - "asInt": "1320" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072544039025000", + "asInt": "802" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104697791502000", - "asInt": "1030" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072524039025000", + "asInt": "1368" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104677791502000", - "asInt": "1181" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072504039025000", + "asInt": "1041" }, { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104657791502000", - "asInt": "2363" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072484039025000", + "asInt": "1791" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1236,8 +1236,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "42949672960" }, { @@ -1249,8 +1249,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "10995116277760" } ], @@ -1264,8 +1264,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asDouble": 0.390625 } ] @@ -1326,8 +1326,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" }, { @@ -1339,8 +1339,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1354,8 +1354,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1369,8 +1369,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1392,9 +1392,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737826784000", - "asInt": "872" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564071631000", + "asInt": "632" }, { "attributes": [ @@ -1405,9 +1405,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737826784000", - "asInt": "1797" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564071631000", + "asInt": "2609" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1428,9 +1428,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737826784000", - "asInt": "198" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564071631000", + "asInt": "144" }, { "attributes": [ @@ -1441,9 +1441,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737826784000", - "asInt": "314" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564071631000", + "asInt": "276" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1456,9 +1456,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737826784000", - "asInt": "484" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564071631000", + "asInt": "419" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1519,8 +1519,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" }, { @@ -1532,8 +1532,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1547,8 +1547,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1562,8 +1562,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1585,9 +1585,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737860674000", - "asInt": "896" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564102315000", + "asInt": "583" }, { "attributes": [ @@ -1598,9 +1598,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737860674000", - "asInt": "2062" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564102315000", + "asInt": "1933" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1621,9 +1621,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737860674000", - "asInt": "184" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564102315000", + "asInt": "216" }, { "attributes": [ @@ -1634,9 +1634,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737860674000", - "asInt": "297" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564102315000", + "asInt": "213" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1649,9 +1649,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737860674000", - "asInt": "441" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564102315000", + "asInt": "419" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1712,8 +1712,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" }, { @@ -1725,8 +1725,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1740,8 +1740,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1755,8 +1755,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1778,9 +1778,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737894885000", - "asInt": "543" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564133765000", + "asInt": "731" }, { "attributes": [ @@ -1791,9 +1791,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737894885000", - "asInt": "1423" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564133765000", + "asInt": "995" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1814,9 +1814,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737894885000", - "asInt": "116" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564133765000", + "asInt": "200" }, { "attributes": [ @@ -1827,9 +1827,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737894885000", - "asInt": "285" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564133765000", + "asInt": "204" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1842,9 +1842,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737894885000", - "asInt": "379" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564133765000", + "asInt": "601" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -1905,8 +1905,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" }, { @@ -1918,8 +1918,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1933,8 +1933,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1948,8 +1948,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -1971,9 +1971,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737929623000", - "asInt": "657" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564165871000", + "asInt": "801" }, { "attributes": [ @@ -1984,9 +1984,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737929623000", - "asInt": "1578" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564165871000", + "asInt": "2059" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2007,9 +2007,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737929623000", - "asInt": "193" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564165871000", + "asInt": "188" }, { "attributes": [ @@ -2020,9 +2020,9 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737929623000", - "asInt": "300" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564165871000", + "asInt": "306" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2035,9 +2035,9 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737929623000", - "asInt": "444" + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072564165871000", + "asInt": "362" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" @@ -2065,6 +2065,21 @@ "version": "latest" }, "metrics": [ + { + "name": "vcenter.cluster.cpu.effective", + "description": "The effective CPU available to the cluster. This value excludes CPU from hosts in maintenance mode or are unresponsive.", + "unit": "{MHz}", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", + "asInt": "6882" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, { "name": "vcenter.cluster.cpu.limit", "description": "The amount of CPU available to the cluster.", @@ -2072,8 +2087,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "6882" } ], @@ -2095,8 +2110,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" }, { @@ -2108,8 +2123,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "3" } ], @@ -2131,8 +2146,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "4" }, { @@ -2144,8 +2159,8 @@ } } ], - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "0" } ], @@ -2181,8 +2196,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "9000" } ], @@ -2196,8 +2211,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "9000" } ], @@ -2233,8 +2248,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "9000" } ], @@ -2248,8 +2263,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1652104737416251000", - "timeUnixNano": "1652104737677400000", + "startTimeUnixNano": "1653072563932651000", + "timeUnixNano": "1653072563937170000", "asInt": "9000" } ], From 694c1a6606ab073772cc408edc0c437e753b1a45 Mon Sep 17 00:00:00 2001 From: schmikei Date: Fri, 20 May 2022 15:13:15 -0400 Subject: [PATCH 092/105] moved around scrapererrors because now the receiver is datacenter dependent --- .../internal/mockserver/client_mock.go | 59 ++++++++++--------- receiver/vcenterreceiver/scraper.go | 14 ++--- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/receiver/vcenterreceiver/internal/mockserver/client_mock.go b/receiver/vcenterreceiver/internal/mockserver/client_mock.go index 94ccafd4a2a16..373ed99f2554d 100644 --- a/receiver/vcenterreceiver/internal/mockserver/client_mock.go +++ b/receiver/vcenterreceiver/internal/mockserver/client_mock.go @@ -59,6 +59,7 @@ func MockServer(t *testing.T, responsesFolder embed.FS) *httptest.Server { } jsonified, err := xj.Convert(r.Body) + require.NoError(t, err) sr := &soapRequest{} err = json.Unmarshal(jsonified.Bytes(), sr) require.NoError(t, err) @@ -77,7 +78,7 @@ func MockServer(t *testing.T, responsesFolder embed.FS) *httptest.Server { } w.WriteHeader(http.StatusOK) w.Header().Set("Content-Type", "text/xml") - w.Write(body) + _, _ = w.Write(body) })) return vsphereMock } @@ -85,11 +86,11 @@ func MockServer(t *testing.T, responsesFolder embed.FS) *httptest.Server { func routeBody(t *testing.T, requestType string, body map[string]interface{}) ([]byte, error) { switch requestType { case "RetrieveServiceContent": - return loadResponse(t, "service-content.xml") + return loadResponse("service-content.xml") case "Login": - return loadResponse(t, "login.xml") + return loadResponse("login.xml") case "Logout": - return loadResponse(t, "logout.xml") + return loadResponse("logout.xml") case "RetrieveProperties": return routeRetreiveProperties(t, body) case "QueryPerf": @@ -127,10 +128,10 @@ func routeRetreiveProperties(t *testing.T, body map[string]interface{}) ([]byte, switch { case content == "group-d1" && contentType == "Folder": - return loadResponse(t, "datacenter.xml") + return loadResponse("datacenter.xml") case content == "datacenter-3" && contentType == "Datacenter": - return loadResponse(t, "datacenter-properties.xml") + return loadResponse("datacenter-properties.xml") case content == "domain-c8" && contentType == "ClusterComputeResource": if propSetArray { @@ -139,81 +140,81 @@ func routeRetreiveProperties(t *testing.T, body map[string]interface{}) ([]byte, spec := prop.(map[string]interface{}) specType := spec["type"].(string) if specType == "ResourcePool" { - return loadResponse(t, "resource-pool.xml") + return loadResponse("resource-pool.xml") } } } path := propSet["pathSet"].(string) switch path { case "datastore": - return loadResponse(t, "cluster-datastore.xml") + return loadResponse("cluster-datastore.xml") case "summary": - return loadResponse(t, "cluster-summary.xml") + return loadResponse("cluster-summary.xml") case "host": - return loadResponse(t, "host-list.xml") + return loadResponse("host-list.xml") } case content == "PerfMgr" && contentType == "PerformanceManager": - return loadResponse(t, "perf-manager.xml") + return loadResponse("perf-manager.xml") case content == "group-h5" && contentType == "Folder": // TODO: look into propset for when to grab the parent resource if objectSet["skip"] == "true" { - return loadResponse(t, "host-cluster.xml") + return loadResponse("host-cluster.xml") } - return loadResponse(t, "host-parent.xml") + return loadResponse("host-parent.xml") case content == "datastore-1003" && contentType == "Datastore": if objectSetArray { - return loadResponse(t, "datastore-list.xml") + return loadResponse("datastore-list.xml") } - return loadResponse(t, "datastore-summary.xml") + return loadResponse("datastore-summary.xml") case contentType == "HostSystem": if ps, ok := propSet["pathSet"].([]interface{}); ok { for _, v := range ps { if v == "summary.hardware" { - return loadResponse(t, "host-properties.xml") + return loadResponse("host-properties.xml") } } } else { ps, ok := propSet["pathSet"].(string) require.True(t, ok) if ps == "name" { - return loadResponse(t, "host-names.xml") + return loadResponse("host-names.xml") } } case content == "group-v4" && contentType == "Folder": if propSetArray { - return loadResponse(t, "vm-group.xml") + return loadResponse("vm-group.xml") } if propSet == nil { - return loadResponse(t, "vm-folder.xml") + return loadResponse("vm-folder.xml") } - return loadResponse(t, "vm-folder-parent.xml") + return loadResponse("vm-folder-parent.xml") case content == "vm-1040" && contentType == "VirtualMachine": if propSet["pathSet"] == "summary.runtime.host" { - return loadResponse(t, "vm-host.xml") + return loadResponse("vm-host.xml") } - return loadResponse(t, "vm-properties.xml") + return loadResponse("vm-properties.xml") case (content == "group-v1034" || content == "group-v1001") && contentType == "Folder": - return loadResponse(t, "vm-empty-folder.xml") + return loadResponse("vm-empty-folder.xml") case contentType == "ResourcePool": if ps, ok := propSet["pathSet"].([]interface{}); ok { for _, prop := range ps { if prop == "summary" { - return loadResponse(t, "resource-pool-summary.xml") + return loadResponse("resource-pool-summary.xml") } } } if ss, ok := objectSet["selectSet"].(map[string]interface{}); ok && ss["path"] == "resourcePool" { - return loadResponse(t, "resource-pool-group.xml") + return loadResponse("resource-pool-group.xml") } case objectSetArray: @@ -224,7 +225,7 @@ func routeRetreiveProperties(t *testing.T, body map[string]interface{}) ([]byte, mObj := m["obj"].(map[string](interface{})) typeString := mObj["-type"] if typeString == "HostSystem" { - return loadResponse(t, "host-names.xml") + return loadResponse("host-names.xml") } } } @@ -239,14 +240,14 @@ func routePerformanceQuery(t *testing.T, body map[string]interface{}) ([]byte, e entity := querySpec["entity"].(map[string]interface{}) switch entity["-type"] { case "HostSystem": - return loadResponse(t, "host-performance-counters.xml") + return loadResponse("host-performance-counters.xml") case "VirtualMachine": - return loadResponse(t, "vm-performance-counters.xml") + return loadResponse("vm-performance-counters.xml") } return []byte{}, errNotFound } -func loadResponse(t *testing.T, filename string) ([]byte, error) { +func loadResponse(filename string) ([]byte, error) { return responses.ReadFile(filepath.Join("internal", "mockserver", "responses", filename)) } diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 34a4ab5111d80..b8b62f087acd7 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -84,18 +84,18 @@ func (v *vcenterMetricScraper) collectDatacenters(ctx context.Context) error { if err != nil { return err } + errs := &scrapererror.ScrapeErrors{} for _, dc := range datacenters { - v.collectClusters(ctx, dc) + v.collectClusters(ctx, dc, errs) } - return nil + return errs.Combine() } -func (v *vcenterMetricScraper) collectClusters(ctx context.Context, datacenter *object.Datacenter) error { - errs := &scrapererror.ScrapeErrors{} - +func (v *vcenterMetricScraper) collectClusters(ctx context.Context, datacenter *object.Datacenter, errs *scrapererror.ScrapeErrors) { clusters, err := v.client.Clusters(ctx, datacenter) if err != nil { - return err + errs.Add(err) + return } now := pdata.NewTimestampFromTime(time.Now()) @@ -106,8 +106,6 @@ func (v *vcenterMetricScraper) collectClusters(ctx context.Context, datacenter * v.collectCluster(ctx, now, c, errs) } v.collectResourcePools(ctx, now, errs) - - return errs.Combine() } func (v *vcenterMetricScraper) collectCluster( From f4fad03013b02699abe137d6d5c7af48b6c60d12 Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 23 May 2022 15:36:16 -0400 Subject: [PATCH 093/105] try and do an audit of performance metrics and requests/responses --- receiver/vcenterreceiver/client.go | 14 +- receiver/vcenterreceiver/documentation.md | 7 +- receiver/vcenterreceiver/integration_test.go | 17 +- .../internal/metadata/generated_metrics_v2.go | 35 +- .../internal/mockserver/client_mock.go | 22 +- .../responses/host-performance-counters.xml | 55 + .../mockserver/responses/perf-manager.xml | 2 +- .../responses/vm-performance-counters.xml | 7 + receiver/vcenterreceiver/metadata.yaml | 13 +- receiver/vcenterreceiver/metrics.go | 27 +- receiver/vcenterreceiver/scraper.go | 2 + receiver/vcenterreceiver/scraper_test.go | 6 +- .../testdata/metrics/expected.json | 1456 ++++++++++++--- .../testdata/metrics/integration-metrics.json | 1645 ++--------------- 14 files changed, 1559 insertions(+), 1749 deletions(-) diff --git a/receiver/vcenterreceiver/client.go b/receiver/vcenterreceiver/client.go index cd7b3a212f3a7..719687f03ec1f 100644 --- a/receiver/vcenterreceiver/client.go +++ b/receiver/vcenterreceiver/client.go @@ -34,6 +34,7 @@ type vcenterClient struct { vimDriver *vim25.Client finder *find.Finder pc *property.Collector + pm *performance.Manager cfg *Config } @@ -71,6 +72,7 @@ func (vc *vcenterClient) EnsureConnection(ctx context.Context) error { vc.vimDriver = client.Client vc.pc = property.DefaultCollector(vc.vimDriver) vc.finder = find.NewFinder(vc.vimDriver) + vc.pm = performance.NewManager(vc.vimDriver) return nil } @@ -129,17 +131,19 @@ func (vc *vcenterClient) performanceQuery( names []string, objs []vt.ManagedObjectReference, ) (*perfSampleResult, error) { - mgr := performance.NewManager(vc.vimDriver) - mgr.Sort = true - sample, err := mgr.SampleByName(ctx, spec, names, objs) + if vc.pm == nil { + return &perfSampleResult{}, nil + } + vc.pm.Sort = true + sample, err := vc.pm.SampleByName(ctx, spec, names, objs) if err != nil { return nil, err } - result, err := mgr.ToMetricSeries(ctx, sample) + result, err := vc.pm.ToMetricSeries(ctx, sample) if err != nil { return nil, err } - counterInfoByName, err := mgr.CounterInfoByName(ctx) + counterInfoByName, err := vc.pm.CounterInfoByName(ctx) if err != nil { return nil, err } diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index c199e70e30b80..7f98352c9feaf 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -20,8 +20,8 @@ These are the metrics available for this scraper. | **vcenter.host.cpu.usage** | The amount of CPU in Hz used by the host. | MHz | Sum(Int) |
| | **vcenter.host.cpu.utilization** | The CPU utilization of the host system. | % | Gauge(Double) |
| | **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel read and write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Gauge(Int) |
  • disk_direction
| -| **vcenter.host.disk.latency.max** | Highest latency value across all disks used by the host. As measured over the most recent 20s interval. | ms | Gauge(Int) |
| -| **vcenter.host.disk.throughput** | The throughput to the host system's disk. | By/s | Sum(Int) |
  • disk_direction
| +| **vcenter.host.disk.latency.max** | Highest latency value across all disks used by the host. As measured over the most recent 20s interval. Requires Performance Level 3. | ms | Gauge(Int) |
| +| **vcenter.host.disk.throughput** | The throughput to the host system's disk. As measured over the most recent 20s interval. Aggregated disk I/O rate. Requires Performance Level 4. | By/s | Sum(Int) |
  • disk_direction
| | **vcenter.host.memory.usage** | The amount of memory the host system is using. | MBy | Sum(Int) |
| | **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized. | % | Gauge(Double) |
| | **vcenter.host.network.packet.count** | The number of packets sent and received, as measured over the most recent 20s interval. | {packets/sec} | Sum(Int) |
  • throughput_direction
| @@ -33,7 +33,7 @@ These are the metrics available for this scraper. | **vcenter.resource_pool.memory.shares** | The amount of shares of memory in the resource pool. | {shares} | Sum(Int) |
| | **vcenter.resource_pool.memory.usage** | The usage of the memory by the resource pool. | MBy | Sum(Int) |
| | **vcenter.vm.cpu.utilization** | The CPU utilization of the virtual machine. | % | Gauge(Double) |
| -| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk. Requires Performance Counter level 2 for metric to populate. As measured over the most recent 20s interval. | µs | Gauge(Int) |
  • disk_direction
| +| **vcenter.vm.disk.latency.avg** | The latency of operations to the virtual machine's disk. Requires Performance Counter level 2 for metric to populate. As measured over the most recent 20s interval. | ms | Gauge(Int) |
  • disk_direction
  • disk_type
| | **vcenter.vm.disk.latency.max** | The highest reported total latency (device and kernel times) over an interval of 20 seconds. | ms | Gauge(Int) |
| | **vcenter.vm.disk.throughput** | The throughput of the virtual machine's disk. | By/sec | Sum(Int) |
| | **vcenter.vm.disk.usage** | The amount of storage space used by the virtual machine. | By | Sum(Int) |
  • disk_state
| @@ -70,6 +70,7 @@ metrics: | ---- | ----------- | ------ | | disk_direction (direction) | The direction of disk latency. | read, write | | disk_state | The state of storage and whether it is already allocated or free. | available, used | +| disk_type | The type of storage device that is being recorded. | virtual, physical | | host_effective (effective) | Whether the host is effective in the vCenter cluster. | true, false | | latency_type (type) | The type of disk latency being reported. | kernel, device | | throughput_direction (direction) | The direction of network throughput. | transmitted, received | diff --git a/receiver/vcenterreceiver/integration_test.go b/receiver/vcenterreceiver/integration_test.go index 69d23aa1be679..7fd1a0a2e56bc 100644 --- a/receiver/vcenterreceiver/integration_test.go +++ b/receiver/vcenterreceiver/integration_test.go @@ -28,7 +28,6 @@ import ( "github.com/vmware/govmomi/session" "github.com/vmware/govmomi/simulator" "github.com/vmware/govmomi/vim25" - _ "github.com/vmware/govmomi/vsan/simulator" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/config/configtls" "go.uber.org/zap" @@ -55,6 +54,10 @@ func TestEndtoEnd_ESX(t *testing.T) { } scraper.client.vimDriver = c scraper.client.finder = find.NewFinder(c) + // Performance metrics rely on time based publishing so this is inherently flaky for a + // integration test, so setting the performance manager to nil to not attempt to compare + // performance metrcs. Coverage for this is encompassed in ./scraper_test.go + scraper.client.pm = nil err := scraper.Start(ctx, componenttest.NewNopHost()) require.NoError(t, err) @@ -62,11 +65,19 @@ func TestEndtoEnd_ESX(t *testing.T) { require.NoError(t, err) require.NotEmpty(t, metrics) + // the vcsim will auto assign the VM to one of the listed hosts, so this is a way to ignore the host.name for those vm metrics + // please see #10129 + for i := 0; i < metrics.ResourceMetrics().Len(); i++ { + if _, ok := metrics.ResourceMetrics().At(i).Resource().Attributes().Get("vcenter.host.name"); ok { + metrics.ResourceMetrics().At(i).Resource().Attributes().Remove("vcenter.host.name") + metrics.ResourceMetrics().At(i).Resource().Attributes().InsertString("vcenter.host.name", "DC0_C0_H0") + } + } + goldenPath := filepath.Join("testdata", "metrics", "integration-metrics.json") expectedMetrics, err := golden.ReadMetrics(goldenPath) require.NoError(t, err) - err = scrapertest.CompareMetrics(expectedMetrics, metrics, scrapertest.IgnoreMetricValues()) - require.NoError(t, err) + require.NoError(t, scrapertest.CompareMetrics(expectedMetrics, metrics, scrapertest.IgnoreMetricValues())) err = scraper.Shutdown(ctx) require.NoError(t, err) diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 8dba9175211d3..76d0a0c9a9ee2 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -216,6 +216,32 @@ var MapAttributeDiskState = map[string]AttributeDiskState{ "used": AttributeDiskStateUsed, } +// AttributeDiskType specifies the a value disk_type attribute. +type AttributeDiskType int + +const ( + _ AttributeDiskType = iota + AttributeDiskTypeVirtual + AttributeDiskTypePhysical +) + +// String returns the string representation of the AttributeDiskType. +func (av AttributeDiskType) String() string { + switch av { + case AttributeDiskTypeVirtual: + return "virtual" + case AttributeDiskTypePhysical: + return "physical" + } + return "" +} + +// MapAttributeDiskType is a helper map of string to AttributeDiskType attribute value. +var MapAttributeDiskType = map[string]AttributeDiskType{ + "virtual": AttributeDiskTypeVirtual, + "physical": AttributeDiskTypePhysical, +} + // AttributeHostEffective specifies the a value host_effective attribute. type AttributeHostEffective int @@ -1609,12 +1635,12 @@ type metricVcenterVMDiskLatencyAvg struct { func (m *metricVcenterVMDiskLatencyAvg) init() { m.data.SetName("vcenter.vm.disk.latency.avg") m.data.SetDescription("The latency of operations to the virtual machine's disk.") - m.data.SetUnit("µs") + m.data.SetUnit("ms") m.data.SetDataType(pmetric.MetricDataTypeGauge) m.data.Gauge().DataPoints().EnsureCapacity(m.capacity) } -func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, diskDirectionAttributeValue string) { +func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, ts pcommon.Timestamp, val int64, diskDirectionAttributeValue string, diskTypeAttributeValue string) { if !m.settings.Enabled { return } @@ -1623,6 +1649,7 @@ func (m *metricVcenterVMDiskLatencyAvg) recordDataPoint(start pcommon.Timestamp, dp.SetTimestamp(ts) dp.SetIntVal(val) dp.Attributes().Insert("direction", pcommon.NewValueString(diskDirectionAttributeValue)) + dp.Attributes().Insert("disk_type", pcommon.NewValueString(diskTypeAttributeValue)) } // updateCapacity saves max length of data point slices that will be used for the slice capacity. @@ -2480,8 +2507,8 @@ func (mb *MetricsBuilder) RecordVcenterVMCPUUtilizationDataPoint(ts pcommon.Time } // RecordVcenterVMDiskLatencyAvgDataPoint adds a data point to vcenter.vm.disk.latency.avg metric. -func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, diskDirectionAttributeValue AttributeDiskDirection) { - mb.metricVcenterVMDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, diskDirectionAttributeValue.String()) +func (mb *MetricsBuilder) RecordVcenterVMDiskLatencyAvgDataPoint(ts pcommon.Timestamp, val int64, diskDirectionAttributeValue AttributeDiskDirection, diskTypeAttributeValue AttributeDiskType) { + mb.metricVcenterVMDiskLatencyAvg.recordDataPoint(mb.startTime, ts, val, diskDirectionAttributeValue.String(), diskTypeAttributeValue.String()) } // RecordVcenterVMDiskLatencyMaxDataPoint adds a data point to vcenter.vm.disk.latency.max metric. diff --git a/receiver/vcenterreceiver/internal/mockserver/client_mock.go b/receiver/vcenterreceiver/internal/mockserver/client_mock.go index 373ed99f2554d..4ad9c0c656066 100644 --- a/receiver/vcenterreceiver/internal/mockserver/client_mock.go +++ b/receiver/vcenterreceiver/internal/mockserver/client_mock.go @@ -15,9 +15,9 @@ package mockserver // import "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/mockserver" import ( - "embed" "encoding/json" "errors" + "io/ioutil" "net/http" "net/http/httptest" "path/filepath" @@ -38,8 +38,6 @@ const ( var errNotFound = errors.New("not found") -var responses embed.FS - type soapRequest struct { Envelope soapEnvelope `json:"Envelope"` } @@ -49,8 +47,7 @@ type soapEnvelope struct { } // MockServer has access to recorded SOAP responses and will serve them over http based off the scraper's API calls -func MockServer(t *testing.T, responsesFolder embed.FS) *httptest.Server { - responses = responsesFolder +func MockServer(t *testing.T) *httptest.Server { vsphereMock := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { authUser, _, _ := r.BasicAuth() if authUser == MockUser500Response { @@ -158,9 +155,15 @@ func routeRetreiveProperties(t *testing.T, body map[string]interface{}) ([]byte, return loadResponse("perf-manager.xml") case content == "group-h5" && contentType == "Folder": - // TODO: look into propset for when to grab the parent resource - if objectSet["skip"] == "true" { - return loadResponse("host-cluster.xml") + if propSetArray { + arr := specSet["propSet"].([]interface{}) + for _, i := range arr { + m, ok := i.(map[string]interface{}) + require.True(t, ok) + if m["type"] == "ClusterComputeResource" { + return loadResponse("host-cluster.xml") + } + } } return loadResponse("host-parent.xml") @@ -244,10 +247,9 @@ func routePerformanceQuery(t *testing.T, body map[string]interface{}) ([]byte, e case "VirtualMachine": return loadResponse("vm-performance-counters.xml") } - return []byte{}, errNotFound } func loadResponse(filename string) ([]byte, error) { - return responses.ReadFile(filepath.Join("internal", "mockserver", "responses", filename)) + return ioutil.ReadFile(filepath.Join("internal", "mockserver", "responses", filename)) } diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml b/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml index 3f9c60fff5998..ee6257e6c2a3e 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/host-performance-counters.xml @@ -915,6 +915,61 @@ 0 0 + + + 133 + 4000 + + 899 + 899 + 905 + 1000 + 1002 + + + + 124 + 4000 + + 499 + 568 + 476 + 387 + 977 + + + + 518 + 4000 + + 781 + 789 + 645 + 781 + 782 + + + + 522 + 4000 + + 781 + 789 + 645 + 781 + 782 + + + + 131 + 4000 + + 781 + 789 + 645 + 781 + 782 + diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml b/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml index 4eeeca502d2e4..11e1934daccf0 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/perf-manager.xml @@ -12486,4 +12486,4 @@ - + \ No newline at end of file diff --git a/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml b/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml index e94b716424d7d..31ad00f3081cd 100644 --- a/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml +++ b/receiver/vcenterreceiver/internal/mockserver/responses/vm-performance-counters.xml @@ -232,6 +232,13 @@ 0 + + + 133 + 4000 + + 899 + diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index 2a3d51cae36b6..fba01b5974e13 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -27,6 +27,12 @@ attributes: enum: - available - used + disk_type: + description: The type of storage device that is being recorded. + type: string + enum: + - virtual + - physical host_effective: value: effective description: Whether the host is effective in the vCenter cluster. @@ -166,6 +172,7 @@ metrics: value_type: int aggregation: cumulative attributes: [disk_direction] + extended_documentation: As measured over the most recent 20s interval. Aggregated disk I/O rate. Requires Performance Level 4. vcenter.host.disk.latency.avg: enabled: true description: The latency of operations to the host system's disk. @@ -181,7 +188,7 @@ metrics: gauge: value_type: int attributes: [] - extended_documentation: As measured over the most recent 20s interval. + extended_documentation: As measured over the most recent 20s interval. Requires Performance Level 3. vcenter.host.memory.utilization: enabled: true description: The percentage of the host system's memory capacity that is being utilized. @@ -316,10 +323,10 @@ metrics: vcenter.vm.disk.latency.avg: enabled: true description: The latency of operations to the virtual machine's disk. - unit: µs + unit: ms gauge: value_type: int - attributes: [disk_direction] + attributes: [disk_direction, disk_type] extended_documentation: Requires Performance Counter level 2 for metric to populate. As measured over the most recent 20s interval. vcenter.vm.disk.latency.max: enabled: true diff --git a/receiver/vcenterreceiver/metrics.go b/receiver/vcenterreceiver/metrics.go index 7071eff4ff2d3..bd97679e3526c 100644 --- a/receiver/vcenterreceiver/metrics.go +++ b/receiver/vcenterreceiver/metrics.go @@ -111,6 +111,7 @@ var hostPerfMetricList = []string{ "disk.deviceWriteLatency.average", "disk.kernelReadLatency.average", "disk.kernelWriteLatency.average", + "disk.maxTotalLatency.latest", "disk.read.average", "disk.write.average", } @@ -149,9 +150,9 @@ var vmPerfMetricList = []string{ "net.usage.average", // disk metrics - "disk.write.average", "disk.totalWriteLatency.average", "disk.totalReadLatency.average", + "disk.maxTotalLatency.latest", "virtualDisk.totalWriteLatency.average", "virtualDisk.totalReadLatency.average", } @@ -198,11 +199,15 @@ func (v *vcenterMetricScraper) processVMPerformanceMetrics(info *perfSampleResul v.mb.RecordVcenterVMNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) // Performance monitoring level 2 metrics required - case "disk.totalReadLatency.average", "virtualDisk.totalReadLatency.average": - v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionRead) - case "disk.totalWriteLatency.average", "virtualDisk.totalWriteLatency.average": - v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionWrite) - case "disk.maxTotalLatency": + case "disk.totalReadLatency.average": + v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionRead, metadata.AttributeDiskTypePhysical) + case "virtualDisk.totalReadLatency.average": + v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionRead, metadata.AttributeDiskTypeVirtual) + case "disk.totalWriteLatency.average": + v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionWrite, metadata.AttributeDiskTypePhysical) + case "virtualDisk.totalWriteLatency.average": + v.mb.RecordVcenterVMDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionWrite, metadata.AttributeDiskTypeVirtual) + case "disk.maxTotalLatency.latest": v.mb.RecordVcenterVMDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) } } @@ -229,10 +234,6 @@ func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.Enti v.mb.RecordVcenterHostNetworkPacketCountDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) // Following requires performance level 2 - case "disk.read.usage": - v.mb.RecordVcenterHostDiskThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionRead) - case "disk.write.usage": - v.mb.RecordVcenterHostDiskThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionWrite) case "net.errorsRx.summation": v.mb.RecordVcenterHostNetworkPacketErrorsDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeThroughputDirectionReceived) case "net.errorsTx.summation": @@ -243,6 +244,12 @@ func (v *vcenterMetricScraper) processHostPerformance(metrics []performance.Enti v.mb.RecordVcenterHostDiskLatencyAvgDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionRead) case "disk.maxTotalLatency.latest": v.mb.RecordVcenterHostDiskLatencyMaxDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue) + + // Following requires performance level 4 + case "disk.read.average": + v.mb.RecordVcenterHostDiskThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionRead) + case "disk.write.average": + v.mb.RecordVcenterHostDiskThroughputDataPoint(pdata.NewTimestampFromTime(si.Timestamp), nestedValue, metadata.AttributeDiskDirectionWrite) } } } diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index b8b62f087acd7..adc40bbd17b00 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -123,6 +123,8 @@ func (v *vcenterMetricScraper) collectCluster( s := moCluster.Summary.GetComputeResourceSummary() v.mb.RecordVcenterClusterCPULimitDataPoint(now, int64(s.TotalCpu)) v.mb.RecordVcenterClusterCPUEffectiveDataPoint(now, int64(s.EffectiveCpu)) + v.mb.RecordVcenterClusterMemoryEffectiveDataPoint(now, s.EffectiveMemory) + v.mb.RecordVcenterClusterMemoryLimitDataPoint(now, s.TotalMemory) v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumHosts-s.NumEffectiveHosts), metadata.AttributeHostEffectiveFalse) v.mb.RecordVcenterClusterHostCountDataPoint(now, int64(s.NumEffectiveHosts), metadata.AttributeHostEffectiveTrue) v.mb.EmitForResource( diff --git a/receiver/vcenterreceiver/scraper_test.go b/receiver/vcenterreceiver/scraper_test.go index 85963fca3e251..c5751528a9b27 100644 --- a/receiver/vcenterreceiver/scraper_test.go +++ b/receiver/vcenterreceiver/scraper_test.go @@ -16,7 +16,6 @@ package vcenterreceiver // import github.com/open-telemetry/opentelemetry-collec import ( "context" - "embed" "path/filepath" "testing" @@ -31,12 +30,9 @@ import ( mock "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/vcenterreceiver/internal/mockserver" ) -//go:embed internal/mockserver/responses/* -var resources embed.FS - func TestScrape(t *testing.T) { ctx := context.Background() - mockServer := mock.MockServer(t, resources) + mockServer := mock.MockServer(t) cfg := &Config{ Metrics: metadata.DefaultMetricsSettings(), diff --git a/receiver/vcenterreceiver/testdata/metrics/expected.json b/receiver/vcenterreceiver/testdata/metrics/expected.json index 70ba27b77e286..b3749903c7100 100644 --- a/receiver/vcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vcenterreceiver/testdata/metrics/expected.json @@ -31,8 +31,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "6107" } ], @@ -46,13 +46,911 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asDouble": 6.542186227878476 } ] } }, + { + "name": "vcenter.host.disk.latency.avg", + "description": "The latency of operations to the host system's disk.", + "unit": "ms", + "gauge": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "781" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "789" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "645" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "781" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "782" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "781" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "789" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "645" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "781" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "782" + } + ] + } + }, + { + "name": "vcenter.host.disk.latency.max", + "description": "Highest latency value across all disks used by the host.", + "unit": "ms", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "899" + }, + { + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "899" + }, + { + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "905" + }, + { + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "1000" + }, + { + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "1002" + } + ] + } + }, + { + "name": "vcenter.host.disk.throughput", + "description": "The throughput to the host system's disk.", + "unit": "By/s", + "sum": { + "dataPoints": [ + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "2" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "1" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "7" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "4" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "2" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "28" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "45" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "88" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "92" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "31" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "4" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "1" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "2" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "6" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "6" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "4" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "8" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "19" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "1" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "4" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "25" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "76" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "63" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "5" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "10" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "5" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "7" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "6" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "2" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "2" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "read" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "0" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808280000000000", + "asInt": "781" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808300000000000", + "asInt": "789" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808320000000000", + "asInt": "645" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808340000000000", + "asInt": "781" + }, + { + "attributes": [ + { + "key": "direction", + "value": { + "stringValue": "write" + } + } + ], + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652808360000000000", + "asInt": "782" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, { "name": "vcenter.host.memory.usage", "description": "The amount of memory the host system is using.", @@ -60,8 +958,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "140833" } ], @@ -75,8 +973,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asDouble": 17.948557824655133 } ] @@ -97,7 +995,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "40810" }, @@ -110,7 +1008,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "41703" }, @@ -123,7 +1021,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "42960" }, @@ -136,7 +1034,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "42206" }, @@ -149,7 +1047,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "41480" }, @@ -162,7 +1060,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "42110" }, @@ -175,7 +1073,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "42686" }, @@ -188,7 +1086,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "44277" }, @@ -201,7 +1099,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "43122" }, @@ -214,7 +1112,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "42703" }, @@ -227,7 +1125,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "11182" }, @@ -240,7 +1138,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "13009" }, @@ -253,7 +1151,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "16489" }, @@ -266,7 +1164,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "12398" }, @@ -279,7 +1177,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "12984" }, @@ -292,7 +1190,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "13316" }, @@ -305,7 +1203,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "14473" }, @@ -318,7 +1216,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "19662" }, @@ -331,7 +1229,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "15478" }, @@ -344,7 +1242,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "14458" }, @@ -357,7 +1255,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "116" }, @@ -370,7 +1268,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "114" }, @@ -383,7 +1281,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "113" }, @@ -396,7 +1294,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "112" }, @@ -409,7 +1307,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "120" }, @@ -422,7 +1320,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "55647" }, @@ -435,7 +1333,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "57376" }, @@ -448,7 +1346,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "64156" }, @@ -461,7 +1359,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "58814" }, @@ -474,7 +1372,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "57390" }, @@ -487,7 +1385,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "51992" }, @@ -500,7 +1398,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "54712" }, @@ -513,7 +1411,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "59449" }, @@ -526,7 +1424,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "54604" }, @@ -539,7 +1437,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "54464" }, @@ -552,7 +1450,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -565,7 +1463,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -578,7 +1476,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -591,7 +1489,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -604,7 +1502,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -617,7 +1515,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "105" }, @@ -630,7 +1528,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "103" }, @@ -643,7 +1541,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "104" }, @@ -656,7 +1554,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "102" }, @@ -669,7 +1567,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "109" }, @@ -682,7 +1580,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -695,7 +1593,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -708,7 +1606,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -721,7 +1619,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -734,7 +1632,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" } @@ -757,7 +1655,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -770,7 +1668,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -783,7 +1681,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -796,7 +1694,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -809,7 +1707,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -822,7 +1720,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -835,7 +1733,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -848,7 +1746,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -861,7 +1759,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -874,7 +1772,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -887,7 +1785,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -900,7 +1798,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -913,7 +1811,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -926,7 +1824,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -939,7 +1837,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -952,7 +1850,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -965,7 +1863,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -978,7 +1876,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -991,7 +1889,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1004,7 +1902,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1017,7 +1915,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1030,7 +1928,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1043,7 +1941,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1056,7 +1954,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1069,7 +1967,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1082,7 +1980,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1095,7 +1993,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1108,7 +2006,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1121,7 +2019,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1134,7 +2032,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1147,7 +2045,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1160,7 +2058,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1173,7 +2071,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1186,7 +2084,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1199,7 +2097,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1212,7 +2110,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1225,7 +2123,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1238,7 +2136,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1251,7 +2149,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1264,7 +2162,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1277,7 +2175,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1290,7 +2188,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1303,7 +2201,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1316,7 +2214,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1329,7 +2227,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1342,7 +2240,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1355,7 +2253,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1368,7 +2266,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1381,7 +2279,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1394,7 +2292,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" } @@ -1417,7 +2315,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "411" }, @@ -1430,7 +2328,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "422" }, @@ -1443,7 +2341,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "551" }, @@ -1456,7 +2354,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "617" }, @@ -1469,7 +2367,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "488" }, @@ -1482,7 +2380,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1495,7 +2393,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1508,7 +2406,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1521,7 +2419,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1534,7 +2432,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1547,7 +2445,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "928" }, @@ -1560,7 +2458,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "1120" }, @@ -1573,7 +2471,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "1646" }, @@ -1586,7 +2484,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "1291" }, @@ -1599,7 +2497,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "1058" }, @@ -1612,7 +2510,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "3064" }, @@ -1625,7 +2523,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "2537" }, @@ -1638,7 +2536,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "4373" }, @@ -1651,7 +2549,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "3746" }, @@ -1664,7 +2562,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "2569" }, @@ -1677,7 +2575,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1690,7 +2588,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1703,7 +2601,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1716,7 +2614,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1729,7 +2627,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1742,7 +2640,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "570" }, @@ -1755,7 +2653,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "768" }, @@ -1768,7 +2666,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "1269" }, @@ -1781,7 +2679,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "927" }, @@ -1794,7 +2692,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "681" }, @@ -1807,7 +2705,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "357" }, @@ -1820,7 +2718,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "351" }, @@ -1833,7 +2731,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "376" }, @@ -1846,7 +2744,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "363" }, @@ -1859,7 +2757,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "376" }, @@ -1872,7 +2770,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "3475" }, @@ -1885,7 +2783,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "2959" }, @@ -1898,7 +2796,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "4924" }, @@ -1911,7 +2809,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "4364" }, @@ -1924,7 +2822,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "3058" }, @@ -1937,7 +2835,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1950,7 +2848,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1963,7 +2861,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1976,7 +2874,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1989,7 +2887,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -2002,7 +2900,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -2015,7 +2913,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2028,7 +2926,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2041,7 +2939,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2054,7 +2952,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" } @@ -2069,127 +2967,127 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "769" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "773" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "927" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "980" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "864" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "3634" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "3305" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "5642" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "4674" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "3251" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808280000000000", "asInt": "4404" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808300000000000", "asInt": "4079" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808320000000000", "asInt": "6570" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808340000000000", "asInt": "5655" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652808360000000000", "asInt": "4117" } @@ -2234,8 +3132,8 @@ } } ], - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "5917763748696" }, { @@ -2247,8 +3145,8 @@ } } ], - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "57611315257344" } ], @@ -2262,8 +3160,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asDouble": 10.271877533539964 } ] @@ -2322,9 +3220,15 @@ "value": { "stringValue": "write" } + }, + { + "key": "disk_type", + "value": { + "stringValue": "virtual" + } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2335,15 +3239,35 @@ "value": { "stringValue": "read" } + }, + { + "key": "disk_type", + "value": { + "stringValue": "virtual" + } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" } ] } }, + { + "name": "vcenter.vm.disk.latency.max", + "description": "The highest reported total latency (device and kernel times) over an interval of 20 seconds.", + "unit": "ms", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1652798360000000000", + "asInt": "899" + } + ] + } + }, { "name": "vcenter.vm.disk.usage", "description": "The amount of storage space used by the virtual machine.", @@ -2359,8 +3283,8 @@ } } ], - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "16311648256" }, { @@ -2372,8 +3296,8 @@ } } ], - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "258847277056" } ], @@ -2387,8 +3311,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asDouble": 6.301649544673818 } ] @@ -2401,8 +3325,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "0" } ], @@ -2416,8 +3340,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "163" } ], @@ -2439,7 +3363,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2452,7 +3376,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2465,7 +3389,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2478,7 +3402,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2491,7 +3415,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2504,7 +3428,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2517,7 +3441,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2530,7 +3454,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2543,7 +3467,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2556,7 +3480,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2569,7 +3493,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2582,7 +3506,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -2605,7 +3529,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2618,7 +3542,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2631,7 +3555,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2644,7 +3568,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2657,7 +3581,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2670,7 +3594,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2683,7 +3607,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2696,7 +3620,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2709,7 +3633,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2722,7 +3646,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2735,7 +3659,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -2748,7 +3672,7 @@ } } ], - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -2763,32 +3687,32 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653070379724375000", + "startTimeUnixNano": "1653334465091483000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -2825,8 +3749,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "252846" } ], @@ -2840,8 +3764,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "280044" } ], @@ -2863,8 +3787,8 @@ } } ], - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "0" }, { @@ -2876,14 +3800,44 @@ } } ], - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "3" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, + { + "name": "vcenter.cluster.memory.effective", + "description": "The effective memory of the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", + "asInt": "2140347" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.cluster.memory.limit", + "description": "The available memory of the cluster.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", + "asInt": "2468289376256" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, { "name": "vcenter.cluster.vm.count", "description": "the number of virtual machines in the cluster.", @@ -2899,8 +3853,8 @@ } } ], - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "1" }, { @@ -2912,8 +3866,8 @@ } } ], - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "0" } ], @@ -2949,8 +3903,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "4000" } ], @@ -2964,8 +3918,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "13791" } ], @@ -2979,8 +3933,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "163840" } ], @@ -2994,8 +3948,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653070379724375000", - "timeUnixNano": "1653070379731348000", + "startTimeUnixNano": "1653334465091483000", + "timeUnixNano": "1653334465095898000", "asInt": "40543" } ], diff --git a/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json b/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json index e83f1f1c6d9e7..905976b7c0f2e 100644 --- a/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json +++ b/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json @@ -4,15 +4,15 @@ "resource": { "attributes": [ { - "key": "vcenter.host.name", + "key": "vcenter.cluster.name", "value": { - "stringValue": "DC0_C0_H0" + "stringValue": "DC0_C0" } }, { - "key": "vcenter.cluster.name", + "key": "vcenter.host.name", "value": { - "stringValue": "DC0_C0" + "stringValue": "DC0_C0_H0" } } ] @@ -31,8 +31,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "67" } ], @@ -46,8 +46,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asDouble": 1.4603312990409765 } ] @@ -60,8 +60,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "1404" } ], @@ -75,327 +75,98 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asDouble": 34.285714285714285 } ] } - }, + } + ] + } + ] + }, + { + "resource": { + "attributes": [ + { + "key": "vcenter.cluster.name", + "value": { + "stringValue": "DC0_C0" + } + }, + { + "key": "vcenter.host.name", + "value": { + "stringValue": "DC0_C0_H0" + } + } + ] + }, + "scopeMetrics": [ + { + "scope": { + "name": "otelcol/vcenterreceiver", + "version": "latest" + }, + "metrics": [ { - "name": "vcenter.host.network.packet.count", - "description": "The number of packets sent and received, as measured over the most recent 20s interval.", - "unit": "{packets/sec}", + "name": "vcenter.host.cpu.usage", + "description": "The amount of CPU in Hz used by the host.", + "unit": "MHz", "sum": { "dataPoints": [ { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563973214000", - "asInt": "12975" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072543973214000", - "asInt": "9316" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072523973214000", - "asInt": "8266" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072503973214000", - "asInt": "11121" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072483973214000", - "asInt": "12091" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563973214000", - "asInt": "15029" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072543973214000", - "asInt": "25421" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072523973214000", - "asInt": "15335" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072503973214000", - "asInt": "10956" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072483973214000", - "asInt": "11777" + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", + "asInt": "67" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host.", - "unit": "{KBy/s}", - "sum": { + "name": "vcenter.host.cpu.utilization", + "description": "The CPU utilization of the host system.", + "unit": "%", + "gauge": { "dataPoints": [ { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563973214000", - "asInt": "598" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072543973214000", - "asInt": "731" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072523973214000", - "asInt": "961" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072503973214000", - "asInt": "694" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072483973214000", - "asInt": "1079" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563973214000", - "asInt": "871" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072543973214000", - "asInt": "885" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072523973214000", - "asInt": "600" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072503973214000", - "asInt": "753" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072483973214000", - "asInt": "1013" + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", + "asDouble": 1.4603312990409765 } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + ] } }, { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", + "name": "vcenter.host.memory.usage", + "description": "The amount of memory the host system is using.", + "unit": "MBy", "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563973214000", - "asInt": "1530" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072543973214000", - "asInt": "1543" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072523973214000", - "asInt": "1241" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072503973214000", - "asInt": "1236" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072483973214000", - "asInt": "1846" + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", + "asInt": "1404" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", + "asDouble": 34.285714285714285 + } + ] + } } ] } @@ -405,15 +176,15 @@ "resource": { "attributes": [ { - "key": "vcenter.host.name", + "key": "vcenter.cluster.name", "value": { - "stringValue": "DC0_C0_H1" + "stringValue": "DC0_C0" } }, { - "key": "vcenter.cluster.name", + "key": "vcenter.host.name", "value": { - "stringValue": "DC0_C0" + "stringValue": "DC0_C0_H0" } } ] @@ -432,8 +203,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "67" } ], @@ -447,8 +218,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asDouble": 1.4603312990409765 } ] @@ -461,743 +232,27 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", - "asInt": "1404" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.packet.count", - "description": "The number of packets sent and received, as measured over the most recent 20s interval.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564006678000", - "asInt": "11601" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072544006678000", - "asInt": "9009" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072524006678000", - "asInt": "10298" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072504006678000", - "asInt": "9934" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072484006678000", - "asInt": "9762" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564006678000", - "asInt": "15862" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072544006678000", - "asInt": "16454" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072524006678000", - "asInt": "14772" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072504006678000", - "asInt": "17429" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072484006678000", - "asInt": "26542" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564006678000", - "asInt": "805" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072544006678000", - "asInt": "762" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072524006678000", - "asInt": "518" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072504006678000", - "asInt": "710" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072484006678000", - "asInt": "807" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564006678000", - "asInt": "869" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072544006678000", - "asInt": "701" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072524006678000", - "asInt": "801" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072504006678000", - "asInt": "651" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072484006678000", - "asInt": "964" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564006678000", - "asInt": "1381" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072544006678000", - "asInt": "1325" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072524006678000", - "asInt": "1474" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072504006678000", - "asInt": "1194" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072484006678000", - "asInt": "1851" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - } - ] - } - ] - }, - { - "resource": { - "attributes": [ - { - "key": "vcenter.host.name", - "value": { - "stringValue": "DC0_C0_H2" - } - }, - { - "key": "vcenter.cluster.name", - "value": { - "stringValue": "DC0_C0" - } - } - ] - }, - "scopeMetrics": [ - { - "scope": { - "name": "otelcol/vcenterreceiver", - "version": "latest" - }, - "metrics": [ - { - "name": "vcenter.host.cpu.usage", - "description": "The amount of CPU in Hz used by the host.", - "unit": "MHz", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", - "asInt": "67" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.cpu.utilization", - "description": "The CPU utilization of the host system.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", - "asDouble": 1.4603312990409765 - } - ] - } - }, - { - "name": "vcenter.host.memory.usage", - "description": "The amount of memory the host system is using.", - "unit": "MBy", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", - "asInt": "1404" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.memory.utilization", - "description": "The percentage of the host system's memory capacity that is being utilized.", - "unit": "%", - "gauge": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", - "asDouble": 34.285714285714285 - } - ] - } - }, - { - "name": "vcenter.host.network.packet.count", - "description": "The number of packets sent and received, as measured over the most recent 20s interval.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564039025000", - "asInt": "12920" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072544039025000", - "asInt": "14058" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072524039025000", - "asInt": "5309" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072504039025000", - "asInt": "9074" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072484039025000", - "asInt": "10665" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564039025000", - "asInt": "15076" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072544039025000", - "asInt": "22959" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072524039025000", - "asInt": "19483" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072504039025000", - "asInt": "23140" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072484039025000", - "asInt": "22204" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.throughput", - "description": "The amount of data that was sent or received over the network by the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564039025000", - "asInt": "978" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072544039025000", - "asInt": "656" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072524039025000", - "asInt": "724" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072504039025000", - "asInt": "574" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072484039025000", - "asInt": "1062" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564039025000", - "asInt": "631" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072544039025000", - "asInt": "644" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072524039025000", - "asInt": "778" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072504039025000", - "asInt": "476" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072484039025000", - "asInt": "501" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.host.network.usage", - "description": "The sum of the data transmitted and received for all the NIC instances of the host.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564039025000", - "asInt": "1112" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072544039025000", - "asInt": "802" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072524039025000", - "asInt": "1368" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072504039025000", - "asInt": "1041" - }, - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072484039025000", - "asInt": "1791" + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", + "asInt": "1404" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } + }, + { + "name": "vcenter.host.memory.utilization", + "description": "The percentage of the host system's memory capacity that is being utilized.", + "unit": "%", + "gauge": { + "dataPoints": [ + { + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", + "asDouble": 34.285714285714285 + } + ] + } } ] } @@ -1236,8 +291,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "42949672960" }, { @@ -1249,8 +304,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "10995116277760" } ], @@ -1264,8 +319,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asDouble": 0.390625 } ] @@ -1299,7 +354,7 @@ { "key": "vcenter.host.name", "value": { - "stringValue": "DC0_H0" + "stringValue": "DC0_C0_H0" } } ] @@ -1326,8 +381,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" }, { @@ -1339,8 +394,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], @@ -1354,8 +409,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], @@ -1369,100 +424,13 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } - }, - { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564071631000", - "asInt": "632" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564071631000", - "asInt": "2609" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564071631000", - "asInt": "144" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564071631000", - "asInt": "276" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564071631000", - "asInt": "419" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } } ] } @@ -1492,7 +460,7 @@ { "key": "vcenter.host.name", "value": { - "stringValue": "DC0_H0" + "stringValue": "DC0_C0_H0" } } ] @@ -1519,8 +487,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" }, { @@ -1532,8 +500,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], @@ -1547,8 +515,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], @@ -1562,100 +530,13 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } - }, - { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564102315000", - "asInt": "583" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564102315000", - "asInt": "1933" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564102315000", - "asInt": "216" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564102315000", - "asInt": "213" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564102315000", - "asInt": "419" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } } ] } @@ -1685,7 +566,7 @@ { "key": "vcenter.host.name", "value": { - "stringValue": "DC0_C0_H1" + "stringValue": "DC0_C0_H0" } } ] @@ -1712,8 +593,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" }, { @@ -1725,8 +606,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], @@ -1740,8 +621,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], @@ -1755,100 +636,13 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } - }, - { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564133765000", - "asInt": "731" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564133765000", - "asInt": "995" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564133765000", - "asInt": "200" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564133765000", - "asInt": "204" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564133765000", - "asInt": "601" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } } ] } @@ -1905,8 +699,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" }, { @@ -1918,8 +712,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], @@ -1933,8 +727,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], @@ -1948,100 +742,13 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } - }, - { - "name": "vcenter.vm.network.packet.count", - "description": "The amount of packets that was received or transmitted over the instance's network.", - "unit": "{packets/sec}", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564165871000", - "asInt": "801" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564165871000", - "asInt": "2059" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.throughput", - "description": "The amount of data that was received or sent over the network of the virtual machine.", - "unit": "By/sec", - "sum": { - "dataPoints": [ - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "received" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564165871000", - "asInt": "188" - }, - { - "attributes": [ - { - "key": "direction", - "value": { - "stringValue": "transmitted" - } - } - ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564165871000", - "asInt": "306" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } - }, - { - "name": "vcenter.vm.network.usage", - "description": "The network utilization combined transmit and receive rates during an interval.", - "unit": "{KBy/s}", - "sum": { - "dataPoints": [ - { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072564165871000", - "asInt": "362" - } - ], - "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" - } } ] } @@ -2072,8 +779,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "6882" } ], @@ -2087,8 +794,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "6882" } ], @@ -2110,8 +817,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" }, { @@ -2123,14 +830,44 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "3" } ], "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" } }, + { + "name": "vcenter.cluster.memory.effective", + "description": "The effective memory of the cluster. This value excludes memory from hosts in maintenance mode or are unresponsive.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", + "asInt": "12883292160" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, + { + "name": "vcenter.cluster.memory.limit", + "description": "The available memory of the cluster.", + "unit": "By", + "sum": { + "dataPoints": [ + { + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", + "asInt": "12883292160" + } + ], + "aggregationTemporality": "AGGREGATION_TEMPORALITY_CUMULATIVE" + } + }, { "name": "vcenter.cluster.vm.count", "description": "the number of virtual machines in the cluster.", @@ -2146,8 +883,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "4" }, { @@ -2159,8 +896,8 @@ } } ], - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "0" } ], @@ -2196,8 +933,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "9000" } ], @@ -2211,8 +948,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "9000" } ], @@ -2248,8 +985,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "9000" } ], @@ -2263,8 +1000,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653072563932651000", - "timeUnixNano": "1653072563937170000", + "startTimeUnixNano": "1653330333094890000", + "timeUnixNano": "1653330333098748000", "asInt": "9000" } ], From e61a5dd3802537bfb63575093c1281c9ca4cf80e Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 23 May 2022 15:56:19 -0400 Subject: [PATCH 094/105] update testdata with correct units --- .../testdata/metrics/expected.json | 656 +++++++++--------- .../testdata/metrics/integration-metrics.json | 174 ++--- 2 files changed, 415 insertions(+), 415 deletions(-) diff --git a/receiver/vcenterreceiver/testdata/metrics/expected.json b/receiver/vcenterreceiver/testdata/metrics/expected.json index b3749903c7100..a4abaefbd1580 100644 --- a/receiver/vcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vcenterreceiver/testdata/metrics/expected.json @@ -31,8 +31,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "6107" } ], @@ -46,8 +46,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asDouble": 6.542186227878476 } ] @@ -68,7 +68,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "781" }, @@ -81,7 +81,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "789" }, @@ -94,7 +94,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "645" }, @@ -107,7 +107,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "781" }, @@ -120,7 +120,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "782" }, @@ -133,7 +133,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "781" }, @@ -146,7 +146,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "789" }, @@ -159,7 +159,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "645" }, @@ -172,7 +172,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "781" }, @@ -185,7 +185,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "782" } @@ -199,27 +199,27 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "899" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "899" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "905" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "1000" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "1002" } @@ -241,7 +241,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -254,7 +254,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -267,7 +267,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -280,7 +280,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "2" }, @@ -293,7 +293,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "1" }, @@ -306,7 +306,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "7" }, @@ -319,7 +319,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -332,7 +332,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -345,7 +345,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "4" }, @@ -358,7 +358,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "2" }, @@ -371,7 +371,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "28" }, @@ -384,7 +384,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "45" }, @@ -397,7 +397,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "88" }, @@ -410,7 +410,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "92" }, @@ -423,7 +423,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "31" }, @@ -436,7 +436,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "4" }, @@ -449,7 +449,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -462,7 +462,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "1" }, @@ -475,7 +475,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "2" }, @@ -488,7 +488,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -501,7 +501,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "6" }, @@ -514,7 +514,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "6" }, @@ -527,7 +527,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "4" }, @@ -540,7 +540,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "8" }, @@ -553,7 +553,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "19" }, @@ -566,7 +566,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -579,7 +579,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -592,7 +592,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -605,7 +605,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "1" }, @@ -618,7 +618,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -631,7 +631,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "4" }, @@ -644,7 +644,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "25" }, @@ -657,7 +657,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "76" }, @@ -670,7 +670,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "63" }, @@ -683,7 +683,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -696,7 +696,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -709,7 +709,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -722,7 +722,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -735,7 +735,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -748,7 +748,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -761,7 +761,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "5" }, @@ -774,7 +774,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "10" }, @@ -787,7 +787,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "5" }, @@ -800,7 +800,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "7" }, @@ -813,7 +813,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "6" }, @@ -826,7 +826,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -839,7 +839,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "2" }, @@ -852,7 +852,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -865,7 +865,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "2" }, @@ -878,7 +878,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -891,7 +891,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "781" }, @@ -904,7 +904,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "789" }, @@ -917,7 +917,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "645" }, @@ -930,7 +930,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "781" }, @@ -943,7 +943,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "782" } @@ -958,8 +958,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "140833" } ], @@ -973,8 +973,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asDouble": 17.948557824655133 } ] @@ -995,7 +995,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "40810" }, @@ -1008,7 +1008,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "41703" }, @@ -1021,7 +1021,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "42960" }, @@ -1034,7 +1034,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "42206" }, @@ -1047,7 +1047,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "41480" }, @@ -1060,7 +1060,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "42110" }, @@ -1073,7 +1073,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "42686" }, @@ -1086,7 +1086,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "44277" }, @@ -1099,7 +1099,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "43122" }, @@ -1112,7 +1112,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "42703" }, @@ -1125,7 +1125,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "11182" }, @@ -1138,7 +1138,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "13009" }, @@ -1151,7 +1151,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "16489" }, @@ -1164,7 +1164,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "12398" }, @@ -1177,7 +1177,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "12984" }, @@ -1190,7 +1190,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "13316" }, @@ -1203,7 +1203,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "14473" }, @@ -1216,7 +1216,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "19662" }, @@ -1229,7 +1229,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "15478" }, @@ -1242,7 +1242,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "14458" }, @@ -1255,7 +1255,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "116" }, @@ -1268,7 +1268,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "114" }, @@ -1281,7 +1281,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "113" }, @@ -1294,7 +1294,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "112" }, @@ -1307,7 +1307,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "120" }, @@ -1320,7 +1320,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "55647" }, @@ -1333,7 +1333,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "57376" }, @@ -1346,7 +1346,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "64156" }, @@ -1359,7 +1359,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "58814" }, @@ -1372,7 +1372,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "57390" }, @@ -1385,7 +1385,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "51992" }, @@ -1398,7 +1398,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "54712" }, @@ -1411,7 +1411,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "59449" }, @@ -1424,7 +1424,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "54604" }, @@ -1437,7 +1437,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "54464" }, @@ -1450,7 +1450,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1463,7 +1463,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1476,7 +1476,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1489,7 +1489,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1502,7 +1502,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1515,7 +1515,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "105" }, @@ -1528,7 +1528,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "103" }, @@ -1541,7 +1541,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "104" }, @@ -1554,7 +1554,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "102" }, @@ -1567,7 +1567,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "109" }, @@ -1580,7 +1580,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1593,7 +1593,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1606,7 +1606,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1619,7 +1619,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1632,7 +1632,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" } @@ -1655,7 +1655,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1668,7 +1668,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1681,7 +1681,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1694,7 +1694,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1707,7 +1707,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1720,7 +1720,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1733,7 +1733,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1746,7 +1746,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1759,7 +1759,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1772,7 +1772,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1785,7 +1785,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1798,7 +1798,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1811,7 +1811,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1824,7 +1824,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1837,7 +1837,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1850,7 +1850,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1863,7 +1863,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1876,7 +1876,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1889,7 +1889,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1902,7 +1902,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1915,7 +1915,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1928,7 +1928,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -1941,7 +1941,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -1954,7 +1954,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -1967,7 +1967,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -1980,7 +1980,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -1993,7 +1993,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2006,7 +2006,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2019,7 +2019,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2032,7 +2032,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -2045,7 +2045,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -2058,7 +2058,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2071,7 +2071,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2084,7 +2084,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2097,7 +2097,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -2110,7 +2110,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -2123,7 +2123,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2136,7 +2136,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2149,7 +2149,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2162,7 +2162,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -2175,7 +2175,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -2188,7 +2188,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2201,7 +2201,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2214,7 +2214,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2227,7 +2227,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -2240,7 +2240,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -2253,7 +2253,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2266,7 +2266,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2279,7 +2279,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2292,7 +2292,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" } @@ -2315,7 +2315,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "411" }, @@ -2328,7 +2328,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "422" }, @@ -2341,7 +2341,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "551" }, @@ -2354,7 +2354,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "617" }, @@ -2367,7 +2367,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "488" }, @@ -2380,7 +2380,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -2393,7 +2393,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2406,7 +2406,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2419,7 +2419,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2432,7 +2432,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -2445,7 +2445,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "928" }, @@ -2458,7 +2458,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "1120" }, @@ -2471,7 +2471,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "1646" }, @@ -2484,7 +2484,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "1291" }, @@ -2497,7 +2497,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "1058" }, @@ -2510,7 +2510,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "3064" }, @@ -2523,7 +2523,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "2537" }, @@ -2536,7 +2536,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "4373" }, @@ -2549,7 +2549,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "3746" }, @@ -2562,7 +2562,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "2569" }, @@ -2575,7 +2575,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -2588,7 +2588,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2601,7 +2601,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2614,7 +2614,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2627,7 +2627,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -2640,7 +2640,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "570" }, @@ -2653,7 +2653,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "768" }, @@ -2666,7 +2666,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "1269" }, @@ -2679,7 +2679,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "927" }, @@ -2692,7 +2692,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "681" }, @@ -2705,7 +2705,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "357" }, @@ -2718,7 +2718,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "351" }, @@ -2731,7 +2731,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "376" }, @@ -2744,7 +2744,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "363" }, @@ -2757,7 +2757,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "376" }, @@ -2770,7 +2770,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "3475" }, @@ -2783,7 +2783,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "2959" }, @@ -2796,7 +2796,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "4924" }, @@ -2809,7 +2809,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "4364" }, @@ -2822,7 +2822,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "3058" }, @@ -2835,7 +2835,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -2848,7 +2848,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2861,7 +2861,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2874,7 +2874,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2887,7 +2887,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, @@ -2900,7 +2900,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, @@ -2913,7 +2913,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, @@ -2926,7 +2926,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, @@ -2939,7 +2939,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, @@ -2952,7 +2952,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" } @@ -2967,127 +2967,127 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "769" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "773" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "927" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "980" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "864" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "3634" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "3305" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "5642" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "4674" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "3251" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808280000000000", "asInt": "4404" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808300000000000", "asInt": "4079" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808320000000000", "asInt": "6570" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808340000000000", "asInt": "5655" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652808360000000000", "asInt": "4117" } @@ -3132,8 +3132,8 @@ } } ], - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "5917763748696" }, { @@ -3145,8 +3145,8 @@ } } ], - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "57611315257344" } ], @@ -3160,8 +3160,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asDouble": 10.271877533539964 } ] @@ -3210,7 +3210,7 @@ { "name": "vcenter.vm.disk.latency.avg", "description": "The latency of operations to the virtual machine's disk.", - "unit": "µs", + "unit": "ms", "gauge": { "dataPoints": [ { @@ -3228,7 +3228,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3247,7 +3247,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -3261,7 +3261,7 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "899" } @@ -3283,8 +3283,8 @@ } } ], - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "16311648256" }, { @@ -3296,8 +3296,8 @@ } } ], - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "258847277056" } ], @@ -3311,8 +3311,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asDouble": 6.301649544673818 } ] @@ -3325,8 +3325,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "0" } ], @@ -3340,8 +3340,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "163" } ], @@ -3363,7 +3363,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3376,7 +3376,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3389,7 +3389,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3402,7 +3402,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3415,7 +3415,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3428,7 +3428,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3441,7 +3441,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3454,7 +3454,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3467,7 +3467,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3480,7 +3480,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3493,7 +3493,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3506,7 +3506,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -3529,7 +3529,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3542,7 +3542,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3555,7 +3555,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3568,7 +3568,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3581,7 +3581,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3594,7 +3594,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3607,7 +3607,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3620,7 +3620,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3633,7 +3633,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3646,7 +3646,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3659,7 +3659,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, @@ -3672,7 +3672,7 @@ } } ], - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -3687,32 +3687,32 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" }, { - "startTimeUnixNano": "1653334465091483000", + "startTimeUnixNano": "1653335619966318000", "timeUnixNano": "1652798360000000000", "asInt": "0" } @@ -3749,8 +3749,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "252846" } ], @@ -3764,8 +3764,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "280044" } ], @@ -3787,8 +3787,8 @@ } } ], - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "0" }, { @@ -3800,8 +3800,8 @@ } } ], - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "3" } ], @@ -3815,8 +3815,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "2140347" } ], @@ -3830,8 +3830,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "2468289376256" } ], @@ -3853,8 +3853,8 @@ } } ], - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "1" }, { @@ -3866,8 +3866,8 @@ } } ], - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "0" } ], @@ -3903,8 +3903,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "4000" } ], @@ -3918,8 +3918,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "13791" } ], @@ -3933,8 +3933,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "163840" } ], @@ -3948,8 +3948,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653334465091483000", - "timeUnixNano": "1653334465095898000", + "startTimeUnixNano": "1653335619966318000", + "timeUnixNano": "1653335619974183000", "asInt": "40543" } ], @@ -3961,4 +3961,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json b/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json index 905976b7c0f2e..30e9ca10f5844 100644 --- a/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json +++ b/receiver/vcenterreceiver/testdata/metrics/integration-metrics.json @@ -31,8 +31,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "67" } ], @@ -46,8 +46,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asDouble": 1.4603312990409765 } ] @@ -60,8 +60,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "1404" } ], @@ -75,8 +75,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asDouble": 34.285714285714285 } ] @@ -117,8 +117,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "67" } ], @@ -132,8 +132,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asDouble": 1.4603312990409765 } ] @@ -146,8 +146,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "1404" } ], @@ -161,8 +161,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asDouble": 34.285714285714285 } ] @@ -203,8 +203,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "67" } ], @@ -218,8 +218,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asDouble": 1.4603312990409765 } ] @@ -232,8 +232,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "1404" } ], @@ -247,8 +247,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asDouble": 34.285714285714285 } ] @@ -291,8 +291,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "42949672960" }, { @@ -304,8 +304,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "10995116277760" } ], @@ -319,8 +319,8 @@ "gauge": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asDouble": 0.390625 } ] @@ -381,8 +381,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" }, { @@ -394,8 +394,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -409,8 +409,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -424,8 +424,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -487,8 +487,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" }, { @@ -500,8 +500,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -515,8 +515,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -530,8 +530,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -593,8 +593,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" }, { @@ -606,8 +606,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -621,8 +621,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -636,8 +636,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -699,8 +699,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" }, { @@ -712,8 +712,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -727,8 +727,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -742,8 +742,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -779,8 +779,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "6882" } ], @@ -794,8 +794,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "6882" } ], @@ -817,8 +817,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" }, { @@ -830,8 +830,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "3" } ], @@ -845,8 +845,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "12883292160" } ], @@ -860,8 +860,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "12883292160" } ], @@ -883,8 +883,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "4" }, { @@ -896,8 +896,8 @@ } } ], - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "0" } ], @@ -933,8 +933,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "9000" } ], @@ -948,8 +948,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "9000" } ], @@ -985,8 +985,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "9000" } ], @@ -1000,8 +1000,8 @@ "sum": { "dataPoints": [ { - "startTimeUnixNano": "1653330333094890000", - "timeUnixNano": "1653330333098748000", + "startTimeUnixNano": "1653335719992107000", + "timeUnixNano": "1653335719998015000", "asInt": "9000" } ], @@ -1013,4 +1013,4 @@ ] } ] -} \ No newline at end of file +} From ee545119471adcb907cc276839415e66194091fb Mon Sep 17 00:00:00 2001 From: schmikei Date: Mon, 23 May 2022 16:18:25 -0400 Subject: [PATCH 095/105] make tidy --- receiver/vcenterreceiver/go.mod | 1 + receiver/vcenterreceiver/go.sum | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 1ea1c9baed5f3..4993e3d421b45 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -51,6 +51,7 @@ require ( google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa // indirect google.golang.org/grpc v1.46.0 // indirect google.golang.org/protobuf v1.28.0 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index fb6aad268a2af..2cafbf7e4c50d 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -36,7 +36,6 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dougm/pretty v0.0.0-20171025230240-2ee9d7453c02 h1:tR3jsKPiO/mb6ntzk/dJlHZtm37CPfVp1C9KIo534+4= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -338,6 +337,7 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 111c1e4836f773d3ba83bc5c7392cbad4cd0ded0 Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 24 May 2022 09:54:16 -0400 Subject: [PATCH 096/105] make tidy --- receiver/vcenterreceiver/go.mod | 1 - receiver/vcenterreceiver/go.sum | 2 -- 2 files changed, 3 deletions(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 9f3c3a50b65ef..ace39d1ef54a1 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -22,7 +22,6 @@ require gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect require ( github.com/basgys/goxml2json v1.1.0 github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.51.0 - go.opentelemetry.io/collector/model v0.50.0 golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 // indirect ) diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 965a736259946..9c3d0d4af83d7 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -195,8 +195,6 @@ go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opentelemetry.io/collector v0.51.0 h1:r4cfvLYkmdTWU+RioL2QqxD/GLJUXRNifG0NCfRmxwk= go.opentelemetry.io/collector v0.51.0/go.mod h1:2pHwJxKDhSd4t42GkiCosU9G3szHoWUK2R0qnB6X67A= -go.opentelemetry.io/collector/model v0.50.0 h1:1wt8pQ4O6GaUeYEaR+dh3zHmYsFicduF2bbPGMZeSKk= -go.opentelemetry.io/collector/model v0.50.0/go.mod h1:vKpC0JMtrL7g9tUHmzcQqd8rEbnahKVdTWZSVO7x3Ms= go.opentelemetry.io/collector/pdata v0.51.1-0.20220519211145-c56d20e9e0af h1:eX2HuWOgtK/KYzn5grV3iLy7D7OrZeOYG+96rUq4twA= go.opentelemetry.io/collector/pdata v0.51.1-0.20220519211145-c56d20e9e0af/go.mod h1:GJUTfTv8mlYpHRjcmHXVbvJr48EW/q/P/HuBvpXAE58= go.opentelemetry.io/otel v1.7.0 h1:Z2lA3Tdch0iDcrhJXDIlC94XE+bxok1F9B+4Lz/lGsM= From 2d05ac7c55e210aa4c5395b1e80d5aa0819cb1da Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 24 May 2022 10:11:57 -0400 Subject: [PATCH 097/105] update collector version --- receiver/vcenterreceiver/go.mod | 2 +- receiver/vcenterreceiver/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index ace39d1ef54a1..f31df9b82e21f 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -4,7 +4,7 @@ go 1.17 require ( github.com/vmware/govmomi v0.28.0 - go.opentelemetry.io/collector v0.51.0 + go.opentelemetry.io/collector v0.51.1-0.20220519211145-c56d20e9e0af go.opentelemetry.io/collector/pdata v0.51.1-0.20220519211145-c56d20e9e0af go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 9c3d0d4af83d7..539cb70f1e4b3 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -193,8 +193,8 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/collector v0.51.0 h1:r4cfvLYkmdTWU+RioL2QqxD/GLJUXRNifG0NCfRmxwk= -go.opentelemetry.io/collector v0.51.0/go.mod h1:2pHwJxKDhSd4t42GkiCosU9G3szHoWUK2R0qnB6X67A= +go.opentelemetry.io/collector v0.51.1-0.20220519211145-c56d20e9e0af h1:FQtF3PEE+iF0xqwFyNVE4KC5gdRxwCCZ+vkGPZHj/E8= +go.opentelemetry.io/collector v0.51.1-0.20220519211145-c56d20e9e0af/go.mod h1:vYUTb51+Tpc+ziTx2VfKZtvO/tKfJo7NosYyXymB78A= go.opentelemetry.io/collector/pdata v0.51.1-0.20220519211145-c56d20e9e0af h1:eX2HuWOgtK/KYzn5grV3iLy7D7OrZeOYG+96rUq4twA= go.opentelemetry.io/collector/pdata v0.51.1-0.20220519211145-c56d20e9e0af/go.mod h1:GJUTfTv8mlYpHRjcmHXVbvJr48EW/q/P/HuBvpXAE58= go.opentelemetry.io/otel v1.7.0 h1:Z2lA3Tdch0iDcrhJXDIlC94XE+bxok1F9B+4Lz/lGsM= From 770db40052a8d473e20f3bf008d210f06f020abe Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 24 May 2022 13:51:14 -0400 Subject: [PATCH 098/105] fix local testing code including modules --- receiver/vcenterreceiver/go.mod | 1 - receiver/vcenterreceiver/go.sum | 1 - 2 files changed, 2 deletions(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index f31df9b82e21f..8e5dced4d29bd 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -50,7 +50,6 @@ require ( google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa // indirect google.golang.org/grpc v1.46.2 // indirect google.golang.org/protobuf v1.28.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index 539cb70f1e4b3..6091c73839588 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -335,7 +335,6 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From 0426b76651d94181b496680b640e4027de58907b Mon Sep 17 00:00:00 2001 From: schmikei Date: Tue, 24 May 2022 15:59:41 -0400 Subject: [PATCH 099/105] remove deprecated use of commonponenterror --- receiver/vcenterreceiver/factory_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/receiver/vcenterreceiver/factory_test.go b/receiver/vcenterreceiver/factory_test.go index 0c828a257e644..71d8f6d565abb 100644 --- a/receiver/vcenterreceiver/factory_test.go +++ b/receiver/vcenterreceiver/factory_test.go @@ -19,7 +19,7 @@ import ( "testing" "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component/componenterror" + "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/component/componenttest" "go.opentelemetry.io/collector/consumer/consumertest" ) @@ -65,7 +65,7 @@ func TestCreateMetricsReceiver(t *testing.T) { createDefaultConfig(), nil, ) - require.ErrorIs(t, err, componenterror.ErrNilNextConsumer) + require.ErrorIs(t, err, component.ErrNilNextConsumer) }, }, } From 8eb488c7f88c19e797265ecbb7053c9ad51b4c6e Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 25 May 2022 09:59:44 -0400 Subject: [PATCH 100/105] pr feedback; add method of collection recording, return poweredOn/poweredOff VMs --- receiver/vcenterreceiver/README.md | 2 +- receiver/vcenterreceiver/documentation.md | 2 +- receiver/vcenterreceiver/integration_test.go | 2 +- .../internal/metadata/generated_metrics_v2.go | 4 +- .../internal/mockserver/README.md | 52 +++++++++++++++++++ .../internal/mockserver/client_mock.go | 9 +--- receiver/vcenterreceiver/metadata.yaml | 4 +- receiver/vcenterreceiver/scraper.go | 17 +++--- 8 files changed, 70 insertions(+), 22 deletions(-) create mode 100644 receiver/vcenterreceiver/internal/mockserver/README.md diff --git a/receiver/vcenterreceiver/README.md b/receiver/vcenterreceiver/README.md index 0768ed142ac8b..c8abd0d1a7884 100644 --- a/receiver/vcenterreceiver/README.md +++ b/receiver/vcenterreceiver/README.md @@ -10,9 +10,9 @@ Supported pipeline types: `metrics` This receiver has been built to support ESXi and vCenter versions: +- 7.5 - 7.0 - 6.7 -- 7.5 A “Read Only” user assigned to a vSphere with permissions to the vCenter server, cluster and all subsequent resources being monitored must be specified in order for the receiver to retrieve information about them. diff --git a/receiver/vcenterreceiver/documentation.md b/receiver/vcenterreceiver/documentation.md index 7f98352c9feaf..c5ef186ec0328 100644 --- a/receiver/vcenterreceiver/documentation.md +++ b/receiver/vcenterreceiver/documentation.md @@ -21,7 +21,7 @@ These are the metrics available for this scraper. | **vcenter.host.cpu.utilization** | The CPU utilization of the host system. | % | Gauge(Double) |
| | **vcenter.host.disk.latency.avg** | The latency of operations to the host system's disk. This latency is the sum of the device and kernel read and write latencies. Requires Performance Counter level 2 for metric to populate. | ms | Gauge(Int) |
  • disk_direction
| | **vcenter.host.disk.latency.max** | Highest latency value across all disks used by the host. As measured over the most recent 20s interval. Requires Performance Level 3. | ms | Gauge(Int) |
| -| **vcenter.host.disk.throughput** | The throughput to the host system's disk. As measured over the most recent 20s interval. Aggregated disk I/O rate. Requires Performance Level 4. | By/s | Sum(Int) |
  • disk_direction
| +| **vcenter.host.disk.throughput** | Average number of kilobytes read from the disk each second. As measured over the most recent 20s interval. Aggregated disk I/O rate. Requires Performance Level 4. | {KBy/s} | Sum(Int) |
  • disk_direction
| | **vcenter.host.memory.usage** | The amount of memory the host system is using. | MBy | Sum(Int) |
| | **vcenter.host.memory.utilization** | The percentage of the host system's memory capacity that is being utilized. | % | Gauge(Double) |
| | **vcenter.host.network.packet.count** | The number of packets sent and received, as measured over the most recent 20s interval. | {packets/sec} | Sum(Int) |
  • throughput_direction
| diff --git a/receiver/vcenterreceiver/integration_test.go b/receiver/vcenterreceiver/integration_test.go index 7fd1a0a2e56bc..74b8548d8b748 100644 --- a/receiver/vcenterreceiver/integration_test.go +++ b/receiver/vcenterreceiver/integration_test.go @@ -54,7 +54,7 @@ func TestEndtoEnd_ESX(t *testing.T) { } scraper.client.vimDriver = c scraper.client.finder = find.NewFinder(c) - // Performance metrics rely on time based publishing so this is inherently flaky for a + // Performance metrics rely on time based publishing so this is inherently flaky for an // integration test, so setting the performance manager to nil to not attempt to compare // performance metrcs. Coverage for this is encompassed in ./scraper_test.go scraper.client.pm = nil diff --git a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go index 76d0a0c9a9ee2..398953a4649be 100644 --- a/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go +++ b/receiver/vcenterreceiver/internal/metadata/generated_metrics_v2.go @@ -1018,8 +1018,8 @@ type metricVcenterHostDiskThroughput struct { // init fills vcenter.host.disk.throughput metric with initial data. func (m *metricVcenterHostDiskThroughput) init() { m.data.SetName("vcenter.host.disk.throughput") - m.data.SetDescription("The throughput to the host system's disk.") - m.data.SetUnit("By/s") + m.data.SetDescription("Average number of kilobytes read from the disk each second.") + m.data.SetUnit("{KBy/s}") m.data.SetDataType(pmetric.MetricDataTypeSum) m.data.Sum().SetIsMonotonic(false) m.data.Sum().SetAggregationTemporality(pmetric.MetricAggregationTemporalityCumulative) diff --git a/receiver/vcenterreceiver/internal/mockserver/README.md b/receiver/vcenterreceiver/internal/mockserver/README.md new file mode 100644 index 0000000000000..557ee142e53f7 --- /dev/null +++ b/receiver/vcenterreceiver/internal/mockserver/README.md @@ -0,0 +1,52 @@ +# MockServer + +This is explicitly a test client for the `vcenterreceiver`. + +It emulates a vCenter server with this Product Information: + +```json + "name": "VMware vCenter Server", + "fullName": "VMware vCenter Server 7.0.2 build-19272235", + "vendor": "VMware, Inc.", + "version": "7.0.2", + "build": "19272235", + "localeVersion": "INTL", + "localeBuild": "000", + "osType": "linux-x64", + "productLineId": "vpx", + "apiType": "VirtualCenter", + "apiVersion": "7.0.2.0", + "licenseProductName": "VMware VirtualCenter Server", + "licenseProductVersion": "7.0" +``` + +## Method of recording + +[mitmproxy](https://docs.mitmproxy.org/stable/) was used to record the scraper via reverse proxy recording. + +The command to run `mitmproxy`: + +```sh +mitmproxy -p 55626 --mode=reverse:https:// +``` + +And then running the receiver against the proxy. + +```yaml +receivers: + vcenter: + metrics: + endpoint: https://localhost:56626 + username: "otelu" + password: "otelp" + tls: + insecure: false + insecure_skip_verify: true + +service: + pipelines: + metrics: + receivers: [vcenter] +``` + +Note govmomi uses cookie based authentication. Because of this the environment variable `GOVMOMI_INSECURE_COOKIES=true` may need to be set to let the receiver collect. diff --git a/receiver/vcenterreceiver/internal/mockserver/client_mock.go b/receiver/vcenterreceiver/internal/mockserver/client_mock.go index 4ad9c0c656066..029536712c49b 100644 --- a/receiver/vcenterreceiver/internal/mockserver/client_mock.go +++ b/receiver/vcenterreceiver/internal/mockserver/client_mock.go @@ -32,8 +32,6 @@ const ( MockUsername = "otelu" // MockPassword is the correct password for authentication to the Mock Server MockPassword = "otelp" - // MockUser500Response will cause the MockServer to return a 500 response code - MockUser500Response = "500user" ) var errNotFound = errors.New("not found") @@ -49,12 +47,7 @@ type soapEnvelope struct { // MockServer has access to recorded SOAP responses and will serve them over http based off the scraper's API calls func MockServer(t *testing.T) *httptest.Server { vsphereMock := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - authUser, _, _ := r.BasicAuth() - if authUser == MockUser500Response { - w.WriteHeader(500) - return - } - + // converting to JSON in order to iterate over map keys jsonified, err := xj.Convert(r.Body) require.NoError(t, err) sr := &soapRequest{} diff --git a/receiver/vcenterreceiver/metadata.yaml b/receiver/vcenterreceiver/metadata.yaml index fba01b5974e13..9e9ab1535867a 100644 --- a/receiver/vcenterreceiver/metadata.yaml +++ b/receiver/vcenterreceiver/metadata.yaml @@ -165,8 +165,8 @@ metrics: attributes: [] vcenter.host.disk.throughput: enabled: true - description: The throughput to the host system's disk. - unit: By/s + description: Average number of kilobytes read from the disk each second. + unit: "{KBy/s}" sum: monotonic: false value_type: int diff --git a/receiver/vcenterreceiver/scraper.go b/receiver/vcenterreceiver/scraper.go index 90d3684ed7d66..d017862e7cf85 100644 --- a/receiver/vcenterreceiver/scraper.go +++ b/receiver/vcenterreceiver/scraper.go @@ -103,8 +103,8 @@ func (v *vcenterMetricScraper) collectClusters(ctx context.Context, datacenter * for _, c := range clusters { v.collectHosts(ctx, now, c, errs) v.collectDatastores(ctx, now, c, errs) - v.collectVMs(ctx, now, c, errs) - v.collectCluster(ctx, now, c, errs) + poweredOnVMs, poweredOffVMs := v.collectVMs(ctx, now, c, errs) + v.collectCluster(ctx, now, c, poweredOnVMs, poweredOffVMs, errs) } v.collectResourcePools(ctx, now, errs) } @@ -113,8 +113,12 @@ func (v *vcenterMetricScraper) collectCluster( ctx context.Context, now pcommon.Timestamp, c *object.ClusterComputeResource, + poweredOnVMs, poweredOffVMs int64, errs *scrapererror.ScrapeErrors, ) { + v.mb.RecordVcenterClusterVMCountDataPoint(now, poweredOnVMs, metadata.AttributeVMCountPowerStateOn) + v.mb.RecordVcenterClusterVMCountDataPoint(now, poweredOffVMs, metadata.AttributeVMCountPowerStateOff) + var moCluster mo.ClusterComputeResource err := c.Properties(ctx, c.Reference(), []string{"summary"}, &moCluster) if err != nil { @@ -244,13 +248,12 @@ func (v *vcenterMetricScraper) collectVMs( colTime pcommon.Timestamp, cluster *object.ClusterComputeResource, errs *scrapererror.ScrapeErrors, -) { +) (poweredOnVMs int64, poweredOffVMs int64) { vms, err := v.client.VMs(ctx) if err != nil { errs.AddPartial(1, err) return } - poweredOffVMs := 0 for _, vm := range vms { var moVM mo.VirtualMachine err := vm.Properties(ctx, vm.Reference(), []string{ @@ -268,6 +271,8 @@ func (v *vcenterMetricScraper) collectVMs( if string(moVM.Runtime.PowerState) == "poweredOff" { poweredOffVMs++ + } else { + poweredOnVMs++ } host, err := vm.HostSystem(ctx) @@ -289,9 +294,7 @@ func (v *vcenterMetricScraper) collectVMs( metadata.WithVcenterHostName(hostname), ) } - - v.mb.RecordVcenterClusterVMCountDataPoint(colTime, int64(len(vms))-int64(poweredOffVMs), metadata.AttributeVMCountPowerStateOn) - v.mb.RecordVcenterClusterVMCountDataPoint(colTime, int64(poweredOffVMs), metadata.AttributeVMCountPowerStateOff) + return poweredOnVMs, poweredOffVMs } func (v *vcenterMetricScraper) collectVM( From aaf9c212f0332fa4d43f89c73e604b28024ed170 Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 25 May 2022 10:00:16 -0400 Subject: [PATCH 101/105] remove content.json --- cmd/otelcontribcol/content.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 cmd/otelcontribcol/content.json diff --git a/cmd/otelcontribcol/content.json b/cmd/otelcontribcol/content.json deleted file mode 100644 index e69de29bb2d1d..0000000000000 From 8b7bd0e2b1f643e47a7c036614ec309589e1c8bb Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 25 May 2022 10:08:52 -0400 Subject: [PATCH 102/105] fix description change in scraper_test.go --- receiver/vcenterreceiver/testdata/metrics/expected.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/receiver/vcenterreceiver/testdata/metrics/expected.json b/receiver/vcenterreceiver/testdata/metrics/expected.json index a4abaefbd1580..d52537325528b 100644 --- a/receiver/vcenterreceiver/testdata/metrics/expected.json +++ b/receiver/vcenterreceiver/testdata/metrics/expected.json @@ -228,8 +228,8 @@ }, { "name": "vcenter.host.disk.throughput", - "description": "The throughput to the host system's disk.", - "unit": "By/s", + "description": "Average number of kilobytes read from the disk each second.", + "unit": "{KBy/s}", "sum": { "dataPoints": [ { From c88282da51b524d24d3926dc5fe371ee0b1042ad Mon Sep 17 00:00:00 2001 From: schmikei Date: Wed, 25 May 2022 16:32:53 -0400 Subject: [PATCH 103/105] update collector version --- receiver/vcenterreceiver/go.mod | 2 +- receiver/vcenterreceiver/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index f8873c9e545be..4c2e02bcf2da4 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -4,7 +4,7 @@ go 1.17 require ( github.com/vmware/govmomi v0.28.0 - go.opentelemetry.io/collector v0.51.1-0.20220519211145-c56d20e9e0af + go.opentelemetry.io/collector v0.52.0 go.opentelemetry.io/collector/pdata v0.52.0 go.uber.org/multierr v1.8.0 go.uber.org/zap v1.21.0 diff --git a/receiver/vcenterreceiver/go.sum b/receiver/vcenterreceiver/go.sum index a57621bfc2118..9734324c5a59e 100644 --- a/receiver/vcenterreceiver/go.sum +++ b/receiver/vcenterreceiver/go.sum @@ -193,8 +193,8 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/collector v0.51.1-0.20220519211145-c56d20e9e0af h1:FQtF3PEE+iF0xqwFyNVE4KC5gdRxwCCZ+vkGPZHj/E8= -go.opentelemetry.io/collector v0.51.1-0.20220519211145-c56d20e9e0af/go.mod h1:vYUTb51+Tpc+ziTx2VfKZtvO/tKfJo7NosYyXymB78A= +go.opentelemetry.io/collector v0.52.0 h1:f8860C+jAGtfBIKmF5UFCmKHA3P3ni/KZuVbz3qgvQk= +go.opentelemetry.io/collector v0.52.0/go.mod h1:a9GvaOhyc0nVOUzqvdv5mxyWghCSso/WRO2GgRl4I1g= go.opentelemetry.io/collector/pdata v0.52.0 h1:B0L9fkqKq5xRKFjICK9i11PRyTR52CCYSpTWaynf1Qc= go.opentelemetry.io/collector/pdata v0.52.0/go.mod h1:GJUTfTv8mlYpHRjcmHXVbvJr48EW/q/P/HuBvpXAE58= go.opentelemetry.io/otel v1.7.0 h1:Z2lA3Tdch0iDcrhJXDIlC94XE+bxok1F9B+4Lz/lGsM= From 7634f35437dd8de0cdbe51852ad8e1ac18d3da6f Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 26 May 2022 09:55:03 -0400 Subject: [PATCH 104/105] bump replaced module; rebuild load tests --- receiver/vcenterreceiver/go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/receiver/vcenterreceiver/go.mod b/receiver/vcenterreceiver/go.mod index 4c2e02bcf2da4..01b1f32a7dc98 100644 --- a/receiver/vcenterreceiver/go.mod +++ b/receiver/vcenterreceiver/go.mod @@ -21,7 +21,7 @@ require gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect require ( github.com/basgys/goxml2json v1.1.0 - github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.51.0 + github.com/open-telemetry/opentelemetry-collector-contrib/internal/scrapertest v0.52.0 golang.org/x/sys v0.0.0-20220307203707-22a9840ba4d7 // indirect ) From 5ee6e15f5dba62988a4355624b83f1a3441ac4f4 Mon Sep 17 00:00:00 2001 From: schmikei Date: Thu, 26 May 2022 10:46:46 -0400 Subject: [PATCH 105/105] fix alibaba version auto localizing --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 940accfa8b18f..3a4635e74528b 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/open-telemetry/opentelemetry-collector-contrib go 1.17 require ( - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.0.0-00010101000000-000000000000 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/alibabacloudlogserviceexporter v0.52.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awscloudwatchlogsexporter v0.52.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter v0.52.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awskinesisexporter v0.52.0