Compare commits

...

2798 Commits

Author SHA1 Message Date
c65a9e2dd1 version: 3.4.4
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2020-02-24 13:14:02 -08:00
7862f6ed2c Merge pull request #11644 from jingyih/automated-cherry-pick-of-#11640-upstream-release-3.4
Automated cherry pick of #11640 on release-3.4
2020-02-23 14:42:34 +08:00
257319fb18 etcdserver: fix quorum calculation when promoting a learner member
When promoting a learner member we should not count already a voting
member, but take only into account the number of existing voting
members and their current status (started, unstarted) when taking the
decision whether a learner member can be promoted.

Before this change, it was impossible to grow from a quorum N to a N+1
through promoting a learning member.

Fixes: #11633
2020-02-21 23:14:55 -08:00
cdb2dc11b8 Merge pull request #11636 from YoyinZyc/automated-cherry-pick-of-#11621-upstream-release-3.4
Automated cherry pick of #11621 to release-3.4
2020-02-20 13:04:33 +08:00
770674e4a6 etcdserver: corruption check via http
During corruption check, get peer's hashKV via http call.
2020-02-18 14:12:19 -08:00
c10168f718 Merge pull request #11631 from jingyih/automated-cherry-pick-of-#11630-upstream-release-3.4
Automated cherry pick of #11630 to release-3.4
2020-02-16 08:35:23 +08:00
94673a6ba4 mvcc/backend: check for nil boltOpenOptions
Check if boltOpenOptions is nil before use it.
2020-02-15 00:18:26 -08:00
a1bf5574fc Merge pull request #11622 from jpbetz/automated-cherry-pick-of-#11613-origin-release-3.4
Automated cherry pick of #11613 to release-3.4
2020-02-13 14:45:38 -08:00
6d646c442a mvcc/backend: Delete orphaned db.tmp files before defrag 2020-02-13 12:26:54 -08:00
1226686cf3 Merge pull request #11588 from jingyih/automated-cherry-pick-of-#11586-upstream-release-3.4
Automated cherry pick of #11586 on release 3.4
2020-02-04 19:45:59 -08:00
50e12328ac auth: correct logging level 2020-02-04 05:38:58 -08:00
0dc78a144b Merge pull request #11439 from YoyinZyc/automated-cherry-pick-of-#11418-upstream-release-3.4
Automated cherry pick of #11418 to release 3.4
2019-12-11 14:41:06 -08:00
7cf32c262c e2e: test curl auth on onoption user 2019-12-10 12:53:10 -08:00
4a9247a47e auth: fix NoPassWord check when add user 2019-12-10 12:53:10 -08:00
ac63c2fbd0 Merge pull request #11415 from YoyinZyc/automated-cherry-pick-of-#11413-upstream-release-3.4
Automated cherry pick of #11413 to release-3.4
2019-12-02 14:51:47 -08:00
ae5bd3c268 auth: fix user.Options nil pointer 2019-12-02 14:44:15 -08:00
94e46ba0d7 Merge pull request #11403 from jingyih/automated-cherry-pick-of-#11400-upstream-release-3.4
Automated cherry pick of #11400 on release 3.4
2019-11-27 13:28:34 -08:00
8c10973820 mvcc/kvstore:fixcompactbug 2019-11-27 13:07:47 -08:00
1af0b51537 Merge pull request #11393 from jingyih/automated-cherry-pick-of-#11374-upstream-release-3.4
Automated cherry pick of #11374 on release 3.4
2019-11-26 15:02:27 -08:00
f4669c3b62 mvcc: update to "etcd_debugging_mvcc_total_put_size_in_bytes" 2019-11-26 14:03:07 -08:00
55c3476abc mvcc: add "etcd_mvcc_put_size_in_bytes" to monitor the throughput of put request. 2019-11-26 14:03:07 -08:00
b66203c0a1 Merge pull request #11299 from jingyih/automated-cherry-pick-of-#10468-upstream-release-3.4
Automated cherry pick of #10468 on release-3.4
2019-11-05 18:34:22 -08:00
4388404f56 clientv3: fix retry/streamer error message
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-10-31 10:09:18 -07:00
a447d51f23 Merge pull request #11312 from jingyih/automated-cherry-pick-of-#11308-upstream-release-3.4
Automated cherry pick of #11308 on release-3.4
2019-10-31 10:08:34 -07:00
4f3c81d81d etcdserver: wait purge file loop during shutdown
To prevent the purge file loop from accidentally acquiring the file lock
and remove the files during server shutdowm.
2019-10-30 16:04:41 -07:00
478da3bf24 integration: disable TestV3AuthOldRevConcurrent
Disable TestV3AuthOldRevConcurrent for now. See
https://github.com/etcd-io/etcd/pull/10468#issuecomment-463253361
2019-10-28 15:03:44 -07:00
d6b30e43cd etcdserver: remove auth validation loop
Remove auth validation loop in v3_server.raftRequest(). Re-validation
when error ErrAuthOldRevision occurs should be handled on client side.
2019-10-28 15:03:44 -07:00
1e98c9642e scripts/release: list GPG key only when tagging is needed
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-10-23 11:13:21 -07:00
3cf2f69b57 version: 3.4.3
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-10-23 10:11:46 -07:00
d617055284 *: use Go 1.12.12
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-10-23 10:11:02 -07:00
84db9b0878 Merge pull request #11252 from YoyinZyc/automated-cherry-pick-of-#11247-origin-release-3.4
Automated cherry pick of #11247
2019-10-18 10:30:30 -07:00
6cf418ff6d Merge pull request #11275 from YoyinZyc/stream-support-3.4
rafthttp: add 3.4 stream type
2019-10-18 10:25:53 -07:00
97e68cf4e7 rafthttp: add 3.4 stream type 2019-10-17 14:33:53 -07:00
90556d550d Merge pull request #11269 from jingyih/automated-cherry-pick-of-#11265-upstream-release-3.4
Automated cherry pick of #11265 on release 3.4
2019-10-16 16:50:06 -07:00
a00abf5f2a etcdserver: strip patch version in metrics
Strip patch version in cluster version metrics during node restart.
2019-10-16 16:29:53 -07:00
b3329ebcd2 Merge pull request #11255 from jingyih/automated-cherry-pick-of-#11233-#11254-upstream-release-3.4
Automated cherry pick of #11233 #11254 on release 3.4
2019-10-15 11:06:09 -07:00
b67862c0a6 etcdserver: strip patch version in cluster version
Strip patch version in cluster version metrics.
2019-10-14 17:37:49 -07:00
6a699b6b7f etcdserver: unset old cluster version in metrics 2019-10-14 17:35:10 -07:00
bb5ba14aac Add version, tag and branch checks to release script 2019-10-14 12:55:17 -07:00
c3dc994567 Merge pull request #11243 from YoyinZyc/automated-cherry-pick-of-#11237-origin-release-3.4
Automated cherry pick of #11237
2019-10-11 12:38:10 -07:00
f3fbed5b72 Merge branch 'release-3.4' into automated-cherry-pick-of-#11237-origin-release-3.4 2019-10-11 11:17:03 -07:00
e2547907c5 scripts: avoid release builds on darwin machine. 2019-10-11 11:12:30 -07:00
14c239030f Merge pull request #11235 from YoyinZyc/automated-cherry-pick-of-#11234-origin-release-3.4
Automated cherry pick of #11234
2019-10-10 16:28:59 -07:00
7b67e8a5c5 scripts: fix read failure prompt in release; use https for git clone. 2019-10-10 16:20:17 -07:00
bbe86b066c version: 3.4.2 2019-10-09 15:26:52 -07:00
2c36cab87d Merge pull request #11223 from YoyinZyc/automated-cherry-pick-of-#11179-origin-release-3.4
Automated cherry pick of #11179
2019-10-09 13:28:04 -07:00
480d5510f9 etcdserver: trace compaction request; add return parameter 'trace' to applierV3.Compaction() mvcc: trace compaction request; add input parameter 'trace' to KV.Compact() 2019-10-09 12:40:12 -07:00
9245518363 etcdserver: trace raft requests. 2019-10-09 12:40:12 -07:00
daa432cfa7 etcdserver: add put request steps. mvcc: add put request steps; add trace to KV.Write() as input parameter. 2019-10-09 12:40:12 -07:00
8717327697 pkg: use zap logger to format the structure log output. 2019-10-09 12:40:12 -07:00
4f1bbff888 pkg: add field to record additional detail of trace; add stepThreshold to reduce log volume. 2019-10-09 12:40:12 -07:00
28bb8037d9 pkg: create package traceutil for tracing. mvcc: add tracing steps:range from the in-memory index tree; range from boltdb. etcdserver: add tracing steps: agreement among raft nodes before linerized reading; authentication; filter and sort kv pairs; assemble the response. 2019-10-09 12:40:12 -07:00
03b5e7229b Merge pull request #11213 from jpbetz/automated-cherry-pick-of-#11211-origin-release-3.4
Automated cherry pick of #11211
2019-10-08 18:47:06 -07:00
0781c0327d clientv3: Replace endpoint.ParseHostPort with net.SplitHostPort to fix IPv6 client endpoints 2019-10-08 18:27:03 -07:00
99774d8ed4 Merge pull request #11214 from jpbetz/automated-cherry-pick-of-#11184-origin-release-3.4
Automated cherry pick of #11184
2019-10-08 17:35:02 -07:00
c454344f14 clientv3: Set authority used in cert checks to host of endpoint 2019-10-08 15:35:27 -07:00
dae0a72a42 Merge pull request #11200 from jingyih/automated-cherry-pick-of-#11194-origin-release-3.4
Automated cherry pick of #11194 on release-3.4
2019-10-03 16:03:23 -07:00
c91a6bf14f tests/e2e: fix metrics tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-10-03 16:02:39 -07:00
b7ff97f54e etcdctl: fix member add command 2019-10-03 13:52:22 -07:00
d08bb07d6d scripts/build-binary: fix darwin tar commands
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-09-28 11:39:04 -07:00
3a736a81e8 scripts/release: fix SHA256SUMS command
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-09-17 14:12:18 -07:00
a14579fbfb version: 3.4.1
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-09-17 13:53:25 -07:00
ade66a5722 scripts/release: fix docker push command
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-09-17 13:53:12 -07:00
67cc70926d integration: fix bug in for loop, make it break properly 2019-09-17 13:30:12 -07:00
21dcadc83c Merge pull request #11148 from spzala/automated-cherry-pick-of-#11147-upstream-release-3.4
Automated cherry pick of #11147
2019-09-13 11:12:41 -07:00
c7c379e52e embed: expose ZapLoggerBuilder
This exposes the ZapLoggerBuilder in the embed.Config to allow for
custom loggers to be defined and used by embedded etcd.

Fixes #11144
2019-09-13 14:09:54 -04:00
9ed5f76dc0 vendor: upgrade to gRPC v1.23.1
https://github.com/grpc/grpc-go/releases/tag/v1.23.1

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-09-11 14:54:24 -07:00
994865c89e Merge pull request #11133 from jingyih/automated-cherry-pick-of-#11126-origin-release-3.4
Automated cherry pick of #11126 on release-3.4
2019-09-07 00:03:37 -07:00
ccbbb2f8d6 mvcc: add store revision metrics
Add experimental metrics etcd_debugging_mvcc_current_revision and
etcd_debugging_mvcc_compact_revision.
2019-09-06 17:03:21 -07:00
d5f79adc9c etcdserver: remove dup percentage sign in log 2019-09-04 22:03:49 -07:00
8b053b0f44 embed: fix secure server logging message
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-09-03 09:43:08 -07:00
11980f8165 scripts/release: Apply shellcheck findings
I run https://github.com/koalaman/shellcheck/ over scripts/* and fixed
the findings it returned.

Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2019-09-03 09:42:35 -07:00
41d4e2b276 scripts/release: rename SHA256SUM to SHA256SUMS
These files are commonly called SHA256SUMS and with this change rget
works for v3.4.0 as well.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-30 13:35:40 -07:00
898bd1351f version: 3.4.0
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-30 08:09:55 -07:00
d04d96c9ac tests/e2e: run metrics test again
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-30 08:09:32 -07:00
21edf98fdb Documentation:fix clerical error 2019-08-30 08:08:47 -07:00
a4f7c65ef8 vendor: x/sys and x/net to support building on Risc-V
Signed-off-by: Carlos de Paula <me@carlosedp.com>
2019-08-29 14:03:59 -07:00
c3a9eec843 scripts/release: fix sha256sum
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-29 09:38:57 -07:00
e5528acf57 version: 3.4.0-rc.4
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-29 08:53:10 -07:00
9977550ae9 Merge pull request #11091 from hexfusion/automated-cherry-pick-of-#11087-upstream-release-3.4
Automated cherry pick of #11087 on release 3.4
2019-08-29 08:39:11 -07:00
4d7a6e2755 scripts/release: add sha256sum summary of release assets
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-08-29 11:33:16 +00:00
5e8757c3c5 Documentation: Add section headers to etcd Learner
In the Background section, the document describes various challenges for cluster membership change.
Added section header for each case described for better readability.
2019-08-27 10:18:34 -07:00
012e38fef3 version: 3.4.0-rc.3
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-27 09:50:54 -07:00
41a2cfa122 pkg/logutil: change to "MergeOutputPaths"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-27 09:50:26 -07:00
9f8a1edf38 embed: fix "--log-outputs" setup without "stderr"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-27 09:50:17 -07:00
165ba72593 raft/log_test: fixed wrong index 2019-08-26 12:37:07 -07:00
9c850ccef0 raft: fixed some typos and simplify minor logic 2019-08-26 12:37:02 -07:00
61d6efda4c etcdserver: add check for nil options 2019-08-26 10:48:20 -07:00
b76f149c35 tests/e2e: skip metrics tests for now
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-26 00:02:48 -07:00
5e33bb1a95 Documentation: snapshot can be requested from one etcd node only
Updated Snapshot section of demo.md to reflect that snapsot can be requested only from one etcd node at a time.

Fixes : #10855
2019-08-25 23:40:25 -07:00
83bf125d93 clientv3: add nil checks in Close()
Added nil checks in Close() for Watcher and Lease fields
Added test case
2019-08-25 23:40:05 -07:00
d23af41bca tests/e2e: remove string replace for v3.4.0-rc.1
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-23 01:14:42 -07:00
67d0c21bb0 version: 3.4.0-rc.2
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-23 00:37:01 -07:00
18a077d3d3 raft : Write compact if statements 2019-08-23 00:36:44 -07:00
fb6d870e89 Merge pull request #11072 from jingyih/automated-cherry-pick-of-#11069-origin-release-3.4
Automated cherry pick of #11069 on release-3.4
2019-08-23 06:57:12 +08:00
e00224f87e integration: fix TestKVPutError
Give backend quota enough overhead.
2019-08-22 13:33:19 -07:00
2af1caf1a5 functional test: fix typo in agent log
Fix typo in functional test agent log to avoid debugging confusion.
2019-08-20 15:23:13 -07:00
0777eab766 Documentation/upgrades: special upgrade guides for >= 3.3.14
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-16 16:19:22 -07:00
0ecc0d0542 etcdmain: update help message
Add experimental-peer-skip-client-san-verification flag description to
help message. Add default values.
2019-08-16 16:07:06 -07:00
982a8c9bc3 rafttest: print Ready before processing it
It was confusing to see the effects of the Ready (i.e. log messages)
printed before the Ready itself.
2019-08-16 08:10:17 -07:00
b8e3e4e7cb raft: fix a test file name 2019-08-16 08:10:07 -07:00
4090edfb5b raft: document problem with leader self-removal
When a leader removes itself, it will retain its leadership but not
accept new proposals, making the range effectively stuck until manual
intervention triggers a campaign event.

This commit documents the behavior. It does not correct it yet.
2019-08-16 08:09:56 -07:00
078caccce5 raft: add a batch of interaction-driven conf change tests
Verifiy the behavior in various v1 and v2 conf change operations.
This also includes various fixups, notably it adds protection
against transitioning in and out of new configs when this is not
permissible.

There are more threads to pull, but those are left for future commits.
2019-08-16 08:09:44 -07:00
d177b7f6b4 raft: proactively probe newly added followers
When the leader applied a new configuration that added voters, it would
not immediately probe these voters, delaying when they would be caught
up.

I noticed this while writing an interaction-driven test, which has now
been cleaned up and completed.
2019-08-16 08:09:33 -07:00
2c1a1d8c32 rafttest: add _breakpoint directive
It is a helper case to attach a debugger to when a problem needs
to be investigated in a longer test file. In such a case, add the
following stanza immediately before the interesting behavior starts:

_breakpoint:
----
ok

and set a breakpoint on the _breakpoint case.
2019-08-16 08:09:23 -07:00
0fc108428e raft: initialize new Progress at LastIndex, not LastIndex+1
Initializing at LastIndex+1 meant that new peers would not be probed
immediately when they appeared in the leader's config, which delays
their getting caught up.
2019-08-16 08:09:11 -07:00
df489e7a2c raft/rafttest: fix stabilize handler
It was bailing out too early.
2019-08-16 08:08:28 -07:00
f13a5102ec tests/e2e: fix version matching
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-15 14:46:19 -07:00
c9465f51d2 *: use Go 1.12.9
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-15 14:40:46 -07:00
8f85f0dc26 version: 3.4.0-rc.1
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-15 13:45:25 -07:00
0161e72d8d mvcc: keep 64-bit alignment in "store" struct
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-15 13:31:52 -07:00
1691eec2db clientv3/integration: fix "mvcc.NewStore" call
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-15 13:31:46 -07:00
1e213b7ab6 *: Add experimental-compaction-batch-limit flag
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-15 13:31:39 -07:00
b30c1eb2c8 mvcc: Optimize compaction for short commit pauses 2019-08-15 13:29:28 -07:00
a0be90f450 Documentation/upgrades: update
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-14 17:01:19 -07:00
8110a96f69 scripts/release: clean up minor tag docker commands
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-13 22:01:10 -07:00
8e05c73fa7 Makefile: explicit about GOOS in docker-test builds
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-13 16:57:22 -07:00
970ca9fa43 Documentation/upgrades: highlight "--enable-v2=false"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-13 15:32:46 -07:00
a481ee809f vendor: update "net/http2" to latest
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-13 14:44:59 -07:00
4d06d3b498 vendor: upgrade grpc-go to 1.23.0
https://github.com/grpc/grpc-go/releases/tag/v1.23.0

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-13 14:44:53 -07:00
98462b52d1 *: use Go 1.12.8
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-13 12:56:11 -07:00
2a8d09b83b clientv3: use Endpoints(), fix context creation
If overwritten, the previous context should be canceled first.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-13 12:43:49 -07:00
49c6e87f74 version: 3.4.0-pre
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-13 12:43:40 -07:00
84ed0f7f87 version: 3.4.0-rc.0
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-12 10:06:34 -07:00
52d34298ab scripts: remove ".aci" commands
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-12 10:06:24 -07:00
9c1d2eaee4 scripts/release: fix version check commands
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-12 09:59:24 -07:00
547631a492 scripts: fix build docker commands, add more logging
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-12 09:50:21 -07:00
802e01a0d8 *: remove "acbuild"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-12 09:50:21 -07:00
1dff1c869f scripts/release: fix "yq" command
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-12 09:50:18 -07:00
ac6b604bb8 raft/rafttest: introduce datadriven testing
It has often been tedious to test the interactions between multi-member
Raft groups, especially when many steps were required to reach a certain
scenario. Often, this boilerplate was as boring as it is hard to write
and hard to maintain, making it attractive to resort to shortcuts
whenever possible, which in turn tended to undercut how meaningful and
maintainable the tests ended up being - that is, if the tests were even
written, which sometimes they weren't.

This change introduces a datadriven framework specifically for testing
deterministically the interaction between multiple members of a raft group
with the goal of reducing the friction for writing these tests to near
zero.

In the near term, this will be used to add thorough testing for joint
consensus (which is already available today, but wildly undertested),
but just converting an existing test into this framework has shown that
the concise representation and built-in inspection of log messages
highlights unexpected behavior much more readily than the previous unit
tests did (the test in question is `snapshot_succeed_via_app_resp`; the
reader is invited to compare the old and new version of it).

The main building block is `InteractionEnv`, which holds on to the state
of the whole system and exposes various relevant methods for
manipulating it, including but not limited to adding nodes, delivering
and dropping messages, and proposing configuration changes. All of this
is extensible so that in the future I hope to use it to explore the
phenomena discussed in

https://github.com/etcd-io/etcd/issues/7625#issuecomment-488798263

which requires injecting appropriate "crash points" in the Ready
handling loop. Discussions of the "what if X happened in state Y"
can quickly be made concrete by "scripting up an interaction test".

Additionally, this framework is intentionally not kept internal to the
raft package.. Though this is in its infancy, a goal is that it should
be possible for a suite of interaction tests to allow applications to
validate that their Storage implementation behaves accordingly, simply
by running a raft-provided interaction suite against their Storage.
2019-08-12 08:10:29 -07:00
69c97cdc8f vendor: bump datadriven
Picks up some fixes for papercuts.
2019-08-12 08:10:19 -07:00
faa71d89d4 cleanup: correct summary message in put.go 2019-08-12 08:07:33 -07:00
64c16779c0 tests/e2e: pass "rc.0"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-12 01:46:58 -07:00
8ff71c52db test: fix metric name typo 2019-08-09 13:24:27 -07:00
dbe5198c45 raft: fix restoring joint configurations
While writing interaction tests for joint configuration changes, I
realized that this wasn't working yet - restoring had no notion of
the joint configuration and was simply dropping it on the floor.

This commit introduces a helper `confchange.Restore` which takes
a `ConfState` and initializes a `Tracker` from it.

This is then used both in `(*raft).restore` as well as in `newRaft`.
2019-08-09 11:18:40 -07:00
39d0f4e53c confchange: clean up unnecessary block 2019-08-09 11:18:30 -07:00
a8b4213ec0 raft : newRaft() does check for validity of Config 2019-08-09 11:18:06 -07:00
a945379ce4 raft/tracker: visit Progress in stable order
This is helpful for upcoming testing work which allows datadriven
testing of the interaction of multiple nodes. This testing requires
determinism to work correctly.
2019-08-09 08:39:52 -07:00
7a50cd7074 raft/auorum: remove unused type 2019-08-09 08:39:44 -07:00
f786b6ba16 etcdserver: add "etcd_server_snapshot_apply_in_progress_total"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 14:02:13 -07:00
1c8ab76333 integration: test snapshot inflights metrics
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 14:01:54 -07:00
abdb7ca17b etcdserver/api: add "etcd_network_snapshot_send_inflights_total", "etcd_network_snapshot_receive_inflights_total"
Useful for deciding when to terminate the unhealthy follower.
If the follower is receiving a leader snapshot, operator may wait.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 14:01:45 -07:00
629cb7aa5e agent: fix a data race and deadlock
add 1-size buffer for `errc`  to avoid deadlock of child goroutine
add a local variable to a void data race in `err`
when `case <-stream.Context().Done():` is taken
2019-08-08 12:23:08 -07:00
89e102365d Documentation/op-guide: update runtime configuration
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 09:25:29 -07:00
9018b3dc4d raft: let learners vote
It turns out that that learners must be allowed to cast votes.

This seems counter- intuitive but is necessary in the situation in which
a learner has been promoted (i.e. is now a voter) but has not learned
about this yet.

For example, consider a group in which id=1 is a learner and id=2 and
id=3 are voters. A configuration change promoting 1 can be committed on
the quorum `{2,3}` without the config change being appended to the
learner's log. If the leader (say 2) fails, there are de facto two
voters remaining. Only 3 can win an election (due to its log containing
all committed entries), but to do so it will need 1 to vote. But 1
considers itself a learner and will continue to do so until 3 has
stepped up as leader, replicates the conf change to 1, and 1 applies it.

Ultimately, by receiving a request to vote, the learner realizes that
the candidate believes it to be a voter, and that it should act
accordingly. The candidate's config may be stale, too; but in that case
it won't win the election, at least in the absence of the bug discussed
in:
https://github.com/etcd-io/etcd/issues/7625#issuecomment-488798263.
2019-08-08 09:10:21 -07:00
b9bea9def7 functional/agent: copy file, instead of renaming
To retain failure logs in CI testing.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 09:09:39 -07:00
d2675c13f4 functional/rpcpb: make client log less verbose
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 09:09:34 -07:00
8230536171 functional.yaml: try lower snapshot count for flaky tests, error threshold
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 09:09:29 -07:00
524278c187 pkg/types: Avoid potential double lock of tsafeSet.
(tsafeSet).Sub and (tsafeSet).Equals can cause double lock bug if ts and other is pointing the same variable

gofmt the code and add some comments
2019-08-07 16:02:24 -07:00
29cdc9abfc test: output etcd server logs when functional tests fail
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-07 10:16:44 -07:00
a6a9a71b6a integration: fix a data race about err
don't share `err` between goroutines
2019-08-06 16:15:27 -07:00
8c8f6f4b01 mvcc: fix typo in test
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-06 15:09:55 -07:00
b6cfaf883b v3rpc: fix a typo err
don't read return value in child goroutine which causes data race.
2019-08-06 15:09:47 -07:00
b522281a98 stream: Prevent panic when newAttemptLocked fails to get a transport for the new attempt
Testing https://github.com/grpc/grpc-go/pull/2958

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-06 15:09:42 -07:00
a78793e6bf vendor: update gRPC to latest
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-06 15:09:37 -07:00
e09528aa06 Merge pull request #10988 from wenjiaswe/automated-cherry-pick-of-#10987-upstream-release-3.4
Automated cherry pick of #10987
2019-08-05 23:31:33 -07:00
cb4507d15b functional:update go.etcd.io/etcd link and go image registry for functional test 2019-08-05 23:28:45 -07:00
4cead3c25c Merge pull request #10986 from wenjiaswe/automated-cherry-pick-of-#10985-upstream-release-3.4
Automated cherry pick of #10985
2019-08-05 22:45:31 -07:00
3ac41644cc functional test: Update functional README.md 2019-08-05 22:12:50 -07:00
0564743c9b CHANGELOG: remove from release branch
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 14:39:18 -07:00
9d927afead Documentation/upgrades: highlight "grpc.ErrClientConnClosing"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 14:38:51 -07:00
5d19b96341 proxy/grpcproxy: deprecate "grpc.ErrClientConnClosing"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 14:38:44 -07:00
faa1d9d206 functional: deprecate "grpc.ErrClientConnClosing"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 14:38:35 -07:00
ab1db0dfd8 clientv3: deprecate "grpc.ErrClientConnClosing"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 14:38:27 -07:00
1c312cefbd functional: use Go 1.12.7 as default
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 12:40:50 -07:00
b4fcaad87d pkg/adt: remove TODO
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 00:25:02 -07:00
3468505e38 clientv3: document "WithBlock" dial option
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-04 23:53:02 -07:00
a2d68dd389 travis: do not allow CPU 4 test failures
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-04 23:34:31 -07:00
c6e9699960 travis: do not run coverage, tip tests in v3.4
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-04 23:33:13 -07:00
b05dfeb15e scripts/release: remove acbuild commands
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-04 23:21:51 -07:00
bb7df24af4 pkg/adt: fix interval tree black-height property based on rbtree
Author: xkey <xk33430@ly.com>
ref. https://github.com/etcd-io/etcd/pull/10978

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-04 23:15:09 -07:00
9ff86fe516 tests/e2e: skip release tests until release candidate
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-03 00:09:10 -07:00
bc9a54beae tests/e2e: fix upgrade, metrics tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-02 15:58:25 -07:00
df1d3f7c6e functional: remove "embed" support in tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-02 15:58:21 -07:00
14053ba7f7 etcdserver/api: enable 3.4 capability
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-02 15:24:40 -07:00
040f2c5526 version: 3.4.0-pre
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 16:05:22 -07:00
f1c7fd3d53 functional: add "LogLevel" flags
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 15:58:01 -07:00
22a3ec3ac5 CHANGELOG-3.4: highlight version string change
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 15:30:04 -07:00
4244ea4390 CHANGELOG: update with latest changes, make language consistent
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 15:26:31 -07:00
d239b21d10 Documentation/upgrades: update 3.4 guides
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 15:26:16 -07:00
b679c12a51 Merge pull request #10968 from gyuho/mmm
mvcc: add "etcd_mvcc_range_total", "etcd_mvcc_txn_total"
2019-08-01 14:46:49 -07:00
328fdc2150 mvcc: add TODOs
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 14:45:21 -07:00
f82e23ab52 mvcc: add "etcd_mvcc_range_total", "etcd_mvcc_txn_total"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 14:44:55 -07:00
dde3c5fc40 mvcc: clean up metrics names, add missing register calls
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 14:44:55 -07:00
05b2f967c2 Merge pull request #10969 from gyuho/maintainers
MAINTAINERS: add @spzala
2019-08-01 14:44:12 -07:00
8d88fea0c8 MAINTAINERS: add @spzala
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 14:24:24 -07:00
c9bd8db46a CHANGELOG: fix typos
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 14:11:50 -07:00
6804bd8af4 CHANGELOG: add latest metrics change
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 13:53:12 -07:00
d5bd600aa5 CHANGELOG: update "pkg/adt"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 13:37:28 -07:00
3b631e1bb6 pkg/adt: document textbook implementation with pseudo-code
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 12:58:47 -07:00
456c91b63a Merge pull request #10959 from gyuho/adt
pkg/adt: refactor + add more test cases
2019-08-01 12:22:15 -07:00
5ef8f2770c Merge pull request #10962 from hexfusion/promote_mvcc
metrics: promote etcd_debugging_mvcc put_total and delete_total
2019-07-31 22:24:40 -07:00
6a0811a949 *: use new adt.IntervalTree interface
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-31 22:23:13 -07:00
3cc3affedd pkg/adt: mask test failure, add TODO
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-31 22:20:59 -07:00
f46ee91863 metrics: promote etcd_debugging_mvcc put_total and delete_total
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-08-01 01:28:07 +00:00
46f04b3c15 pkg/adt: add "IntervalTree.Delete" failure case
Described in https://github.com/etcd-io/etcd/issues/10877.

"black-height" property: Every path from a node to any descendant leaf node must have the same number of black nodes.

Expected

    After deleting 11 (requires rebalancing):
                            [510,511]
                             /      \
                   ----------        --------------------------
                  /                                            \
              [383,384]                                       [830,831]
              /       \                                      /          \
             /         \                                    /            \
      [261,262](red)  [410,411]                     [647,648]           [899,900](red)
          /               \                              \                      /    \
         /                 \                              \                    /      \
      [82,83]           [292,293]                      [815,816](red)   [888,889]    [972,973]
            \                                                           /
             \                                                         /
          [238,239](red)                                       [953,954](red)

Got

    After deleting 11 (requires rebalancing):
                            [510,511]
                             /      \
                   ----------        --------------------------
                  /                                            \
              [82,83]                                       [830,831]
                    \                                      /          \
                     \                                    /            \
                  [383,384]                        [647,648]            [899,900]
                  /       \                              \                  /    \
                 /         \                              \                /      \
           [261,262]      [410,411]                      [815,816]   [888,889]    [972,973]
             /   \                                                                  /
            /     \                                                                /
     [238,239]   [292,293]                                                  [953,954]

This violates "black-height" property.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-31 10:05:32 -07:00
f2742d6cd4 pkg/adt: test node "11" deletion
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-31 10:05:32 -07:00
1d638bad72 pkg/adt: README "IntervalTree.Delete" test case images
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-31 10:05:32 -07:00
19d69d2563 pkg/adt: README initial commit
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-31 10:05:27 -07:00
6917c495e8 pkg/adt: add "visitLevel", make "IntervalTree" interface, more tests
Make "IntervalTree" an interface to abstract range tree interface

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-30 15:59:59 -07:00
149e5dc291 etcdserver: mark flag as experimental, add to changelog and configuration 2019-07-30 16:57:57 -04:00
03fd396610 pkg/transport: Improved description of flag peer-skip-client-san-verification 2019-07-30 16:57:57 -04:00
2f476f2b5a pkg/transport: Added test for SkipClientVerify flag. 2019-07-30 16:57:57 -04:00
1b048c91ec etcdserver: Added configuration flag --peer-skip-client-verify=true 2019-07-30 16:57:57 -04:00
a2a8887c33 Merge pull request #10953 from gyuho/grpc-gateway
vendor: update grpc-ecosystem
2019-07-30 13:31:44 -07:00
465592a718 Documentation/etcd-mixin: Add an alert for down etcd members
An etcd member being down is an important failure state - while
normal admin operations may cause transient outages to rotate,
when any member is down the cluster is operating in a degraded
fashion. Add an alert that records when any members are down
so that administrators know whether the next failure is fatal.

The rule is more complicated than `up{...} == 0` because not all
failure modes for etcd may have an `up{...}` entry for each member.
For instance, a Kubernetes service in front of an etcd cluster
might only have 2 endpoints recorded in `up` because the third
pod is evicted by the kubelet - the cluster is degraded but
`count(up{...})` would not return the full quorum size. Instead,
use network peer send failures as a failure detector and attempt
to return the max of down services or failing peers. We may
undercount the number of total failures, but we will at least
alert that a member is down.
2019-07-30 14:39:50 -04:00
12c049e6be Merge pull request #10835 from spzala/securityprocess
Security: Create etcd security process
2019-07-30 14:14:46 -04:00
bc95b1fa84 bill-of-materials: update
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 21:41:47 -07:00
80efba3368 tests/e2e: fix curl proclaim error message
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 21:28:15 -07:00
f3bca1db08 vendor: update grpc-ecosystem
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 16:13:54 -07:00
800e7235eb CHANGELOG: add recent changes in logger
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 16:09:06 -07:00
6e766ac5fb Merge pull request #10947 from gyuho/log-level
*: make log level configurable
2019-07-29 16:06:51 -07:00
4e43a082b2 raft: use mutex in "SetLogger" to avoid race conditions in tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 15:43:19 -07:00
c6e3401255 etcdserver: make raft log configured by top level logger
To make it consistent

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 15:43:19 -07:00
abba5421f5 Documentation/op-guide: add "--log-level" flag
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 15:43:19 -07:00
a37f3441f5 etcdmain: add "--log-level" flag
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 15:43:19 -07:00
b9de4bddda embed: add "LogLevel", deprecate "Debug" in v3.5
Make log level configurable, and deprecate "debug" flag in v3.5.
And adds more warnings on flags that's being deprecated in v3.5.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 15:43:19 -07:00
e911f901a6 pkg/logutil: add log level utilities
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 15:43:19 -07:00
348b0d40a6 embed: do not expose "zapLoggerBuilder"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 15:43:19 -07:00
324952c12a Merge pull request #10935 from gyuho/v2
*: disable v2 API by default
2019-07-29 15:42:56 -07:00
936c506e8d Merge pull request #10945 from tbg/add-todo
raft: leave TODO about leaving StateSnapshot
2019-07-29 13:51:38 -07:00
4ca04ba991 Merge pull request #10949 from gyuho/docs
Documentation: move design docs to "Documentation", remove "docs"
2019-07-29 13:48:38 -07:00
87e203a5cf Documentation/learning: rewrite balancer design doc images
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 13:47:25 -07:00
ad491c0c32 Documentation: move client, learner design docs
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 21:54:22 -07:00
3fc62ca586 tools,Documentation: move "etcd-dump-metrics" output to "Documentation"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 21:53:50 -07:00
101a63ae97 docs: remove
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 21:53:31 -07:00
9e75f27985 CHANGELOG: move corrupt check features to etcd v4
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 23:09:42 -05:00
2f30e9ad7f etcdserver: document v2 usage in "publish" method
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 21:07:39 -05:00
ae87b21a72 tests/e2e: enable-v2 for v2 e2e tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 21:07:36 -05:00
38128425b2 Documentation/op-guide: disable v2 by default
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 19:36:51 -05:00
ecb915617d embed: disable v2 by default
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 19:36:51 -05:00
89d400211d Merge pull request #10911 from gyuho/balancer
clientv3: fix secure endpoint failover, refactor with gRPC 1.22 upgrade
2019-07-26 14:50:54 -07:00
3b02d4c5ff raft: leave TODO about leaving StateSnapshot
The condition is overly strict, which has popped up in CockroachDB
recently.
2019-07-26 23:19:34 +02:00
a7b8034e56 words: whitelist more
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 09:19:22 -07:00
8a2a951d79 integration: match code.Canceled in "TestV3KVInflightRangeRequests"
Match new error codes in gRPC v1.22.0

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 09:19:22 -07:00
ba42e65b59 clientv3/integration: give more time for balancer resolution
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 09:19:22 -07:00
8c7c6ec0c1 clientv3/balancer: refactor
refactor + remove unused

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 09:19:19 -07:00
3dc00ab615 clientv3: move auth token credential to "credentials" package
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 09:17:44 -07:00
db61ee106c clientv3/credentials: set dial target "Authority" with target address
Overwrite authority when it's IP.

When user dials with "grpc.WithDialer", "grpc.DialContext" "cc.parsedTarget"
update only happens once. This is problematic, because when TLS is enabled,
retries happen through "grpc.WithDialer" with static "cc.parsedTarget" from
the initial dial call.
If the server authenticates by IP addresses, we want to set a new endpoint as
a new authority. Otherwise
"transport: authentication handshake failed: x509: certificate is valid for 127.0.0.1, 192.168.121.180, not 192.168.223.156"
when the new dial target is "192.168.121.180" whose certificate host name is also "192.168.121.180"
but client tries to authenticate with previously set "cc.parsedTarget" field "192.168.223.156"

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 09:17:40 -07:00
a6b105a907 embed: use new "credentials" package
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 08:56:45 -07:00
7cbe2f5dd6 etcdserver/api/v3rpc: use new "credentials" package
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 08:56:38 -07:00
db7231accc clientv3: use new "credentials" package
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 08:56:33 -07:00
324c876742 clientv3/credential: implement grpc/credentials.Bundle
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 08:56:05 -07:00
4707d7a196 vendor: upgrade grpc-go to v1.22.1
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 08:53:09 -07:00
12ab2ee3c4 clientv3: do not use pointer to TransportCredentials interface
Interface in Go is already reference

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 08:52:31 -07:00
50babc16e7 etcdserver/api/v2v3: skip tests for CI
To fix in v3.5

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 05:54:58 -07:00
cf4b5d9c7f Merge pull request #10938 from MasahikoSawada/updategoversion
README: require Go 1.12+
2019-07-25 22:59:34 -07:00
222dcc8d13 README: require Go 1.12+
Fixes #10937
2019-07-26 14:31:24 +09:00
e36e3ac6a7 Merge pull request #10917 from gyuho/raft-node
raft: improve logging around tick miss
2019-07-25 22:17:28 +02:00
388d15f521 Merge pull request #10622 from philips/add-v2v3-tests
etcdserver: api/v2v3: add initial tests
2019-07-25 10:05:29 -07:00
84a38045c9 CHANGELOG: move "--enable-v2v3" to 3.5
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-25 09:29:31 -07:00
c5dba11197 Merge pull request #10933 from ChrisRx/fix-embed-panic
embed: fix oob panic in zap logger
2019-07-25 06:56:31 -07:00
2223142685 embed: fix oob panic in zap logger
This fixes an index out-of-bounds panic caused when using the embed
package and the zap logger. When a TLS handshake error is logged, the
slice for cert ip addresses is allocated with capacity but no length, so
subsequent index access causes the panic, and doesn't surface the TLS
handshake error to the user.

Fixes #10932
2019-07-25 09:42:42 -04:00
1782469a76 Merge pull request #10928 from spzala/changelogdep
changelog: reflect the latest vendor dependencies
2019-07-25 06:19:13 -07:00
c63c988d03 changelog: reflect the latest vendor dependencies
Vendor dependencies are modified under,
https://github.com/etcd-io/etcd/pull/10918

Also, the protobuf module is mentioned twice so removing one.
2019-07-25 02:52:34 -04:00
c7c9428f6b raft: move "RawNode", clarify tick miss
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-24 23:35:36 -07:00
8f000c755b Merge pull request #10918 from gyuho/zap-go
vendor: upgrade dependencies
2019-07-24 21:59:36 -07:00
425b65467c Merge pull request #10907 from spzala/emptyrole10905
etcdserver: do not allow creating empty role
2019-07-24 18:51:43 -07:00
1cef112a79 etcdserver: do not allow creating empty role
Like user, we should not allow creating empty role.

Related #10905
2019-07-24 17:41:24 -04:00
46166ad733 vendor: update
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-24 14:09:50 -07:00
d137fa9d4a Merge pull request #10920 from tbg/rawnode-ready
raft: require app to consume result from Ready()
2019-07-24 11:46:55 +02:00
8b752ef647 CHANGELOG: update latest changes
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-23 15:36:14 -07:00
721127da12 raft: require app to consume result from Ready()
I changed `(*RawNode).Ready`'s behavior in #10892 in a problematic way.
Previously, `Ready()` would create and immediately "accept" a Ready
(i.e. commit the app to actually handling it). In #10892, Ready() became
a pure read-only operation and the "accepting" was moved to
`Advance(rd)`.  As a result it was illegal to use the RawNode in certain
ways while the Ready was being handled. Failure to do so would result in
dropped messages (and perhaps worse). For example, with the following
operations

1. `rd := rawNode.Ready()`
2. `rawNode.Step(someMsg)`
3. `rawNode.Advance(rd)`

`someMsg` would be dropped, because `Advance()` would clear out the
outgoing messages thinking that they had all been handled by the client.
I mistakenly assumed that this restriction had existed prior, but this
is incorrect.

I noticed this while trying to pick up the above PR in CockroachDB,
where it caused unit test failures, precisely due to the above example.

This PR reestablishes the previous behavior (result of `Ready()` must
be handled by the app) and adds a regression test.

While I was there, I carried out a few small clarifying refactors.
2019-07-23 22:45:01 +02:00
a91f4e45c0 Merge pull request #10919 from gyuho/ci
*: test with Go 1.12.7
2019-07-23 13:09:01 -07:00
97bd2b3262 Update CHANGELOG-3.4.md for PR #10805 2019-07-23 12:48:28 -07:00
08db37db54 Security: Create etcd security process
Create security disclosure and release process, and team to handle issues.

Related # https://github.com/etcd-io/maintainers/issues/1
2019-07-23 15:43:15 -04:00
dfd62f04e9 *: test with Go 1.12.7
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-23 12:40:47 -07:00
a9047850de Merge pull request #10805 from wenjiaswe/rebase-distroless
Dockerfile: Rebase etcd image to debian
2019-07-23 11:42:48 -07:00
d1183424bb Merge pull request #10914 from tbg/api
raft: allow use of joint quorums
2019-07-23 11:49:08 +02:00
b9c051e7a7 raftpb: clean up naming in ConfChange 2019-07-23 10:40:03 +02:00
b67303c6a2 raft: allow use of joint quorums
This change introduces joint quorums by changing the Node and RawNode
API to accept pb.ConfChangeV2 (on top of pb.ConfChange).

pb.ConfChange continues to work as today: it allows carrying out a
single configuration change. A pb.ConfChange proposal gets added to
the Raft log as such and is thus also observed by the app during Ready
handling, and fed back to ApplyConfChange.

ConfChangeV2 allows joint configuration changes but will continue to
carry out configuration changes in "one phase" (i.e. without ever
entering a joint config) when this is possible.
2019-07-23 10:40:03 +02:00
88f5561733 raft: use ConfChangeSingle internally 2019-07-23 10:39:48 +02:00
10680744b9 raft: introduce protos for joint quorums 2019-07-23 10:39:48 +02:00
f856ce963b Dockerfile: rebase etcd image to debian 2019-07-22 18:58:16 -07:00
fe86a786a4 Merge pull request #10904 from yuzeming/fixed-10899
integration: fix a data race about `i` and `tt` in TestV3WatchFromCur…
2019-07-19 17:51:21 -07:00
39680c381e Merge pull request #10908 from tbg/log
etcdserver: fix createConfChangeEnts
2019-07-19 17:45:27 -07:00
9a69aa17c8 Merge pull request #10614 from jmillikin-stripe/cert-allowed-san-flags
etcdmain, pkg: Support peer and client TLS auth based on SAN fields.
2019-07-19 12:02:28 -07:00
eb4d9b640a etcdserver: fix createConfChangeEnts
It created a sequence of conf changes that could intermittently cause an
empty set of voters, which Raft asserts against as of #10889.

This fixes TestCtlV2BackupSnapshot and TestCtlV2BackupV3Snapshot, see:
https://github.com/etcd-io/etcd/issues/10700#issuecomment-512358126
2019-07-19 17:13:08 +02:00
3c5e2f51e4 Merge pull request #10892 from tbg/rawnode-everywhere-attempt3
raft: use RawNode for node's event loop; clean up bootstrap
2019-07-19 14:30:08 +02:00
caa48bcc3d raft: remove TestNodeBoundedLogGrowthWithPartition
It has a data race between the test's call to `reduceUncommittedSize`
and a corresponding call during Ready handling in `(*node).run()`.
The corresponding RawNode test still verifies the functionality, so
instead of fixing the test we can remove it.
2019-07-19 12:35:14 +02:00
500af91653 raft: restore ability to bootstrap RawNode
We are worried about breaking backwards compatibility for any
application out there that may have relied on the old behavior. Their
RawNode invocation would have been broken by the removal of the peers
argument so it would not have changed silently; an associated comment
tells callers how to fix it.
2019-07-19 10:02:02 +02:00
c9491d7861 raft: clean up bootstrap
This is the first (maybe not last) step in cleaning up the bootstrap
code around StartNode.

Initializing a Raft group for the first time is awkward, since a
configuration has to be pulled from thin air. The way this is solved
today is unclean: The app is supposed to pass peers to StartNode(),
we add configuration changes for them to the log, immediately pretend
that they are applied, but actually leave them unapplied (to give the
app a chance to observe them, though if the app did decide to not apply
them things would really go off the rails), and then return control to
the app. The app will then process the initial Readys and as a result
the configuration will be persisted to disk; restarts of the node then
use RestartNode which doesn't take any peers.

The code that did this lived awkwardly in two places fairly deep down
the callstack, though it was really only necessary in StartNode(). This
commit refactors things to make this more obvious: only StartNode does
this dance now. In particular, RawNode does not support this at all any
more; it expects the app to set up its Storage correctly.

Future work may provide helpers to make this "preseeding" of the Storage
more user-friendly. It isn't entirely straightforward to do so since
the Storage interface doesn't provide the right accessors for this
purpose. Briefly speaking, we want to make sure that a non-bootstrapped
node can never catch up via the log so that we can implicitly use one
of the "skipped" log entries to represent the configuration change into
the bootstrap configuration. This is an invasive change that affects
all consumers of raft, and it is of lower urgency since the code (post
this commit) already encapsulates the complexity sufficiently.
2019-07-19 10:02:02 +02:00
c62b7048b5 raft: use RawNode for node's event loop
It has always bugged me that any new feature essentially needed to be
tested twice due to the two ways in which apps can use raft (`*node` and
`*RawNode`). Due to upcoming testing work for joint consensus, now is a
good time to rectify this somewhat.

This commit removes most logic from `(*node).run` and uses `*RawNode`
internally. This simplifies the logic and also lead (via debugging) to
some insight on how the semantics of the approaches differ, which is now
documented in the comments.
2019-07-19 09:59:59 +02:00
5f21b557e5 integration: fix a data race about i and tt in TestV3WatchFromCurrentRevision
don't references to loop variables from within go anonymous function

Fixes etcd-io#10899
2019-07-19 00:48:49 -07:00
233be58056 Merge pull request #10839 from needkane/pr
raft: update log info and annotation
2019-07-18 23:26:44 -07:00
62f4fb3c5e Merge pull request #10903 from tbg/inflights
raft: return non-nil Inflights in raft status
2019-07-18 17:50:28 +02:00
6b0322549f raft: replace StatusWithoutProgress with BasicStatus
Now that a Config is also added to the full status, the old name
did not convey the intention, which was to get a Status without
an associated allocation.
2019-07-18 16:28:37 +02:00
f498392ca7 Merge pull request #10898 from tbg/dep
scripts: fail explicitly in updatedep.sh when gopath.proto exists
2019-07-17 16:47:51 -07:00
7d2e57216a Merge pull request #10900 from yuzeming/master
integration: add WaitGroup to TestV3WatchCurrentPutOverlap
2019-07-17 16:46:25 -07:00
yzm
3737979532 move wg.Wait() after loop 2019-07-17 16:31:48 -07:00
7ce934cbec raft: return active config in Status
This is useful for debug purposes, and more so once we support joint
quorums.
2019-07-17 14:29:45 +02:00
26a1e60eab raft: return non-nil Inflights in raft status
Recent refactoring to the String() method of `Progress` hit an NPE
because we return nil Inflights as part of the Raft status. Just
fix this at the source and properly populate the Raft status instead
of teaching String() to ignore nil. A real Progress always has a
non-nil Inflights.
2019-07-17 12:53:28 +02:00
yzm
d87bd2c87c integration: add WaitGroup to prevent calling t.Fatalf after TestV3WatchCurrentPutOverlap function return
It could cause a panic when it happens

Fixes #10886
2019-07-16 10:25:35 -07:00
9fba06ba3b Merge pull request #10889 from tbg/joint-conf-change-logic
raft: internally support joint consensus
2019-07-16 16:02:16 +02:00
aa158f36b9 raft: internally support joint consensus
This commit introduces machinery to safely apply joint consensus
configuration changes to Raft.

The main contribution is the new package, `confchange`, which offers
the primitives `Simple`, `EnterJoint`, and `LeaveJoint`.

The first two take a list of configuration changes. `Simple` only
declares success if these configuration changes (applied atomically)
change the set of voters by at most one (i.e. it's fine to add or
remove any number of learners, but change only one voter). `EnterJoint`
makes the configuration joint and then applies the changes to it, in
preparation of the caller returning later and transitioning out of the
joint config into the final desired configuration via `LeaveJoint()`.

This commit streamlines the conversion between voters and learners, which
is now generally allowed whenever the above conditions are upheld (i.e.
it's not possible to demote a voter and add a new voter in the context
of a Simple configuration change, but it is possible via EnterJoint).
Previously, we had the artificial restriction that a voter could not be
demoted to a learner, but had to be removed first.
Even though demoting a learner is generally less useful than promoting
a learner (the latter is used to catch up future voters), demotions
could see use in improved handling of temporary node unavailability,
where it is desired to remove voting power from a down node, but to
preserve its data should it return.

An additional change that was made in this commit is to prevent the use
of empty commit quorums, which was previously possible but for no good
reason; this:

Closes #10884.

The work left to do in a future PR is to actually expose joint
configurations to the applications using Raft. This will entail mostly
API design and the addition of suitable testing, which to be carried
out ergonomically is likely to motivate a larger refactor.

Touches #7625.
2019-07-16 15:36:04 +02:00
14625b847c scripts: have genproto.sh clean up after itself
We don't want it to leave gopath.proto around for reasons detailed in
the previous commit (messing up vgo).
2019-07-16 14:01:04 +02:00
f63984bb33 scripts: fail explicitly in updatedep.sh when gopath.proto exists
I had been dealing with these intermittent failures for a while and
finally figured out why. The real solution is making genproto.sh less
ugly but that won't happen for a while.
2019-07-16 13:54:09 +02:00
5a734e79f5 Merge pull request #10891 from changkun/raft
raft/rafttest: simulate async send in node test
2019-07-15 11:49:06 -07:00
856097181b raft/rafttest: simulate async send in node test
In order to cover message can well be received when a node is paused, this commit sends message async using goroutine and random sleep. This change makes recvms is possible to cache message during node.pause is triggered.
2019-07-13 16:22:33 +02:00
e56e8471ec Merge pull request #10888 from tbg/test-ski
test: allow failures in linux-amd64-integration-4-cpu
2019-07-11 09:24:06 -07:00
b7327b1cd8 test: allow failures in linux-amd64-integration-4-cpu
This run *should* certainly pass, but it's consistently the one that
fails with a regularity that essentially blocks the CI pipeline.

Someone needs to take a look at #10700, but in the meantime, the show
must go on.
2019-07-11 16:40:54 +02:00
b2274efee0 Merge pull request #10864 from tbg/learner-snap
raft: allow voter to become learner through snapshot
2019-07-11 15:48:09 +02:00
95f3138b5f tests: Use more deterministic error message in TestEtcdPeerNameAuth 2019-07-10 14:24:20 +09:00
c6686734b1 tests: Use 'localhost' to match SAN of integration/fixtures/server.crt 2019-07-10 13:33:14 +09:00
91472797ff pkg: Remove stray printfs 2019-07-10 13:33:14 +09:00
5824421f8b etcdman, pkg: Rename new flags to 'hostname' 2019-07-10 09:30:02 +09:00
9a53601a18 etcdmain, pkg: Support peer and client TLS auth based on SAN fields.
Etcd currently supports validating peers based on their TLS certificate's
CN field. The current best practice for creation and validation of TLS
certs is to use the Subject Alternative Name (SAN) fields instead, so that
a certificate might be issued with a unique CN and its logical
identities in the SANs.

This commit extends the peer validation logic to use Go's
`(*"crypto/x509".Certificate).ValidateHostname` function for name
validation, which allows SANs to be used for peer access control.

In addition, it allows name validation to be enabled on clients as well.
This is used when running Etcd behind an authenticating proxy, or as
an internal component in a larger system (like a Kubernetes master).
2019-07-10 09:30:02 +09:00
eb7dd97135 Merge pull request #10882 from tbg/pr-string
raft: optimize string representation of Progress
2019-07-09 16:27:35 +02:00
95024fa3cc raft: optimize string representation of Progress
Make it less verbose by omitting the values for the steady state.
Also rearrange the order so that information that is typically more
relevant is printed first.
2019-07-09 11:22:37 +02:00
0af16979f8 Merge pull request #10879 from lzhfromustc/master
etcdserver: modify a read operation to avoid potential race
2019-07-08 14:48:43 -07:00
d35f6647bc Use newbe instead of s.be to avoid potential race
`s.cluster.SetBackend(s.be)` is not in critical section. Using `newbe` instead of `s.be` can avoid potential data race.
2019-07-08 14:24:52 -07:00
6f009d211f raft: allow voter to become learner through snapshot
At the time of writing, we don't allow configuration changes to change
voters to learners directly, but note that a snapshot may compress
multiple changes to the configuration into one: the voter could have
been removed, then readded as a learner and the snapshot reflects both
changes. In that case, a voter receives a snapshot telling it that it is
now a learner. In fact, the node has to accept that snapshot, or it is
permanently cut off from the Raft log.

I think this just wasn't realized in the original work, but this is just
my guess since there generally is very little rationale on the various
decisions made. I also generally haven't been able to figure out whether
the decision to prevent voters from becoming learners without first
having been removed was motivated by some particular concern, or if it
just wasn't deemed necessary. I suspect it is the latter because
demoting a voter seems perfectly safe.

See https://github.com/etcd-io/etcd/pull/8751#issuecomment-342028091.
2019-07-08 09:32:24 +02:00
48f5bb6d28 Merge pull request #10865 from tbg/multi-conf-change
raft: centralize configuration change application
2019-07-03 21:57:57 +02:00
6697adfff8 raft/tracker: pull Voters and Learners into Config struct
This is helpful to quickly print the configuration log messages without
having to specify Voters and Learners separately.

It will also come in handy for joint quorums because it allows holding
on to voters and learners as a unit, which is useful for unit testing.
2019-07-03 21:26:42 +02:00
b171e1c78b raft: centralize configuration change application
Put all the logic related to applying a configuration change in one
place in preparation for adding joint consensus.

This inspired various TODOs.

I had to rewrite TestSnapshotSucceedViaAppResp since it was relying
on a snapshot applied to the leader, which is now prevented.
2019-07-03 21:26:42 +02:00
4f7d83a249 raft: update log info and annotation 2019-07-02 23:43:56 -04:00
1f40b6642f Merge pull request #10850 from Koprvhdix/role-remove-document-fix
Documentation: change `etcdctl role remove` to `etcdctl role delete`
2019-07-01 15:34:55 -07:00
d506962fec Merge pull request #10848 from spzala/raftthesis10831
raftdoc: fix raft thesis link
2019-06-28 12:43:32 -07:00
ecba4492f2 Merge pull request #10866 from lzhfromustc/master
clientv3: Fixed a missing block bug
2019-06-28 11:54:50 -07:00
8194aa3f03 Fixed a missing block bug
Description: w.mu is locked at line 385 and unlocked at line 396. Among 5 return statements in this function, 4 are below line 396 but there is 1 return at line 387. 
Fix: Add w.mu.Unlock() before that return at line 387.
2019-06-28 11:27:13 -07:00
c34de2aef4 Documentation: change etcdctl role remove to etcdctl role delete
This is a document error. With running `etcdctl role --help`, we can find that it should be delete, not remove.

Fixes #10849
2019-06-26 09:03:08 +08:00
655ab0ac6a raftdoc: fix raft thesis link
The current link does not work and not valid anymore per stanford support.
Replace all current refs with a link that is used by the
https://raft.github.io/

Fixes # https://github.com/etcd-io/etcd/issues/10831
2019-06-24 19:01:00 -04:00
948e276ca7 Merge pull request #10807 from tbg/extract-prs
raft: extract 'tracker' package
2019-06-21 22:50:06 +02:00
f9c2d00fb3 raft: extract 'tracker' package
Mechanically extract `progressTracker`, `Progress`, and `inflights`
to their own package named `tracker`. Add lots of comments in the
progress, and take the opportunity to rename and clarify various
fields.
2019-06-21 22:15:00 +02:00
6953ccc135 Merge pull request #10837 from tbg/ci-20m
test: s/20m/30m/g
2019-06-21 08:54:26 +08:00
362dfb4d08 test: s/20m/30m/g
Every other test build times out due to the 20 minute test timeout. I
doesn't seem like tests are actually hanging, it's more that 20 minutes
just isn't enough to run the tests any more.
2019-06-20 23:44:25 +02:00
5d30dccdaa Merge pull request #10838 from tbg/unbreak
quorum: fix vet failure
2019-06-20 23:44:09 +02:00
e262542d6d quorum: fix vet failure
This slipped in during a rename and I didn't see it in CI because of
CI flakiness and a general intransparency about which failures are
important.
2019-06-20 23:40:08 +02:00
755aab6990 Merge pull request #10779 from tbg/jointq-pr
raft: use half-populated joint quorum
2019-06-20 22:57:46 +02:00
e039629907 raft: use half-populated joint quorum
To ease a future transition into joint quorums, this commit removes the
previous "ad-hoc" majority-based quorum and vote computations with that
introduced in the `raft/quorum` package.

More specifically, the progressTracker now uses a quorum.JointConfig for
which the "second" majority quorum is always empty; in this case the
quorum behaves like the one quorum.MajorityConfig that is actually
present. Or, more briefly, this change is a no-op, but it will take the
busywork out of actually starting to make use of joint quorums in the
future.

On a side node, I suspect that this might've fixed a bug regarding the
read index though I haven't been able to explicitly come up with a
counter-example. The problem was that the acks collected for the read
index weren't taking into account membership changes, so they'd run the
danger of using acks from nodes since removed to claim that a quorum of
acks had been received. There's a chance that there isn't a
counter-example (the only guarantee extracted from the "quorum" is that
there isn't another leader, but even if there's another leader all that
matters is that that leader doesn't have a divergent history from the
stale leader in the hypothetical counter-example), but either way there
is morally a bug here that is now fixed because VoteCommitted doesn't
care about votes from members that are not voters known to the currently
active configuration.
2019-06-19 14:19:35 +02:00
0384c587eb raft: rename makeP{RS,rogressTracker} 2019-06-19 14:19:35 +02:00
3def2364e4 raft: use membership sets in progress tracking
Instead of having disjoint mappings of ID to *Progress for voters and
learners, use a map[id]struct{} for each and share a map of *Progress
among them.

This is easier to handle when joint quorums are introduced, at which
point a node may be a voting member of two quorums.
2019-06-19 14:19:35 +02:00
76c8ca5a55 quorum: introduce library for majority and joint quorums
The quorum package contains logic to reason about committed indexes as
well as vote outcomes for both majority and joint quorums. The package
is oblivious to the existence of learner replicas.

The plan is to hook this up to etcd/raft in subsequent commits.
2019-06-19 14:19:35 +02:00
9ff7628577 Merge pull request #10801 from roe85/master
DOC: Fix referencing the wrong version number.
2019-06-18 13:24:28 -07:00
53891cbf97 Merge pull request #10822 from tbg/airplane/learner-no-campaign
raft: prevent learners from becoming leader
2019-06-17 10:58:24 -07:00
e5876c6ce2 Merge pull request #10826 from yznima/pr-race
Raft HTTP: fix pause/resume race condition
2019-06-17 09:58:18 -07:00
b1812a410f Raft HTTP: fix pause/resume race condition 2019-06-17 11:45:25 -04:00
c844526002 raft: prevent learners from becoming leader
We were already taking some precautions against learners campaigning,
but there was no safeguard against an explicit call to `Campaign()`.
The newly added test also verifies that leadership transfers to
learners are ignored.
2019-06-17 09:20:45 +02:00
c27e1108f4 Doc: Fix referencing the wrong version number. 2019-06-14 14:35:34 +02:00
2c5162af5c Merge pull request #10523 from jingyih/fully_concurrent_reads
mvcc: fully concurrent read
2019-06-14 12:25:17 +08:00
55066ebdc0 mvcc: address comments 2019-06-13 18:05:50 -07:00
0de9b8abf5 Merge pull request #10815 from jingyih/fix_RLock
mvcc/backend: use RLock in test
2019-06-11 23:10:12 -07:00
2a9320e944 mvcc: add TestConcurrentReadTxAndWrite
Add TestConcurrentReadTxAndWrite which creates random reads and writes,
and ensures reads always see latest writes.
2019-06-11 17:05:41 -07:00
b873fbd127 mvcc/backend: correct RLock in test
Should use RLock instead of Lock.
2019-06-11 16:24:44 -07:00
693afd8e5e mvcc/backend: add unit test for ConcurrentReadTx
Add TestConcurrentReadTx to ensure concurrentReadTx can see all the
prior writes which are stored on the read buffer.
2019-06-10 18:30:21 -07:00
ad80752715 mvcc: add metrics dbOpenReadTxn
Expose the number of currently open read transactions in backend to
metrics endpoint.
2019-06-10 17:20:04 -07:00
d6280f9ea5 Merge pull request #10809 from jingyih/update_changelog
CHANGELOG-3.4: update from #10808
2019-06-09 20:59:43 -07:00
6906d07d1f CHANGELOG: update from PR10808 2019-06-09 20:16:13 -07:00
833620b864 Merge pull request #10808 from WIZARD-CXY/updateboltdb2
vendor: update boltdb
2019-06-09 20:08:56 -07:00
a2a077790b vendor: update boltdb 2019-06-10 10:25:59 +08:00
48d144a3de Merge pull request #10731 from WIZARD-CXY/learner_metric
etcdserver: add learner metrics
2019-06-08 22:43:03 -07:00
ea70731f53 Merge pull request #10762 from FrozenAndrey/fix#10747
etcdmain: fix ignoring of ETCD_CONFIG_FILE env variable
2019-06-07 21:32:35 -07:00
f6a9ebe579 Merge pull request #10710 from j2gg0s/refactor-lease-bench-test
lease: refactor lease's benchmark.
2019-06-07 21:32:04 -07:00
372086cca1 Merge pull request #10803 from tbg/rna
raft: make relationship between node and RawNode explicit
2019-06-07 15:43:28 -07:00
b5c6904cea Merge pull request #10802 from jpbetz/jingyih-maintainer
Add @jingyih to MAINTAINERS
2019-06-07 14:59:39 -07:00
54dcb9cf34 Add @jingyih to MAINTAINERS 2019-06-07 14:58:50 -07:00
ea0be95387 Merge pull request #10792 from spzala/triagereflink
README: provide ref for issue and PR managenet doc
2019-06-07 14:09:47 -07:00
cbb7730c26 raft: make relationship between node and RawNode explicit
This will keep them from diverging to much. In fact we should remove
some of the obvious differences that have crept in over time so that
what remains is structural. This isn't done in this commit since
it amounts to a change in the public API; we should lump this in
when we break the public API the next time.
2019-06-07 23:07:42 +02:00
805b918715 Merge pull request #10800 from mitake/curl-test-nopassword
tests/e2e: initialize UserAddOptions{} field in testV3CurlAuth()
2019-06-06 17:39:50 -07:00
7bbc536e1c tests/e2e: initialize UserAddOptions{} field in testV3CurlAuth() 2019-06-06 23:07:41 +09:00
30ca4ae1e2 Merge pull request #10798 from WIZARD-CXY/learnerCLOG
CHANGELOG: add learner metrics
2019-06-06 01:49:49 -07:00
9a73013004 Merge pull request #10797 from jingyih/lease_checkpoint_enabled_by_experimental_flag
*: enable lease checkpoint via experimental flag
2019-06-05 22:56:54 -07:00
489675644a CHANGELOG: add learner metrics 2019-06-06 10:29:57 +08:00
5af3723e28 CHANGELOG: update changelog-3.4 2019-06-05 15:45:58 -07:00
e67b9829b6 *: enable lease checkpoint via experimental flag
Primary lessor persist lease remainingTTL only if experimental flag
"--experimental-enable-lease-checkpoint" is set.
2019-06-05 15:30:03 -07:00
aa016eebf8 Merge pull request #10631 from spzala/goruntimeupdate112
*: test update for Go 1.12.5 and related changes
2019-06-05 15:28:37 -07:00
1caaa9ed4a test: test update for Go 1.12.5 and related changes
Update to Go 1.12.5 testing. Remove deprecated unused and gosimple
pacakges, and mask staticcheck 1006. Also, fix unconvert errors related
to unnecessary type conversions and following staticcheck errors:
- remove redundant return statements
- use for range instead of for select
- use time.Since instead of time.Now().Sub
- omit comparison to bool constant
- replace T.Fatal and T.Fatalf in tests with T.Error and T.Fatalf respectively because the goroutine calls T.Fatal must be called in the same goroutine as the test
- fix error strings that should not be capitalized
- use sort.Strings(...) instead of sort.Sort(sort.StringSlice(...))
- use he status code of Canceled instead of grpc.ErrClientConnClosing which is deprecated
- use use status.Errorf instead of grpc.Errorf which is deprecated

Related #10528 #10438
2019-06-05 17:02:05 -04:00
25412f9690 Merge pull request #10789 from jingyih/update_changelog_from_9540
CHANGELOG: update from cherry picks of #9540
2019-06-05 08:18:29 -07:00
336c01b8d4 README: provide ref for issue and PR managenet doc
related: https://github.com/etcd-io/etcd/pull/10668

Provide a ref to the issue and PR management doc from the README,
similar to other references we have provided in the README.
2019-06-05 10:44:04 -04:00
ea45cd61d0 Merge pull request #10788 from jingyih/add_missing_newline_EndpointHealth
ctlv3: add newline in EndpointHealth output
2019-06-05 02:19:54 -07:00
0b8727b3f3 etcdserver: add learner metrics 2019-06-05 10:51:21 +08:00
6a7ee7063c lease: refactor benchmark. 2019-06-05 10:01:01 +08:00
ceb963e008 CHANGELOG: update from cherry pick of #9540 2019-06-04 16:47:19 -07:00
17e10fe13f ctlv3: add missing newline in EndpointHealth
To make the output consistent with the output before #9540.
2019-06-04 15:52:29 -07:00
5042c2751b Merge pull request #10786 from rohitsardesai83/update_changelog3.3
CHANGELOG-3.3: add sigs.k8s.io yaml dependency
2019-06-04 09:52:53 -07:00
ee2b976254 CHANGELOG-3.3: add sigs.k8s.io yaml dependency 2019-06-04 14:13:57 +05:30
35a67024f6 Merge pull request #10781 from gyuho/vv
module: require 1.12, remove "v3" import paths
2019-06-03 11:18:07 -07:00
b40597ce46 module: require 1.12, remove "v3" import paths
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-06-03 11:15:19 -07:00
ea0f919cdc Merge pull request #10775 from jingyih/integration_member_promote_failed_cases
clientv3/integration: add member promote failure test cases
2019-06-02 20:39:00 -07:00
cdca488d8b Merge pull request #9817 from mitake/no-password
*: support creating a user without password
2019-05-31 22:41:29 -07:00
068864574a Merge pull request #10734 from spzala/securityissues
README: update handling of security vulnerabilities
2019-05-31 17:12:34 -07:00
d8e2e47de5 Merge pull request #10693 from nolouch/fix-lease
lease/lessor: recheck if exprired lease is revoked
2019-05-31 12:13:36 -07:00
ec17872c98 integration: add member promote failure test cases
Add TestMemberPromoteMemberNotLearner and
TestMemberPromoteMemberNotExist.
2019-05-31 10:52:54 -07:00
2f7121b420 Merge pull request #10772 from jingyih/revert_10526
mvcc: revert change made by #10526 and #10699
2019-05-30 15:18:31 -07:00
96a7ff0a62 CHANGELOG: describe about user with no password 2019-05-30 22:03:00 +09:00
54b09d4f87 auth: add a unit test for creating a user with no password 2019-05-30 21:59:30 +09:00
8257dfdb51 e2e: add test cases for a user without password 2019-05-30 21:59:30 +09:00
5a67dd788d *: support creating a user without password
This commit adds a feature for creating a user without password. The
purpose of the feature is reducing attack surface by configuring bad
passwords (CN based auth will be allowed for the user).

The feature can be used with `--no-password` of `etcdctl user add`
command.

Fix https://github.com/coreos/etcd/issues/9590
2019-05-30 21:59:30 +09:00
4345f74426 mvcc: revert change made by 10526
Revert #10526 and its followup #10699.
2019-05-29 17:41:33 -07:00
dc6885d73f Merge pull request #10771 from jingyih/clarify_ETCDCTL_API
doc: clarify etcdctl default API version
2019-05-29 15:32:45 -07:00
e1120a5e3e Merge pull request #10770 from xiang90/rm_a
*: Move Anthony to Emeritus Maintainers
2019-05-29 14:59:54 -07:00
a7568d63a7 doc: clarify etcdctl default API version 2019-05-29 14:48:46 -07:00
85fab97186 *: Move Anthony to Emeritus Maintainers 2019-05-29 12:45:23 -07:00
db5d1209d9 Merge pull request #10767 from jingyih/update_changelog_learner
CHANGELOG: update changelog-3.4 with learner
2019-05-29 10:45:22 -07:00
dc8a31eaf0 lease/lessor: recheck if exprired lease is revoked
Signed-off-by: nolouch <nolouch@gmail.com>
2019-05-29 14:27:19 +08:00
565e83e997 CHANGELOG: update changelog-3.4 with learner 2019-05-28 21:10:55 -07:00
23a89b0f09 Merge pull request #10755 from wrfly/patch-3
fix #10754
2019-05-28 20:50:52 -07:00
77e1c37787 Merge pull request #10730 from jingyih/learner_part3
*: support raft learner in etcd - part 3
2019-05-28 20:06:13 -07:00
3754767dbc clientv3: return getToken error when retryAuth 2019-05-29 10:15:22 +08:00
23511d21ec *: address comments 2019-05-28 18:50:13 -07:00
6bf609b96d integration: update TestMemberPromote test
Update TestMemberPromote to include both learner not-ready and learner
ready test cases.

Removed unit test TestPromoteMember, it requires underlying raft node to
be started and running. The member promote is covered by the integration
test.
2019-05-28 18:50:13 -07:00
3f94385fc6 etcdserver: update raftStatus 2019-05-28 18:50:13 -07:00
e994a4df01 etcdserver: check http StatusCode before unmarshal
Check http StatusCode. Only Unmarshal body if StatusCode is statusOK.
2019-05-28 18:50:13 -07:00
f8ad8ae4ad etcdserver: use etcdserver ErrLearnerNotReady
If learner is not ready to be promoted, use etcdserver.ErrLearnerNotReady
instead of using membership.ErrLearnerNotReady.
2019-05-28 18:50:13 -07:00
f5eaaaf440 etcdserver: forward member promote to leader 2019-05-28 18:50:10 -07:00
dfe296ac3c etcdserver: add mayPromote check 2019-05-28 18:47:03 -07:00
cca8b0d44f Doc: add learner in runtime-configuration.md 2019-05-28 18:47:03 -07:00
7a4d233bab clientv3/integration: better way to deflake test
Use ReadyNotify instead of time.Sleep to wait for server ready.
2019-05-28 18:47:03 -07:00
aa4cda2f5c etcdserver: allow 1 learner in cluster
Hard-coded the maximum number of learners to 1.
2019-05-28 18:47:03 -07:00
c438f6db27 etcdserver: check IsMemberExist before IsLearner
If member does not exist in cluster, IsLearner will panic.
2019-05-28 18:47:03 -07:00
d0c1b3fa38 etcdserver: learner return Unavailable for unsupported RPC
Make learner return code.Unavailable when the request is not supported
by learner. Client balancer will retry a different endpoint.
2019-05-28 18:47:03 -07:00
76a63f9f7d etcdserver: adjust StrictReconfigCheck
Adjust StrictReconfigCheck logic to accommodate learner members in the
cluster.
2019-05-28 18:47:03 -07:00
bdcecd1fc4 Merge pull request #10764 from jingyih/clarify_config_file_setting
*: more clarification on when server config file is provided
2019-05-28 16:23:19 -07:00
9c5426830b Merge pull request #10766 from gyuho/fix
*: reverting versioned import paths, use Go 1.12 for tests
2019-05-28 16:21:48 -07:00
9ecbf5d2d1 main_test: skip test when invoked via go test
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 16:19:11 -07:00
8ff5914404 tests: update semaphore upgrade tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
34bd797e67 *: revert module import paths
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
c8ffa36d9e scripts/genproto: bump up protoc 3.7.1
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
05378f0d5d Makefile: upgrade default Go version
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
75e440b105 build: fix import path
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
986f16e032 CHANGELOG: remove import path change
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
e3cdd3ae9c travis: fix GO111MODULE, import paths
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:30 -07:00
5e9c424f1f *: more clarification on server config file
Be more explicit in document and command line usage message that if a
config file is provided, other command line flags and environment
variables will be ignored.
2019-05-27 22:54:14 -07:00
a1ef44358d Merge pull request #10760 from jingyih/remove_you_word_from_doc
Doc: remove word you
2019-05-27 21:43:36 -07:00
11d3f74c33 Merge pull request #10744 from philips/drop-readthedocs
*: move to etcd.io for docs
2019-05-27 03:02:01 -07:00
e33c98f5ed Merge pull request #10763 from Inconnu08/master
clientv3: fix typo in test filename
2019-05-27 03:00:29 -07:00
2eaed14def clientv3: fix typo in test filename 2019-05-27 13:53:58 +06:00
14c5eaa7e1 etcdmain: improve readability
Improve readability of ETCD_CONFIG_FILE env variable parsing part
by adding comments and using flags.FlagToEnv function.

Signed-off-by: Andrey Abramov <st5pub@yandex.ru>
2019-05-26 09:54:26 +03:00
6955331901 etcdmain: fix ignoring of ETCD_CONFIG_FILE env variable
Fixes #10747

Signed-off-by: Andrey Abramov <st5pub@yandex.ru>
2019-05-25 23:54:19 +03:00
cf57fc837e Doc: remove word you
markdown_you test fails due to the appearance of word you in documents.
2019-05-24 16:06:10 -07:00
2ff2755528 Merge pull request #10750 from etcd-io/fanminshi-patch-1
readme: add etcd Emeritus section
2019-05-23 12:06:25 -07:00
a1a482a67d readme: add explanation 2019-05-22 20:58:17 -07:00
c38e965a65 Merge pull request #10683 from tbg/prs
raft: extract progress tracking into own component
2019-05-22 16:53:50 +02:00
4a42371447 readme: add etcd Emeritus section 2019-05-21 22:17:56 -07:00
416a5390c4 Merge pull request #10745 from etcd-io/fanminshi-patch-1
MAINTAINERS: remove fanmin shi
2019-05-21 22:12:06 -07:00
5dd45011d6 raft: rename prs to progressTracker 2019-05-21 16:03:36 +02:00
02b0d80234 raft: remove quorum() dependency from readOnly
This now delegates the quorum computation to r.prs, which will allow
it to generalize in a straightforward way when etcd-io/etcd#7625 is
addressed.
2019-05-21 16:03:36 +02:00
57a1b39fcd raft: avoid another call to quorum()
This particular caller just wanted to know whether it was in a single-voter
cluster configuration, which is now a question prs can answer.
2019-05-21 16:02:52 +02:00
bc828e939a raft: pull checkQuorumActive into prs
It's looking at each voter's Progress and needs to know how quorums
work, so this is the ideal new home for it.
2019-05-21 16:02:52 +02:00
a6f222e62d raft: establish an interface around vote counting
This cleans up the mechanical refactor in the last commit and will
help with etcd-io/etcd#7625 as well.
2019-05-21 16:02:52 +02:00
26eaadb1d1 raft: move votes into prs
This is purely mechanical. Cleanup deferred to the next commit.
2019-05-21 16:02:52 +02:00
a11563737c raft: use progress tracker APIs in more places
This doesn't completely eliminate access to prs.nodes, but that's not
really necessary. This commit uses the existing APIs in a few more
places where it's convenient, and also sprinkles some assertions.
2019-05-21 16:02:52 +02:00
ea82b2b758 raft: move more methods onto the progress tracker
Continues what was initiated in the last commit.
2019-05-21 16:02:52 +02:00
dbac67e7a8 raft: extract progress tracking into own component
The Progress maps contain both the active configuration and information
about the replication status. By pulling it into its own component, this
becomes easier to unit test and also clarifies the code, which will see
changes as etcd-io/etcd#7625 is addressed.

More functionality will move into `prs` in self-contained follow-up commits.
2019-05-21 16:02:52 +02:00
0cf6e1bcb8 MAINTAINERS: remove fanmin shi
I no longer have the time to maintain etcd as my career takes me to a different direction; Hence, I think it is appropriate to remove myself from the maintainer responsibility.

Working on etcd project was one of the most challenging and rewarding experiences I ever had. Thanks @xiang90 @gyuho @heyitsanthony @philips
2019-05-20 23:47:35 -07:00
c5e5240004 *: move to etcd.io for docs
Remove all readthedocs references for https://etcd.io to ensure the SEO
goes to the right place.
2019-05-20 14:32:08 -07:00
71881a423f Merge pull request #10724 from majolo/patch-1
Doc: Fix typo in revision.go
2019-05-16 11:06:52 -04:00
9a6f7d4361 README: update handling of security vulnerabilities
We may not want to suggest to contact CoreOS now. We could remove this
section but consiering the nature of the subject, discussion with the project
maintainers probably a good idea if someone doesn't find it comfortable
to report an issue right away.
2019-05-16 10:32:32 -04:00
9ab3572662 Doc: Fix typo in revision.go 2019-05-16 14:29:10 +01:00
d4cdbb1ea0 Merge pull request #10727 from jingyih/learner_part2
*: support raft learner in etcd - part 2
2019-05-15 16:41:08 -07:00
23f1d02391 *: address comments 2019-05-15 15:58:46 -07:00
90d28c0de7 clientv3/integration: deflake TestKVForLearner
Adding delay in the test for the newly started learner member to catch
up applying config change entries in raft log.
2019-05-15 13:58:28 -07:00
b23c8f3e8f clientv3/integration: fix cluster tests
Fixes TestMemberAddForLearner and TestMemberPromoteForLearner.
2019-05-15 13:58:26 -07:00
ac057951cc integration: remove unnecessary type conversion
Fixes go 'unconvert' test.
2019-05-15 13:48:54 -07:00
c836e37a83 etcdserver: remove unnecessary bool comparison
Fixes 'gosimple' test.
2019-05-15 13:48:54 -07:00
c55519b3a5 words: whitelist words to fix goword test. 2019-05-15 13:48:54 -07:00
a039f2efb8 clientv3, etcdctl: MemberPromote for learner 2019-05-15 13:48:52 -07:00
bd7f42855b integration: add TestTransferLeadershipWithLearner
Adding integration test TestTransferLeadershipWithLearner, which ensures
that TransferLeadership does not timeout due to learner is automatically
picked by leader as transferee.
2019-05-15 13:27:42 -07:00
e8dc4c5c25 integration: add TestMoveLeaderToLearnerError
Adding integration test TestMoveLeaderToLearnerError, which ensures that
leader transfer to learner member will fail.
2019-05-15 13:27:42 -07:00
44d935e90a etcdserver: exclude learner from leader transfer
1. Maintenance API MoveLeader() returns ErrBadLeaderTransferee if
transferee does not exist or is raft learner.

2. etcdserver TransferLeadership() only choose voting member as
transferee.
2019-05-15 13:27:42 -07:00
7f9479acc1 clientv3: add member promote 2019-05-15 13:27:42 -07:00
ba9fd620e8 etcdserver: support MemberPromote for learner 2019-05-15 13:27:42 -07:00
57a11eb1e1 integration: add TestKVForLearner
Adding TestKVForLearner. Also adding test utility functions for clientv3
integration tests.
2019-05-15 13:27:38 -07:00
43ed94f769 etcdserver: filter rpc request to learner
Hardcoded allowed rpc for learner node. Added filtering in grpc
interceptor to check if rpc is allowed for learner node.
2019-05-15 13:15:20 -07:00
355d0ab2a6 *: add learner field in endpoint status
Added learner field to endpoint status API.
2019-05-15 13:13:59 -07:00
42acdfcea7 Merge pull request #10668 from spzala/issuetriage
Doc: create issue and PR management guidelines
2019-05-15 10:30:36 -07:00
919b93b742 Merge pull request #10725 from jingyih/learner_part1
*: support raft learner in etcd - part 1
2019-05-14 20:35:48 -07:00
e1acf244c1 etcdserver: Add MemberAddAsLearner
Made changes to api/membership:

- Added MemberAddAsLearner
- Reverted changes to MemberAdd - removed input parameter isLearner
2019-05-14 18:18:10 -07:00
2b76200f70 *: add MemberAddAsLearner to clientv3 Cluster API
Made changes to Clientv3 Cluster API:

- Added MemberAddAsLearner.
- Reverted changes to MemberAdd - removed input parameter isLearner.
2019-05-14 16:56:44 -07:00
1e38de5b9d etcdctl: add learner field in member list output 2019-05-14 13:10:22 -07:00
e4296bbad9 tests/e2e: Add test for learner member add
Added an e2e test to exercise "etcdctl member add --learner".
2019-05-14 13:10:22 -07:00
a67d934410 etcdctl: support MemberAdd for learner
Added support for "etcdctl member add --learner".
2019-05-14 13:10:22 -07:00
fc14608cb7 clientv3: support MemberAdd for learner
Added IsLearner flag to clientv3 MemberAdd API.
2019-05-14 13:10:22 -07:00
604bc04f70 etcdserver: support MemberAdd for learner
Added IsLearner field to etcdserver internal Member type. Routed
learner MemberAdd request from server API to raft. Apply learner
MemberAdd result to server after the request is passed through Raft.
2019-05-14 13:10:22 -07:00
a0d3c4d641 *: fix compilation after API change
Fixed compilation erros after API change for learner.
2019-05-14 13:10:22 -07:00
7dc5451fae *: Change etcdserver API to support raft learner
- Added isLearner flag to MemberAddRequest in Cluster API.
- Added isLearner field to StatusResponse in Maintenance API.
- Added MemberPromote rpc to Cluster API.
2019-05-14 13:09:17 -07:00
a44a281ac3 CHANGELOG: remove mailing list reference
Recommendations for the production were bumped up recently. The related
ML email ref is old one so we should not provide the link.

Fixes #10669
2019-05-11 09:24:41 -04:00
d8c89021d7 Merge pull request #10689 from joshcc3/master
raft: cleanup wal directory if creation fails
2019-05-10 15:09:16 -07:00
a0c889d14b wal: add a test for wal cleanup, improve comments
To add test coverage of wal cleanup.
2019-05-10 22:36:26 +01:00
1411c585be etcdserver: fix typo in log message
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-05-10 09:54:00 -04:00
a73fb85c0c mvcc: fully concurrent read 2019-05-08 19:11:23 -07:00
886d30d223 Documentation: provide better user experience with autorefreshing grafana dashboard 2019-05-08 06:58:28 -04:00
f7f7e9c762 wal: Improve cleanup for robustness and debuggability
Rename wal with '.suffix.<timestamp>' instead of delete it and call cleanup when perr in a 'defer'ed statement.
2019-05-07 21:38:40 +01:00
51035bfd84 wal: cleanup wal directory if creation fails
delete <data-dir>/member/wal if any operation after the rename in
wal.Create fails to avoid reading an inconsistent WAL on restart.

Fixes #10688
2019-05-04 01:58:57 +01:00
39bbc66b46 Doc: create issue and PR management guidelines
I would like to propose a formal guide for issue triage and PR management.
This should help us keep open issues and PRs under a desirable numbers.
For example, keep issues under 100. These guidelines should specially help
manage and close issues and PRs that are inactive in a timely manner.
2019-05-03 17:03:17 -04:00
caee28a88e Merge pull request #10666 from mkumatag/fix_tests
Fix tests for latest golang
2019-05-03 11:18:58 -07:00
4d6ebafa54 Merge pull request #10704 from wilbeibi/master
raft: update raft paper link (previous link deprecated)
2019-05-03 09:34:02 -07:00
d68f60e9a0 raft: update raft paper link (previous link deprecated) 2019-05-03 08:50:16 -07:00
616592d9ba CHANGELOG: update
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-02 10:21:37 -07:00
e9f310af28 Merge pull request #10687 from rohitsardesai83/replace_ghodss_yaml_with_sigsk8sio_yaml
etcd: Replace yaml dependency `github.com/ghodss/yaml` with `sigs.k8s.io/yaml`
2019-05-02 09:47:33 -07:00
42a7ea6d33 etcd: Replace ghodss/yaml with sigs.k8s.io/yaml
To remove the dependency on ghodss/yaml. Replaced this dependency with sigs.k8s.io/yaml.
This wil help to remove the ghodss/yaml dependency from main kubernetes repository.

xref: https://github.com/kubernetes/kubernetes/issues/77024
2019-05-02 12:34:36 +05:30
e899023f3f Merge pull request #10640 from shrajfr12/gomodulecompat
Fix module path to have the major version to comply with go modules specification.
2019-05-01 22:46:03 -07:00
8a86a60fbc Merge pull request #10699 from jingyih/protect_tree_clone_with_write_lock
mvcc: protect tree clone with write lock
2019-05-01 13:25:31 -07:00
88922b0d08 mvcc: protect tree clone with write lock 2019-05-01 12:34:09 -07:00
fc6936863a Merge pull request #10582 from johncming/empty_update
clientv3/naming: ignore empty update.
2019-04-30 14:21:56 -07:00
1bd02b2053 Merge pull request #10595 from johncming/locking
clientv3: modify lock type.
2019-04-30 14:19:02 -07:00
e3f37534e1 Merge pull request #10684 from nvanbenschoten/nvanbenschoten/appendAndCopy
raft: Avoid multiple allocs when merging stable and unstable log
2019-04-30 11:51:32 -07:00
0bc219a91e Merge pull request #10679 from nvanbenschoten/nvanbenschoten/commitAlloc
raft: Avoid allocation when boxing slice in maybeCommit
2019-04-30 10:55:16 -07:00
efcc1088f0 Merge pull request #10680 from nvanbenschoten/nvanbenschoten/appendAlloc
raft: avoid allocation of Raft entry due to logging
2019-04-27 18:14:20 -07:00
41a0d67b30 Documentation: add links to blog post on benchmarking disks with fio
The documentation mentions fio as a tool to benchmark disks to assess
whether they are fast enough for etcd. But doing that is far from trivial,
because fio is very flexible and complex to use, and the user must make sure
that the workload fio generates mirrors the I/O workload of its etcd cluster
closely enough. This commit adds links to a blog post with an example of how
to do that.
2019-04-27 13:13:11 -04:00
9150bf52d6 go modules: Fix module path version to include version number 2019-04-26 15:29:50 -07:00
b5593de806 raft: Avoid multiple allocs when merging stable and unstable log
Appending to an empty slice twice could (and often did) result in
multiple allocations. This was wasteful. We can avoid this by performing
a single allocation with the correct size and copying into it.
2019-04-26 14:57:51 -04:00
24f35a9861 raft: avoid allocation of Raft entry due to logging
`raftpb.Entry.String` takes a pointer receiver, so calling it
on a loop variable was causing the variable to escape. Removing
the `.String()` call was enough to avoid the allocation, but
this also avoids a memory copy and prevents similar bugs.

This was responsible for 11.63% of total allocations in an
experiment with https://github.com/nvanbenschoten/raft-toy.
2019-04-26 14:56:31 -04:00
208b8a349c raft: Avoid allocation when boxing slice in maybeCommit
By boxing a heap-allocated slice header instead of the slice
header on the stack, we can avoid an allocation when passing
through the sort.Interface interface.

This was responsible for 26.61% of total allocations in an
experiment with https://github.com/nvanbenschoten/raft-toy.
2019-04-26 00:10:45 -04:00
cca0d5c1be Merge pull request #10672 from nolouch/fix-probing-log
api/rafthttp: fix the probing status log print
2019-04-24 23:05:23 -07:00
8146e1ebdf CHANGELOG-3.4: add json-iterator/go change
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-04-23 15:00:59 -07:00
1697c06df9 Merge pull request #10667 from dims/replace-ugorji-with-json-iterator
Replace ugorji/codec with json-iterator/go
2019-04-23 14:52:41 -07:00
3655a4b228 vendor: Run scripts/updatedeps.sh to cleanup unused code 2019-04-23 16:54:44 -04:00
daee668b75 client: Switch to case sensitive unmarshalling to be compatible with ugorji
Using lessons learned from k8s changes:
https://github.com/kubernetes/kubernetes/pull/65034

Change-Id: Ia17a8f94ae6ed00c5af2595c2b48d3c9a0344427
2019-04-23 16:54:44 -04:00
290ac75869 *: update bill-of-materials
Change-Id: Ibfa24e28cacd58388f7606a945c8ac35e1c34580
2019-04-23 16:54:44 -04:00
6de29e08aa vendor: Add json-iterator and its dependencies
Change-Id: I1f3fc00f95efadd6da9b4c248156f8460ae0ff97
2019-04-23 16:54:44 -04:00
86e3481ba2 scripts: Remove generated code and script
Change-Id: Iac4601443bcad71920fd96b97bfe21c16116577a
2019-04-23 16:54:44 -04:00
90108a2e61 client: Replace ugorji/codec with json-iterator/go
We need to use the stdlib-compatible one that is case-sensitive, etc

Change-Id: Id0df573a70e09967ac7d8c0a63d99d6a49ce82f1
2019-04-23 16:54:44 -04:00
9dfde8a4fb Merge pull request #10664 from jingyih/update_changelog_3p4_from_pr10646
CHANGELOG: update CHANGELOG-3.4 from #10646
2019-04-23 11:35:58 -07:00
decc0d5f43 api/rafthttp: fix the probing status print
Signed-off-by: nolouch <nolouch@gmail.com>
2019-04-23 19:51:34 +08:00
867b45d865 client: Fix tests for latest golang 2019-04-22 08:14:10 -05:00
216808eab5 Merge pull request #10663 from gyuho/log
etcdserver: improve heartbeat send failures logging
2019-04-22 13:37:40 +08:00
b11223caf5 CHANGELOG: update CHANGELOG-3.4 from #10646 2019-04-19 21:23:49 -07:00
943d6887c4 Merge pull request #10646 from yingnanzhang666/metrics_db_compaction
fix issue that metric db_compaction_total_duration_milliseconds is always 0
2019-04-19 21:10:41 -07:00
877f11bed8 etcdserver: improve heartbeat send failures logging
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-04-19 10:58:17 -07:00
85594ae99c Merge pull request #10661 from jpbetz/backport-changelog
CHANGELOG: update changelogs for backport of PR #10646
2019-04-18 14:10:17 -07:00
93479fdecd CHANGELOG: update changelogs for backport of PR #10646 2019-04-18 09:39:22 -07:00
cd7ffbe227 Merge pull request #10654 from CydeWeys/patch-1
embed: Fix HTTPs -> HTTPS in error message
2019-04-17 15:14:21 -04:00
b3dd3d3856 embed: Fix HTTPs -> HTTPS in error message 2019-04-17 09:38:53 -04:00
c5cb5509ea mvcc: fix db_compaction_total_duration_milliseconds 2019-04-16 10:32:21 +08:00
f29b1ada19 Merge pull request #10635 from jingyih/add_learner_field_to_progress_stringer
raft: add learner field to progress stringer
2019-04-11 19:19:13 -07:00
30034e5ff5 raft: add learner field to progress stringer 2019-04-11 18:15:03 -07:00
c7c6894527 Merge pull request #10551 from johncming/lbname
clientv3/balancer: change balancer name to builder name.
2019-04-10 16:16:51 -07:00
d69090002a Merge pull request #10604 from shreyas-s-rao/fix/open-wal-return-with-logger
wal: include logger in WAL returned by openAtIndex
2019-04-10 16:15:13 -07:00
9d62477c79 CHANGELOG: add "Change gRPC proxy to expose etcd server endpoint /metrics" PR
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-04-10 16:09:32 -04:00
9915d02022 *: Change gRPC proxy to expose etcd server endpoint /metrics
This PR resolves an issue where the `/metrics` endpoints exposed by the proxy were not returning metrics of the etcd members servers but of the proxy itself.

Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-04-10 16:09:32 -04:00
f17c038fc4 etcdserver: api/v2v3: add initial tests
Add a bunch of tests on fundamental operation of Create/Set/Delete.

Context: I want to use this package to run the discovery service against
the v3 storage backend. The limited functionality already implemented
should be sufficient to do this.
https://github.com/coreos/discovery.etcd.io/issues/52
2019-04-10 19:17:25 +00:00
cc08c1bd2e clientv3/integration/leasing_test.go: Fix t.Fatalf error message
Signed-off-by: zhoulin xie <zhoulin.xie@daocloud.io>
2019-04-10 13:19:50 -04:00
914e5edb00 wal: include logger in WAL returned by openAtIndex
Signed-off-by: Shreyas Rao <shreyas.sriganesh.rao@sap.com>
2019-04-02 13:09:10 +05:30
a621d807f0 documentation: initial metadata additions for website generation (#10596)
Signed-off-by: lucperkins <lucperkins@gmail.com>
2019-04-01 13:57:24 -07:00
9b5c468dc6 clientv3: modify lock type. 2019-03-29 21:02:13 +08:00
be39aa5bb2 Documentation: add Python client for etcd v3 2019-03-29 06:09:38 -04:00
952b9e75c6 Merge pull request #10590 from jingyih/fix_readIndex_for_learner
raft: leader respond to learner read index message
2019-03-28 16:51:35 -07:00
5088d70d69 raft: leader response to learner MsgReadIndex
Leader should check message sender after receiving MsgReadIndex, even
when raft quorum is 1. The message could be sent from learner node, and
leader should respond.
2019-03-28 16:14:32 -07:00
a645e27486 Merge pull request #10591 from purpleidea/bug/fatal-corruption
etcdserver: Use panic instead of fatal on no space left error
2019-03-28 15:19:33 -07:00
d5e94b1c0d Merge pull request #10557 from johncming/add_test
contrib/raftexample: add test for httpKVAPI.
2019-03-28 11:39:45 -07:00
368f70a37c etcdserver: Use panic instead of fatal on no space left error
When using the embed package to embed etcd, sometimes the storage prefix
being used might be full. In this case, this code path triggers, causing
an: `etcdserver: create wal error: no space left on device` error, which
causes a fatal. A fatal differs from a panic in that it also calls
os.Exit(1). In this situation, the calling program that embeds the etcd
server will be abruptly killed, which prevents it from cleaning up
safely, and giving a proper error message. Depending on what the calling
program is, this can cause corruption and data loss.

This patch switches the fatal to a panic. Ideally this would be a
regular error which would get propagated upwards to the StartEtcd
command, but in the meantime at least this can be caught with recover().

This fixes the most common fatal that I've experienced, but there are
surely more that need looking into. If possible, the errors should be
threaded down into the code path so that embedding etcd can be more
robust.

Fixes: https://github.com/etcd-io/etcd/issues/10588
2019-03-27 15:24:33 -04:00
9c2b88d783 Merge pull request #10583 from johncming/correct_err
etcdmain: use same error.
2019-03-26 15:03:38 -04:00
56f1bce161 raft/doc: clarify the case of out of date term
Clarify the doc.

Fixes #10491
2019-03-26 14:00:24 -04:00
11272ed320 etcdmain: use same error. 2019-03-26 11:21:47 +08:00
cb39c97b22 clientv3/naming: ignore empty update. 2019-03-25 10:53:24 +08:00
7a5acb4a43 Merge pull request #10574 from johncming/rename_err
raft: more precise that rename res to err.
2019-03-22 11:35:51 -07:00
92d5d19ce9 raft: more precise that rename res to err. 2019-03-22 10:18:00 +08:00
41f7142ff9 doc: fix document example error 2019-03-21 08:21:03 -04:00
122744c660 Documentation: update force-new-cluster flag usage for v3
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-03-20 18:06:42 -04:00
77d4b742cd Merge pull request #10562 from johncming/naked_return
contrib/raftexample: fix naked return.
2019-03-19 21:43:26 -07:00
affaa36190 bill-of-materials: fix test failure
Re-generated bill-of-materials.json.
2019-03-19 22:07:00 -04:00
4452d4be22 contrib/raftexample: fix naked return. 2019-03-20 09:52:12 +08:00
09d0844379 Merge pull request #10548 from jingyih/add_TestMemberAddWithExistingURLs
clientv3/integration: Add TestMemberAddWithExistingURLs
2019-03-19 15:23:15 -07:00
2d9b32dc3d Merge pull request #10542 from johncming/usecancel
integration: use cancel instead of close.
2019-03-19 14:19:32 -07:00
ec1cbce10e Merge pull request #10541 from johncming/embed-comment
embed: Modify the comments to be more precise.
2019-03-19 14:18:44 -07:00
6df40e1c70 Merge pull request #10550 from johncming/unused
clientv3: clean up unused code.
2019-03-19 14:17:41 -07:00
b1e8218072 Merge pull request #10553 from damnever/damnever-patch-1
doc: fix `member add` usage
2019-03-18 20:47:55 -07:00
51cdbb6d1a contrib/raftexample: add test for struct httpKVAPI. 2019-03-19 11:12:47 +08:00
9bd86a647f clientv3: Add TestMemberAddWithExistingURLs
TestMemberAddWithExistingURLs ensures adding a new member with URLs
already being used in the cluster will not succeed.
2019-03-18 12:48:44 -07:00
1d764511f6 doc: fix member add usage 2019-03-18 14:47:41 +08:00
ddff08ffad clientv3/balancer: change balancer name to builder name. 2019-03-18 11:05:22 +08:00
662fd55084 clientv3: clean up unused code. 2019-03-18 10:34:41 +08:00
97509833e2 integration: use cancel instead of close. 2019-03-14 11:14:43 +08:00
874532c2da embed: Modify the comments to be more precise. 2019-03-14 10:59:52 +08:00
e1ca3b4434 Merge pull request #10531 from JoeWrightss/patch-3
Fix some variable spelling errors
2019-03-12 12:09:09 -07:00
4478993fbc Merge pull request #10516 from shreyas-s-rao/wal-verify-func
wal: add Verify function to perform corruption check on wal contents
2019-03-12 12:06:36 -07:00
bb3eb8fea9 wal: Add test for Verify
Signed-off-by: Shreyas Rao <shreyas.sriganesh.rao@sap.com>
2019-03-12 22:25:25 +05:30
3d6862fe0d wal: add Verify function to perform corruption check on wal contents
Signed-off-by: Shreyas Rao <shreyas.sriganesh.rao@sap.com>
2019-03-12 22:25:25 +05:30
dc50416157 Merge pull request #10534 from johncming/close_reader
close http request body after read it.
2019-03-12 08:25:32 -07:00
e46af034df bugfix: adjust or add close request body.
affected modules:
- lease/leasehttp
- contrib/raftexample
2019-03-12 22:41:55 +08:00
b7ad8c6741 Merge pull request #10535 from johncming/fix_close_pos
etcdserver/api/rafthttp: fix the location of close http body.
2019-03-11 09:17:13 -07:00
bd41f74168 etcdserver/api/rafthttp: fix the location of close http body. 2019-03-11 22:20:38 +08:00
939b4f8599 clientv3/balancer/grpc1.7-health.go: Fix variable spelling error
Signed-off-by: zhoulin xie <zhoulin.xie@daocloud.io>
2019-03-10 01:11:02 +08:00
6da17cda18 Merge pull request #10515 from Prototik/fix-sd-notify
etcdmain: fix sd_notify for restricted environments
2019-03-08 15:34:47 -08:00
4dc9d8b058 Merge pull request #10503 from spzala/v3argorder10431
clientV3: fix behavior of WithPrefix and WithFromKey functions
2019-03-08 11:59:17 -08:00
e80d1745be Merge pull request #10420 from spzala/watch10340
clientV3watch: do not return ctx canceled when Close watch
2019-03-08 11:57:44 -08:00
81b71da66d Merge pull request #10527 from etcd-io/gyuho-patch-1
docs: update PyYAML to 4.2b1
2019-03-07 11:17:20 -08:00
5ed26c7c48 docs: update PyYAML to 4.2b1
https://github.com/etcd-io/etcd/network/alert/docs/requirements.txt/pyyaml/open
2019-03-07 11:14:10 -08:00
949bcbddbe Merge pull request #10526 from jingyih/improve_mvcc_index_concurrency
mvcc: release lock early when traversing index
2019-03-06 15:48:48 -08:00
93732df3ef mvcc: release lock early when traversing index
Make a copy-on-write clone of index tree when traversing. So that lock
can be released right after the clone to improve backend concurrency.
2019-03-06 14:26:17 -08:00
4b69cfc56b Merge pull request #10492 from nolouch/fix-lessor
lease: fix deadlock with Renew lease when the checkpointor is set
2019-03-06 10:23:57 -08:00
b08e6db0e8 Merge pull request #10506 from jingyih/improve_etcd_backend_readability
mvcc/backend: rename Lock() to RLock() in ReadTx interface
2019-03-05 14:54:04 -08:00
1c19f126cb mvcc/backend: rename ReadTx Lock() to RLock()
For better code readability, renaming Lock() to RLock() in ReadTx
interface.
2019-03-05 13:53:27 -08:00
fbf732d3dc etcdmain: fix sd_notify for restricted environments
Remove call to dumb IsRunningSystemd() as it doesn't check anything
2019-03-02 23:44:39 +07:00
2c69559819 Merge pull request #10513 from jutley/txn-newline-documentation
etcdctl: Update README to clarify newline syntax in TXN
2019-03-02 15:23:31 +08:00
a532b60c7e etcdctl: Update README to clarify newline syntax in TXN
Add documentation to clarify that when writing TXN commands, multi-line values should be written using "\n" and not a literal newline (as in other commands).

Fixes #10169
2019-03-01 14:04:48 -08:00
b25edb62cc clientV3watch: Watch Close should close successfully
Closing of watch by client will cancel the watch grpc stream and
can produce a context canceled error. However, since client
simply wanted to close the watcher the error can create confusion
that something went wrong instead of a successful close. Ensure
that Close do not return error.

Fixed #10340
2019-02-28 20:43:20 -05:00
a943ad0ee4 client/keys_bench_test.go: Fix some misspells
Signed-off-by: zhoulin xie <zhoulin.xie@daocloud.io>
2019-02-28 14:36:06 -05:00
5694f3e4f5 Merge pull request #10481 from hnlq715/master
client: upgrade github.com/ugorji/go to v1.1.2
2019-02-28 21:15:33 +08:00
8782bbae65 clientV3: fix behavior of WithPrefix and WithFromKey functions
The use of WithPrefix() and WithFromKey() together is not supported. The
client doesn't respect this behavior currently.

Fixes #10431
2019-02-27 09:23:01 -05:00
17de9bd526 Merge pull request #10501 from datuanmac/replacing_http_by_https
doc: Replacing 'HTTP' by 'HTTPS' for securing links
2019-02-27 14:08:24 +08:00
32389b1876 doc: Replacing 'HTTP' by 'HTTPS' for securing links
Currently, when we access the URL https://www.grpc.io, it is redirected to https://www.grpc.io automatically.
So this commit aims to replace **HTTP** to **HTTPs** for security.
2019-02-27 10:15:22 +07:00
918f0414dd Merge pull request #10495 from gyuho/zap-logger
*: define default zap log configuration
2019-02-26 14:18:24 -08:00
a7e3bd06b2 Merge pull request #10496 from trung/raft-example
raftexample: added build instruction  and minor refactoring
2019-02-26 20:45:24 +08:00
6543273666 client: generate new keys and remove yynn2 = 0 2019-02-25 12:07:40 +08:00
1adc288223 vendor: update ugorji to v1.1.2 2019-02-25 12:05:35 +08:00
5effa154b4 auth/simple_token.go: fix plog.Panicf error message
Signed-off-by: zhoulin xie <zhoulin.xie@daocloud.io>
2019-02-24 19:34:02 -05:00
e20b9d9e16 lease: fix deadlock with renew lease when the checkpointor is set
Signed-off-by: nolouch <nolouch@gmail.com>
2019-02-24 19:53:09 +08:00
5b4ff6c6d5 raftexample: update readme 2019-02-21 16:56:52 -05:00
74d6df2bd6 raftexample: added build instruction and minor refactoring 2019-02-21 15:00:38 -05:00
dca0dec382 integration: use default log configuration
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-21 11:00:01 -08:00
4f46b65748 clientv3: use default info level log configuration
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-21 10:57:38 -08:00
8d1a62e7ef *: use default log configuration for server
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-21 10:57:26 -08:00
52391e3be7 pkg/logutil: define default zap.Config
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-21 10:56:53 -08:00
8c228d692b Merge pull request #10473 from haroldHT/master
benchmark: fix install docs
2019-02-19 13:27:55 -08:00
e77069fd2e Merge pull request #10486 from gyuho/vendor
vendor: fix vendor go mod
2019-02-19 09:29:05 -08:00
a151edc8c2 vendor: fix vendor go mod
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-19 08:48:25 -08:00
bf9444b32d Merge pull request #10378 from johncming/net-partition
clientv3/integration: add timeout case.
2019-02-19 18:36:44 +08:00
a1fb18a9fc benchmark: fix install docs 2019-02-18 18:15:40 +08:00
94b782e7c9 clientv3/integration: add timeout case. 2019-02-18 09:38:49 +08:00
784daa0498 Merge pull request #10476 from gyuho/client-log
clientv3: clarify retry interceptor logging
2019-02-15 10:17:05 -08:00
5877763990 tests/e2e: fix "authLeaseTestLeaseRevoke"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-15 09:39:03 -08:00
6af8ce6c60 clientv3: clarify retry interceptor logging
Log only when it errors + some clarification

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-15 08:48:37 -08:00
4cd0bf8ea8 Merge pull request #10444 from WIZARD-CXY/nnboltdb
*: add flag to let etcd use the new boltdb freelistType feature
2019-02-14 13:16:56 +08:00
e6c6d8492e *: add flag to let etcd use the new boltdb freelistType feature 2019-02-14 11:07:08 +08:00
24fc2a983a Merge pull request #10465 from hpandeycodeit/docfix_10462
Fixed --strict-reconfig-check#10462
2019-02-12 08:16:53 +08:00
6757a568e0 Documentation: Fixed --strict-reconfig-check#10462 2019-02-11 14:39:11 -08:00
3546c4868c Merge pull request #10445 from spzala/fromkey9833
clientv3: fix WithFromKey
2019-02-07 14:50:13 -08:00
deff5588ff Merge pull request #10457 from mkumatag/limit_ciphersuite
pkg/transport: Limit InvalidCipherSuites to TLS12
2019-02-07 13:15:32 -08:00
0f58292ca5 CHANGELOG-3.3: fix typo in Go version
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-07 12:07:59 -08:00
68835bddd0 CHANGELOG-3.3: add v3.3.12
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-07 12:07:20 -08:00
30018dbf52 Merge pull request #10456 from jpbetz/changelog-10443
Add #10443 fix to changelogs
2019-02-07 10:41:15 -08:00
715510a5d2 Merge pull request #10446 from povilasv/etcd-mixin-fix-msg
etcd-mixin: Improve etcdHighNumberOfLeaderChanges,etcdHighNumberOfFailedProposals messages
2019-02-07 10:25:03 -08:00
0418488666 Merge pull request #10454 from mkumatag/fix_shadow
Add shadow tool
2019-02-07 10:23:50 -08:00
45d09f0508 pkg/transport: Limit InvalidCipherSuites to TLS12 2019-02-07 08:18:00 -06:00
474cea1cd6 test: Add shadow tool 2019-02-06 23:20:06 -06:00
faa7a49972 Merge pull request #10443 from Quasilyte/quasilyte/fix_args_order
etcdctl: fix strings.HasPrefix args order
2019-02-06 10:54:11 -08:00
eb8e94c4ed etcd-mixin: Improve etcdHighNumberOfLeaderChanges,etcdHighNumberOfFailedProposals message
Currently alert messages state that we detect issue
within the last 1 hour, although we check
for last 15min and wait for 15min for this alert to keep firing.
This fix changes the message to be 30minutes.
2019-02-04 09:28:23 +02:00
313ab0ba47 clientv3: fix WithFromKey
The WithFromKey func should not return error similar to etcdctl usage
of it when an empty key is provided.

Fixed #9833
2019-02-02 19:21:49 -05:00
1fe6f109c8 Merge pull request #10443 from Quasilyte/quasilyte/fix_args_order
etcdctl: fix strings.HasPrefix args order
2019-02-02 13:41:40 -08:00
be40b1d646 Merge pull request #10428 from cfc4n/master
clientv3/integration: Don't retry other endpoints when err == rpctypes.ErrAuthNotEnable
2019-02-02 13:37:56 -08:00
a033686acf clientv3/integration: return err if err == rpctypes.ErrAuthNotEnable 2019-02-02 14:06:54 +08:00
48a2442fd7 etcdctl: fix strings.HasPrefix args order
Signed-off-by: Iskander Sharipov <quasilyte@gmail.com>
2019-02-02 02:39:27 +03:00
3e0f0ba40e Merge pull request #10401 from markmc/doc-drop-etcdctl-v3-flag
Eliminate some ETCDCTL_API=3 usage
2019-02-01 11:25:55 -08:00
6070db22ed Merge pull request #10424 from hexfusion/fx_genproto
*: bump protoc to 3.6.1 and fix genproto.sh
2019-01-30 12:53:39 -05:00
46e23b233c vendor: update boltdb and grpc middleware version 2019-01-30 06:21:57 -05:00
329be66e8b Merge pull request #10343 from mitake/proxy-cn
*: let grpcproxy rise an error when its cert has non empty CN
2019-01-26 01:53:12 +09:00
a1f964afd3 tests: add a new e2e test case for the combination of non empty CN and grpc proxy 2019-01-25 00:43:57 +09:00
b1afe210e4 Documentation: describe the problem of CN based auth + grpcproxy 2019-01-25 00:43:57 +09:00
65887ae1b4 pkg, clientv3, etcdmain: let grpcproxy rise an error when its cert has non empty CN
Fix https://github.com/etcd-io/etcd/issues/9521
2019-01-25 00:43:57 +09:00
fa521f4e00 Merge pull request #10392 from mitake/cn-gateway
*: grpc gateway and CN based auth
2019-01-24 09:08:04 +09:00
de8e29e71c Merge pull request #10423 from markmc/prober-http-status
prober: check response http status code
2019-01-22 11:19:15 -08:00
69e2faec00 tests: update TestV3CurlAuthClientTLSCertAuth for using cert with empty CN 2019-01-23 03:26:34 +09:00
11fb62ecb4 embed: requests for grpc gateway must have empty CN if --client-cert-auth is passed
This commit lets grpc gateway return a correct error to clients.

Even if a client has a cert with non empty CN, current gateway returns
an error like below:
```
$ curl --cacert ./integration/fixtures/ca.crt --cert ./integration/fixtures/server.crt --key ./integration/fixtures/server.key.insecure https://localhost:2379/v3/kv/put -X POST -d '{"key": "fromcurl", "value": "test"}'
{"error":"etcdserver: user name is empty","code":3}
```
This is because etcd ignores CN from gateway connection.

The error will be like this:
```
$ curl --cacert ./integration/fixtures/ca.crt --cert ./integration/fixtures/server.crt --key ./integration/fixtures/server.key.insecure https://localhost:2379/v3/kv/put -X POST -d '{"key": "fromcurl", "value": "test"}'
CommonName of client sending a request against gateway will be ignored and not used as expected
```

The error will be returned if the server is enabling auth and gRPC
gateway.
2019-01-23 03:26:34 +09:00
72dd4a18c5 *: add a new option --enable-grpc-gateway for enabling/disabling grpc gateway 2019-01-23 03:26:34 +09:00
cbdb36295e Documentation: regenerate proto
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-22 16:57:07 +00:00
a011b2c4c4 scripts: disable go mod and bump protoc to 3.6.1
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-22 16:55:01 +00:00
627660e94e prober: check response http status code
Updated vendored probing module to 0.0.2.

Fixes #10404
2019-01-22 16:21:23 +00:00
ea0cf681c7 OWNERS: add hexfusion as approver and remove joelegasse
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-21 10:52:34 -05:00
25068dfc1e Merge pull request #10244 from paskal/master
Sync prometheus alerting rules with prometheus-operator version
2019-01-20 21:07:32 -08:00
2a1f271f91 Merge pull request #10419 from WIZARD-CXY/fixdeadlock
bugfix:dead lock on store.mu when store.Compact in store.Restore happens
2019-01-20 19:29:22 -08:00
6e8913b004 bugfix:dead lock on store.mu when store.Compact in store.Restore happens 2019-01-21 10:46:58 +08:00
69ed707fab CONTRIBUTING: clarify commit message style
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-18 13:00:24 -05:00
fcc29894c2 config: multiple logging fixes
First, don't panic with invalid --log-outputs. For example:

  $> ./bin/etcd --log-outputs foo
  2018-12-20 15:05:47.988652 C | embed: unknown log-output "foo" (only supports "default", "stderr", "stdout")
  panic: unknown log-output "foo" (only supports "default", "stderr", "stdout")

  goroutine 1 [running]:
  go.etcd.io/etcd/vendor/github.com/coreos/pkg/capnslog.(*PackageLogger).Panicf(0xc000294b00, 0x10fe067, 0x30, 0xc0001fa398, 0x4, 0x4)
        go.etcd.io/etcd/vendor/github.com/coreos/pkg/capnslog/pkg_logger.go:75 +0x161
  go.etcd.io/etcd/embed.(*Config).setupLogging(0xc000291400, 0xc0002a85b0, 0x1)
        go.etcd.io/etcd/embed/config_logging.go:120 +0x1939
  ...

Or:

 $> ./bin/etcd --log-outputs foo,default --logger zap
 panic: multi logoutput for "default" is not supported yet

 goroutine 1 [running]:
 go.etcd.io/etcd/embed.(*Config).setupLogging(0xc000314500, 0xc0001b2f70, 0x1)
        go.etcd.io/etcd/embed/config_logging.go:129 +0x2437
 go.etcd.io/etcd/embed.(*Config).Validate(0xc000314500, 0xc000268a98, 0x127e440)
        go.etcd.io/etcd/embed/config.go:543 +0x43

Second, don't exit in embed.setupLogging(). Before:

  $> ./bin/etcd --log-outputs foo,bar
  --logger=capnslog supports only 1 value in '--log-outputs', got ["bar" "foo"]

and after:

  $> ./bin/etcd --log-outputs foo,bar
  2018-12-20 15:10:24.317982 E | etcdmain: error verifying flags, --logger=capnslog supports only 1 value in '--log-outputs', got ["bar" "foo"]. See 'etcd --help'.

Third, remove duplicated unique strings code. UniqueStringsFromFlag()
is already available to return a sorted slice of values, so just use
that.

Lastly, fix a tiny logging typo in config.
2019-01-17 15:09:26 -05:00
cbfe0b4b79 Merge pull request #10409 from nolouch/add-logger
embed: add zap logger builder
2019-01-17 11:21:52 -08:00
a00bff7848 Merge pull request #10402 from markmc/interactive-watch-panic
etcdctl: fix interactive mode panic
2019-01-16 11:40:34 +08:00
ac090fe326 embed: add zap logger builder
Signed-off-by: nolouch <nolouch@gmail.com>
2019-01-15 23:22:04 +08:00
e53324db3b scripts/release: stop using ETCDCTL_API=3
Note: v3 has been the default since 25bc65794.
2019-01-14 14:46:16 +00:00
4d45a9ca43 build: stop using ETCDCTL_API=3
Note: v3 has been the default since 25bc65794.
2019-01-14 14:46:16 +00:00
0427f46f17 doc: don't set ETCDCTL_API=3 in local_cluster guide
These docs are incorrectly saying that v2 is the default.

Note: v3 has been the default since 25bc65794.
2019-01-14 14:46:16 +00:00
034312eac5 doc: fix note that says ETCDCTL_API=2 is the default
Note: v3 has been the default since 25bc65794.
2019-01-14 14:46:03 +00:00
36d7acf330 etcdctl: fix interactive mode panic
Don't panic if command is given in interactive mode, give a nice error
message instead.

Before:

 $ ./bin/etcdctl watch -i
 <hit return>
 panic: runtime error: index out of range

 goroutine 1 [running]:
 etcdctl/ctlv3/command.watchInteractiveFunc(...)
 	etcd/etcdctl/ctlv3/command/watch_command.go:104 ...

After:

 $ ./bin/etcdctl watch -i
 <hit return>
 Invalid command:  (watch and progress supported)
 foo
 Invalid command foo (only support watch)
2019-01-14 13:01:37 +00:00
071a0157e0 etcdctl: fix README to not suggest v2 is default
Note: v3 has been the default since 25bc65794.
2019-01-14 12:38:37 +00:00
39ef3901ef README: stop using ETCDCTL_API=3
Note: v3 has been the default since 25bc65794.
2019-01-14 12:38:37 +00:00
b398947cf9 doc: don't use ETCDCTL_API=3 in dl_build
In the spirit of keeping newb instructions simple, do not specify
ETCDCTL_API=3 since it is redundant.

Note: v3 has been the default since 25bc65794.
2019-01-14 12:38:24 +00:00
1eee465a43 CHANGELOG: revert discovery-srv-name feature from 3.3.11
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-11 13:12:16 -05:00
a26fa9fe1f CHANGELOG: add "disable CommonName authentication for gRPC-gateway" PR
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-11 13:00:14 -05:00
1eec48083b CHANGELOG: bump version and release date
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-11 12:59:19 -05:00
fae6e92407 Merge pull request #10390 from johncming/missing-err
tests/e2e: add missing return error.
2019-01-09 14:41:48 -08:00
2063b358c8 Merge pull request #10218 from mailgun/maxim/develop
Remove infinite loop in doSerialize
2019-01-09 10:38:25 -08:00
fffb982f1a tests/e2e: add missing return error. 2019-01-09 13:47:09 +08:00
1e42503bea Merge pull request #10379 from johncming/app-resp
etcdserver: add a test to verify number of MsgAppResp sent is correct.
2019-01-08 18:55:30 -08:00
e8f46ce341 etcdserver: add a test to verify not to send duplicated append responses 2019-01-09 10:37:43 +08:00
577d7c0df2 e2e: update test to reflect (ST1005) update.
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-08 21:04:20 -05:00
a82703b69e *: error strings should not end with punctuation or a newline (ST1005)
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-08 21:04:20 -05:00
6511829d1f Merge pull request #10374 from johncming/deprecated
api/rafthttp: remove deprecated req.Cancel.
2019-01-08 14:33:25 -08:00
1e15c7434e vendor: cleanup and revendor deps
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-08 16:49:51 -05:00
2001786f02 *: Use -n instead of ! -z. [SC2236]
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-08 13:45:40 -05:00
442c863413 Merge pull request #10377 from johncming/cancel-pos
api/v2auth: remove defer in loop.
2019-01-08 09:43:06 -08:00
21e0d3e527 Merge pull request #10359 from rkday/install-instructions
docs: install etcdctl with `go get` as well
2019-01-08 09:42:11 -08:00
83c051b701 CHANGELOG: add "disable CommonName authentication for gRPC-gateway" PR
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-08 12:31:20 -05:00
99704e2a97 e2e: add ClientTLSCertAuth coverage for curl v3 auth tests
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-08 12:31:20 -05:00
a9a9466fb8 Documentation: document gRPC-gateway CN authentication support
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-08 12:31:20 -05:00
bf9d0d8291 auth: disable CommonName auth for gRPC-gateway
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-01-08 12:31:20 -05:00
9c6b407e7d Documentation: add missing ENV 2019-01-08 11:36:07 -05:00
b04633fd8e Merge pull request #10375 from johncming/redundant-parentheses
etcdserver: remove redundant parentheses.
2019-01-07 18:38:26 -08:00
e96dbfb973 api/v2auth: remove defer in loop. 2019-01-08 08:56:55 +08:00
8945fecf85 Merge pull request #10376 from johncming/snake-case
api/v2store:  use camel case instead of snake case.
2019-01-07 10:19:32 -08:00
5060560f92 api/v2store: use camel case instead of snake case. 2019-01-07 10:35:23 +08:00
802e2aaadd etcdserver: remove redundant parentheses. 2019-01-07 10:27:52 +08:00
4651f49a5c api/rafthttp: remove deprecated req.Cancel. 2019-01-07 10:12:47 +08:00
f0aeb705ce Merge pull request #10371 from johncming/no-assign
etcdserver: add missing lg assignment.
2019-01-04 19:04:57 -08:00
b2e0e760a0 etcdserver: add missing lg assignment. 2019-01-05 09:24:48 +08:00
fde617d2dc Merge pull request #10368 from johncming/blankline
pkg/testutil: add blankline between two functions
2019-01-03 20:58:07 -08:00
8f383852e2 pkg/testutil: add blankline between two functions 2019-01-04 09:44:57 +08:00
daec071813 Merge pull request #10367 from gyuho/remove-backoff-utils
clientv3: remove "JitterUp" imports
2019-01-03 14:44:18 -08:00
61218004c0 clientv3: remove "JitterUp" imports
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-01-03 11:00:45 -08:00
3a5868a7b9 Merge pull request #10363 from johncming/embed
embed: add test cases in TestAutoCompactionModeParse.
2019-01-03 10:49:51 -08:00
e7b5f2de26 embed: add test cases in TestAutoCompactionModeParse. 2019-01-02 17:08:15 +08:00
400b568fd6 Merge pull request #10360 from yaojingguo/ignore-file
gitignore: ignore build result and runtime files of raftexample
2019-01-01 09:31:38 -08:00
e86a12bad0 gitignore: ignore build result and runtime files 2019-01-01 19:14:48 +08:00
959d004bcc docs: install etcdctl with go get as well
The documentation recommends using `etcdctl` to verify that etcd has
been built correctly, but the `go get` command provided does not install
it. This changes it so that it does, and also clarifies terminology
('using `go get`', referring to the command used to install it, rather
than 'using `$GOPATH`').
2018-12-30 12:10:32 +00:00
cc8d446a6e Merge pull request #8334 from lishuai87/shawnsli/reset-leader-when-become-pre-candidate
raft: introduce/fix TestPreVoteWithCheckQuorum
2018-12-28 09:51:06 -08:00
23731bf9ba raft: set lead to none when becomePreCandidate 2018-12-28 19:57:26 +08:00
6937b77232 README: remove "you" in "Community Meeting"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-23 21:53:36 -08:00
deeb16c9e8 Merge pull request #10346 from lsytj0413/fix-golint
refactor(*): fix golint warning
2018-12-23 20:26:09 -08:00
792aad932f refactor(*): fix golint warning 2018-12-24 11:43:10 +08:00
9113019936 Update README.md with community meeting info 2018-12-21 15:53:59 -08:00
f3fbedc88f client: update generated ugorji codec, manual remove "yynn2=0"
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2018-12-21 18:16:55 -05:00
a580ec4547 CHANGELOG: add patch release, gRPC proxy fix
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-17 21:22:37 -08:00
7c7141550d docs/README: highlight new documentation website 2018-12-17 18:15:26 -08:00
1bbe6bd7d3 Merge pull request #10332 from gyuho/update
*: update Go versions
2018-12-17 15:19:49 -08:00
c58f5cfeda test: disable "unparam" for now
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-17 11:30:28 -08:00
0929080834 doc: exclude 404 error because kubelet generating false positive 2018-12-17 11:57:12 +03:00
830d064903 doc: convert etcd to lower-case everywhere 2018-12-17 11:57:12 +03:00
358cc1a8fa doc: sync prometheus rules with prometheus-operator version
(and remove non-etcd specific FdExhaustionClose)
https://github.com/coreos/prometheus-operator/blob/master/helm/exporter-kube-etcd/templates/etcd3.rules.yaml
sync etcd alert rules with libsonnet

Signed-off-by: Dmitry Verkhoturov <paskal.07@gmail.com>
2018-12-17 11:57:12 +03:00
6f0ba5fa06 *: update Go versions
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-16 23:13:11 -08:00
abb57363ba Merge pull request #10327 from namreg/fix-grpcproxy-memory-leak
grpcproxy: fix memory leak
2018-12-16 17:32:27 -08:00
d88f686a91 grpcproxy: fix memory leak
use set instead of slice as interval value

fixes #10326
2018-12-15 17:00:51 +03:00
e57f4f420d docs/requirements: update to urllib3>=1.23 2018-12-12 08:57:45 -08:00
15b6a17be4 Merge pull request #10313 from lsytj0413/fix-getlogger
refactor(*): remove duplicate GetLogger
2018-12-10 06:48:02 -08:00
23862b5d64 refactor(*): remove duplicate GetLogger 2018-12-10 17:58:47 +08:00
1900a8e26f Merge pull request #10308 from tbg/fix/progress-after-snap
raft: enter ProgressStateReplica immediately after snapshot
2018-12-06 10:58:22 -08:00
8a9a2a1a5a Merge pull request #10309 from tbg/fix/raft-status-allocs
raft: add (*RawNode).WithProgress
2018-12-06 10:56:40 -08:00
bd332b318e raft: add (*RawNode).WithProgress
Calls to Status can be frequent and currently incur three heap
allocations, but often the caller has no intention to hold on to the
returned status.

Add StatusWithoutProgress and WithProgress to allow avoiding heap
allocations altogether. StatusWithoutProgress does what's on the
tin and additionally returns a value (instead of a pointer) to
avoid the associated heap allocation. By not returning a Progress
map, it avoids all other allocations that Status incurs.

To still introspect the Progress map, add WithProgress, which
uses a simple visitor pattern.

Add benchmarks to verify that this is indeed allocation free.

```
BenchmarkStatusProgress/members=1/Status-8                  5000000    353 ns/op        784 B/op    3 allocs/op
BenchmarkStatusProgress/members=1/Status-example-8          5000000    372 ns/op        784 B/op    3 allocs/op
BenchmarkStatusProgress/members=1/StatusWithoutProgress-8   100000000  17.6 ns/op         0 B/op    0 allocs/op
BenchmarkStatusProgress/members=1/WithProgress-8            30000000   48.6 ns/op         0 B/op    0 allocs/op
BenchmarkStatusProgress/members=1/WithProgress-example-8    30000000   42.9 ns/op         0 B/op    0 allocs/op
BenchmarkStatusProgress/members=3/Status-8                  5000000    395 ns/op        784 B/op    3 allocs/op
BenchmarkStatusProgress/members=3/Status-example-8          3000000    449 ns/op        784 B/op    3 allocs/op
BenchmarkStatusProgress/members=3/StatusWithoutProgress-8   100000000  18.7 ns/op         0 B/op    0 allocs/op
BenchmarkStatusProgress/members=3/WithProgress-8            20000000   78.1 ns/op         0 B/op    0 allocs/op
BenchmarkStatusProgress/members=3/WithProgress-example-8    20000000   70.7 ns/op         0 B/op    0 allocs/op
BenchmarkStatusProgress/members=5/Status-8                  3000000    470 ns/op        784 B/op    3 allocs/op
BenchmarkStatusProgress/members=5/Status-example-8          3000000    544 ns/op        784 B/op    3 allocs/op
BenchmarkStatusProgress/members=5/StatusWithoutProgress-8   100000000  19.7 ns/op         0 B/op    0 allocs/op
BenchmarkStatusProgress/members=5/WithProgress-8            20000000   105 ns/op          0 B/op    0 allocs/op
BenchmarkStatusProgress/members=5/WithProgress-example-8    20000000   94.0 ns/op         0 B/op    0 allocs/op
BenchmarkStatusProgress/members=100/Status-8                100000     11903 ns/op    22663 B/op   12 allocs/op
BenchmarkStatusProgress/members=100/Status-example-8        100000     13330 ns/op    22669 B/op   12 allocs/op
BenchmarkStatusProgress/members=100/StatusWithoutProgress-8 50000000   20.9 ns/op         0 B/op    0 allocs/op
BenchmarkStatusProgress/members=100/WithProgress-8          1000000    1731 ns/op         0 B/op    0 allocs/op
BenchmarkStatusProgress/members=100/WithProgress-example-8  1000000    1571 ns/op         0 B/op    0 allocs/op
```
2018-12-06 19:02:48 +01:00
bfa2c15c55 Merge pull request #10307 from gyuho/update-image
docs/img: clarify "network partition + membership reconfiguration"
2018-12-06 09:28:36 -08:00
bfaae1ba46 raft: enter ProgressStateReplica immediately after snapshot
When a follower requires a snapshot and the snapshot is sent at the
committed (and last) index in an otherwise idle Raft group, the follower
would previously remain in ProgressStateProbe even though it had been
caught up completely.

In a busy Raft group this wouldn't be an issue since the next round of
MsgApp would update the state, but in an idle group there's nothing
that rectifies the status (since there's nothing to append or update).

The reason this matters is that the state is exposed through
`RaftStatus()`. Concretely, in CockroachDB, we use the Raft status to
make sharding decisions (since it's dangerous to make rapid changes
to a fragile Raft group), and had to work around this problem[1].

[1]: 91b11dae41/pkg/storage/split_delay_helper.go (L138-L141)
2018-12-06 11:09:59 +01:00
0b5a3d8080 docs/img: clarify "network partition + membership reconfiguration"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-05 19:05:26 -08:00
510ae3d2a2 clientv3/concurrency: fix govet errors
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-05 18:28:13 -08:00
12b19ff5ea Merge pull request #10306 from johncming/zap_logger
embed: set log-outputs 'default' to 'stderr' config when zap mode
2018-12-05 18:25:43 -08:00
6744c57de3 embed: set log-outputs 'default' to 'stderr' config when zap mode 2018-12-06 09:33:51 +08:00
1124ccf4f9 Merge pull request #10305 from johncming/doc
Documentation/op-guide: fix typo.
2018-12-05 16:55:15 -08:00
e4ac8db4ae Documentation/op-guide: fix typo. 2018-12-06 08:48:30 +08:00
83696d95c9 Merge pull request #10297 from thrawn01/election-resume
concurrency: set keyPrefix when calling ResumeElection()
2018-12-05 13:25:39 -08:00
7d7266d3c9 concurrency: set keyPrefix when calling ResumeElection()
This change allows users to use Observe() after resuming an election as
Observe() requires a valid keyPrefix to function properly.
2018-12-05 14:50:56 -06:00
3f01426712 Merge pull request #10301 from jingyih/add_timeout_to_etcdctl_snapshot_save
etcdctl: add timeout to snapshot save command
2018-12-04 21:23:15 -08:00
ce3e127d0b Merge pull request #10302 from jingyih/update_changelog_3p4_from_pr10301
CHANGELOG-3.4: update from #10301
2018-12-04 21:19:50 -08:00
9db21117d1 CHANGELOG-3.4: update from #10301 2018-12-04 21:06:46 -08:00
5b6b03d081 etcdctl: add timeout to snapshot save command
snapshot save command by default has no timeout, but respects user
specified command timeout.
2018-12-04 20:36:48 -08:00
7f450bf696 Merge pull request #10296 from gyuho/learner
docs: rename to "learner" (from "non-voting member")
2018-12-03 11:17:26 -08:00
bfd9596352 docs: rename to "learner" (from "non-voting member")
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-03 10:38:40 -08:00
99c933b7bc Merge pull request #10295 from gyuho/non-voting-member-design
docs: add "Non-voting member" design doc
2018-12-03 10:27:24 -08:00
1f559736ef docs: add authors to client architecture doc
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-03 09:12:51 -08:00
285a3acda6 docs: add "Non-voting member" design doc
By gyuho and jpbetz.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-03 09:00:08 -08:00
dedae6eb7c CHANGELOG-3.4: add backend batch limit/interval fields
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-11-28 14:03:05 -08:00
829c9b2129 Merge pull request #10283 from xiang90/more_flags
*: add flags to setup backend related config
2018-11-27 18:58:43 -08:00
3faed211e5 *: add flags to setup backend related config 2018-11-26 15:50:26 -08:00
6c649de36e Merge pull request #10281 from tbg/print-hint-reject-app-resp
raft: print RejectHint of zero on MsgAppResp
2018-11-24 11:48:16 +08:00
f28945ba8a Merge pull request #10279 from tbg/leader-progress-replicate
raft: ensure leader is in ProgressStateReplicate
2018-11-24 10:43:01 +08:00
5c209d66d2 raft: ensure leader is in ProgressStateReplicate
The leader perpetually kept itself in ProgressStateProbe even though of
course it has perfect knowledge of its log. This wasn't usually an issue
because it also doesn't care about its own Progress, but it's better to
keep this data correctly maintained, especially since this is part of
raft.Status and thus becomes visible to applications using the Raft
library.

(Concretely, in CockroachDB we use the Progress to inform log
truncations).
2018-11-23 17:57:36 +01:00
1569f4829d raft: print RejectHint of zero on MsgAppResp
A zero RejectHint on MsgAppResp is still used, and so should be
reflected in the message description.
2018-11-23 11:06:38 +01:00
02a9810a9e Merge pull request #10275 from hexfusion/maint
MAINTAINERS: add Sam Batschelet
2018-11-20 17:38:29 -05:00
b4d200174e Merge pull request #10278 from cwdsuzhou/master
Documentation: add ENV variable ETCD_CIPHER_SUITES description
2018-11-20 10:57:51 -05:00
a8293e5815 Documentation: add ENV variable ETCD_CIPHER_SUITES description
Fixes #10277
2018-11-20 22:40:24 +08:00
0e8981d2ff MAINTAINERS: add Sam Batschelet
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2018-11-19 19:43:15 -05:00
bb25891960 Merge pull request #10268 from gyuho/dump-db
tools/etcd-dump-db: add "--timeout" flag
2018-11-15 23:16:24 -08:00
f8a513ce65 tools/etcd-dump-db: add "--timeout" flag
By default, wait up to 10 seconds to obtain flocks.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-11-15 22:50:32 -08:00
af893d3549 CHANGELOG-3.4: add "etcd_cluster_version"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-11-15 08:17:57 -08:00
024f3dfc82 Merge pull request #10257 from gyuho/cluster-version
etcdserver/*: add "etcd_cluster_version" metric
2018-11-15 22:02:57 +08:00
322339bb54 Merge pull request #10262 from johncming/tcpproxy
tcpproxy: add a test.
2018-11-15 22:02:05 +08:00
c2d023ce74 Merge pull request #10263 from johncming/raftstorage
raft:  add a test case in TestStorageAppend
2018-11-15 22:01:06 +08:00
fa92397e18 Merge pull request #10258 from ajwerner/ajwerner/raft_committed_entries_size
raft: separate MaxCommittedSizePerReady config from MaxSizePerMsg
2018-11-15 22:00:00 +08:00
9668536124 raft: add a test case in TestStorageAppend 2018-11-15 16:41:36 +08:00
92cb9c3295 tcpproxy: add a test. 2018-11-15 14:28:30 +08:00
e4af2be5bb raft: separate MaxCommittedSizePerReady config from MaxSizePerMsg
Prior to this change, MaxSizePerMsg was used both to cap the total byte size of
entries in messages as well as the total byte size of entries passed through
CommittedEntries in the Ready struct. This change adds a new Config parameter
MaxCommittedSizePerReady which defaults to MaxSizePerMsg and contols the second
of above descibed settings.
2018-11-14 09:59:09 -05:00
0226481584 tests/e2e: test cluster version
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-11-13 21:49:33 -08:00
291768af0f etcdserver/*: add "etcd_cluster_version" metric
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-11-13 21:49:12 -08:00
ee9dcbca0d Merge pull request #10256 from philippgille/patch-1
Fix spelling in comment
2018-11-12 14:07:05 -08:00
0cfc01b873 clientv3: Fix spelling in comment 2018-11-12 22:33:48 +01:00
91e583cba6 etcdserver: Remove infinite loop in doSerialize
Once chk(ai) fails with auth.ErrAuthOldRevision it will always do,
regardless how many times you retry. So the error is better be returned
to fail the pending request and make the client re-authenticate.
2018-11-12 23:28:24 +03:00
ae25c5e132 Merge pull request #10253 from mas9612/improve-docs
*: fix some typo and repo name
2018-11-11 11:41:57 -08:00
9ee41f699c doc: fix typo in documentation 2018-11-11 23:27:04 +09:00
963d76fc4c CONTRIBUTING: fix repo name 2018-11-11 23:25:53 +09:00
e34423b6ff Merge pull request #10251 from ueokande/fix-github-links
Fix github links
2018-11-09 18:28:42 -08:00
aa4313a55a *: fix github links 2018-11-10 11:14:18 +09:00
9454c4cab0 *: add client support for discovery-srv-name
Add support for --discovery-srv-name flag to etcdctl, gRPC proxy, and etcd gateway.
2018-11-09 16:30:58 -05:00
e0f7807f1b CHANGELOG: highlight improved discovery-srv-name support
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2018-11-09 14:51:39 -05:00
61c8d7a582 tests/docker-dns-srv: add tests for docker-dns-srv-name.
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2018-11-09 13:51:04 -05:00
fa35126ef8 *: add client support for discovery-srv-name
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2018-11-09 10:13:04 -05:00
83304cfc80 tools/etcd-dump-metrics: add missing godoc
https://godoc.org/github.com/etcd-io/etcd/tools/etcd-dump-metrics

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-31 16:12:32 -07:00
c0e04700cf Merge pull request #10230 from manishrjain/master
raft: Explain ReportSnapshot and Propose behavior
2018-11-01 06:48:45 +08:00
8e907e48f9 Merge pull request #10229 from gyuho/fix-flag-tests
pkg/flags: fix "TestSetFlagsFromEnvParsingError"
2018-10-31 15:42:32 -07:00
4aa72ca1d3 raft: Explain ReportSnapshot and Propose behavior
Update godocs for node interface, explaining the behavior of ReportSnapshot and Propose.
2018-10-31 15:37:55 -07:00
7b32c07899 pkg/flags: fix "TestSetFlagsFromEnvParsingError"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-31 10:44:38 -07:00
3f3eae7822 Merge pull request #10227 from imjoey/doc_fix_start_gateway_command
Documentation/op-guide: fix error command to start gateway
2018-10-30 20:02:41 -07:00
bece069329 doc: Fix starting etcd gateway command using DNS. 2018-10-31 10:28:35 +08:00
be7c8fe423 docs: update "requests>=2.20.0"
To resolve the security alert https://nvd.nist.gov/vuln/detail/CVE-2018-18074.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-29 15:00:10 -07:00
252dc1f994 Merge pull request #10220 from ping40/pagewriter
pkg/ioutil: n is equal or greater than cw.writeBytes
2018-10-28 14:33:37 -07:00
5a94f97a4f pkg/ioutil: n is equal or greater than cw.writeBytes 2018-10-27 16:13:33 +08:00
583763261f Merge pull request #10216 from hexfusion/shellcheck
*: resolve shellcheck errors.
2018-10-26 06:15:44 -07:00
78d01140ff *: resolve shellcheck errors. 2018-10-25 19:41:11 -04:00
798955d4d6 Merge pull request #10209 from ping40/d1024
raft: Fix comment on TestLeaderBcastBeat
2018-10-25 14:42:16 -07:00
38da00be33 Merge pull request #10212 from gyuho/raft-typo
raft: fix godoc in tests
2018-10-25 09:51:35 -07:00
b7ed4165ea raft: fix godoc in tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-24 23:23:32 -07:00
965ba5ca8b Merge pull request #10203 from ping40/doc1022_2
raft: fix description in UT
2018-10-24 23:21:02 -07:00
5d8975d7ad Merge pull request #10207 from jpbetz/concurrent-new-client-fix
*: Fix concurrent clientv3 client creation in 3.4 by using proper UUIDs
2018-10-24 16:08:36 -07:00
ea68efb259 CHANGELOG: add "raft unbounded log growth prevention" PR
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-24 15:55:08 -07:00
10255cf196 raft: Fix comment on TestLeaderBcastBeat 2018-10-24 16:56:10 +08:00
86b933311d Merge pull request #10205 from gyuho/testing-prow
OWNERS: experiment
2018-10-22 16:07:27 -07:00
6a43db1eff clientv3: Fix concurrent clientv3 client creation in 3.4 by using proper UUIDs 2018-10-22 14:08:58 -07:00
2338f747bf vendor: Add dependency on google/uuid for safe UUID generation
etcd currently generates a few UUID style identifiers using approaches like `fmt.Sprintf("client-%s", strconv.FormatInt(time.Now().UnixNano(), 36))`.
But these can collide on machine architectures with larger timestamp steps (see https://github.com/etcd-io/etcd/issues/10035).
2018-10-22 14:06:24 -07:00
c561f8310e OWNERS: experiment
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-22 12:49:08 -07:00
b42b39446b Merge pull request #10199 from tschottdorf/fix-max-uncommitted-size
raft: fix bug in unbounded log growth prevention mechanism
2018-10-22 21:30:01 +02:00
a27a73e448 Merge pull request #10193 from johncming/master
mvcc/backend: code format optimization
2018-10-22 11:50:53 -07:00
ad49c8fd98 raft: fix bug in unbounded log growth prevention mechanism
The previous code was using the proto-generated `Size()` method to
track the size of an incoming proposal at the leader. This includes
the Index and Term, which were mutated after the call to `Size()`
when appending to the log. Additionally, it was not taking into
account that an ignored configuration change would ignore the
original proposal and append an empty entry instead.

As a result, a fully committed Raft group could end up with a non-
zero tracked uncommitted Raft log counter that would eventually hit
the ceiling and drop all future proposals indiscriminately. It would
also immediately imply that proposals exceeding the threshold alone
would get refused (as the "first uncommitted proposal" gets special
treatment and is always allowed in).

Track only the size of the payload actually appended to the Raft log
instead.

For context, see:
https://github.com/cockroachdb/cockroach/issues/31618#issuecomment-431374938
2018-10-22 11:28:39 +02:00
de470991e1 raft: fix description in UT 2018-10-22 13:59:50 +08:00
8c80efb886 CHANGELOG: highlight minimum recommended version, change github org URLs
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-18 16:39:01 -07:00
88e0830560 CHANGELOG-3.4: add "raft.Config.MaxUncommittedEntriesSize" change
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-18 11:47:50 -07:00
cf309757d6 mvcc/backend: code format optimization 2018-10-17 14:18:09 +08:00
7a759c18d2 Merge pull request #10178 from johncming/master
bugfix: use the backend create by snapshot instead of origin one in tests
2018-10-15 10:54:34 -07:00
1ded5aaf4d Merge pull request #10150 from cbeneke/fix/mixin-insufficent-member-alert
etcd-mixin: Fix EtcdInsufficientMembers alerting
2018-10-15 10:27:59 -07:00
c75ba98f81 Documentation/etcd-mixin: Fix EtcdInsufficientMembers alerting
Currently the EtcdInsufficientMembers alert fires, when more than (X/2)-1
instances are unavailable. This fixes it to fire at the correct limit of (X-1)/2
unavailable instances and $value now contains the number of available instances
instead of unavailable ones. Added unit test for EtcdInsufficientMembers alert.
2018-10-15 19:23:43 +02:00
bf49b9a145 mvcc/backend: fix to use the backend create by snapshot instead of origin one. 2018-10-15 09:35:20 +08:00
dac8c6fcc0 Merge pull request #10167 from nvanbenschoten/nvanbenschoten/limitUncommitted
raft: provide protection against unbounded Raft log growth
2018-10-13 23:52:28 -07:00
73c20cc1b7 raft: Fix comment on sendHeartbeat 2018-10-14 00:03:43 -04:00
7be7ac5a5d raft: Fix spelling in doc.go 2018-10-13 23:25:05 -04:00
f89b06dc6d raft: provide protection against unbounded Raft log growth
The suggested pattern for Raft proposals is that they be retried
periodically until they succeed. This turns out to be an issue
when a leader cannot commit entries because the leader will continue
to append re-proposed entries to its log without committing anything.
This can result in the uncommitted tail of a leader's log growing
without bound until it is able to commit entries.

This change add a safeguard to protect against this case where a
leader's log can grow without bound during loss of quorum scenarios.
It does so by introducing a new, optional ``MaxUncommittedEntriesSize
configuration. This config limits the max aggregate size of uncommitted
entries that may be appended to a leader's log. Once this limit
is exceeded, proposals will begin to return ErrProposalDropped
errors.

See cockroachdb/cockroach#27772
2018-10-13 23:25:05 -04:00
3c6c05be8a Merge pull request #10176 from jpbetz/keepalive-docs
clientv3: Clarify lessor KeepAlive docs
2018-10-12 09:38:51 -07:00
e205d09895 Merge pull request #10171 from paulf69487623/master
Documentation: Add the -N option to curl for the watch example to disable buffering
2018-10-12 07:09:14 -04:00
b3faeb5d86 Documentation: Add the -N option to curl for the watch example to disable buffering 2018-10-11 22:13:43 -05:00
1cab49ef78 Merge pull request #9718 from kchristidis/fix-snap-pub-error
raftexample: Fix publish snapshot error message
2018-10-11 16:45:55 -07:00
404f7d820c Merge pull request #10175 from wenjiaswe/fixTestMetricsHealth
integration: fix bug in TestMetricsHealth
2018-10-11 16:07:30 -07:00
49450aaa60 clientv3: Clarify lessor KeepAlive docs 2018-10-11 15:11:28 -07:00
69f53e1406 integration: fix bug in TestMetricsHealth 2018-10-11 14:55:39 -07:00
d5c93a7b0b Merge pull request #10165 from jpbetz/socket-docs
Document unix and unixs URL schemes
2018-10-10 15:21:55 -07:00
ef7e9d385b docs/operate.rst: link latest patch releases
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-10 15:03:51 -07:00
342d53d1b1 docs/metrics: add metrics outputs from patch releases
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-10 15:03:37 -07:00
f0736fe477 CHANGELOG: add Go release versions
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-10 11:07:10 -07:00
5b0960f664 docs/metrics: document missing metrics from master branch
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-09 18:37:41 -07:00
d4283b895c CHANGELOG-3.3: update release date for tomorrow
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-09 18:30:50 -07:00
0f0919c19c Merge pull request #10159 from gyuho/version-log
etcdserver: clear message in cluster version decision
2018-10-09 18:10:14 -07:00
3e37052c08 CHANGELOG: updates for v3.4 and patch releases
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-09 17:40:51 -07:00
1957d1cedf Documentation: Document unix and unixs URL schemes 2018-10-09 14:42:56 -07:00
d2a0f17b82 Merge pull request #10155 from gyuho/metrics-messages
rafthttp: probe all raft transports
2018-10-09 11:18:31 -07:00
ba606bf85e Merge pull request #10156 from gyuho/metrics-health
etcdserver: add "etcd_server_health_success/failures"
2018-10-09 00:10:57 -07:00
ac4754053d Merge pull request #10160 from etcd-io/jpbetz-patch-1
Update patch release list to reflect that 3.1 is maintained
2018-10-08 23:39:35 -07:00
0181609402 Merge pull request #10164 from jingyih/update_CHANGELOG
CHANGELOG: update from #10153
2018-10-08 18:47:54 -07:00
4a8693361a CHANGELOG: update from #10153 2018-10-08 17:15:59 -07:00
90c5968ee1 Merge pull request #10157 from gyuho/go
*: use Go 1.11.1 for testing
2018-10-08 16:35:09 -07:00
a3ae8df912 Merge pull request #10112 from gyuho/vendor
*: use Go 1.11 module for dependency management, replace "dep"
2018-10-08 16:34:51 -07:00
59dd78dde8 etcdserver: clear message in cluster version decision
Only leader can decide cluster version.
Clarify the logging that this local node is the leader.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-08 16:05:10 -07:00
b046a37256 Merge pull request #10153 from funny-falcon/fix-client-mutex-lock-10111
clientv3/concurrency.Mutex.Lock() - preserve invariant
2018-10-08 15:13:52 -07:00
7a0647ceb7 Documentation: Update patch release list to reflect that 3.1 is maintained 2018-10-08 13:33:07 -07:00
7c33e3d77b docs/metrics/latest: sync with master
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-07 17:52:44 -07:00
d28724a530 travis.yml: update Go version to 1.11.1
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-07 17:39:49 -07:00
2a8dc72899 Makefile: update default Go version
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-07 17:39:19 -07:00
7524cc6f4c integration: add "TestMetricsHealth"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-07 17:25:14 -07:00
601d8b4677 etcdserver/api/etcdhttp: remove unused "HandleHealth" function
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-07 17:16:18 -07:00
004e04a1d1 etcdserver/api/etcdhttp: add "etcd_server_health_success/failures"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-07 17:15:12 -07:00
884a8bd36b etcdserver/api/rafthttp: configure "streamProber" in tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-07 03:32:05 -07:00
7b1ef37054 etcdserver/api/rafthttp: probe all Raft messages' RTT
This PR adds another probing routine to monitor the connection
for Raft message transports. Previously, we only monitored
snapshot transports.

In our production cluster, we found one TCP connection had >8-sec
latencies to a remote peer, but "etcd_network_peer_round_trip_time_seconds"
metrics shows <1-sec latency distribution, which means etcd server
was not sampling enough while such latency spikes happen
outside of snapshot pipeline connection.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-07 03:28:54 -07:00
4a239070c8 etcdserver/api/rafthttp: display roundtripper name in warnings
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-07 03:14:42 -07:00
47cff4dfe5 etcdserver/api/rafthttp: rename to "pipelineProber"
Preliminary work to add prober to "streamRt"

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-07 03:13:10 -07:00
64e8b2e905 clientv3: concurrency.Mutex.Lock() - preserve invariant
Convenient invariant:
- if werr == nil then lock is supposed to be locked at the moment.

While we could not be confident in stronger invariant ('is exactly locked'),
it were inconvenient that previous code could return `werr == nil` after
Mutex.Unlock.

It could happen when ctx is canceled/timeouted exactly after waitDeletes
successfully returned werr == nil and before `<-ctx.Done()` checked.
While such situation is very rare, it is still possible.

fixes #10111
2018-10-05 14:17:32 +03:00
6976819792 Merge pull request #10148 from jingyih/add_unit_test_for_snapshot_file_integrity
clientv3: add test for snapshot status
2018-10-03 19:52:19 -07:00
87beb8336f clientv3: add test for snapshot status
Add unit test to check if we can correctly identify a corrupted snapshot
backup file.
2018-10-03 18:17:19 -07:00
2654de8a0e Merge pull request #10152 from jingyih/add_unfreed_to_goword_whitelist
words: whitelist unfreed
2018-10-03 18:16:43 -07:00
57c50b0d8c words: whitelist unfreed
whitelist keyword 'unfreed' for goword. It is from the bbolt error
message.
2018-10-03 18:12:10 -07:00
eca5f03cea Merge pull request #10149 from jingyih/fix_goword_checking_in_clientv3
clientv3: fix goword checking in config.go
2018-10-03 07:42:16 -07:00
7d57ee3427 clientv3: fix goword checking in config.go 2018-10-02 23:02:10 -07:00
bfdfaf5333 words: whitelist PermitWithoutStream
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-02 13:53:02 -07:00
1d1f509e98 Merge pull request #10146 from spzala/clientpermitwithoutstream
clientv3: let etcd client use all available keepalive ClientParams
2018-10-02 13:31:47 -07:00
1f5aea320a Merge pull request #10139 from DennisMao/patch-1
tools: fix building failures on Win
2018-10-02 13:30:49 -07:00
f6f375109e clientv3: let etcd client use all available keepalive ClientParams
We should allow etcd client use all of the available keepalive
client parameters as documented in this link,
https://godoc.org/google.golang.org/grpc/keepalive#ClientParameters
Currently in the etcd, by default PermitWithoutStream is set to
false, and user has no way to override it.
On the server side, we explicitely setting EnforcementPolicy
PermitWithoutStream to false and don't provide option to override it
to user but on the client side we should allow this option as
provided by the grpc.
2018-10-02 15:51:27 -04:00
b8969dea0b Merge pull request #10145 from ae6rt/issue/10142
benchmark: util.go
2018-10-02 10:45:15 -07:00
08e88c6693 Merge pull request #10063 from tschottdorf/fix-commit-pagination
raft: fix correctness bug in CommittedEntries pagination
2018-10-02 12:39:29 -04:00
95a282efb5 benchmark: util.go
allow client to setup TLS with cluster members, without the client having to offer TLS authentication itself

fixes #10142
2018-10-02 08:45:24 -07:00
051b119cd3 Merge pull request #10141 from essamhassan/9734_improve_auth_coverage
9734 improve auth coverage
2018-10-01 15:37:38 -07:00
ffbdb458a4 Auth: improve auth coverage
adds tests for uncovered auth funcs

Issue #9734
2018-10-01 10:25:38 +02:00
c74998267c *: change roadmap, future release dates
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-01 01:04:24 -07:00
f7dd524f6b CHANGELOG: add all missing changes from past months
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-01 01:02:50 -07:00
32a3a73755 tools: fix building failures on Windows
When building tools on Win,it shows `.\main.go:68:12: assignment mismatch: 2 variables but 1 values`.The reason is the return variables not match the calling from `main.go` and i try to fix it.
2018-09-29 11:17:49 +08:00
60fd69a06f Merge pull request #10138 from jingyih/update_changelog_3p3_from_pr9990
CHANGELOG-3.3: update from #9990
2018-09-28 18:08:15 -07:00
30fbcf5cc8 CHANGELOG-3.3: update from #9990 2018-09-28 17:36:08 -07:00
91fe8cbaa7 Merge pull request #10137 from jingyih/update_changelog_3p1_from_pr10109
CHANGELOG-3.1: update from #10109
2018-09-28 17:27:49 -07:00
31e2c08293 Merge pull request #10136 from jingyih/update_changelog_3p2_from_pr10109
CHANGELOG-3.2: update from #10109
2018-09-28 17:27:24 -07:00
4a3f7c6091 CHANGELOG-3.1: update from #10109 2018-09-28 17:24:41 -07:00
a249c19213 CHANGELOG-3.2: update from #10109 2018-09-28 17:19:48 -07:00
fa495d5605 Merge pull request #10134 from jingyih/update_changelog_3p4_from_pr10109
CHANGELOG-3.4: update from #10109
2018-09-28 17:16:58 -07:00
ab4703530e Merge pull request #10135 from jingyih/update_changelog_3p3_from_pr10109
CHANGELOG-3.3: update from #10109
2018-09-28 17:16:47 -07:00
fd816d071c CHANGELOG-3.3: update from #10109 2018-09-28 17:13:18 -07:00
11fc2cefc9 CHANGELOG-3.4: update from #10109 2018-09-28 16:51:29 -07:00
1a8c520979 ctlv3: fix gofmt
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-28 09:53:24 -07:00
a3e242d80a Merge pull request #10121 from dannysauer/etcdctl_message_fix
etcdctl: More helpful error handling in member add
2018-09-25 14:57:01 -07:00
36d227c9e5 etcdctl: Prettier error handling in member add
Maintain existing error message for not-enough-args
Add "too many args" if too many args
Add more helpful error message if v2 syntax was used

New output:
```
sauer@host:~/dev/etcd$ ./bin/etcdctl --endpoints http://localhost:5001 member add
Error: member name not provided.
sauer@host:~/dev/etcd$ ./bin/etcdctl --endpoints http://localhost:5001 member add node2 node2
Error: too many arguments
sauer@host:~/dev/etcd$ ./bin/etcdctl --endpoints http://localhost:5001 member add node2 http://localhost:6002
Error: too many arguments, did you mean "--peer-urls http://localhost:6002"
sauer@host:~/dev/etcd$ ./bin/etcdctl --endpoints http://localhost:5001 member add http://localhost:6002 node2
Error: too many arguments, did you mean "--peer-urls http://localhost:6002"
```
2018-09-25 16:50:57 -05:00
2cf4736621 Merge pull request #10117 from jingyih/improve_doc_on_etcdctl_lock
etcdctl: improve doc on etcdctl lock command
2018-09-24 15:22:13 -07:00
78d02f4229 etcdctl: improve doc on etcdctl lock command 2018-09-24 14:25:02 -07:00
fb674833c2 Merge pull request #10094 from nolouch/drop-read
server: drop read request if the leader is changed
2018-09-23 19:32:44 -07:00
12cfc5fce6 Merge pull request #10115 from hexfusion/fx_dvdoc
Documentation/dev-guide: add gRPC-gateway example of txn target VERSION syntax.
2018-09-22 23:34:31 -07:00
e935594d34 Documentation/dev-guide: add example of txn target VERSION syntax for gRPC-gateway. 2018-09-22 21:30:35 -04:00
d987caeb0d Merge pull request #10109 from jingyih/add_db_integrity_verification_to_snapshot_status
clientv3: add db integrity check in snapshot status
2018-09-21 10:42:24 -07:00
7d21cb24e9 bill-of-materials.json: regenerate
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-21 02:13:56 -07:00
d5967b40db scripts/updatedep: fix shellcheck errors
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-21 02:08:25 -07:00
67b0b0cd03 vendor: upgrade "go.uber.org/zap" to v1.9.1
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-21 01:51:59 -07:00
bea4f1337a go.mod: upgrade "go.uber.org/zap" to v1.9.1
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-21 01:51:53 -07:00
cd789fd8f6 vendor: revendor
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-21 01:48:10 -07:00
527ff8216d go.mod,sum: initial commit with Go 1.11 module
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-21 01:47:48 -07:00
ad2d18aeff scripts/updatedep: use Go 1.11 module for dependency management
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-21 01:47:24 -07:00
09d1426ac0 Gopkg: remove to use go module
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-21 01:47:04 -07:00
422f867f6b clientv3: add integrity check in snapshot status
Add snapshot file integrity check in snapshot status. If the file is
corrupted, return with error message.
2018-09-20 12:59:27 -07:00
1a3be73387 Merge pull request #10110 from zhongwencool/zhongwencool-patch-1
Documentation: add erlang client for etcd API v3
2018-09-20 12:41:33 -04:00
6a07f831d4 Documentation: add erlang client for etcd API v3 2018-09-20 23:49:48 +08:00
f32bc50765 Merge pull request #10105 from johncming/master
bugfix: use Rlock instead of Lock in raftexample.
2018-09-19 15:50:41 -07:00
b9b75f81e5 Merge pull request #10106 from petermattis/pmattis/ready-must-sync
raft: fix Ready.MustSync logic
2018-09-19 15:39:44 -07:00
66ee394527 raft: fix Ready.MustSync logic
The previous logic was erroneously setting Ready.MustSync to true when
the hard state had not changed because we were comparing an empty hard
state to the previous hard state. In combination with another misfeature
in CockroachDB (unnecessary writing of empty batches), this was causing
a steady stream of synchronous writes to disk.
2018-09-19 16:33:16 -04:00
dd6e579b84 raftexample: use Rlock instead of Lock in getsnapshot 2018-09-19 13:25:47 +08:00
ab544f2dde Merge pull request #10092 from ivuk/Documentation-fix-typo
Documentation/v2/metrics.md: Fix a typo
2018-09-18 10:32:42 -07:00
6ea54195a6 client/integration: try to fix tests 2018-09-18 01:44:57 +08:00
c15fb607f6 server: broadcast leader changed 2018-09-17 14:15:04 +08:00
c2845a3a9d Merge pull request #10097 from atlaskerr/documentation-annotate-logger
Documentation: Annotate --logger flag
2018-09-15 17:28:45 -07:00
952a4365ce Documentation: Annotate --logger flag
This commit annotates the `--logger` flag to let users know that it is
not available in versions 3.3.x or later.
2018-09-15 18:51:53 -05:00
fd5ef74b80 clientv3/integration: try to fix tests 2018-09-14 17:57:56 +08:00
f3f6427586 server: prevent blocking 2018-09-14 16:08:29 +08:00
4de27039cb server: drop read request if found leader changed 2018-09-14 15:58:35 +08:00
6ef7c5f462 Documentation/v2/metrics.md: Fix a typo
Typo fix: particlarly -> particularly
2018-09-13 21:05:32 +02:00
001bbb97cc Merge pull request #9999 from vimalk78/9377_document_election_api
clientv3/concurrency: Document Election API context parameter
2018-09-13 10:47:23 -07:00
90ecbabb7d Merge pull request #10086 from vimalk78/fix-Documentation-etcd-io
Documentation/*: change github url, import path from coreos to etcd-io
2018-09-13 10:15:53 -07:00
35fa6e13b9 clientv3/concurrency: Document Election API context parameter
fixes #9377
2018-09-13 12:15:01 +05:30
a7b1306ecf Merge pull request #10088 from ivuk/Documentation-fix-typo
Documentation/metrics.md: Fix a typo
2018-09-12 14:29:32 -07:00
09b7590c0b Documentation/metrics.md: Fix a typo
Typo fix: particlarly -> particularly
2018-09-12 23:19:21 +02:00
bda28c3ce2 Documentation/*: change github url, import path from coreos to etcd-io 2018-09-12 22:05:08 +05:30
ec5ff10436 Merge pull request #10019 from thrawn01/grpc-proxy-watch-errors
Improve watch error reporting when using grpc proxy
2018-09-10 12:54:33 -07:00
a18b467111 Merge pull request #10075 from gyuho/dash-etcd-io
Documentation/op-guide: remove "dash.etcd.io"
2018-09-06 18:11:47 -07:00
2fc06c8ec9 Documentation/op-guide: remove "dash.etcd.io"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-06 17:58:54 -07:00
2589353c1f Merge pull request #10074 from gyuho/raft-link
raft: fix link typo
2018-09-06 09:25:45 -07:00
c2b3c54370 raft: fix link typo
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-09-06 09:20:22 -07:00
1c80ce4b29 Merge pull request #10070 from philips/add-more-projects
Please read https://github.com/etcd-io/etcd/blob/master/CONTRIBUTING.md#contribution-flow.
2018-09-05 20:02:49 -07:00
085a5bd2f8 Documentation: add more projects 2018-09-05 19:55:31 -07:00
cf3f79a04d Merge pull request #10069 from philips/add-more-projects
Documentation: add new projects
2018-09-05 19:33:50 -07:00
16ad8b48bd Documentation: add new projects
A number of projects using etcd were missing. Add.
2018-09-05 19:30:08 -07:00
8b66718529 Merge pull request #10067 from hexfusion/fx_ddb_doc
tools/etcd-dump-db: fix iterate-bucket example.
2018-09-05 22:07:03 -04:00
d43f223e36 tools/etcd-dump-db: fix iterate-bucket example. 2018-09-05 20:41:42 -04:00
1df1ddff43 Merge pull request #10066 from mrIncompetent/use-testing-interface
Use testing.TB for integration test helpers to enable usage in benchmarks
2018-09-04 14:04:06 -07:00
2be5994f61 integration: Replace *testing.T with testing.TB
Use testing.TB for integration test helpers to enable usage in benchmarks
2018-09-04 22:34:40 +02:00
7a8ab37bfd raft: fix correctness bug in CommittedEntries pagination
In #9982, a mechanism to limit the size of `CommittedEntries` was
introduced. The way this mechanism worked was that it would load
applicable entries (passing the max size hint) and would emit a
`HardState` whose commit index was truncated to match the limitation
applied to the entries. Unfortunately, this was subtly incorrect
when the user-provided `Entries` implementation didn't exactly
match what Raft uses internally. Depending on whether a `Node` or
a `RawNode` was used, this would either lead to regressing the
HardState's commit index or outright forgetting to apply entries,
respectively.

Asking implementers to precisely match the Raft size limitation
semantics was considered but looks like a bad idea as it puts
correctness squarely in the hands of downstream users. Instead, this
PR removes the truncation of `HardState` when limiting is active
and tracks the applied index separately. This removes the old
paradigm (that the previous code tried to work around) that the
client will always apply all the way to the commit index, which
isn't true when commit entries are paginated.

See [1] for more on the discovery of this bug (CockroachDB's
implementation of `Entries` returns one more entry than Raft's when the
size limit hits).

[1]: https://github.com/cockroachdb/cockroach/issues/28918#issuecomment-418174448
2018-09-04 14:52:23 +02:00
6143c135bd Merge pull request #10060 from vimalk78/go.etcd.io-move-minor-changes
*: path changes for moving to github/etcd-io/etcd
2018-09-03 13:48:01 -07:00
bcde798fdd *: path changes for moving to github/etcd-io/etcd 2018-09-03 21:57:23 +05:30
ca7dc4ff26 Merge pull request #10058 from vimalk78/9882-contrib-queue-memleak
contrib/recipes/watch.go : cancel() the watch after desired watch event
2018-09-01 08:34:29 -07:00
9bad6fd442 contrib/recipes/watch.go : cancel() the watch after desired watch event
fixes #9882
2018-09-01 18:18:24 +05:30
206b012ed4 Merge pull request #10057 from jglick/patch-1
Use IPA notation for pronunciation of etcd
2018-08-31 07:10:53 -07:00
abd1b34ba6 docs: fix pronunciation notation 2018-08-31 07:09:46 -07:00
484f622034 Merge pull request #10054 from vcaesar/docs-pr
client,clientv3: update client docs to "go.etcd.io"
2018-08-30 16:44:16 -07:00
fc7ef659cc client,clientv3: update client docs to "go.etcd.io" 2018-08-30 19:26:12 -04:00
b6e6de54e9 Merge pull request #10053 from ueokande/fix-clientv3-doc
clientv3/doc: Fix code example
2018-08-30 15:28:33 -07:00
e9afd51f47 clientv3/doc: Fix code example 2018-08-30 22:10:58 +00:00
d627719881 Merge pull request #10050 from gyuho/bbolt
vendor: use "go.etcd.io/bbolt" v1.3.1-etcd.7
2018-08-30 10:20:53 -07:00
34fcabab55 CHANGELOG: add all recent changes
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-29 14:53:41 -07:00
572d486c5b *: update github links
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-29 14:28:36 -07:00
e235cd3302 Documentation: update github links
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-29 14:28:00 -07:00
474cc300c9 bill-of-materials: regenerate with "go.etcd.io/bbolt"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-29 13:33:05 -07:00
fa57f7fbc7 vendor: use "go.etcd.io/bbolt" v1.3.1-etcd.7
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-29 12:39:59 -07:00
790cc3cdd6 Gopkg.lock: use "go.etcd.io/bbolt" v1.3.1-etcd.7
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-29 12:34:22 -07:00
8db439d693 *: use "go.etcd.io/bbolt"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-29 12:31:28 -07:00
5adbc231f2 mvcc/backend: use "go.etcd.io/bbolt"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-29 12:31:04 -07:00
1a282a72be Merge pull request #10045 from gyuho/go-1.11
*: use Go 1.11 for tests
2018-08-28 23:02:43 -07:00
839f202195 clientv3/integration: fix race condition from closing channel
Go 1.11 now marks len(channel) over being-closed channel
as racey operation, fix tests by receiving from channel first
and then check the length of channel.

```
WARNING: DATA RACE
Write at 0x00c000e872c0 by goroutine 198:
  runtime.closechan()
      /usr/local/go/src/runtime/chan.go:327 +0x0
  go.etcd.io/etcd/clientv3.(*lessor).closeRequireLeader()
      /Users/leegyuho/go/src/go.etcd.io/etcd/clientv3/lease.go:379 +0x748
  go.etcd.io/etcd/clientv3.(*lessor).recvKeepAliveLoop()
      /Users/leegyuho/go/src/go.etcd.io/etcd/clientv3/lease.go:455 +0x3a5

Previous read at 0x00c000e872c0 by goroutine 27:
  go.etcd.io/etcd/clientv3/integration.TestLeaseWithRequireLeader()
      /Users/leegyuho/go/src/go.etcd.io/etcd/clientv3/integration/lease_test.go:828 +0x810
  testing.tRunner()
      /usr/local/go/src/testing/testing.go:827 +0x162
```

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 22:27:11 -07:00
07fcc26799 *: fix gofmt warnings with Go 1.11
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 21:45:24 -07:00
8560221091 etcdserver: fix gofmt warnings with Go 1.11
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 21:45:12 -07:00
d24acedb5e travis.yml: bump up to Go 1.11
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 21:29:01 -07:00
a0cc409352 Makefile: bump up to Go 1.11
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 21:28:41 -07:00
e52b8611ea docs: update links to "go.etcd.io"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 20:54:35 -07:00
02b94fcc0d test: fix "license-bill-of-materials" command
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 20:53:28 -07:00
e8b940f268 Merge pull request #10044 from gyuho/rename-import-paths
*: rename import paths to "go.etcd.io/etcd"
2018-08-28 19:44:27 -07:00
8f3900ffe1 bill-of-materials.json: regenerate
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 18:43:18 -07:00
c0f6597c02 contrib/systemd: remove v2 service files
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 18:35:01 -07:00
0ef9ef3c74 *: rerun "gofmt"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 18:25:39 -07:00
379a1869c5 tests/Dockerfile: update import path to "go.etcd.io/etcd"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 18:07:41 -07:00
2774bb3212 Revert "*: regenerate proto"
This reverts commit 299178ceb9.
2018-08-28 17:56:14 -07:00
f2f7fc23f7 *: update github.com links
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:56 -07:00
299178ceb9 *: regenerate proto
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
f3af3d83c2 Makefile: update import paths to "go.etcd.io"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
198a931a0b MAINTAINERS: update import path to "go.etcd.io"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
a8a3efd27a scripts: update import paths in "go.etcd.io/etcd"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
c69c044026 Documentation: update import paths in "dl_build.md"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
7300bfdd1d build.ps1: update import paths to "go.etcd.io/etcd"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
d37f1521b7 *: update import paths to "go.etcd.io/etcd"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
2ac04381a2 clientv3: update Go import paths to "go.etcd.io"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
fced933294 auth: update Go import paths to "go.etcd.io"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
038fd844ac wal: update Go import paths to "go.etcd.io/etcd"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
d537b328cb mvcc: update import paths "go.etcd.io/etcd"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
1399bc69ce etcdserver: update import paths to "go.etcd.io/etcd"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
bb60f8ab1d raft: change import paths to "go.etcd.io/etcd"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:52 -07:00
47c04b959d build: upgrade local GOPATH
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:13:56 -07:00
591fdac832 travis.yml: update "go_import_path" to "go.etcd.io"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 16:59:45 -07:00
6c3a12f4c9 README: fix travis link
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-27 20:03:17 -07:00
548f715271 README: update repo URLs
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-27 19:19:36 -07:00
af85949b41 Merge pull request #10024 from gyuho/became-inactive
etcdserver/api/rafthttp: clarify "became inactive" warning
2018-08-24 22:12:16 -04:00
24ee22ab48 Merge pull request #10026 from gyuho/read-index
etcdserver: clarify read index wait timeout warnings
2018-08-24 22:11:58 -04:00
66c2665f66 Merge pull request #10037 from spzala/etcdctlrpc
etcdctl: fix small inconsistency with RPC ref
2018-08-24 18:51:55 -07:00
9ecc727dc8 Merge pull request #10036 from louis-paul/clientv3-error-handling-godoc
clientv3/doc: Update error handling godoc
2018-08-23 21:03:16 -04:00
a3c09ee8e9 clientv3/doc: Improve error handling comment 2018-08-23 19:47:27 +02:00
b4a670b571 etcdctl: fix small inconsistency with RPC
Several RPC references in README with memberlist only hyperlinked,
and since it's linked with line numbers it's not pointing to a
desired ref now. Remove the link to make it consistent and correct.
2018-08-23 10:48:32 -04:00
2ee4525cd2 clientv3/doc: Update error handling godoc
0c5bcd5d80 updated error handling for
`ErrEmptyKey` but missed the godoc.
2018-08-23 13:37:39 +02:00
a9fcc82e4d Merge pull request #10033 from zhenghc/master
Documentation: add Transwarp to production user
2018-08-23 07:17:06 -04:00
98d57b278a Documentation: add Transwarp to production user 2018-08-23 10:19:02 +08:00
bdc333359b Merge pull request #10031 from zhaohaidao/master
raft: fix typo in test
2018-08-22 12:39:14 -04:00
6ee880eb5b raft: fix typo in test 2018-08-22 23:48:47 +08:00
2921ab670f Merge pull request #10028 from spzala/geterror
etcdctl: fix get command error when no arg provided
2018-08-20 12:56:41 -07:00
7f001c1f00 etcdctl: fix get command error when no arg provided
The current error is incorrect. Providing a similar one to the del
command.
2018-08-19 19:54:18 -04:00
0a25f49d61 Merge pull request #10021 from jingyih/add_log_level_checking_in_logging_interceptor
etcdserver/api/v3rpc/interceptor: add log level checking
2018-08-17 18:08:01 -07:00
38711761a1 etcdserver: clarify read index wait timeout warnings
"read index" doesn't tell much about the root cause.
Most likely, the local follower node is having slow
network, thus timing out waiting to receive read
index response from leader.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-17 17:59:41 -07:00
156ff6461d etcdserver/api/rafthttp: clarify "became inactive" warning
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-17 17:45:53 -07:00
8d85259b56 etcdserver/api/v3rpc/interceptor: add log level checking
Check log level before generating and writing log info.
2018-08-17 16:12:05 -07:00
eb9c8d3c2f clientv3: return reason to user when server cancels watch
This change allows Watch users to retrieve the cancel reason when a
watch is canceled by the server. Additionally WatchResponses with
closeErr set now have Canceled set true which is in line with the
documentation for the Canceled field.
2018-08-16 23:11:02 -05:00
f0e6c10aba grpcproxy: return error to client during watch create
Now returns errors from checkPermissionForWatch() via the CancelReason
field. This allows clients to understand why the watch was canceled.
Additionally, this change protects a watch from starting and that
otherwise might hang indefinitely.
2018-08-16 23:10:02 -05:00
6890a9e633 Merge pull request #10018 from ymmt2005/fix_sample_conf
sample: correct directive name
2018-08-16 07:23:56 -07:00
73a8bf1fb1 sample: correct directive name
Both "client-transport-security" and "peer-transport-security"
is mapped to Go struct embed.securityConfig.

Field for client certificate authentication is tagged as
"client-cert-auth", but it is misspelled in "peer-transport-security"
section.
2018-08-16 22:25:16 +09:00
2a6bc7d113 Merge pull request #9997 from gyuho/snap-metrics
*: add v3 snapshot metrics (fsync, network)
2018-08-15 14:16:29 -07:00
6f4c509ad8 etcdserver/api/rafthttp: add v3 snapshot send/receive metrics
Distribution would be:
0.1 second or more
...
25.6 seconds or more
51.2 seconds or more

etcd_network_snapshot_send_success
etcd_network_snapshot_send_failures
etcd_network_snapshot_send_total_duration_seconds
etcd_network_snapshot_receive_success
etcd_network_snapshot_receive_failures
etcd_network_snapshot_receive_total_duration_seconds

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-15 12:56:50 -07:00
c392cd20cf etcdserver/api/snap: add v3 snapshot fsync metrics
etcd_snap_db_fsync_duration_seconds_count
etcd_snap_db_save_total_duration_seconds_bucket

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-15 12:56:44 -07:00
e72730ab20 Merge pull request #10007 from ringtail/master
Document: add lucas to integrations.md
2018-08-15 00:01:14 -07:00
acf176ac95 Document: add lucas to integrations.md
add lucas to integrations.md
2018-08-15 14:58:06 +08:00
3c89938adf Merge pull request #9866 from spzala/checkhashkv
Tools: new benchmark for the hashkv performance
2018-08-13 19:20:42 -07:00
18f85684da tools/benchmark: clean up formatting
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-13 19:19:46 -07:00
f87b566248 Merge pull request #9998 from gyuho/member-id
etcdserver: add "etcd_server_id" metric
2018-08-13 00:39:48 -07:00
eb6738053b etcdserver: add "etcd_server_id" metric
```
etcd_server_id{server_id="8e9e05c52164694d"} 1
```

Useful for automating membership change operations,
no need to run "endpoint status" or "member list"
command to get member IDs.

Also, useful for "etcd_network" metrics with "To/From" labels.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-13 00:39:18 -07:00
3a037744de Merge pull request #9990 from jingyih/dev_workload_analysis_tool
etcdserver: add grpc interceptor to log info on incoming request to etcdserver
2018-08-10 23:15:04 -07:00
11dd0b583b Merge pull request #9982 from bdarnell/pagination
raft: Introduce CommittedEntries pagination
2018-08-11 09:12:46 +08:00
368010d8a3 etcdserver: code clean up
Code clean up in interceptor.go
2018-08-10 16:29:42 -07:00
59e084d37b Merge pull request #9991 from dlipovetsky/snapshot-file-permission-release-note
CHANGELOG: Add 3.4 changelog entry for snapshot file permissions change
2018-08-10 14:07:57 -07:00
f52a990340 CHANGELOG: Add 3.4 changelog entries for snapshot file permissions change 2018-08-10 13:37:25 -07:00
30662940f4 vendor: add go-grpc-middleware
Rebased to master PR #9994.  Fixed a Go format issue in
v3rpc/interceptor.go.  Updated vendor to include go-grpc-middleware.
2018-08-10 13:15:35 -07:00
40b66d1f18 Etcdctl: benchmark for hashkv performance
The benchmark as a sub command of put when provided will fetch hashkv and checks
the time taken to get it.

Fixed # 8910

Provider a way to etcd user to check how long it takes to get
hashkv in user enviornment. The command ouput will provide time taken
to get hashkv along with db file size.
2018-08-10 15:53:41 -04:00
dc01734c6b etcdserver: add grpc interceptor to log info on incoming requests to
etcd server

To improve debuggability of etcd v3. Added a grpc interceptor to log
info on incoming requests to etcd server. The log output includes
remote client info, request content (with value field redacted), request
handling latency, response size, etc. Uses zap logger if available,
otherwise uses capnslog.

Also did some clean up on the chaining of grpc interceptors on server
side.
2018-08-10 11:01:07 -07:00
457a96d931 Merge pull request #9994 from gyuho/grpc
vendor: upgrade google.golang.org/grpc to v1.14.0
2018-08-10 06:36:33 -07:00
7e2e71ce7e words: whitelist "ErrConnClosing"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-09 20:01:35 -07:00
6c6bc3a200 vendor: upgrade google.golang.org/grpc to v1.14.0
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-09 19:36:35 -07:00
d726baf02c Gopkg.lock: regenerate with gRPC v1.14
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-09 19:36:18 -07:00
aeb418b815 clientv3/integration: remove "transport.ErrConnClosing" match
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-09 19:27:37 -07:00
4fa58fc062 Merge pull request #9993 from philips/dash-force-new-cluster
Documentation: v2: add -- for force new cluster
2018-08-09 10:47:01 -07:00
d05d522398 Documentation: v2: add -- for force new cluster
this doc is inconsistent between --force-new-cluster and
-force-new-cluster. Use the latter as it is the preferred option in
etcd.
2018-08-09 10:13:27 -07:00
d984482d1b README: warn about repository transfer
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-08 14:08:37 -07:00
2fe491851e Merge pull request #9977 from dlipovetsky/etcdctl-snapshot-permissions
clientv3: make saved snapshot readable by user only
2018-08-08 16:34:23 -04:00
ddde272fb0 clientv3: Make saved snapshot readable by user only
Fixes #9976
2018-08-08 12:46:17 -07:00
6002bf37ba Merge pull request #9985 from bdarnell/flow-control
raft: Make flow control more aggressive
2018-08-08 10:11:54 -07:00
a9e7c1e11f raft: Make flow control more aggressive
We allow multiple in-flight append messages, but prior to this change
the only way we'd ever send them is if there is a steady stream of new
proposals. Catching up a follower that is far behind would be
unnecessarily slow (this is exacerbated by a quirk of CockroachDB's
use of raft which limits our ability to catch up via snapshot in some
cases).

See cockroachdb/cockroach#27983
2018-08-08 11:10:54 -04:00
6c9a853f04 CHANGELOG: add links to "List of metrics"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-08 07:22:18 -07:00
fdab22c9c6 Merge pull request #9979 from gyuho/20180802-vendor-grpc
vendor: upgrade gRPC to v1.14.0
2018-08-07 14:35:28 -07:00
0a670b7c9b raft: Introduce CommittedEntries pagination
The MaxSizePerMsg setting is now used to limit the size of
Ready.CommittedEntries. This prevents out-of-memory errors if the raft
log has become very large and commits all at once.
2018-08-07 12:54:34 -04:00
9ad8f4c350 Merge pull request #9983 from gyuho/20180806-clientv3-docs
docs: update gRPC, add feature comparison
2018-08-07 04:28:07 -07:00
3599938cf0 Merge pull request #9984 from gyuho/20180806-metrics-all
docs,tools/etcd-dump-metrics: automate metrics documentation
2018-08-07 04:27:25 -07:00
b42a9ce20e MAINTAINERS: change gyuho's email to AWS
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-06 20:54:41 -07:00
bc14deecca raft: Add a test for MaxSizePerMsg feature
Ensure that this limit is respected when generating MsgApp messages.
2018-08-06 16:52:16 -04:00
902893f231 docs: add all v3.1 metrics
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-06 10:02:22 -07:00
2c1c191566 docs: add all v3.2 metrics
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-06 09:54:18 -07:00
e83d6c2234 docs: add all v3.3 metrics
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-06 09:31:53 -07:00
cf5dc560c8 tools/etcd-dump-metrics: automate metrics fetch from release binaries
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-06 09:30:52 -07:00
f457aafaf1 docs: move metrics files to sub-directory
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-06 09:29:52 -07:00
9d1114f0db docs: update monitoring index
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-06 09:28:59 -07:00
0d189c661a docs: add "Client Feature Matrix"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-06 09:21:47 -07:00
fd000ae7ec docs: update to "grpc1.14"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-06 09:21:33 -07:00
29590c9ab2 docs/img: update client architecture images
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-06 09:20:58 -07:00
981644af7d scripts/updatedep: remove "dep prune" command
"Pruning is now performed automatically by dep ensure."

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-02 08:06:27 -07:00
612266beaf vendor: upgrade gRPC to v1.14.0
https://github.com/grpc/grpc-go/releases/tag/v1.14.0

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-02 07:59:52 -07:00
93be31d43a Merge pull request #9968 from Quasilyte/quasilyte/fixCaseOrder
etcdctl/ctlv2/command: fix type switch case order
2018-07-29 11:38:31 -07:00
fa20b61c9f Merge pull request #9970 from Quasilyte/quasilyte/namedConst
contrib/recipes: use clientv3.NoLease instead of 0
2018-07-29 11:37:39 -07:00
d1f49d4a40 Merge pull request #9969 from Quasilyte/quasilyte/boolExprSimplify
etcdserver/api/v2discovery: simplify !(x == y) to x != y
2018-07-28 15:47:05 -07:00
1de9e1b00d contrib/recipes: use clientv3.NoLease instead of 0
If we have a named const, it's more readable to use that.

Found using https://go-critic.github.io/overview#namedConst-ref
2018-07-28 23:56:45 +03:00
d0f800c930 etcdserver/api/v2discovery: simplify !(x == y) to x != y
Found using https://go-critic.github.io/overview#boolExprSimplify-ref
2018-07-28 23:47:17 +03:00
3da90b6d3e etcdctl/ctlv2/command: fix type switch case order
Since syscall.Errno implements net.Error and all cases
are matched sequentially, it's a mistake to put syscall.Errno
case after net.Error since it will never be executed.

This change swaps syscall.Errno case with net.Error
to give that clause chance to execute.
2018-07-28 23:33:13 +03:00
90a2fbe50e Merge pull request #9966 from gyuho/maintainer
MAINTAINERS: add Joe Betz
2018-07-27 17:34:06 -07:00
df2190e382 MAINTAINERS: add Joe Betz
Joe has been helping fix lots of bugs and involved
in critical feature design/implementation,
plus leading patch release process for over a year.

Thanks for your excellent work.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-27 17:03:24 -07:00
f337e1b363 Merge pull request #9954 from spzala/etcdctlput
etcdctl: value should not be provided after \r
2018-07-27 13:50:49 -07:00
d16c8b3880 Merge pull request #8689 from nvanbenschoten/nvanbenschoten/commit
raft: don't allocate slice and sort on every commit
2018-07-27 13:50:04 -07:00
1c382a4868 Merge pull request #9945 from jpbetz/balancer-maintanance-api-fix
clientv3: Fix maintenance APIs to directly dial grpc endpoints directly
2018-07-27 10:15:25 -07:00
67bcf28c4e clientv3: Use passthrough resolver for direct endpoint dialing 2018-07-27 10:15:02 -07:00
9431532730 raftexample: Fix publish snapshot error message
The error message is different to the condition it checks for. This PR
modifies the error message accordingly.

Closes #9717.

Signed-off-by: Kostas Christidis <kostas@christidis.io>
2018-07-26 11:14:15 -04:00
0a415cf0d6 raft: dont allocate slice and sort on every commit 2018-07-25 23:42:16 -04:00
c5bef4f731 CHANGELOG-3.3: update date
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-24 11:12:21 -07:00
54d2b327f6 Merge pull request #9961 from jpbetz/changelog-checkpoints
CHANGELOG: Add 3.4 changelog entry for lease checkpointing feature
2018-07-24 11:11:36 -07:00
9661648869 Merge pull request #9960 from jpbetz/changelog-3.1.19-3.2.24
CHANGELOG: Record CHANGELOG release dates for 3.1.19 and 3.2.24
2018-07-24 11:11:15 -07:00
a2ecd6b676 clientv3: Simplify TestDialTLSNoConfig now that dial with grpc.WithBlock correctly results in a client timeout error 2018-07-24 10:45:03 -07:00
29ef8ec899 CHANGELOG: Add 3.4 changelog entry for lease checkpointing feature 2018-07-24 10:37:01 -07:00
703c1b9175 CHANGELOG: Record CHANGELOG release dates for 3.1.19 and 3.2.24 2018-07-24 10:31:06 -07:00
dd440690c5 Merge pull request #9950 from gyuho/doc-metrics
docs: automate metrics list documentation
2018-07-24 10:23:55 -07:00
69ae028039 Merge pull request #9948 from wenjiaswe/changelog47892
CHANGELOG-3.2: update from #7892
2018-07-24 09:56:01 -07:00
7b71022987 CHANGELOG-3.2: update from #7892 2018-07-24 09:42:42 -07:00
750b87d622 Merge pull request #9924 from jpbetz/persist-lease-deadline
lease: Persist remainingTTL to prevent indefinite auto-renewal of long lived leases
2018-07-24 09:39:57 -07:00
6e0c0d0b9a CHANGELOG: track clientv3 fix, etcd_server_go_version
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-23 16:30:33 -07:00
d1de41efe1 lease: Add unit and integration tests for lease checkpointing 2018-07-23 16:12:42 -07:00
2edb954bce lease: Checkpoint lease TTLs to prevent indefinite auto-renewal of long lived leases 2018-07-23 16:12:34 -07:00
3f725e190e Merge pull request #9957 from gyuho/go-version
etcdserver: add "etcd_server_go_version" metric
2018-07-23 12:50:20 -07:00
b3b06a862a clientv3: Fix maintenance APIs to directly dial grpc endpoints correctly. 2018-07-23 11:20:15 -07:00
b43fdbcfa4 ETCDCTL: value can not be provided after \r
Document that etcdctl do not support providing value after using \r and that multiple lines
or spaces requires to be double-quoted.

Fixed #9937
2018-07-23 14:11:40 -04:00
643d791a11 etcdserver: add "etcd_server_go_version" metric
Currently, one has to look at server logs manually,
to see what Go version was used to build etcd server.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-23 09:15:22 -07:00
0458c5d54b Merge pull request #9951 from gyuho/revive
*: integrate https://github.com/mgechev/revive with fmt tests
2018-07-23 06:39:33 -07:00
e4e347133e Merge pull request #9952 from gyuho/fix-keepalive
clientv3: fix keepalive send interval when response queue is full
2018-07-22 22:20:23 -07:00
e93fb56037 clientv3: clean up variables, add response dropping warning
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-22 17:59:38 -07:00
f3385418bb clientv3: fix keepalive send interval when response queue is full
client should update next keepalive send time
even when lease keepalive response queue becomes full.

Otherwise, client sends keepalive request every 500ms
regardless of TTL when the send is only expected to happen
with the interval of TTL / 3 at minimum.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-22 17:59:32 -07:00
752dd3a0bf docs: generate metrics-*
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-22 00:34:26 -07:00
ac936365bb tools/etcd-dump-metrics: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-22 00:34:22 -07:00
bd6c6cf9e2 docs: clean up FAQs, add initial lists of metrics
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-22 00:15:53 -07:00
42bef8460c *: clean up code format
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-21 16:34:56 -07:00
6ab3cc0a2e mvcc: clean up code format
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-21 16:03:16 -07:00
51af6a062f etcdserver: clean up code format
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-21 16:03:16 -07:00
90a5da18cf clientv3: clean up code format
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-21 16:03:12 -07:00
15a81f2d5c pkg: clean up code format
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-21 15:49:58 -07:00
6fabe6d5ab wal: clean up code format
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-21 15:49:58 -07:00
1c04820026 tests: integrate "github.com/mgechev/revive" to fmt tests
https://github.com/mgechev/revive

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-21 15:49:53 -07:00
104b6a3424 docs: fix README
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-20 15:32:11 -07:00
e4faaf7e29 Merge pull request #9947 from gyuho/docs-docs
docs: add initial operate guide structure
2018-07-20 15:29:43 -07:00
88a42d91b8 Merge pull request #9946 from gyuho/log-log
etcdserver: support zap.Logger in FD monitoring routine
2018-07-20 15:29:28 -07:00
9f02c5836d docs: add initial operate guide structure
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-20 15:27:39 -07:00
40034c45ab docs/README: document how to build locally
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-20 15:16:52 -07:00
57ec2226cc etcdserver: support zap.Logger in FD monitoring routine
Keep replacing capnslog

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-20 14:59:03 -07:00
98f54ec3f5 Merge pull request #9943 from wenjiaswe/changelog49942
CHANGELOG-3.2: update from #9942
2018-07-20 14:33:09 -07:00
fa42a1f7fb CHANGELOG-3.2: update from #9942 2018-07-20 13:52:15 -07:00
938310760e Merge pull request #9941 from wenjiaswe/changelog4metrics
CHANGELOG-3.3: update from #9940
2018-07-20 09:36:04 -07:00
a47f0a0dba CHANGELOG-3.3: update from #9940 2018-07-20 09:31:03 -07:00
e9f710e742 Merge pull request #9934 from mbrannock/master
Eliminate direct use of the gRPC transport package
2018-07-19 13:48:40 -07:00
520bd5084e integration, functional: Eliminate direct use of gRPC transport pkg
gRPC has moved the transport package to an internal-only directory. This
eliminates direct use of the transport package in the stress test in
favor of the error code from gRPC that represents a connection problem.

https://godoc.org/google.golang.org/grpc/internal/transport is the new
location for the package, which says it's not intended to be imported
directly. Instead, the maintainers suggested to use the code Unavailable
to detect a connection problem.

This change slightly reorganizes the stresser test error handling.
2018-07-19 10:55:57 -07:00
f76cf959b2 Makefile: remove Go 1.9.7
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-19 10:23:44 -07:00
ac4d713506 CHANGELOG-3.3: add "Go 1.10.3" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-19 10:23:30 -07:00
f830013615 Merge pull request #9936 from jyparketc/fix_typo_in_readme
Documentation/etcd-mixin: fix typo in README.md
2018-07-19 06:12:16 -07:00
bd74c10fdb Documentation/etcd-mixin: fix typo in README.md
Promethues -> Prometheus
2018-07-19 19:10:46 +09:00
eef61324ed Merge pull request #9929 from jolson490/remove-http-alerts_from-mixin
Removing http alerts (that were specific to etcd v2) from mixin.libsonnet
2018-07-18 17:36:16 -07:00
3826107af6 Documentation: removing alerts that were specific to etcd v2 2018-07-18 12:31:46 -04:00
bbe2d777b1 lease: Add LessorConfig and wire zap logger into Lessor 2018-07-17 13:10:34 -07:00
75ac18cd2d lease: Add and lease checkpoint protobuf types 2018-07-17 11:54:51 -07:00
688043a7c2 Merge pull request #9916 from gyuho/upgrade-doc-index
Documentation/upgrades: update upgrade doc indexes
2018-07-11 06:59:41 -07:00
d9cde03fe0 Documentation/upgrades: update upgrade doc indexes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-10 15:30:29 -07:00
db102de675 Merge pull request #9914 from gyuho/protoc
*: require protoc 3.6.0
2018-07-10 10:30:50 -07:00
befc5cbb59 functional/scripts: use protoc 3.6.0
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-10 10:17:10 -07:00
453db62d84 scripts/genproto: use protoc 3.6.0
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-10 10:16:37 -07:00
8f84f72df0 Merge pull request #9913 from gyuho/log
*: combine all configuration print logs to embed.StartEtcd
2018-07-09 13:21:56 -07:00
3ac4d208ac embed: combine all info-print functions
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-09 12:32:47 -07:00
60c63fa34e etcdmain: remove version/system info print methods
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-09 11:26:53 -07:00
ddf45cb958 etcdserver: remove configuration print methods
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-09 11:26:23 -07:00
e23853a9ed Merge pull request #9910 from Cjen1/master
benchmark: Create README.md
2018-07-09 09:39:13 -07:00
9d96a24de1 benchmark: Create README.md
When trying to run the benchmark I found little documentation on how to
run the benchmark.
2018-07-09 10:37:53 +01:00
f7b3017752 Merge pull request #9467 from ouqiang/patch-1
Documentation/integrations: add PHP v3 client
2018-07-06 10:29:58 -07:00
dbccfe06fb clientv3/balancer: debugging balancer test failures
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 12:18:13 -07:00
3e7d49079c Merge pull request #9906 from gyuho/dockerfile
*: revert back to ubuntu test image, fix "unconvert" linter warnings
2018-07-05 11:58:30 -07:00
7e542078bc clientv3/balancer: skip "TestRoundRobinBalancedResolvableFailoverFromServerFail" for now
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 11:57:45 -07:00
6a16c7974a tests/e2e: handle cipher suite mismatch error in ubuntu
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 10:50:07 -07:00
e388a4a1a1 mvcc: simplify increment "rrev"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 10:28:10 -07:00
7aaaa0d82f raft: do not use underscore in var name
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 10:25:47 -07:00
9934034bb1 etcdserver: remove unnecessary if-statement
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 10:25:00 -07:00
0249c39cb3 raft: remove unnecessary type conversion
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 10:12:45 -07:00
b01d560be0 tests/e2e: remove unnessary type conversion
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 10:10:30 -07:00
bc18474029 mvcc: remove unnecessary type conversion
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 10:09:53 -07:00
e714dd01b3 etcdserver: remove unnecessary type conversion
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 10:08:56 -07:00
e1a978c3ce tests/Dockerfile: revert back to ubuntu
Fedora is too big (550 MB),
while Ubuntu image is only 350 MB.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 10:07:11 -07:00
0a31a2bac2 CHANGELOG: add Go versions, Watcher.RequestProgress
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 09:43:28 -07:00
1e5c381664 Merge pull request #9903 from brancz/remove-http-alerts
Documentation/op-guide: Remove HTTP alerts
2018-07-04 08:43:14 -07:00
67ecea9709 Documentation/op-guide: Remove HTTP alerts
The HTTP metrics have been deprecated and removed. In other places all
the HTTP related alerts have already been removed, this is just a clean
up of the remaining places these were left.
2018-07-04 09:04:47 +02:00
e4425ee79f CHANGELOG: add monitoring/metrics changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-03 14:59:44 -07:00
3e1d635dbe CHANGELOG-3.4: clarify "etcd_mvcc_db_total_size_in_bytes" rename change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-03 13:46:46 -07:00
4588f89c7a CHANGELOG: backport quota size limit metrics
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-03 13:31:52 -07:00
0aed7e0026 CHANGELOG: clarify debugging metrics, backend quota metrics
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-03 13:18:44 -07:00
1168a92491 CHANGELOG: update July patch releases
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-03 13:05:36 -07:00
dc93262332 CHANGELOG: add "etcd_server_slow_read_indexes_total"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-03 12:50:12 -07:00
495eb2f230 Merge pull request #9897 from gyuho/read-index
etcdserver: clarify read index warnings, add metrics
2018-07-03 11:31:02 -07:00
37000cc4b8 etcdserver: add "etcd_server_slow_read_indexes_total"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-02 12:58:35 -07:00
4733a1db5c etcdserver: clarify read index warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-02 12:53:35 -07:00
308f59058c Merge pull request #9896 from xmudrii/grpc-changelog
Update CHANGELOG-3.2 to include changes from #9894
2018-07-02 11:07:35 -07:00
21d7f14e4c CHANGELOG: update CHANGELOG-3.2 to include TLS gRPC Proxy changes 2018-07-02 20:00:20 +02:00
9782ba91a8 Merge pull request #9891 from mitake/maintainers
MAINTAINERS: update @mitake's email address
2018-06-28 22:38:36 -07:00
c15b674d7a MAINTAINERS: update @mitake's email address 2018-06-29 14:25:29 +09:00
902541c038 docs/faq: remove "you"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-28 22:15:15 -07:00
4df18a7316 Merge pull request #9869 from jpbetz/progress
*: Add progress notify request watch request
2018-06-28 10:46:01 -07:00
4b51b6de49 *: Add progress notify request watch request 2018-06-27 16:46:13 -07:00
b56fc94829 Merge pull request #9889 from gyuho/doc-faq
docs: add "FAQs"
2018-06-27 10:58:21 -07:00
cd6100ca30 docs: add "FAQs"
Copied from https://github.com/coreos/etcd/blob/master/Documentation/faq.md.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-27 10:56:06 -07:00
54e2511b25 Merge pull request #9883 from joelegasse/jwt
auth: Support all JWT algorithms
2018-06-27 17:12:56 +09:00
eb0a10da8a Merge pull request #9887 from bdarnell/become-leader
raft: Really avoid scanning raft log in becomeLeader
2018-06-26 13:31:08 -07:00
67488a7c27 CHANGELOG-3.4: JWT signing methods 2018-06-26 16:31:01 -04:00
a6ddb51c8a auth: Support all JWT algorithms
This change adds support to etcd for all of the JWT algorithms included
in the underlying JWT library.
2018-06-26 16:31:01 -04:00
61354ff8ed Merge pull request #9886 from zultron/patch-1
clustering.md:  SRV records in DNS SAN for TLS
2018-06-26 13:02:45 -07:00
20422c5b4d raft: Really avoid scanning raft log in becomeLeader
I meant to do this in #9073, but sent the PR before it was finished.
The last log index is known directly; there is no need to fetch any
entries here.
2018-06-26 15:29:51 -04:00
b51d4a3d06 clustering.md: SRV records in DNS SAN for TLS
Using SRV discovery with TLS, the SRV record must be in the DNS SAN or clustering will fail.

This is a new requirement and may cause mysterious failures when upgrading from 3.1 to 3.2.  I was only able to fix this in our configuration after reading through #8445; and now I understand the problem it's clear the docs have a hole here.
2018-06-26 11:51:58 -05:00
8f6348a97d docs: use gRPC v1.13.0
TODO: update images

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-22 10:58:04 -07:00
66ce483bcb CHANGELOG-3.4: use gRPC v1.13.0
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-22 10:57:32 -07:00
5e1cd9d804 Merge pull request #9876 from gyuho/grpc
vendor: upgrade gRPC v1.13.0
2018-06-22 10:52:39 -07:00
c65fd7d7ef vendor: upgrade gRPC v1.13.0
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-21 13:46:40 -07:00
acf75ddc5b Merge pull request #9870 from raoofm/patch-14
docs: mirror_maker, rm readOnly, add uni-directional
2018-06-21 13:36:13 -07:00
053810b0b6 docs: mirror_maker, rm readOnly, add uni-directional
mirror_maker doc mentioned "Data under the destination cluster’s mirroring prefix should be treated as read only."

To avoid confusion, read only is being removed and a clear statement mentions that the updated values at destination wont be replicated from destination to origin.

wont -> won't
2018-06-21 16:34:30 -04:00
7648841bad Merge pull request #9872 from gyuho/watch-clientv3
clientv3: clarify "WithRequireLeader" for network partition
2018-06-20 10:46:23 -07:00
11ead62b9d clientv3: clarify "WithRequireLeader" for network partition
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-20 10:28:41 -07:00
82db651474 Merge pull request #9868 from wenjiaswe/minorchange
etcd-dump-logs: minor editting in README.md
2018-06-19 15:50:05 -07:00
7e0ae96c6a etcd-dump-logs: minor editting in README.md 2018-06-19 15:37:04 -07:00
897c055940 Merge pull request #9865 from gyuho/aaa
tests/e2e: do not run cipher suite tests for gRPC proxy
2018-06-19 13:00:33 -07:00
08474ed5bd tests/e2e: do not run cipher suite tests for gRPC proxy
```
../../bin/etcd-30074: 2018-06-19 11:49:12.052662 I | etcdmain: v2 proxy started listening on client requests on "https://localhost:20002"
../../bin/etcd-30083: Error: unknown flag: --cipher-suites
../../bin/etcd-30083: Usage:
../../bin/etcd-30083:   etcd grpc-proxy start [flags]
```

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-19 11:49:59 -07:00
55a05d9615 Merge pull request #9862 from gyuho/travis
tests: switch between Travis and Semaphore
2018-06-18 14:03:24 -07:00
6d15396bc7 clientv3: add link to architecture docs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-18 13:51:20 -07:00
f3ec7d2aed tests: move "amd64-unit" to travis
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-18 13:37:52 -07:00
6931e9dd23 tests/semaphore: remove coverage, grpcproxy tests, add unit tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-18 13:24:20 -07:00
1eaba4195e travis: remove unit tests, run grpcproxy, coverage tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-18 13:23:59 -07:00
a205cfe858 Merge pull request #9861 from gyuho/race
etcdserver/api/v3rpc: remove duplicate gRPC logger set
2018-06-18 11:39:08 -07:00
d456c0beb4 integration: disable embed tests with gRPC proxy for now
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-18 11:30:52 -07:00
339cda03b3 etcdserver/api/v3rpc: remove duplicate gRPC logger set
Fix

=== RUN   TestEmbedEtcd
==================
WARNING: DATA RACE
Write at 0x000001df86d0 by goroutine 711:
  github.com/coreos/etcd/embed.(*Config).setupLogging.func1()
      /go/src/github.com/coreos/etcd/vendor/google.golang.org/grpc/grpclog/loggerv2.go:68 +0x16c
  sync.(*Once).Do()
      /usr/local/go/src/sync/once.go:44 +0xe1
  github.com/coreos/etcd/embed.(*Config).setupLogging()

in gRPC proxy tests.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-18 09:41:37 -07:00
b98f0c9190 CHANGELOG-3.4: fix --cipher-suites flag change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-18 09:25:34 -07:00
d866cf8a9e Merge pull request #9860 from gyuho/new-balancer-april-2018
clientv3: Upgrade to round robin balancer based on gRPC 1.12 balancer API
2018-06-15 18:13:41 -07:00
cb6e9d2a7e CHANGELOG: Add PR and issue links for new client balancer 2018-06-15 16:46:40 -07:00
8451a1715f clientv3: Enable balancer logging if ETCD_CLIENT_DEBUG environment variable is set 2018-06-15 16:28:36 -07:00
aa03eba788 Merge pull request #9859 from wenjiaswe/eddreamdme
etcd-dump-logs: minor change in README.md
2018-06-15 15:36:56 -07:00
854e9e1174 etcd-dump-logs: minor change in README.md 2018-06-15 15:30:11 -07:00
6309e4b4cf docs: Add client architecture doc 2018-06-15 14:47:11 -07:00
6572d605ad vendor: Bump to grpc v1.12.2 2018-06-15 14:47:11 -07:00
d922069713 grpcproxy: fix "grpc.ErrClientConnClosing" handling
Fix

```
go test -v -tags cluster_proxy -run TestWatchErrConnClosed
```

with gRPC >= v1.10

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 14:47:11 -07:00
6e521d2f3f clientv3: add "IsConnCanceled", deprecate "grpc.ErrClientConnClosing"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 14:47:08 -07:00
a76681073d clientv3: add "zap.Config" to replace global logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
08da08bb19 clientv3: clarify retry function names, do not retry on dial error
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
dd520cebd4 clientv3: put "defaultCallOpts" back to "Client" object
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
a3032d3d0b *: fix fmt tests, reenable "testEmbedEtcdGracefulStop"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
3b84117f54 clientv3/integration: Add err check to TestDialTLSNoConfig to prevent nil pointer dereference on c.Close() 2018-06-15 13:41:28 -07:00
05c57a0ea4 integration: Fix unit test failures from new grpc LB changes, fix bom 2018-06-15 13:41:28 -07:00
55ef9cc1d0 clientv3: Add auth retry to retry interceptor 2018-06-15 13:41:28 -07:00
3130e4da1c vendor: add "go-grpc-middleware/util/backoffutils"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
a5b2fb5563 clientv3: Introduce custom retry interceptor based on go-grpc-middleware/retry 2018-06-15 13:41:28 -07:00
4065735845 clientv3: remove unused "dialerrc"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
1f6548b751 clientv3: Stop expecting retry in integration tests with new grpc balancer 2018-06-15 13:41:28 -07:00
8569b9c782 clientv3: Fix endpoint resolver to create a new resolver for each grpc client connection 2018-06-15 13:41:28 -07:00
9304d1abd1 clientv3: Fix TLS test failures by returning DeadlineExceeded error from dial without any additional wrapping 2018-06-15 13:41:28 -07:00
ee2747eba8 clientv3: Fix dial calls to consistently use endpoint resolver, attempt to deflake alarm test 2018-06-15 13:41:28 -07:00
f84f554301 clientv3: Fix auth client to use endpoints instead of host when dialing, fix tests to block on dial when required. 2018-06-15 13:41:28 -07:00
66e65cd660 clientv3: Avoid timeouts in ordering test 2018-06-15 13:41:28 -07:00
bb032f3e5f clientv3: deprecate "grpc.WithTimeout" in favor of "grpc.DialContext"
"grpc.WithTimeout" dial option is being deprecated.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
994a569f53 clientv3: pass "grpc.WithBlock" on "TestDialTimeout"
Otherwise, grpc.DialContext would just return before
connection is up.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
037d7b4abe clientv3: dial with context when creating authenticator
Otherwise, "grpc.Dial" blocks when "grpc.WithTimeout" dial
option gets deprecated.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
7ac2a2dd20 clientv3: Fix dialer for new balancer to correctly handle first are as endpoint, not hostname 2018-06-15 13:41:28 -07:00
309208dbef clientv3: Split out grpc balancer builder to ensure there is a balancer per ClientConn 2018-06-15 13:41:28 -07:00
12acfc057a vendor: upgrade grpc/grpc-go to v1.11.3 2018-06-15 13:41:28 -07:00
f20a1173d8 clientv3: Fix new load balancer integration issues 2018-06-15 13:41:28 -07:00
6080fa1270 clientv3: Integrate new grpc load balancer interface with etcd client 2018-06-15 13:41:28 -07:00
ed6bc2b554 clientv3: add load balancer unix socket test 2018-06-15 13:41:28 -07:00
4d2a25b056 clientv3/balancer: add endpoints resolver 2018-06-15 13:41:28 -07:00
9867210a54 clientv3/balancer: add "TestRoundRobinBalancedPassthrough" (WIP)
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
370761de82 clientv3/balancer: add more failover tests with resolver
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
7c92185fe3 clientv3/balancer: use new mock server in tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
f1aa428a38 pkg/mock/mockserver: support restart
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
657c2e15cc *: introduce mock server for testing load balancing and add a simple happy-path load balancer test
Author:    Joe Betz <jpbetz@google.com>
Date:      Wed Mar 28 15:51:33 2018 -0700
2018-06-15 13:41:28 -07:00
7fe4a08fdc clientv3/balancer: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
6e2bf40015 vendor: upgrade "grpc/grpc-go" to v1.11.1
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
b241e383fd Merge pull request #9858 from gyuho/lll
etcdserver: clean up election tick timeout log output
2018-06-15 13:40:44 -07:00
bd8ab3df93 Merge pull request #9857 from gyuho/quota-log
etcdserver: log quota only once
2018-06-15 13:40:30 -07:00
52ffe9f79a etcdserver: clean up election tick timeout log output
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:35:25 -07:00
929d390520 etcdserver: log quota only once
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:13:44 -07:00
8990126c17 rafthttp: add "RaftDropHeartbeat" failpoint
To simulate network partition locally.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:10:58 -07:00
9a7205cac8 README: fix docs badge 2018-06-15 13:10:58 -07:00
c7ca32b143 README: add "https://etcd.readthedocs.io/en/latest" badge 2018-06-15 13:10:58 -07:00
1136ba0e0d raft: fix logger variadic parameter
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:10:58 -07:00
9054786553 Revert "raft: fix logger Panic variadic parameter"
This reverts commit 5a94aba33eeb504e7036a27268c67f6a1796445e.
2018-06-15 13:10:58 -07:00
e07d19e549 raft: fix logger Panic variadic parameter
"# github.com/coreos/etcd/raft
raft/logger.go:117: missing ... in args forwarded to print-like function"

New parameter check got added the golang to check the function parameter
c006036075 (diff-8fa5b0d6191706747ef5773f895781c9)
2018-06-15 13:10:58 -07:00
7ae862cba5 CHANGELOG-3.3: update date 2018-06-15 13:10:58 -07:00
7e42c66c34 words: whitelist "__lostleader" from watcher branch
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-14 16:14:01 -07:00
de950842c5 words: whitelist more from balancer branch
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-14 15:19:26 -07:00
7bc414897e words: add more from balancer branch
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-14 15:04:29 -07:00
5ba680d762 docs: initial commit for architecture docs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-14 12:56:09 -07:00
13e7447a2d CHANGELOG-3.2: highlight watch client backport
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-14 10:53:37 -07:00
edab6486c4 CHANGELOG: highlight vendor updates, clientv3 change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-14 10:45:39 -07:00
410d28c976 Merge pull request #9840 from liggitt/client-hotloop
Backoff on reestablishing watches when Unavailable errors are encountered
2018-06-14 09:34:02 -07:00
03cec4acb9 Merge pull request #9849 from wenjiaswe/changelog49848
CHANGELOG-3.1: update from #9848
2018-06-13 16:48:53 -07:00
85fc165249 CHANGELOG-3.1: update from #9848 2018-06-13 16:43:53 -07:00
51a209c56f Makefile: grep "DATA RACE" for tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 16:24:08 -07:00
ecd769c11a Merge pull request #9846 from wenjiaswe/changelog49845
CHANGELOG: update from #9845
2018-06-13 16:10:32 -07:00
85cb97a171 CHANGELOG: update from #9845 2018-06-13 16:08:00 -07:00
271f8d6365 Merge pull request #9844 from gyuho/aaa
tests: run coverage tests in Semaphore
2018-06-13 14:36:17 -07:00
0d13176c99 tests/e2e: do not run cipher suite tests in coverage tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 14:32:27 -07:00
8b5cd847d0 tests/semaphore.test.bash: use "sudo" for docker, clean up
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 13:52:56 -07:00
bf34c6a13b tests: run coverage tests in Semaphore
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 13:21:08 -07:00
5277105e1c Merge pull request #9843 from gyuho/semaphore-proxy
tests: run proxy tests in Semaphore
2018-06-13 13:14:04 -07:00
1be4f7526c tests/semaphore.test.bash: match "DATA RACE"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 13:06:33 -07:00
8147e9260f tests: run proxy tests in Semaphore
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 12:57:39 -07:00
f44abd219a Merge pull request #9842 from gyuho/ttt
travis: combine all build tests
2018-06-13 12:42:23 -07:00
4f0c96b424 travis: combine all build tests
We only get 5 concurrent workers in Travis.
Save time by fetching test image only once
for all build tests.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 12:32:50 -07:00
587b264c79 Merge pull request #9841 from gyuho/vvv
vendor: upgrade dependencies except grpc-go
2018-06-13 11:59:20 -07:00
1bca5ae20a bill-of-materials: regenerate
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:49:38 -07:00
b60259dce2 vendor: upgrade "github.com/beorn7/perks"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:18:39 -07:00
f9084d5d69 vendor: upgrade "gopkg.in/cheggaaa/pb.v1"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:17:44 -07:00
7e5770fa40 vendor: upgrade "google.golang.org/genproto"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:17:14 -07:00
f9fa507a7a vendor: upgrade "golang.org/x/time"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:16:49 -07:00
d9bbcc8e27 vendor: update "golang.org/x/text"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:16:15 -07:00
42efd8a6f1 vendor: upgrade "golang.org/x/sys"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:15:44 -07:00
0ded506c6c vendor: upgrade "golang.org/x/net"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:14:57 -07:00
955e1c4467 vendor: upgrade "golang.org/x/crypto"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:14:36 -07:00
8cedb48570 vendor: upgrade "gopkg.in/yaml.v2"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:13:58 -07:00
0c147bd8e0 vendor: upgrade "go.uber.org/atomic"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:12:53 -07:00
d5db59ffb6 vendor: upgrade "spf13/cobra,pflag"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:10:59 -07:00
31c7d0139c vendor: upgrade "sirupsen/logrus"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:10:09 -07:00
853bb8d0e5 vendor: upgrade "github.com/prometheus/procfs"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:08:50 -07:00
3e282713b8 vendor: upgrade "github.com/prometheus/common"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:08:08 -07:00
acf9dce89a vendor: upgrade "github.com/prometheus/client_golang"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:06:44 -07:00
0a61466253 vendor: upgrade "github.com/grpc-ecosystem/go-grpc-prometheus"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:04:47 -07:00
35f421780a vendor: upgrade "dgrijalva/jwt-go"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-13 10:04:07 -07:00
d1579c95a2 clientv3: backoff on reestablishing watches when Unavailable errors are encountered 2018-06-13 02:05:04 -04:00
88acced1cd Documentation/upgrades: highlight "latest" tag change in v3.4
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-12 13:00:24 -07:00
a133e9fc8c etcdserver: remove TODO from "warnOfExpensiveGenericRequest"
Metric is already added.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-12 09:37:00 -07:00
0bf6b87d5e Merge pull request #9835 from jpbetz/fix-txn-warning-cmp-val
etcdserver: Fix txn request 'took too long' warnings to use loggable request stringer
2018-06-11 17:45:12 -07:00
a6fad51603 etcdserver: Fix txn request 'took too long' warnings to use loggable request stringer 2018-06-11 16:58:48 -07:00
59aec1fa31 Merge pull request #9834 from xiang90/m_m
backend: more metrics for bboltdb transaction
2018-06-11 14:34:07 -07:00
63c482e430 CHANGELOG: highlight new backend metrics 2018-06-11 14:05:29 -07:00
2f1730fcae backend: more metrics for bboltdb transcation 2018-06-11 14:05:04 -07:00
322c0df785 Merge pull request #9832 from gyuho/functional
functional/tester: fix trigger snapshot retry
2018-06-11 13:14:34 -07:00
19de2b2177 functional/tester: fix trigger snapshot retry
Fix negative commit entry diff:

> {"level":"info","ts":1528740474.775448,"caller":"tester/case.go:299","msg":"trigger snapshot PROGRESS","retries":53,"committed-entries":-238470,"etcd-snapshot-count":10000,"start-revision":238470,"last-revision":0,"took":77.302668629,"error":"context deadline exceeded"}

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-11 12:49:18 -07:00
f985e5172a CHANGELOG: highlight response size information in slow request
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-11 12:23:10 -07:00
849d3f2ac9 Merge pull request #9826 from jpbetz/response_sizes
etcdserver: Add response byte size and range response count to took too long warning
2018-06-11 11:13:24 -07:00
b47e148d5d etcdserver: Add response byte size and range response count to took too long warning 2018-06-11 10:02:30 -07:00
bb744f6d2b words: whitelist more for balancer branch
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-08 14:35:39 -07:00
cbcf84464c words: whitelist more from new balancer branch
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-08 14:13:14 -07:00
79086ba425 Merge pull request #9828 from gyuho/aaa
integration: block dial for timeout errors
2018-06-08 14:00:24 -07:00
cbb6dea367 integration: block dial for timeout errors
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-08 13:49:17 -07:00
61ef343166 Merge pull request #9827 from gyuho/go
*: use Go 1.10.3 for CI tests
2018-06-08 11:36:22 -07:00
9034e1c144 Makefile: use Go 1.9.7
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-08 10:54:56 -07:00
f4ea05803e semaphore: use latest v3.3 patch release for release test
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-08 10:53:47 -07:00
082c3ef0bc *: use Go 1.10.3 for CI tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-08 10:50:12 -07:00
c6e18c712c CHANGELOG: highlight slow request warning log
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-08 09:57:13 -07:00
e22ab78ccb Merge pull request #9822 from jpbetz/value_size_stringer
etcdserver: Replace value contents with value_size in request took too long warning
2018-06-08 09:39:56 -07:00
225b0bf80a etcdserver: Replace value contents with value_size in request took too long warning 2018-06-07 16:41:48 -07:00
d6ff23e669 Merge pull request #9820 from gyuho/quota-size
*: add "etcd_server_quota_backend_bytes" metric
2018-06-07 12:06:34 -07:00
a9aafc8d6b CHANGELOG: highlight metrics change, clean up
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 12:06:09 -07:00
84fafff329 Merge pull request #9819 from gyuho/mmm
*: promote db size metric to "'etcd" namespace
2018-06-07 11:43:48 -07:00
184372cd1b integration: add "TestMetricQuotaBackendBytes"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 10:48:16 -07:00
7dd7018835 etcdserver: add "etcd_server_quota_backend_bytes"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 10:44:51 -07:00
a8d7d5ad72 Documentation/upgrades: highlight db metrics change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 10:33:02 -07:00
009d05ae4f Documentation/op-guide: highlight db size metrics change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 10:26:45 -07:00
f2db05a869 mvcc: server db size with "etcd_debugging" namespace for backward compatibility
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 10:23:12 -07:00
21130d5fb6 mvcc: promote db size metrics to "etcd"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 10:20:45 -07:00
cf196fc4d8 Documentation/op-guide: promote db size metric in grafana.json
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 10:20:45 -07:00
196625b917 integration: promote db size metrics to "etcd"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-07 10:20:41 -07:00
25f4d80980 Merge pull request #9815 from jpbetz/changelog-3.1.17-3.2.22
CHANGELOG: Add dates for 3.1.17 and 3.2.22 releases
2018-06-06 10:54:33 -07:00
004d640ff5 Merge pull request #9814 from jpbetz/script-build-fix
scripts: Fix release script to always build etcd binary before checking version
2018-06-06 10:54:17 -07:00
0d4063681d CHANGELOG: Add dates for 3.1.17 and 3.2.22 releases 2018-06-06 10:50:27 -07:00
a8990e2e18 scripts: Fix release script to always build etcd binary before checking version 2018-06-06 10:48:45 -07:00
beae09e807 CHANGELOG: clarify snapshot fix, clean up
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-06 09:47:31 -07:00
5d461a9e1b Merge pull request #9813 from mgates/move_lease_sorting_outside_lock
leases: Move lease sorting outside of lock
2018-06-06 09:39:46 -07:00
aa02ceb2e5 leases: Move lease sorting outside of lock
Because the leases were sorted inside UnsafeLeases() the lessor mutex
ended up being locked while the whole map was sorted. This pulls the
soring outside of the lock, per feedback on
https://github.com/coreos/etcd/pull/9699
2018-06-06 15:05:23 +00:00
ab19dee5ce CHANGELOG: highlight June patch release
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 16:08:51 -07:00
52ae578922 Merge pull request #9807 from gyuho/move-leader
ctlv3: support TLS endpoints for move-leader command
2018-06-05 15:46:49 -07:00
54ed4de6d1 Merge pull request #9801 from gyuho/cipher-suites
*: support TLS cipher suite whitelist
2018-06-05 15:46:09 -07:00
65192fddfa ctlv3: support TLS endpoints for move-leader command
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 13:48:09 -07:00
6d9cb7ac9a tests/e2e: test move-leader command with TLS
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 13:45:14 -07:00
1a47c28504 Documentation/op-guide: document "--cipher-suites"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 13:25:57 -07:00
96e8cff286 CHANGELOG: highlight custom cipher suite feature
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 13:23:55 -07:00
94f2e450dd Merge pull request #9806 from spzala/master
Check: correct the memory limit
2018-06-05 13:19:46 -07:00
d82f726da8 tests/e2e: test client-side cipher suites with curl
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 12:59:29 -07:00
abffe0d29a etcdmain: add "--cipher-suites" flag
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 12:54:34 -07:00
3125c0c3e8 embed: support custom cipher suites
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 12:50:29 -07:00
917d40cd4c integration: test client-side TLS cipher suites
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 12:34:56 -07:00
3fb9cc84c6 pkg/transport: add "TLSInfo.CipherSuites" field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 12:27:05 -07:00
67313ff06f pkg/tlsutil: add "GetCipherSuite"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 12:26:48 -07:00
eff8166a45 Check: correct the memory limit
We should be doing 3M not 30 as it's said in the doc comment.
2018-06-05 09:46:56 -04:00
438e6750ee Merge pull request #9799 from shubhamranjan/master
Documentation: Add v3 grpc C# client to libraries
2018-06-04 08:07:12 -04:00
537a1a66e6 Documentation: Add v3 grpc C# client to libraries 2018-06-04 16:16:56 +05:30
83abce0677 Merge pull request #9796 from gyuho/watcher-benchmark
mvcc: separate synced/unsynced benchmarks
2018-06-01 10:06:57 -07:00
e239cc276a mvcc: separate synced/unsynced benchmarks
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-01 10:00:18 -07:00
e6de5d8091 Merge pull request #9792 from gyuho/cov
etcdctl/ctlv3: remove ETCDCTL_API warning, fix e2e coverage tests
2018-05-31 15:46:28 -07:00
5858f1ac15 Merge pull request #9793 from ercliou/fix-ebnf
Documentation: Fix etcdctl tx eBNF
2018-05-31 14:43:47 -07:00
cc50a70495 Merge pull request #9790 from wenjiaswe/decoder-support
etcd-dump-logs: add decoder support
2018-05-31 14:30:25 -07:00
29121a8cee etcd-dump-logs: add decoder support 2018-05-31 14:29:46 -07:00
b153be2acb tests/e2e: fix "testCtlV2Backup"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-31 14:25:24 -07:00
85e3c5ec37 etcdctl/ctlv3: remove ETCDCTL_API warning
To make coverage stats happy 25bc65794f.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-31 14:23:55 -07:00
6d773ffe96 Merge pull request #9794 from jpbetz/release-scripts-june
scripts/release: Fix docker push for 3.1 releases, remove inaccurate warning at the end of release script
2018-05-31 14:02:34 -07:00
9ce31018e8 Merge pull request #9795 from jpbetz/changelog-3.1.16_3.2.21
CHANGELOG: Updates dates for 3.1.16 and 3.2.21 releases
2018-05-31 14:01:44 -07:00
273d138ca7 CHANGELOG: Updates dates for 3.1.16 and 3.2.21 releases 2018-05-31 13:58:55 -07:00
e2821a16ff scripts/release: Fix docker push for 3.1 releases, remove inaccurate warning at the end of release script 2018-05-31 13:56:07 -07:00
8b16c234af Documentation: Fix etcdctl tx eBNF
`create` also expects operand, or this error is printed:
Error:  malformed comparison: create("mykey") "0"; got create("mykey") "0" ""
2018-05-31 16:40:47 -03:00
0db7ea7337 scripts/release: disable minor version docker push
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-31 12:08:01 -07:00
aaa71e5b6f CHANGELOG-3.3: update patch release date
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-31 11:13:53 -07:00
391433b69a Merge pull request #9775 from gyuho/fix-grpc-proxy-watch
mvcc: fix panic by allowing future revision watcher from restore operation
2018-05-31 11:06:45 -07:00
2b3aa7e1d4 Merge pull request #9777 from primeroz/master
Documentation: Add etcd version support notes for Using TLS common name in RBAC and notes about inter-peer CN filtering
2018-05-30 19:51:16 -04:00
d2d8c5716f Merge pull request #9789 from brancz/mixin-dashboard
Documentation: Add Grafana dashboard to etcd monitoring mixin
2018-05-30 09:50:20 -07:00
003e2f313c Merge pull request #9788 from hexfusion/fx_doc
Documentation: add min version for --listen-metric-urls flag.
2018-05-30 09:49:06 -07:00
3b53146b49 Documentation: Add support notes for Using TLS common name in RBAC and support for inter-peer CN filtering 2018-05-30 13:29:42 +01:00
778bfe1c82 Documentation: Add Grafana dashboard to etcd monitoring mixin 2018-05-30 13:42:36 +02:00
96ea63d44e Documentation: add min version for --listen-metric-urls flag. 2018-05-29 23:26:10 -04:00
e2a6489c1e Merge pull request #9787 from gyuho/fix
clientv3/integration: fix "TestMaintenanceSnapshotErrorInflight"
2018-05-29 13:33:22 -07:00
7284e5a0a9 clientv3/integration: fix "TestMaintenanceSnapshotErrorInflight"
Errors from gRPC should be typed *status.statusError

=== RUN   TestMaintenanceSnapshotErrorInflight
WARNING: 2018/05/29 11:43:21 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial unix localhost:55815860381826373260: connect: no such file or directory"; Reconnecting to {localhost:55815860381826373260 0  <nil>}
--- FAIL: TestMaintenanceSnapshotErrorInflight (2.42s)
	maintenance_test.go:192: expected context deadline exceeded, got rpc error: code = DeadlineExceeded desc = context deadline exceeded

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-29 11:49:18 -07:00
1951ebab7e Merge pull request #9706 from metalmatze/etcd3-alerts
Documentation/op-guide: remove etcd_http_.* rules from examples
2018-05-29 11:35:51 -07:00
6e61eb2529 Documentation/op-guide: remove etcd_http_.* rules from examples 2018-05-29 11:35:02 -07:00
3f9cce7797 CHANGELOG-3.4: highlight ETCDCTL_API=3 change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-29 11:32:51 -07:00
356c4f17ca CHANGELOG: add "--password" flag
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-29 11:25:42 -07:00
dbb37f98fd Merge pull request #9730 from mitake/user-w-colon
etcdctl: add --password flag to the subcommand user add
2018-05-29 11:14:46 -07:00
eeb8bcc753 Documentation/upgrades: remove "./bin"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-29 11:06:31 -07:00
b11a6aa381 Documentation/upgrades: highlight ETCDCTL_API change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-29 11:05:24 -07:00
b7d556bde5 CHANGELOG: highlight ETCDCTL_API change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-29 11:01:34 -07:00
fb43f46c0a Merge pull request #9640 from grapeshot/monitoring-mixin
Prometheus Monitoring Mixin for etcd.
2018-05-29 09:54:35 -07:00
13d4e1509b Documentation: add Prometheus monitoring-mixin
Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
2018-05-29 09:52:40 -07:00
0c858dc248 Merge pull request #9784 from vimalk78/9600_ETCDCTL_API_3_default
etcdctl/ctlv3: etcd v3.4 makes ETCDCTL_API=3 by default
2018-05-29 09:38:58 -07:00
25bc65794f etcdctl/ctlv3: etcd v3.4 makes ETCDCTL_API=3 by default 2018-05-29 06:27:20 +05:30
ce918cef63 Merge pull request #9780 from vimalk78/9583_ETCDCTL_ENDPOINT_confused_trim_space
etcdctl/ctlv3 : fixes 9583. trim spaces in ETCDCTL_ENDPOINTS env variable
2018-05-27 09:38:38 -07:00
357308bfcd Merge pull request #9679 from lorneli/lorneli-raft-dev
raft: describe the purpose of lockedRand
2018-05-26 22:03:18 -07:00
a083282482 raft: describe the purpose of lockedRand
Struct lockedRand wraps rand.Rand with mutex lock because it's
accessed by multiple raft groups.
2018-05-26 21:59:24 +08:00
807dfcea78 etcdctl: fixes 9583. trim spaces in ETCDCTL_ENDPOINTS 2018-05-26 04:58:06 +05:30
ba10640d0b Merge pull request #9778 from idiamond-stripe/idiamond-add-leases-metric
leases: Add metrics to etcd leases
2018-05-25 14:04:02 -07:00
0369298b21 leases: Add metrics to etcd leases
This patch adds four metrics to the `leases` package for easier
debugging.
2018-05-25 12:57:28 -07:00
0398ec7dcb mvcc: fix panic by allowing future revision watcher from restore operation
This also happens without gRPC proxy.

Fix panic when gRPC proxy leader watcher is restored:

```
go test -v -tags cluster_proxy -cpu 4 -race -run TestV3WatchRestoreSnapshotUnsync

=== RUN   TestV3WatchRestoreSnapshotUnsync
panic: watcher minimum revision 9223372036854775805 should not exceed current revision 16

goroutine 156 [running]:
github.com/coreos/etcd/mvcc.(*watcherGroup).chooseAll(0xc4202b8720, 0x10, 0xffffffffffffffff, 0x1)
	/home/gyuho/go/src/github.com/coreos/etcd/mvcc/watcher_group.go:242 +0x3b5
github.com/coreos/etcd/mvcc.(*watcherGroup).choose(0xc4202b8720, 0x200, 0x10, 0xffffffffffffffff, 0xc420253378, 0xc420253378)
	/home/gyuho/go/src/github.com/coreos/etcd/mvcc/watcher_group.go:225 +0x289
github.com/coreos/etcd/mvcc.(*watchableStore).syncWatchers(0xc4202b86e0, 0x0)
	/home/gyuho/go/src/github.com/coreos/etcd/mvcc/watchable_store.go:340 +0x237
github.com/coreos/etcd/mvcc.(*watchableStore).syncWatchersLoop(0xc4202b86e0)
	/home/gyuho/go/src/github.com/coreos/etcd/mvcc/watchable_store.go:214 +0x280
created by github.com/coreos/etcd/mvcc.newWatchableStore
	/home/gyuho/go/src/github.com/coreos/etcd/mvcc/watchable_store.go:90 +0x477
exit status 2
FAIL	github.com/coreos/etcd/integration	2.551s
```

gRPC proxy spawns a watcher with a key "proxy-namespace__lostleader"
and watch revision "int64(math.MaxInt64 - 2)" to detect leader loss.
But, when the partitioned node restores, this watcher triggers
panic with "watcher minimum revision ... should not exceed current ...".

This check was added a long time ago, by my PR, when there was no gRPC proxy:

https://github.com/coreos/etcd/pull/4043#discussion_r48457145

> we can remove this checking actually. it is impossible for a unsynced watching to have a future rev. or we should just panic here.

However, now it's possible that a unsynced watcher has a future
revision, when it was moved from a synced watcher group through
restore operation.

This PR adds "restore" flag to indicate that a watcher was moved
from the synced watcher group with restore operation. Otherwise,
the watcher with future revision in an unsynced watcher group
would still panic.

Example logs with future revision watcher from restore operation:

```
{"level":"info","ts":1527196358.9057755,"caller":"mvcc/watcher_group.go:261","msg":"choosing future revision watcher from restore operation","watch-key":"proxy-namespace__lostleader","watch-revision":9223372036854775805,"current-revision":16}
{"level":"info","ts":1527196358.910349,"caller":"mvcc/watcher_group.go:261","msg":"choosing future revision watcher from restore operation","watch-key":"proxy-namespace__lostleader","watch-revision":9223372036854775805,"current-revision":16}
```

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-25 12:40:02 -07:00
86d1d3e8dc integration: enable TestV3WatchRestoreSnapshotUnsync for gRPC proxy
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-25 12:30:42 -07:00
476c9cbeed CHANGELOG: clarify watch fix, add lease metrics changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-25 12:30:05 -07:00
0ad6e5269e CHANGELOG: patch release with watch fix
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-25 11:45:45 -07:00
1ebaeed5c1 embed: fix typo
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-25 11:15:47 -07:00
f5e52c995c Merge pull request #9773 from gyuho/auth-test
integration: test lease revoke routine with JWT token
2018-05-24 12:16:09 -07:00
a52f16d4a6 integration: test lease revoke routine with JWT token
https://github.com/coreos/etcd/pull/9698 wasn't really testing
the panic code path when leases are expiry.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-24 11:38:31 -07:00
20cf7f4d5b Merge pull request #9671 from lorneli/raft-test
raft: merge test cases of pre-candidate with the normal one
2018-05-24 08:27:07 -07:00
b4f84f046b Merge pull request #9765 from gyuho/watch-restore
mvcc: watcherGroup chooseAll panic (skip proxy tests for now)
2018-05-23 16:53:50 -07:00
a16576c763 CHANGELOG: update dates, upcoming patch releases
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 16:00:02 -07:00
210c842345 mvcc: improve watcherGroup panic message
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 15:38:40 -07:00
9cac286830 integration: move "TestV3WatchRestoreSnapshotUnsync"
When run with "-tags cluster_proxy", panic.
Need investigate more.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 15:35:59 -07:00
83fd1c3faa Merge pull request #9762 from gyuho/rrr
*: document all histogram metrics, add etcd_snap_fsync_duration_seconds
2018-05-23 14:42:39 -07:00
5f2c195ee7 CHANGELOG-3.4: add "etcd_network_active_peers" and disconnected_peers_total
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:32:19 -07:00
3821f3364d etcdserver/api/rafthttp: add "etcd_network_active_peers/disconnected_peers_total"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:23:45 -07:00
1a102fb3f5 proxy/httpproxy: document histogram
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:03:28 -07:00
b0b966c43c wal: document, clean up fsync histogram
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:03:28 -07:00
1d91698268 mvcc: document, clean up histogram variables
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:03:28 -07:00
e6a113cdcd mvcc/backend: clean up histogram variables
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:03:28 -07:00
afe78fbe69 etcdserver/api/v2http: document histogram
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:03:28 -07:00
973fe43b83 etcdserver/api/snap: document histograms, add "etcd_snap_fsync_duration_seconds"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:03:28 -07:00
640f5e64a9 etcdserver/api/rafthttp: document round-trip metrics, clean up
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:03:28 -07:00
5a9e48be30 etcdserver/api/rafthttp: increase bucket upperbound up-to 3-sec
From 0.8 sec to 3.2 sec for more detailed latency analysis

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:03:28 -07:00
2b01460b4d CHANGELOG-3.4: highlight new metrics, histogram upper bound changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 14:00:48 -07:00
c444c1f327 Merge pull request #9761 from gyuho/mmm
etcdserver,mvcc: add more storage layer metrics
2018-05-23 13:11:29 -07:00
a1aade8c1b etcdserver: rename to "heartbeat_send_failures_total"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 13:11:08 -07:00
bc59f7b42f mvcc: add "etcd_mvcc_hash_(rev)_duration_seconds"
etcd_mvcc_hash_duration_seconds
etcd_mvcc_hash_rev_duration_seconds

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 13:09:42 -07:00
966ee9323c mvcc/backend: fix defrag duration scale
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 13:09:42 -07:00
d326b2933c mvcc/backend: add "etcd_disk_backend_defrag_duration_seconds"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 13:09:42 -07:00
60a9ec8a15 mvcc/backend: document metrics ExponentialBuckets
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 13:09:42 -07:00
58e3ead219 mvcc/backend: clean up mutex, logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 13:09:42 -07:00
dd1baf6e96 etcdserver: add "etcd_server_slow_apply_total"
{"level":"warn","ts":1527101858.6985068,"caller":"etcdserver/util.go:115","msg":"apply request took too long","took":0.114101529,"expected-duration":0.1,"prefix":"","request":"header:<ID:1029181977902852337> put:<key:\"\\000\\000...

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 13:09:42 -07:00
896a5e4a2b etcdserver: add "etcd_server_heartbeat_failures_total"
{"level":"warn","ts":1527101858.4149103,"caller":"etcdserver/raft.go:370","msg":"failed to send out heartbeat; took too long, server is overloaded likely from slow disk","heartbeat-interval":0.1,"expected-duration":0.2,"exceeded-duration":0.025771662}
{"level":"warn","ts":1527101858.4149644,"caller":"etcdserver/raft.go:370","msg":"failed to send out heartbeat; took too long, server is overloaded likely from slow disk","heartbeat-interval":0.1,"expected-duration":0.2,"exceeded-duration":0.034015766}

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 13:09:42 -07:00
1c18f8dfb9 CHANGELOG-3.4: highlight new server, mvcc metrics
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 13:04:45 -07:00
bf45d6a76e Merge pull request #9760 from gyuho/stream
etcdserver/api/v3rpc: add "etcd_network_server_stream_failures_total"
2018-05-23 10:36:05 -07:00
539e2f2ff8 CHANGELOG-3.4: highlight "etcd_network_server_stream_failures_total"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 10:35:37 -07:00
a5b32ba941 etcdserver/api/v3rpc: add "etcd_network_server_stream_failures_total"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 08:05:43 -07:00
0e2dd3e4f1 Merge pull request #9757 from hexfusion/gg_latest
vendor: update "grpc-gateway" to v1.4.1
2018-05-23 07:25:41 -07:00
f31a02d4c1 vendor: update "grpc-gateway" to v1.4.1 2018-05-23 08:41:56 -04:00
fe15c3250e scripts/genproto: use latest "grpc-ecosystem/grpc-gateway" 2018-05-23 08:36:58 -04:00
7afa98fc8a CHANGELOG: upgrade "grpc-ecosystem/grpc-gateway" dependencies 2018-05-23 08:36:58 -04:00
20b1a98d20 Merge pull request #9756 from gyuho/grpc-gateway
vendor: update "grpc-gateway" to v1.4.0
2018-05-23 08:07:52 -04:00
c77223f166 vendor: update "grpc-gateway" to v1.4.0
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-23 01:34:06 -07:00
216e8e4417 Merge pull request #9755 from hexfusion/fx_grpc_gateway
vendor: use latest "grpc-ecosystem/grpc-gateway"
2018-05-22 15:39:29 -07:00
05554119c9 vendor: use latest "grpc-ecosystem/grpc-gateway" 2018-05-22 17:35:15 -04:00
b5ceaf7f89 Merge pull request #9754 from gyuho/vendor
vendor: use latest "{gogo,golang}/protobuf"
2018-05-22 14:08:37 -07:00
f13dd2ddfb vendor: use latest "{gogo,golang}/protobuf"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-22 13:42:52 -07:00
d29a0c7172 scripts/genproto: use latest "gogo/protobuf"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-22 13:42:43 -07:00
792b3fa920 CHANGELOG: upgrade "*/protobuf" dependencies
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-22 13:42:24 -07:00
3de040562d Merge pull request #9698 from hexfusion/fx_auth
auth: fix panic using WithRoot and improve JWT coverage
2018-05-22 15:47:47 -04:00
7c38ecc8d2 Merge pull request #9749 from gyuho/rename
*: move internal server packages under "etcdserver"
2018-05-22 12:22:30 -07:00
b30a1166e0 auth: fix panic using WithRoot and improve JWT coverage 2018-05-22 12:53:27 -04:00
7940113906 *: move internal "etcdserver/api/rafthttp"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
2dd555c983 *: move "etcdserver/api/v3compactor"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
871c218894 *: move "etcdserver/api/v3alarm"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
9149565cb3 *: move to "etcdserver/api/membership"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
017232a710 CHANGELOG-3.4: highlight internal package rename
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
671f1c41a8 etcdserver/api/v2discovery: move internal "discovery" package
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 09:50:38 -07:00
346589edd1 Merge pull request #9748 from gyuho/rename
*: clean up logging, move internal "snap" package to "etcdserver"
2018-05-21 09:40:13 -07:00
37925583b8 words: add whitelists
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:46:25 -07:00
7dabd6c255 *: rename internal packages in tools/testing
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
04df89bc11 contrib/raftexample: rename internal packages
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
4d80753804 etcdctl: rename internal snapshot packages
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
2d542d336a scripts/genproto.sh: rename
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
d41bcb7ff6 CHANGELOG-3.4: rename "clientv3/snapshot"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
143fbf4caa clientv3/snapshot: rename snapshot package
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
1e4f56114e etcdserver: use new "snap" import paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
a0b4ecbd4c rafthttp: use new "snap" import paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
adb72e56f1 CHANGELOG-3.4: highlight "etcdserver/api/snap"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
2bd689acea etcdserver/api/snap: rename internal package
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
d05f675def raftsnap: clean up logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 07:45:34 -07:00
e385563009 README: fix typo
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 01:48:10 -07:00
8fcab98bf2 etcdctl: add flags for specifying password
This commit adds two flags to etcdctl:
1. `--password` flag to etcdctl as a global option. It can be used for
specifying password for authentication required for the command
execution.
2. `--new-user-password` flag to `etcdctl user add`. It can be used
for specifying password of newly created user by the command.

The main motivation of the flags is allowing user to have : in its
name.

Fix https://github.com/coreos/etcd/issues/9691
2018-05-21 16:18:01 +09:00
9a88815c18 CHANGELOG: use gRPC v1.12 for v3.4
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 16:53:44 -07:00
3095b8e530 CHANGELOG: add details on unsynced watch fix
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 16:51:14 -07:00
955fd99bc9 Merge pull request #9746 from gyuho/raft-logger
etcdserver: set default Raft logger with zap.Logger
2018-05-18 16:32:48 -07:00
1a399bd068 Merge pull request #9745 from gyuho/watch
*: test watch restore in network-partitioned node, clean up fields, logging
2018-05-18 16:32:29 -07:00
58ae15bd29 etcdserver: set default Raft logger with zap.Logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 15:38:39 -07:00
31094e5616 tests/e2e: rename to "snapshotCount"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 15:27:48 -07:00
2847232096 integration: test watch restore on slow follower
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 15:19:37 -07:00
aa99ed54b7 integration: rename "SnapshotCount"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:41:30 -07:00
5235fc2106 functional/rpcpb: rename "SnapshotCount"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:41:01 -07:00
4ce10157ff tests/e2e: rename "SnapshotCount"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:40:02 -07:00
4a0bf23d1f contrib/raftexample: rename "snapCount"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:39:47 -07:00
892f7e02e0 etcdmain: rename "SnapshotCount"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:39:31 -07:00
afe511945e embed: rename "SnapshotCount", add "SnapshotCatchUpEntries"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:38:39 -07:00
49d672ff9b etcdserver: rename "SnapshotCount", add "SnapshotCatchUpEntries"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:37:50 -07:00
374f4cef4d *: document "SnapshotCount" field change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:28:26 -07:00
1c904b1ad6 CHANGELOG-3.4: fix grammar, clarify WAL directory change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 12:43:03 -07:00
fc7b9b07bf Merge pull request #9744 from gyuho/cluster_proxy
clientv3/integration: do not run fragmentation tests with gRPC Proxy
2018-05-18 12:30:10 -07:00
41133eb3c6 Merge pull request #9743 from gyuho/wal
wal: allow non-WAL files in wal directory
2018-05-18 12:29:47 -07:00
19eb8a5132 clientv3/integration: do not run fragmentation tests with gRPC Proxy
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 10:45:03 -07:00
12a227509d CHANGELOG-3.4: add "non-WAL files in ETCD_WAL_DIR"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 10:34:14 -07:00
567b47fc3e wal: filter file names in WAL directory by ".wal"
WAL never writes nor needs files without ".wal" suffix.
Thus, safe to filter out only ".wal" files.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 10:29:48 -07:00
fa6d2e2d71 pkg/fileutil: add "ReadDirOption"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 10:28:27 -07:00
ad4e8e9490 Merge pull request #9738 from gyuho/systemd
vendor: upgrade "github.com/coreos/go-systemd" to v17
2018-05-17 15:43:39 -07:00
fc87b28d21 CHANGELOG-3.4: fix typo in "ugorji/go" link
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 14:36:28 -07:00
89697202b8 CHANGELOG: hilight "coreos/go-systemd" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 14:34:29 -07:00
e0fc9386bc vendor: upgrade "github.com/coreos/go-systemd" to v17
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 14:33:52 -07:00
c2cacb3a50 Merge pull request #9737 from gyuho/test-rafthttp
*: move test rafthttp Transporter to etcdserver
2018-05-17 14:29:26 -07:00
c772599c0f Merge pull request #9736 from gyuho/snap
raftsnap: use zap logger
2018-05-17 14:26:11 -07:00
5bc28488b2 rafthttp: remove unused test Transporter
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 14:17:08 -07:00
366db18662 etcdserver: define test transporter
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 14:16:52 -07:00
f523b0b33f tools/etcd-dump-logs: pass zap logger to raftsnap
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 13:59:29 -07:00
b4565cc97b raftsnap: use zap logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 13:59:20 -07:00
63b6f432dc Merge pull request #9735 from gyuho/upgrade-guide
Documentation/upgrades: improve server checklists with zap logger
2018-05-17 13:15:35 -07:00
22c0f518f7 Documentation/upgrades: improve server checklists with zap logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 13:10:52 -07:00
7f497b81c8 Merge pull request #9733 from gyuho/wal
wal: add missing logs, improve pipeline test coverage
2018-05-17 11:50:41 -07:00
e15ce28168 wal: add missing logs, improve pipeline test coverage
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 11:01:31 -07:00
610dd0911d Merge pull request #9732 from gyuho/procfile
*: use "--logger=zap" for Procfile
2018-05-17 09:30:26 -07:00
6de62861b7 *: use "--logger=zap" for Procfile
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 02:22:34 -07:00
bd00d725f5 CHANGELOG: clean up logging changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 02:22:34 -07:00
d09c614177 Documentation/upgrades: clean up "--log*" flag changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-17 02:22:31 -07:00
1b9791c6bd etcd.conf.yml: use "stderr" for log-outputs
Fix "TestEtcdExampleConfig".

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 19:41:40 -07:00
0bbc6c203d CHANGELOG: update zap logger changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 17:11:37 -07:00
b9c2d5bc50 Merge pull request #9729 from gyuho/log
*: fix capnslog journal writer with zap logger
2018-05-16 15:18:44 -07:00
265a37f006 integration: remove unnecessary blank line
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 15:04:52 -07:00
258d7201eb CHANGELOG: discontinue "--log-outputs=default" support for zap logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 15:03:18 -07:00
15fcd6d599 embed: do not support "--log-outputs=default" for zap logger
systemd/journal should be configured manually.
Interpreting PPID 1 as systemd unit is wrong,
especially when embedded etcd runs under Docker
container. For such case, every single log write
will error and fall back to stderr, which is
inefficient.

Instead, add "systemd/journal" log output option
and returns error if systemd/journal socket cannot
be found.

"--logger=zap --log-outputs=default" will only error
for v3.4, since zap logger is still experimental.

v3.5 deprecates capnslog and changes "--log-outputs"
default value to "--log-outputs=stderr".

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 14:47:43 -07:00
3a80499da4 *: rename to "journal"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 14:38:27 -07:00
5a61dc8008 embed: error when it cannot find journal socket
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 14:35:11 -07:00
1e953bd187 pkg/logutil: error when it can't find journal socket
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 14:34:49 -07:00
65b29b0bd2 Merge pull request #9728 from gyuho/journald
pkg/logutil: do not print error message on journaldWriter
2018-05-16 12:33:26 -07:00
a338816cb4 pkg/logutil: do not print error message on journaldWriter
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 11:34:33 -07:00
4a4be9275c Merge pull request #9681 from gyuho/config-log
doc: deprecate '/config/local/log' in v3.5
2018-05-15 11:07:07 -07:00
53373fecdd Merge pull request #9291 from gyuho/fragment-watch
*: fragment watch response by server request limit
2018-05-14 15:09:11 -07:00
4cbfcfeede test: fix test "etcdserver/api/v2store"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 14:33:49 -07:00
2a5107242c CHANGELOG-3.4: add watch fragmentation
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 13:51:30 -07:00
56ec416eba clientv3/integration: test watch response fragmentation
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 13:34:54 -07:00
d2c8408216 clientv3: support watch events fragmentation
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 13:34:50 -07:00
63dc4429f0 clientv3: add "WithFragment" OpOption
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 13:02:27 -07:00
1eed8493c8 clientv3: add godoc on op.go
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 12:53:54 -07:00
7a92bbfed2 etcdserver/*: move internal v2 packages
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 12:49:49 -07:00
294b5745d6 etcdserver/api/v3rpc: support watch fragmentation with max request bytes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 12:35:50 -07:00
7088d2bf52 etcdserver/api/v3rpc: clean up, read lock on "prevKV"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 12:35:50 -07:00
e1df2156c7 etcdserver/api/v3rpc: clean up godoc
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 12:35:50 -07:00
bd43d174ae *: regenerate proto
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 12:35:50 -07:00
5be21c74e4 etcdserver/etcdserverpb: add "fragment" field to "WatchRequest/Response"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-14 12:35:50 -07:00
0a8dd44dc8 Merge pull request #9724 from ericchiang/security-disclosure
README.md: add security disclosure link
2018-05-14 11:19:39 -07:00
0f170ef4b3 README.md: add security disclosure link 2018-05-14 10:34:22 -07:00
67b1ff6724 Merge pull request #9712 from gyuho/unparam
*: test with "unparam", fix "v2v3" store stored get
2018-05-09 17:21:18 -07:00
e7adfb0ebf raft: use different parameters for tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:42:45 -07:00
df87dba218 tests/e2e: use different parameters
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:42:45 -07:00
c862712c73 pkg/transport: remove unused parameter from "wrapTLS"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:42:45 -07:00
1a83c6ad80 mvcc: remove unused parameters
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:42:45 -07:00
b7443ad849 integration: remove unused parameters
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:42:45 -07:00
42a1d4c3b6 functional: remove unused parameters
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:42:45 -07:00
ba7cc04bac etcdserver/api/v2v3: fix "getDir" with "sorted"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:42:45 -07:00
26e46702a2 etcdserver/v2store: remove unused testing.T parameter
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:42:42 -07:00
7c5cf7013f etcdserver/v2auth: remove unused parameters
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:39:44 -07:00
8235982f6e etcdserver/api/v2http: remove unused parameters
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:39:44 -07:00
d7c4c226fe functional/tester: remove shadowed error variable
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:39:44 -07:00
f091641e46 etcdmain: remove shadowed error variable
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:39:44 -07:00
167c711467 etcdctl/ctlv3: fix fmt test warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:39:44 -07:00
775e9d5ba6 test: add "unused_pass"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:39:44 -07:00
054cdcd127 tests/Dockerfile: add "mvdan.cc/unparam"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 15:39:44 -07:00
e0b74d4656 Merge pull request #9707 from spzala/master
etcdctl/check: create progress bar for datascale
2018-05-09 15:37:43 -07:00
fc9ca59ced Merge pull request #9710 from gyuho/mvcc-delete
mvcc: use latest revision to tombstone
2018-05-09 11:07:21 -07:00
a519464f3e Merge pull request #9711 from jpbetz/release-script-fixes-2
scripts: Fix remote tag check, gcloud login and umask in release script
2018-05-09 10:46:46 -07:00
4319a8a2ba scripts: Fix remote tag check, gcloud login and umask in release script 2018-05-09 10:37:24 -07:00
4e24a0f34b CHANGELOG-3.3: update date
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 09:25:01 -07:00
5165344981 mvcc: use latest revision to tombstone
We replace/insert into in-memory B-tree, which means
we only keep a single node per key thus do not support
delete by revision on B-tree. So, (*keyIndex).tombstone
has always been marked with latest revision.

tombstone with key's modified revision panics:

panic: store.keyindex: put with unexpected smaller revision [{2 0} / {2 0}]

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-09 09:07:39 -07:00
ef23564ebf Merge pull request #9708 from gyuho/functional-test
functional: configure KV stresser weights
2018-05-08 16:50:09 -07:00
cb030e96fa functional.yaml: configure stresser weights
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-08 16:19:12 -07:00
b1832d2f3c functional/tester: configurable stresser weights
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-08 16:18:45 -07:00
5f762a3193 functional/rpcpb: add stresser weights
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-08 16:18:19 -07:00
8ba41d5191 etcdctl/check: create progress bar for datascale
Create a progress bar. The bar will show progress for a given workload.

Fixes #9328
2018-05-08 18:32:54 -04:00
b91ed542a6 Documentation/upgrades: clarify logger flag changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-07 11:43:43 -07:00
d6a2c4d9d9 doc: preview v3.5 changes in v3.4
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 21:30:23 -07:00
7301a4e2f8 CHANGELOG-3.5: deprecate '/config/local/log'
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 21:30:23 -07:00
bbe1106bf1 Documentation: deprecate '/config/local/log' in v3.5
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 21:30:23 -07:00
807770740a etcdserver/api: add TODO to deprecate '/config/local/log'
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 21:30:23 -07:00
f42d9a8451 Merge pull request #9702 from gyuho/fix-tests
tests/e2e: fix v2 proxy tests
2018-05-04 21:03:17 -07:00
12e2d4a15c etcdmain: fix log output
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 20:07:45 -07:00
03bf62f569 tests/e2e: update v2 proxy ready message
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 20:04:01 -07:00
f556b78e8c etcdmain: update v2 proxy ready message
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 20:03:56 -07:00
72cc355c13 Merge pull request #9697 from gyuho/log-log-log
*: add more structured logger
2018-05-04 14:03:50 -07:00
03ef9745a9 mvcc: add more structured logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 13:15:51 -07:00
a32db53765 etcdserver: add details to structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 12:31:35 -07:00
a5b682e40a raftsnap: clean up import paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 12:31:35 -07:00
e11f3d852f rafthttp: add more details to structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 12:31:35 -07:00
2712d31241 Merge pull request #9687 from jxuan/config-bcryptcost
*: make bcrypt-cost configurable
2018-05-04 12:26:01 -07:00
a890007b97 CHANGELOG-3.4: remove blank line
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 12:17:30 -07:00
12ce877c6d CHANGELOG: update
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-04 12:14:41 -07:00
056b03ee1a Merge pull request #9692 from hexfusion/grpc_auth
contrib: add gRPC gateway script for user/add with full chain TLS.
2018-05-04 13:35:37 -04:00
4c928813fb contrib: add gRPC gateway script for user/add with full chain TLS. 2018-05-04 10:03:26 -04:00
14a2d0d54d Merge pull request #9688 from gyuho/fix-watch
etcdctl/ctlv3: fix watch with exec commands, interactive mode flag parsing
2018-05-03 18:46:23 -07:00
38fcfb63b4 Makefile: add ".coverprofile" to "make clean"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-03 17:22:34 -07:00
11028331e6 gitignore: add "*.coverprofile"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-03 17:22:34 -07:00
acf671a94c tests/e2e: separate coverage tests for exec commands
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-03 17:22:34 -07:00
44cda79105 etcdctl/ctlv3: fix watch with exec commands
Following command was failing because the parser incorrectly
picks up the second "watch" string in exec command, thus
passing wrong exec commands.

```
ETCDCTL_API=3 ./bin/etcdctl watch aaa -- echo watch event received

panic: runtime error: slice bounds out of range

goroutine 1 [running]:
github.com/coreos/etcd/etcdctl/ctlv3/command.parseWatchArgs(0xc42002e080, 0x8, 0x8, 0xc420206a20, 0x5, 0x6, 0x0, 0x0, 0x0, 0x0, ...)
	/home/gyuho/go/src/github.com/coreos/etcd/etcdctl/ctlv3/command/watch_command.go:303 +0xbed
github.com/coreos/etcd/etcdctl/ctlv3/command.watchCommandFunc(0xc4202a7180, 0xc420206a20, 0x5, 0x6)
	/home/gyuho/go/src/github.com/coreos/etcd/etcdctl/ctlv3/command/watch_command.go:73 +0x11d
github.com/coreos/etcd/vendor/github.com/spf13/cobra.(*Command).execute(0xc4202a7180, 0xc420206960, 0x6, 0x6, 0xc4202a7180, 0xc420206960)
	/home/gyuho/go/src/github.com/coreos/etcd/vendor/github.com/spf13/cobra/command.go:766 +0x2c1
github.com/coreos/etcd/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x1363de0, 0xc420128638, 0xc420185e01, 0xc420185ee8)
	/home/gyuho/go/src/github.com/coreos/etcd/vendor/github.com/spf13/cobra/command.go:852 +0x30a
github.com/coreos/etcd/vendor/github.com/spf13/cobra.(*Command).Execute(0x1363de0, 0x0, 0x0)
	/home/gyuho/go/src/github.com/coreos/etcd/vendor/github.com/spf13/cobra/command.go:800 +0x2b
github.com/coreos/etcd/etcdctl/ctlv3.Start()
	/home/gyuho/go/src/github.com/coreos/etcd/etcdctl/ctlv3/ctl_nocov.go:25 +0x8e
main.main()
	/home/gyuho/go/src/github.com/coreos/etcd/etcdctl/main.go:40 +0x17b
```

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-03 17:22:34 -07:00
2ad0acdea8 CHANGELOG: add watch exec command fix
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-03 15:20:05 -07:00
cac6ed664c Merge pull request #9690 from gyuho/wal-error
wal,fileutil: add more logs, clarify error messages
2018-05-03 14:57:44 -07:00
f3d9a85697 wal: add warnings on fsync, flock fail paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-03 14:01:06 -07:00
2bb1a268b3 pkg/fileutil: clarify flock errors
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-03 14:00:42 -07:00
bf432648ae *: make bcrypt-cost configurable 2018-05-03 11:43:32 -07:00
62dfb89a89 Merge pull request #9683 from gyuho/sss
*: clarify missing snapshot file error message/warning
2018-05-02 14:45:32 -07:00
47ab4e22d2 etcdserver: clarify errors from "openSnapshotBackend"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 14:17:22 -07:00
e2af59e4d1 raftsnap: clarify "ErrNoDBSnapshot"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 14:17:00 -07:00
cc44c08d94 Merge pull request #9682 from gyuho/zzz
*: support structured logging in v2 auth/http
2018-05-02 13:29:15 -07:00
617e0aaafb CHANGELOG-3.4: move "Tooling" above
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 13:28:22 -07:00
5828efda38 *: use "zap.Field"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 13:26:39 -07:00
44385bc7b9 vendor: upgrade "go.uber.org/zap" to v1.8.0
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 13:25:31 -07:00
3ed6c967ce pkg/proxy: silence http server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:59:29 -07:00
7da365bd45 etcdmain: silence http server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:59:17 -07:00
e7e31e9529 functional: silence http server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:59:08 -07:00
1d18f45caf integration: silence http server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:58:56 -07:00
58b7ab97eb integration: use structured logging in peer handler
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:53:56 -07:00
154d7ca4f2 embed: use structured logging in peer handler
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:53:46 -07:00
c60054abea etcdserver/api/etcdhttp: use structured logging in peer handler
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:53:28 -07:00
4d863dac5a mvcc: support structured logging in compact restore
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 11:57:23 -07:00
d2e1484762 integration: support structured logging in "v2http"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 11:57:23 -07:00
26b0c84d29 embed: support structured logging in "v2http"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 11:57:23 -07:00
cccf77db9e etcdserver/api/v2http: support structured logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 11:57:23 -07:00
3b38cb305f etcdserver/api/etcdhttp: support structured logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 11:57:23 -07:00
98fcd67e9f etcdserver/v2auth: support structured logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 11:57:20 -07:00
859172e84f Merge pull request #9638 from hexfusion/df
Documentation: binding listeners must be IP.
2018-05-02 09:56:43 -07:00
53f51b2f0c Merge pull request #9676 from gyuho/logger
*: highlight "--log-package-levels" deprecation in v3.5
2018-05-02 09:39:18 -07:00
2afd827788 Documentation: binding listeners must be IP. 2018-05-02 06:56:44 -04:00
c94cd5eee8 Merge pull request #9678 from gyuho/integration-logger
integration: use "zap" in tests
2018-05-01 16:44:58 -07:00
6cf3dae93e etcdserver/api/v3rpc: fix race in stream error logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 16:19:55 -07:00
38326d002e etcdserver/v2store: use "zap" logger in v2v3 tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 16:15:09 -07:00
f6a14fb72c clientv3: use "zap" logger in integration tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 16:15:09 -07:00
21d75570ee integration: use "zap" logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 16:15:09 -07:00
9a2796ff9b CHANGELOG-3.4: highlight "CLUSTER_DEBUG" in "integration"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 16:14:58 -07:00
f85c3bfb3e Merge pull request #9677 from gyuho/lll
etcdserver: clarify server membership change logging
2018-05-01 15:31:32 -07:00
b3bd5887cd etcdserver: clarify server membership change logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 15:06:29 -07:00
24e2af4289 Merge pull request #9674 from gyuho/test-script
*: use Go 1.10.2 and Go 1.9.6
2018-05-01 11:50:39 -07:00
d80ef1fb51 etcd.conf.yml.sample: remove "--log-package-levels"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 11:48:39 -07:00
9e7a3e5e91 Documentation/upgrades: highlight "--log-package-levels"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 11:48:19 -07:00
21fdde59ad CHANGELOG-3.5: deprecate "--log-package-levels" in v3.5
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 11:48:02 -07:00
02ed51d300 Merge pull request #9657 from yaojingguo/remove-dead-code
contrib/raftexample: remove useless check
2018-05-01 10:19:35 -07:00
a6430644ad Merge pull request #9669 from yaojingguo/fix-typo
contrib/raftexample: fix typo
2018-05-01 10:18:42 -07:00
1c44634f6e CHANGELOG-3.4: use Go 1.10.2
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 10:11:09 -07:00
4a01c4e98a Makefile: use Go 1.10.2
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 10:11:05 -07:00
932ef6c4a3 tests: use Go 1.10.2 in Semaphore test
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 10:08:43 -07:00
79e9178181 travis: use Go 1.10.2
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 10:08:27 -07:00
18e1686bdf test: only print test targets in verbose mode
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-01 10:07:25 -07:00
200401248a Merge pull request #9665 from gyuho/unconvert
test: integrate github.com/mdempsky/unconvert
2018-05-01 09:52:44 -07:00
08d28d6e5a Merge pull request #9667 from gyuho/strings
*: remove "strings.Compare == 0"
2018-05-01 09:52:30 -07:00
0659ed6118 Merge pull request #9672 from joelegasse/listen-metrics-doc
docs: Update documentation around --listen-metrics-urls
2018-05-01 12:51:27 -04:00
7ea9059453 docs: Update documentation around --listen-metrics-urls
The `--listen-metrics-urls` also responds to the `/health` endpoint, but
that was not made clear in the documentation. These updates should help
explain how else that flag can be used.
2018-05-01 11:02:22 -04:00
3d12e36c7e raft: merge test cases of pre-candidate with the normal one
So result checking just compares the expected with output and
becomes more readable.
2018-05-01 17:08:37 +08:00
ad060a84ad Merge pull request #9661 from gyuho/dont-log-password
etcdserver: not print password in the warning message of expensive request
2018-05-01 09:21:50 +02:00
0303480b1a contrib/raftexample: fix typo 2018-05-01 11:22:36 +08:00
b44e43278a etcdctl/ctlv3: fix "unconvert" warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
1917e5c543 pkg/*: fix "unconvert" warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
1af2228fca test: add "unconvert" test
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
78d0c8426e functional: fix "unconvert" warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
53ade5e872 rafthttp: fix "unconvert" warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
eae30a6c9b etcdserver: fix "unconvert" warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
8a28e73862 wal: fix "unconvert" warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
561fab1650 lease: fix "unconvert" warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
3df30b9c7f mvcc: fix "unconvert" warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
ae71076579 auth: fix "unconvert" warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
42147ae0a0 tests/Dockerfile: add "github.com/mdempsky/unconvert"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:32:16 -07:00
fd7e7a01ad tools/etcd-dump-logs: fix minor typo
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:30:20 -07:00
48f28b9d27 lease/leasehttp: remove "strings.Compare != 0"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:11:26 -07:00
86cee93d6b etcdctl/ctlv3: remove "strings.Compare == 0"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:11:11 -07:00
e9d5789dd4 auth: remove "strings.Compare == 0"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 15:10:56 -07:00
a9225c164a etcdserver: not print password in the warning message of expensive request
Fix https://github.com/coreos/etcd/issues/9635
2018-04-30 13:44:27 -07:00
b8e8d75677 Merge pull request #9663 from gyuho/test
test: fix "markdown_you_pass"
2018-04-30 12:46:52 -07:00
358640de46 test: fix "markdown_you_pass"
"find" command was matching "vendor" directory in
my local machine.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 11:42:35 -07:00
fcf4241fd3 Merge pull request #9662 from fanminshi/use_svg_logo
readme: use svg format for logo
2018-04-30 11:38:11 -07:00
86ce5bc1ee readme: use logo svg format 2018-04-30 11:27:15 -07:00
9718dd81d9 Merge pull request #9660 from gyuho/SA4004
auth: fix SA4004 - unconditionally terminated for-loop
2018-04-30 11:19:33 -07:00
d398d41ff0 auth: break TLS VerifiedChains for-loop early
Fix "auth/store.go:1147:4: the surrounding loop is unconditionally terminated (SA4004)"

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 10:34:59 -07:00
cdadc4638d test: enable static analysis "SA4004"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-30 10:04:44 -07:00
cfa1efc7eb contrib/raftexample: remove useless check
`err == raftsnap.ErrNoSnapshot` being false implies that
`err != raftsnap.ErrNoSnapshot` is true.
2018-04-29 11:34:44 +08:00
4bab1e1be2 Merge pull request #9654 from gyuho/auth
auth: support structured logging
2018-04-27 14:47:02 -07:00
5fd9270d6c test: disable SA4004 temporarily
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-27 14:21:17 -07:00
30dd8a7dde etcdserver: support structured logging for auth
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-27 14:19:51 -07:00
da4a982b1c auth: support structured logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-27 14:19:48 -07:00
e83cc218fc Merge pull request #9651 from gyuho/netutil
pkg/netutil: use structured logging for TCP resolve
2018-04-27 12:38:23 -07:00
b30a14d100 Merge pull request #9652 from gyuho/systemd
vendor: upgrade go-systemd to v16, clean unused vendor
2018-04-27 12:38:09 -07:00
9c4ab836de CHANGELOG-3.4: add "go-systemd" upgrade
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-27 11:49:51 -07:00
a3de1ea731 vendor: remove unused, upgrade "go-systemd"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-27 11:46:44 -07:00
4baaf322fa pkg/netutil: create doc.go
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-27 11:41:50 -07:00
0e565c8960 etcdserver: use structured logging in "advertiseMatchesCluster"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-27 11:40:30 -07:00
e8ba8feaed pkg/netutil: use structured logging for TCP resolve
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-27 11:40:13 -07:00
61ae9cbd85 Merge pull request #9645 from jaricftw/fix-comments
raft: fix a few comments
2018-04-27 11:25:46 -07:00
d14b705355 raft: fix a few comments 2018-04-27 11:25:06 -07:00
7582a28cc6 Merge pull request #9628 from wenjiaswe/new1
etcd-dump-logs: add entry-type flag to list entries of specific types…
2018-04-27 10:40:35 -07:00
4a09318243 Merge pull request #9650 from wenjiaswe/new1ChangeLog
CHANGELOG: update from #9628
2018-04-27 10:39:13 -07:00
001560829e CHANGELOG: update from #9628 2018-04-27 10:30:04 -07:00
5fca0ec7bd Merge pull request #9649 from cosgroveb/cleanup_lease_queue_todo
lease: Clean-up old TODO around lease map and priority queue
2018-04-27 09:24:59 -07:00
13ed9f3197 lease: Clean-up old TODO around lease map and priority queue
This TODO was addressed in #9418.
2018-04-27 10:08:15 -05:00
553325721a etcd-dump-logs: add entry-type flag to list entries of specific types and add test 2018-04-26 18:59:51 -07:00
02e2e3def7 tests/docker-dns-srv: revert Dockerfile change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 15:13:09 -07:00
c460a09225 tests: use zap logger in DNS tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 15:12:13 -07:00
8baa2401b1 Merge pull request #9644 from gyuho/log
*: add more structured logging supports
2018-04-26 15:02:55 -07:00
829c4479f3 etcdmain: support structured logging for discovery service
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 14:36:22 -07:00
c316e6773b embed: clean up structured logging calls
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 14:36:22 -07:00
f7f6fdeb52 etcdserver: support structured logger for discovery, compactor
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 14:36:22 -07:00
6a016cbd86 discovery: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 14:36:18 -07:00
f269c42aad compactor: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 14:21:15 -07:00
73efa9fded CHANGELOG-3.5: highlight "--log-outputs" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 12:28:54 -07:00
a0f1ed3d6b Merge pull request #9643 from gyuho/doc
*: improve documentation around logger change
2018-04-26 11:54:40 -07:00
2271db7552 pkg/logutil: add godoc on zap encoder field names
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 11:54:00 -07:00
6d0f71e4c2 embed: improve "--log-outputs" error message, add godoc
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 11:54:00 -07:00
b0e4fc3974 CHANGELOG: update with latest logger change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 11:54:00 -07:00
fd227254ef Documentation/upgrades: update guides with latest logger change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 11:54:00 -07:00
dca3f5e3ad Merge pull request #9626 from yudai/fix_set_inexist_dir
etcdserver: Fix v2v3api set to create parent directly if not exists
2018-04-26 11:50:27 -07:00
624f421d21 Merge pull request #9642 from lorneli/idutil-dev
pkg/idutil: use count field as atomic variable
2018-04-26 11:48:23 -07:00
54827d47ee pkg/idutil: use count field as atomic variable
Use atomic.AddUint64 instead of mutex lock to inc count field.

Bench result:
benchmark           old ns/op     new ns/op     delta
BenchmarkNext-4     163           26.3          -83.87%
2018-04-27 00:44:45 +08:00
3c25465855 etcdserver: Fix v2v3api set to create parent directly if not exists
When a new file is created under an non existent directly,
the v2 API automatically create the parent directly.
This commit aligns the behaviour of v2v3 emulation to comply with the v2
API.
2018-04-25 17:36:59 -07:00
b6578c8f4d embed: error when different values are specified in "--log-output"
"--log-output default,a.log" should error out when etcd
runs as a systemd unit. We expect 'default' to be overridden
explicitly.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 17:09:22 -07:00
755b508a8e Merge pull request #9632 from ericchiang/grpc-logs-spam
etcdctl/ctlv3/command: don't print gRPC WARNING logs by default
2018-04-25 17:02:06 -07:00
55001977ed etcdctl/ctlv3/command: don't print gRPC WARNING logs by default
Despite holding important information, these are too noisy.

See https://github.com/coreos/etcd/pull/9623
2018-04-25 15:26:54 -07:00
62a385b1ca CHANGELOG-3.4: add v2v3 emulation fix
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 14:50:48 -07:00
ccf959c0d4 Merge pull request #9624 from gyuho/journald
*: support journald with structured logging zap, rename to "--log-outputs"
2018-04-25 14:22:03 -07:00
154e2ac38e embed: do not import journald dependencies on windows
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:52:53 -07:00
9cd9ae284f pkg/logutil: do not build journald logger on windows
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:52:30 -07:00
88c70d0ca9 embed,integration,snapshot: use "LogOutputs"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:27:31 -07:00
b748abca67 *: change typo in "auto-compaction-retention" field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:26 -07:00
58a603448a *: rename to "--log-outputs" in docs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:26 -07:00
a6c30eab96 functional: rename to "log-outputs"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:26 -07:00
af5bc439b3 embed,etcdmain: rename to "--log-outputs" flag
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:26 -07:00
1539fddb27 etcd.conf.yml.sample: rename to "log-outputs"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:26 -07:00
22609a65b5 Documentation/upgrades: highlight "--log-outputs"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:26 -07:00
0e4c94c052 CHANGELOG: highlight "--log-outputs" flag
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:22 -07:00
a113d6c160 functional/rpcpb: change to LogOutputs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 11:05:09 -07:00
53c5cd55f7 Documentation/upgrades: highlight "embed.Config.LogOutputs" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:49:37 -07:00
d4987f4633 CHANGELOG: track logger changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:47:58 -07:00
f99cb35d29 embed: rename "LogOutput" to "LogOutputs"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:28:13 -07:00
3ea7a5d0bd etcdserver: add "LoggerCore" field for Raft logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:16:54 -07:00
d33a74d380 embed: add "loggerCore" field for Raft logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:16:51 -07:00
a34dd272b0 pkg/logutil: change "NewRaftLogger" function signature
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:11:35 -07:00
69c51e2c4a embed: change "loggerConfig" to "*zap.Config"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:05:12 -07:00
6df3179c06 pkg/logutil: add "NewRaftLoggerFromZapCore"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:05:12 -07:00
48d5542a76 embed: set journald logging with zap
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:05:12 -07:00
1fa80bf520 pkg/logutil: add "NewGRPCLoggerV2FromZapCore"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:05:12 -07:00
fcbb30364a pkg/logutil: add "NewJournaldWriter"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:05:12 -07:00
e73f909fef Merge pull request #9623 from ericchiang/grpc-logs
etcdctl/ctlv3/command: enable gRPC WARNING logs by default
2018-04-25 09:44:49 -07:00
189d24e00f Merge pull request #9627 from shenlanse/update-k8s-deploy
kubernetes-deploy: set etcd pod restartPolicy=Always
2018-04-25 09:44:03 -07:00
b14ab95b38 Merge pull request #9625 from jpbetz/release-script-fixes
scripts: Fix a few etcd release script bugs and make it reenterant.
2018-04-25 09:43:25 -07:00
01996012bb kubernetes-deploy: set etcd pod restartPolicy=Always 2018-04-25 10:00:18 +08:00
bee6f34197 scripts: Fix a few etcd release script bugs and make it reenterant. 2018-04-24 17:03:14 -07:00
9ce295a812 etcdctl/ctlv3/command: enable gRPC WARNING logs by default 2018-04-24 16:19:02 -07:00
f1b3b32745 CHANGELOG: Set release data of 3.1.14 and 3.2.19 2018-04-24 14:37:24 -07:00
a0b4624f3b CHANGELOG-3.3: update v3.3.4 release date
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-24 13:45:16 -07:00
7cc92fc2af Merge pull request #9618 from coreos/help-allowed-cn
etcdmain: document peer-cert-allowed-cn flag
2018-04-24 13:42:20 -07:00
30ee30ffeb etcdmain: document peer-cert-allowed-cn flag 2018-04-24 13:31:54 -07:00
61404132a9 Merge pull request #9582 from jpbetz/release-script
[WIP] scripts: Add script that performs entire release workflow
2018-04-24 12:04:15 -07:00
3802866870 Merge pull request #9597 from gyuho/flag-doc
Documentation/op-guide: add missing flags, clarify "--initial*" flags
2018-04-24 11:29:35 -07:00
3da4c8a585 Merge pull request #9607 from jpbetz/changelog-3-1-14--3-2-19
CHANGELOG: Add 3.1.14 and 3.2.19 release notes
2018-04-23 16:54:34 -07:00
f0a214db2a CHANGELOG: Add 3.1.14 and 3.2.19 release notes 2018-04-23 16:36:20 -07:00
c8d08a8898 functional/tester: prevent embedded etcd running with failpoints
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-23 14:07:43 -07:00
4f45f5d9dd Merge pull request #9591 from gyuho/election
*: add --initial-election-tick-advance to configure election fast-forward on bootstrap
2018-04-23 10:17:49 -07:00
e81f9d850e Merge pull request #9601 from gyuho/doc-compact
*: improve compaction documentation
2018-04-23 10:14:22 -07:00
ea639fdb7f Documentation/integrations: add PHP v3 client 2018-04-22 10:12:26 +08:00
7459f017de Documentation/op-guide: add missing flags, clarify "--initial*" flags
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 15:57:53 -07:00
e23ee1a1a7 Documentation/upgrades: clean up snapshot change doc
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 15:08:23 -07:00
dab54fab3f Documentation/op-guide: improve compaction guide
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 15:08:21 -07:00
353f938b8d Merge pull request #9599 from gyuho/test-parallel
*: parallelize integration tests with CPU parameters
2018-04-20 14:40:22 -07:00
afef4a594a travis: parallelize integration with CPU parameters
To maximize our Travis 5-worker usage.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 14:10:33 -07:00
ad4b747ed4 test: configure go test -cpu flag
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 14:10:30 -07:00
83f7f174da etcdserver: print server configuration duration fields in string
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 13:11:11 -07:00
e5d160fceb Merge pull request #9598 from gyuho/compaction
*: highlight breaking change in compaction retention
2018-04-20 13:01:26 -07:00
6af44fa4fe Documentation/upgrades: highligh YAML auto-compaction-retention flag change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 12:58:32 -07:00
fafa672f87 CHANGELOG: clarify compaction YAML type
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 12:04:25 -07:00
5f8abdc227 etcdserver: log auto compaction on server start
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 11:58:36 -07:00
8b68a71cb5 etcd.conf.yml.sample: remove deprecated fields
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 11:51:34 -07:00
0411b89d69 pkg/proxy: fix fmt
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 11:26:38 -07:00
f205b22434 etcdserver: fix snapshot panic message
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 11:20:17 -07:00
01fc2901b6 etcdmain: sync logger on exit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 10:58:33 -07:00
c76c696ed7 embed: sync logger on server close
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 10:54:37 -07:00
337a751180 Merge pull request #9595 from gyuho/ppp
pkg/proxy: strip host on local listener
2018-04-20 10:40:08 -07:00
8006d3305e pkg/proxy: strip host on local listener
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 10:35:01 -07:00
8058513d84 *: clarify gRPC gateway changelogs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-20 10:33:03 -07:00
2d7cb9dac7 CHANGELOG: add latest changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 17:45:23 -07:00
21d2e2ab6e etcdserver: add more tick fast-forward logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 17:45:23 -07:00
85b7a59c56 etcdmain: add "--initial-election-tick-advance"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 17:45:23 -07:00
bffc532f9f embed: add "InitialElectionTickAdvance"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 17:45:23 -07:00
3fe9030d34 integration: set InitialElectionTickAdvance to true by default
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 17:45:23 -07:00
4bec0d7d67 etcdserver: add "InitialElectionTickAdvance"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 17:45:23 -07:00
b933603a43 functional: add TODO for network isolate tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 17:44:16 -07:00
f5b8e1eb95 functional/tester: log start revision
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 17:40:08 -07:00
25cc3bb71b Merge pull request #9588 from gyuho/aaa
rafthttp: add more debugging logs
2018-04-19 13:26:47 -07:00
87dfe53798 Procfile: use zap in Procfile
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 13:19:02 -07:00
8296ce0930 rafthttp: add/fix debugging lines
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-19 13:18:57 -07:00
8f8b32b253 Merge pull request #9587 from mborsz/is_leader
etcdserver: add is_leader prometheus metric that is 1 on the leader.
2018-04-19 10:04:34 -07:00
b0112086d6 Merge pull request #9354 from hexfusion/u_sock
embed: explicitly define unix proto
2018-04-19 08:16:38 -07:00
46bc966aa7 etcdserver: add is_leader prometheus metric that is 1 on the leader.
Before this change, we had now way to find a leader using /metrics
endpoint. This commit adds a metric to do that.
2018-04-19 11:47:40 +02:00
e5c9483cd8 Merge pull request #9511 from jcalvert/index_compaction_breakup
mvcc: Clone for batch index compaction and shorten lock
2018-04-18 15:24:21 -07:00
7750974760 scripts: Add scripts/release that performs 'etcd-release-runbook' (https://goo.gl/Gxwysq) style release workflow 2018-04-18 13:35:41 -07:00
f176427791 mvcc: Clone the key index for compaction and lock on each item
For compaction, clone the original Btree for traversal purposes, so as to
not hold the lock for the duration of compaction. This allows read/write
throughput by not blocking when the index tree is large (> 1M entries).

mvcc: add comment for index compaction lock
mvcc: explicitly unlock store to do index compaction synchronously
mvcc: formatting index bench
mvcc: add release note for index compaction changes
mvcc: add license header
2018-04-18 13:29:27 -07:00
d0847f4f25 *: clean up/fix server structured logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-18 12:54:43 -07:00
229a0c9da6 Merge pull request #9580 from gyuho/log
embed: clean up initial server start logs
2018-04-17 15:01:52 -07:00
9c0c3cd606 Merge pull request #9579 from gyuho/log-output-multiple-files
*: support output logs to multiple files
2018-04-17 14:39:28 -07:00
a47c18ff5b embed: clean up initial server start logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 14:24:08 -07:00
6fec93fe42 CHANGELOG-3.4: highlight YAML log-output change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 13:34:07 -07:00
bf8601676e Documentation/upgrades: highlight YAML change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 13:31:25 -07:00
7215e54755 etcd.conf.yml: change "log-output" type
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 13:29:23 -07:00
8ee87787dd functional: use strings for LogOutput
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 13:03:09 -07:00
671e4a50bc CHANGELOG-3.4: add "LogOutput" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
8049df15c4 CHANGELOG-3.4: highlight embed.Config.LogOutput field change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
cd7bfe1ea5 integration: set strings for LogOutput
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
3e99487372 snapshot: set string for LogOutput
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
1974785511 etcdmain: accept multiple values in "--log-output"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
bf937535f5 embed: change "Config.LogOutput" to []string
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
954afc9156 CHANGELOG-3.4: highlight multi-log writer change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
f6f1e0cb65 embed: support multiple log outputs for structured logging
Zap support multi-writer by default.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:47:06 -07:00
406f23ce17 README: update meeting notes link
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 12:05:14 -07:00
41b855a48e Merge pull request #9577 from gyuho/null
*: use /dev/null to discard server logs
2018-04-17 10:33:52 -07:00
674388f599 integration: use /dev/null to discard server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 06:14:03 -07:00
7c10c12ce7 snapshot: use /dev/null to discard server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 06:13:52 -07:00
a31c38f3b0 embed: use /dev/null to discard server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 06:13:24 -07:00
0e4c8dcedc CHANGELOG-3.4: use "/dev/null" to ignore logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-17 06:13:10 -07:00
46e19d21a1 Merge pull request #9572 from gyuho/eee
functional: run tests with embedded etcd, add logger field
2018-04-16 19:09:45 -07:00
18b3e45e96 *: support --log-output=discard
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 19:09:09 -07:00
1c44293f7e tests/e2e: comment out TestEtcdCorruptHash debugging lines
No need

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 19:04:34 -07:00
a3b9d828ed tests/e2e: fix gateway tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 18:25:30 -07:00
92c32743c9 tests/e2e: fix TestIssue6361
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 18:01:12 -07:00
ae9ccd883d etcdctl/ctlv3: fix snapshot command e2e tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
b7ce6b7265 Documentation/upgrades: highlight wal, embed changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
c716bea43c CHANGELOG-3.4: highlight WAL changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
f63b5c15c7 functional/agent: fix etcd exec path check
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
2ee2a96055 functional/tester: use binary for tests for now
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
d1c2ae86ce functional/tester: handle "raft.ErrProposalDropped"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
35a80bc910 integration,embed: ignore embed log output
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
cc778746fc embed: support "io-discard" for logging, fix racey logging setup
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
38e32a1b54 snapshot: ignore server logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
2bd88e378c pkg/transport: check nil logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
f34c5dc902 functional/tester: run tests with embedded etcd
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
677894b4fa functional/agent: support embedded etcd
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
c712e08a42 embed,etcdmain: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
a7fd274c11 integration: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
9063805180 contrib/tools: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
6dbce6b9a4 clientv3,etcdctl: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
d1c7d40a5e snapshot: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
f57fa6abaf auth: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
ce8348e3e0 raftsnap: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
c68f625353 rafthttp: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
fdbedacc83 wal: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
c00c6cb685 mvcc: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
0dad8abb6f pkg: support structured logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
bdbed26f64 etcdserver: support structured logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
f879c1de33 integration: use default logger "capnslog"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
d5d4025f9a CHANGELOG-3.4: highlight logger change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
041b9069a2 *: configure server logger
- Add/Document "logger" to support structured logging.
  - This makes functional tests run easier, since zap logger
    provides built-in log redirect to files.
  - "etcd --logger-option=zap" to enable structured logging.
- Current "capnslog" will still be used as "default".
  - We may switch the default or deprecate "capnslog" in v3.5.
  - Either way, will clearly be documented.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
82e84a09e1 pkg/logutil: add "NewGRPCLoggerV2FromZap", "NewRaftLogger"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
33128104c0 functional/agent: handle "embed.Etcd", logger sync
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
575cf94852 functional/rpcpb: add "*Etcd.EmbedConfig", and logger fields
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
f3b7fa545e Merge pull request #9574 from gyuho/btree
vendor: upgrade "google/btree"
2018-04-16 17:35:46 -07:00
96142c2d00 vendor: upgrade "google/btree" 2018-04-16 16:54:44 -07:00
ff6ff9d6e6 Merge pull request #9570 from gyuho/tls
*: fix TLS reload when cert includes only IPs (no domain names in SAN field)
2018-04-16 08:02:18 -07:00
2e4f856389 embed: explicitly define unix network 2018-04-15 16:30:44 -04:00
00b529e810 pkg/proxy: fix typos in field names
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-14 12:00:41 -07:00
9886e2161d Merge pull request #9571 from gyuho/net
pkg/proxy: make/simplify interface more extensible
2018-04-14 11:57:01 -07:00
5db4df762b pkg/proxy: make/simplify interface more extensible
Extend proxy for more advanced corrupt and packet drop testing.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-14 07:32:26 -07:00
03cf9c45f8 etcdserver: fix typo in "adjustTicks"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 14:53:51 -07:00
0b0a943a5e CHANGELOG: highlight TLS reload fixes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 14:19:37 -07:00
ca86daeb76 Documentation/op-guide: explain TLS reload fix
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 14:19:37 -07:00
3f8d1738de pkg/transport: document how TLS reload works with IP only certs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 14:19:37 -07:00
68802b333b integration: re-overwrite "httptest.Server" TLS.Certificates
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 14:19:34 -07:00
88c078d4bd pkg/transport: don't set certificates on tls config 2018-04-13 13:17:27 -07:00
b705f6f8f2 Revert "integration: fix httptest TLS server start"
This reverts commit 3d3ba8b9cb.
2018-04-13 13:06:09 -07:00
6ab9776601 integration: add "TestTLSReloadCopyIPOnly"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 13:02:45 -07:00
233af4b4ec integration: add IP only TLSInfos
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 12:03:55 -07:00
72e23a2b1b integration/fixtures-expired: add IP only certs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 12:01:35 -07:00
334affa272 integration/fixtures: add IP only certs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 11:58:36 -07:00
3d3ba8b9cb integration: fix httptest TLS server start
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 11:16:54 -07:00
08641dd48b .github: simplify templates
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 11:11:01 -07:00
f61528768e .github: clean up TEMPLATES
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 11:05:54 -07:00
487ea49442 dockerignore: remove
We don't have "Dockerfile" in repo root anymore.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 11:02:12 -07:00
8e00d764be gitignore: remove outdated lists
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 11:01:19 -07:00
9824959923 godir: remove
Godep is not used anymore.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-13 10:58:53 -07:00
0a92ba66fa functional/tester: fix racey map writes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-12 13:21:52 -07:00
d69b7d28a0 MAINTAINERS: remove deprecated CoreOS email, update other maintainers
With latest email addresses.

CoreOS emails are being deprecated in a few weeks.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-12 11:51:56 -07:00
73446a51f5 V2Procfile: remove unused Procfile
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-12 11:49:11 -07:00
dfd5f1826f CHANGELOG: add 3.5, highlight gRPC gateway breaking changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-12 11:46:43 -07:00
2fc7fc1707 CHANGELOG: highlight "snapshot" package and godoc link
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-12 11:27:02 -07:00
1ac5007b4d Merge pull request #9568 from gyuho/sss
snapshot: enforce single endpoint to "Save" method
2018-04-12 11:23:29 -07:00
5ba4e7d533 functional/tester: fix unit tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-12 10:49:48 -07:00
8ae2bbf3c4 functional/rpcpb: use new snapshot package interface
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-12 10:49:48 -07:00
90e5af76f3 etcdctl/ctlv3: use new snapshot package
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-12 10:49:48 -07:00
a2b1449431 snapshot: enforce single endpoint in client, change interface
To enforce single endpoint in client configuration.
And pass client object only to "Save" method.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-12 10:49:45 -07:00
70341b1614 Merge pull request #9565 from gyuho/quorum-disaster
functional: simulate quorum disaster
2018-04-11 21:47:37 -07:00
f72449c637 functional.yaml: skip recover test for now
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 21:13:27 -07:00
ce19e0b4b5 functional: increase dial timeout
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 20:18:17 -07:00
554dfaa4ba functional/tester: fix govet errors
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:53:54 -07:00
099f109850 CHANGELOG-3.4: add quorum loss failure case
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
23ce3a1acc functional: rename to "listCases"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
d275437c05 functional/tester: whitelist lease expire checker on snapshot restore
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
f574a9aaed functional/tester: add "EtcdClientEndpoints" to "Checker"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
e9c4bad2d1 functional/tester: add "Checker", remove compositeChecker
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
2fc3eb0c56 functional/rpcpb: clean up Checker
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
448e0fc481 functional: wait election timeout after member add
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
bd235ab8f9 functional/tester: save SnapshotInfo from response
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
f56d2c61b2 functional/rpcpb: fix os.Remove error in SnapshotPath
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
888b55e91b functional/tester: implement fetchSnapshotCaseQuorum
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
7213a9aabc functional/agent: handle "RESTART_FROM_SNAPSHOT"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
606fa6fd96 functional/rpcpb: add "RESTART_FROM_SNAPSHOT"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
f725bace31 functional/agent: implement "handle_RESTORE_SNAPSHOT_AND_RESTART_ETCD"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
b2b37928e3 functional/rpcpb: implement "RestoreSnapshot"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
a44a88ce79 functional/rpcpb: add "RESTORE_SNAPSHOT_AND_RESTART_ETCD"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
3815d6edb7 functional: rename "FailureCase" to "Case"
Later to add benchmark marks

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
251e783d3f functional/rpcpb: add "EtcdOnSnapshotRestore"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
3c5147d906 functional/tester: implement "fetchSnapshotAndFailureQuorum"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
6b128bfb3b functional/tester: rename files, adding LEADER_SNAPSHOT case
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
e2bb03b39b functional/tester: add sendOpWithResp for SnapshotInfo
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
e859883e78 functional: add "SnapshotInfo"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
ca137afe8a functional: rename to "SIGQUIT_AND_REMOVE_QUORUM_AND_RESTORE_LEADER_SNAPSHOT_FROM_SCRATCH"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
f9127dba9c functional/tester: implement "new_FailureCase_SIGQUIT_AND_REMOVE_QUORUM_AND_RESTORE_SNAPSHOT_FROM_SCRATCH"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
67e398c86a functional/cluster: handle "SIGQUIT_AND_REMOVE_QUORUM_AND_RESTORE_SNAPSHOT_FROM_SCRATCH"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
473a472607 functional/tester: fix "failureQuorum"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
2942a8044d functional/agent: add "handle_FETCH_SNAPSHOT"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
587dd4e732 functional/rpcpb: add "FETCH_SNAPSHOT" Operation
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
2b249902da functional/rpcpb: implement FetchSnapshot
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
77824c2ed6 functional: add "SIGQUIT_AND_REMOVE_QUORUM_AND_RESTORE_SNAPSHOT_FROM_SCRATCH" to functional.yaml
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
f04902dbed functional: rename etcd log paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
4e7705e9e5 functional: add snapshot path to configuration
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
fdf4a12d3c test: rename etcd functional test data directories
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
a0c0dc2f09 functional/rpcpb: add "Member.SnapshotPath", more description
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
81f632f2a1 functional/rpcpb: add "SIGQUIT_AND_REMOVE_QUORUM_AND_RESTORE_SNAPSHOT_FROM_SCRATCH"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:52:23 -07:00
3f29d25cfa CHANGELOG: add v2 server stat fix
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 19:51:42 -07:00
836fffa22a Merge pull request #9562 from disksing/data-race
etcdserver/stats: fix stats data race.
2018-04-11 19:46:49 -07:00
10bf0283be etcdserver/stats: make all fields guarded by mutex. 2018-04-12 10:43:11 +08:00
2c1840c1b8 Documentation/dev-guide: make indentation consistent
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 11:32:16 -07:00
9df1964aeb Documentation/dev-guide: highlight gRPC gateway endpoint changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 10:40:59 -07:00
1fa2e93051 CHANGELOG-3.4: track functional tests with membership reconfiguration
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 10:26:30 -07:00
c77ffcc505 Merge pull request #9564 from gyuho/membership-reconfiguration-tests
functional: add membership reconfiguration tests
2018-04-11 10:25:39 -07:00
512445f089 functional: do not run "SIGQUIT_AND_REMOVE_LEADER" for now
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 10:24:42 -07:00
ba59bb2c2b etcdserver/stats: fix stats data race. 2018-04-11 21:37:09 +08:00
d7bf471199 functional/tester: add TODO for member remove fail
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 02:07:22 -07:00
15791d7f1f functional.yaml: add godoc link to FailureCase
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:52:34 -07:00
7ed4803fb0 test: remove "-a" GO_BUILD_FLAGS
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:45:06 -07:00
3c7ec0cdc8 functional/tester: update import path
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:42:33 -07:00
23b8c36ced functional/tester: add "SIGQUIT_AND_REMOVE_LEADER_UNTIL_TRIGGER_SNAPSHOT"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:37:13 -07:00
ee79799f61 functional/rpcpb: add "SIGQUIT_AND_REMOVE_LEADER_UNTIL_TRIGGER_SNAPSHOT"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:35:32 -07:00
17351e5fe7 functional/tester: add "SIGQUIT_AND_REMOVE_LEADER"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:32:07 -07:00
85da6427bb functional/rpcpb: add "SIGQUIT_AND_REMOVE_LEADER"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:30:05 -07:00
6a60a204ee functional/tester: add "SIGQUIT_AND_REMOVE_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:27:39 -07:00
17749d3a36 functional/rpcpb: add "SIGQUIT_AND_REMOVE_ONE_FOLLOWER_UNTIL_TRIGGER_SNAPSHOT"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:25:36 -07:00
724dea114c functional/tester: clean up snapshot failure cases
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:25:07 -07:00
9057253d8c functional: add "SIGQUIT_AND_REMOVE_ONE_FOLLOWER"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:21:09 -07:00
86deeab77a functional/agent: handle "SIGQUIT_ETCD_AND_REMOVE_DATA"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:19:33 -07:00
7e56c3e737 test: remove backup data from functional tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:18:15 -07:00
06bbd65a11 functional/build: remove "-a" flag
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 01:07:34 -07:00
e98a5c15e4 functional/rpcpb: add "SIGQUIT_AND_REMOVE_ONE_FOLLOWER"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-11 00:03:47 -07:00
f46368c6e9 Merge pull request #9560 from gyuho/ttt
*: parallelize tests, remove redundant tests, Phase 1
2018-04-10 19:17:06 -07:00
6cf9979cf0 test: remove wait commands
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-10 18:38:01 -07:00
67645ebc66 bill-of-materials.json: regenerate without "bitbucket.org/ww/goautoneg"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-10 18:38:01 -07:00
efe981e618 Revert "etcdserver: handle raft Propose error in v2 applier"
This reverts commit b38e138baf.
2018-04-10 18:38:01 -07:00
6da2e51627 tests/semaphore: only run e2e tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-10 18:37:54 -07:00
9585153615 travis.yml: add more concurrent jobs including functional tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-10 18:37:49 -07:00
eabb40f0ae test: combine "compile_pass" into "build_pass"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-10 17:07:42 -07:00
01678b3790 CHANGELOG: update with pending release items
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-10 17:05:33 -07:00
e9aa8fbcc3 Merge pull request #9558 from gyuho/propose
etcdserver: handle raft Propose error in v2 applier
2018-04-10 16:49:33 -07:00
b38e138baf etcdserver: handle raft Propose error in v2 applier
Handle "raft.ErrProposalDropped" as in v3 applier.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-10 16:01:14 -07:00
943962d419 Merge pull request #9557 from gyuho/lease-metrics
etcdserver: fix "lease_expired_total" metrics
2018-04-10 16:00:29 -07:00
cf0a138d83 bill-of-materials.json: regeneratea for "bitbucket.org/ww/goautoneg"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-10 15:58:20 -07:00
170c8bb3a7 Merge pull request #9555 from gyuho/aaa
clientv3/integration: log test failures from slow balancer as TODO
2018-04-10 15:26:45 -07:00
744c73e019 etcdserver: fix "lease_expired_total" metrics
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-10 13:57:17 -07:00
3a7b5c1b2b clientv3/integration: log test failures from slow balancer as TODO
Balancer tests have been flaky since last balancer rewrite.
Should be from slow balancer failover. Once we re-rewrite balancer
with roundrobin, there should be no more flaky tests as below:

TestBalancerUnderServerStopInflightLinearizableGetOnRestart (27.62s)
server_shutdown_test.go:343: context deadline exceeded

TestBalancerUnderServerShutdownDelete (3.22s)
util.go:32: context deadline exceeded

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-10 13:47:07 -07:00
e095ee48f4 CHANGELOG-3.4: clarify "ErrProposalDropped" on leadership transfer
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 15:26:06 -07:00
13b7d7126f Merge pull request #9551 from gyuho/vvv
vendor: upgrade "spf13/cobra" and "spf13/pflag"
2018-04-09 15:14:51 -07:00
fe26434a89 Merge pull request #9494 from gyuho/ugorji/go
client: regenerate with latest "ugorji/go/codec"
2018-04-09 15:14:37 -07:00
9cce7c71b8 tests/docker: fix indentation
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 15:13:09 -07:00
367b21c898 tests/Dockerfile: add "REPLACE_ME_GO_VERSION" back
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 15:10:48 -07:00
53e7621026 functional/tester: remove unnecessary health check log
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 14:57:13 -07:00
eceacac0fc Merge pull request #9549 from nolouch/handle-fail
etcdserver: handle proposal error when processing internal raft request
2018-04-09 14:56:17 -07:00
e75d06d932 CHANGELOG-3.4: highlight etcd server "raft.ErrProposalDropped" return
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 14:47:07 -07:00
3c52342b37 etcdserver: handle proposal error when processing internal raft request
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 14:44:57 -07:00
f4e01584fc CHANGELOG-3.4: update "ugorji/go"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 14:39:54 -07:00
ab89af6dd3 vendor: use "ugorji/go" v1.1.1
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 14:37:03 -07:00
91664ec5ac client: manually delete "yynn2 = 0"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:42:50 -07:00
13c440dea4 client: regenerate with f3cacc17c85ecb7f1b6a9e373ee85d1480919868
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:42:50 -07:00
55b0943f6d CHANGELOG-3.4: upgrade "ugorji/go" to f3cacc17c85ecb7f1b6a9e373ee85d1480919868
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:42:50 -07:00
b1c86d6baf vendor: upgrade "ugorji/go" to f3cacc17c85ecb7f1b6a9e373ee85d1480919868
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:42:50 -07:00
ebba9ed29e client: regenerate
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:42:50 -07:00
f8ed939e49 CHANGELOG-3.4: update "ugorji/go/codec" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:42:50 -07:00
13d8784eee vendor: update "ugorji/go/codec"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:42:50 -07:00
471c6070f2 bill-of-materials.json: regenerate
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:42:24 -07:00
8103dc2fd4 CHANGELOG-3.4: highlight "spf13/cobra,pflag" changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:42:24 -07:00
07a5a09fc8 vendor: upgrade "spf13/cobra,pflag" to latest
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:42:24 -07:00
89c58b6f7a tests/e2e: fix "configJWT" path
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:41:46 -07:00
b6209db93e README: add links to "functional"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:33:47 -07:00
824982d1eb tests/e2e: fix TestEtcdExampleConfig
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:12:55 -07:00
422acc9018 tests/e2e: fix COVERDIR path
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 12:46:55 -07:00
dca14df161 functional: add links to "godoc"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 12:41:51 -07:00
f6cb732fff build: fix tools/build tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 11:55:10 -07:00
2d13894a16 integration: fix "fixtures-expired" path
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 11:49:42 -07:00
b756cb100c hack/benchmark: add back (for docs)
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 11:22:45 -07:00
a8a5176f1d tests/e2e: fix exec paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 11:12:42 -07:00
59666d7e03 Merge pull request #9550 from gyuho/ttt
*: reorganize internal test scripts
2018-04-09 11:02:43 -07:00
a60bb6104c *: regenerate "fixtures-expired"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:59:52 -07:00
774f6652df semaphore.sh: move to "tests/semaphore.test.bash"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:48:54 -07:00
0e7f1100e3 cover: move coverage test script to "tests"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:47:32 -07:00
0c327ea456 test: move "e2e" and "functional"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:47:25 -07:00
72211db7cf tests: move internal "e2e"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:37:28 -07:00
d636abc2d4 Dockerfile: remove
We don't have build triggers anymore.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:35:39 -07:00
784b6528d2 *: move "Dockerfile-functional"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:35:21 -07:00
20e1179fac Dockerfile-test: move to "tests"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:33:25 -07:00
140374e25d *: move "scripts/docker-*" to "tests"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:31:00 -07:00
b59e91d676 hack/benchmark: remove v2 benchmark
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:29:10 -07:00
6e3652f42c README: update "Community meetings"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:28:04 -07:00
10a51a3003 Merge pull request #9548 from gyuho/functional-tester
functional-tester: clean up, handle Operation_SIGQUIT_ETCD_AND_REMOVE_DATA
2018-04-09 10:20:00 -07:00
c16e411d51 functional/tester: fix shadowed "err" variable
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:19:31 -07:00
bc1fd92579 functional: rename to "SIGTERM/SIGQUIT*"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-08 23:17:53 -07:00
cd4580b4a9 functional: move "etcd-test-proxy"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-08 14:59:39 -07:00
b8bf42cc5a pkg/fileutil: test "Exist" on directory
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-08 14:26:30 -07:00
f53c153fa9 pkg/stringutil: add tests
For later "runner" cleanup

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-08 14:18:09 -07:00
d8a2d3a209 functional/tester: delay after injecting "kill" to trigger election
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:40:00 -07:00
68adc6e300 functional/rpcpb: document FailureCase
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 13:39:42 -07:00
ecadb0fdf7 functional/tester: improve logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 11:28:11 -07:00
7facfde6fd functional/tester: handle "process already finished"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:52:19 -07:00
2922116be5 functional/tester: clean up runner logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:40:27 -07:00
054721166f functional/tester: add "printReport"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:22:17 -07:00
0e609154c4 functional/tester: clean up "broadcastOperation"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 10:16:52 -07:00
cafa3b9217 functional/agent: handle static TLS certs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 09:38:40 -07:00
ef594eb727 functional/tester: handle static certs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-09 09:23:45 -07:00
c57a70caef CHANGELOG-3.4: update
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-07 10:00:06 -07:00
85e050a120 *: rename, clean up functional tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-07 10:00:00 -07:00
b7770cd9fe README: change Community Meeting to use BlueJeans
https://bluejeans.com/2732309610

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-06 13:48:49 -07:00
ff455e3567 Merge pull request #9540 from gyuho/hhh
ctlv3: support "write-out" for "endpoint health" command
2018-04-06 13:25:11 -07:00
c54636ac92 Merge pull request #9538 from gyuho/lll
snapshot: use structured logger
2018-04-06 13:17:28 -07:00
881fd20b17 CHANGELOG-3.4: add "endpoint health" fix
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-06 11:34:23 -07:00
d019d3141a ctlv3: support "write-out" for "endpoint health" command
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-06 11:31:00 -07:00
18b1d1ff65 ctlv3: update logger for snapshot command
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-06 11:05:58 -07:00
bf47197f35 snapshot: use structured logger
In the process of removing capnslog

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-06 10:59:48 -07:00
c91a61be00 Merge pull request #9534 from gyuho/test-tls
functional-tester: enable TLS, phase 1
2018-04-05 17:07:35 -07:00
a0b094ca89 functional-tester/agent: add TODO for proxy TLS
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 16:11:36 -07:00
62e512d4cc functional-tester/rpcpb: create client with "InsecureSkipVerify"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 16:11:36 -07:00
31a4b692ee functional-tester/agent: wait before loading TLS
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 16:11:36 -07:00
4998db4e64 functional-tester/tester: send TLS client requests, cleanup
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 16:11:28 -07:00
63755e49fc functional-tester/rpcpb: add "etcd-client-tls", "tester-data-dir"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 15:54:17 -07:00
8f71afd6e2 functional-tester/rpcpb: remove "EtcdClientTLS" field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 15:54:17 -07:00
161f09ab69 functional-tester/agent: responds with server-side TLS assets to tester
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 15:54:17 -07:00
6ceb71efb1 functional-tester/rpcpb: include "Member" in "Response"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 15:54:17 -07:00
b70f9e1639 functional-tester/tester: add TLS flags
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 15:54:17 -07:00
f4f59750a8 functional-tester/agent: use "AdvertisePeerURLs"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 15:54:17 -07:00
09a4e059c5 functional-tester/rpcpb: rename "AdvertisePeerURLs", add more tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 15:54:17 -07:00
1580289ba3 functional-tester/rpcpb: add TLS flags
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 15:54:17 -07:00
13bf22ba51 functional-tester: update README
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 15:54:17 -07:00
bae97ebd55 CHANGELOG-3.4: update functional tester
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 15:54:14 -07:00
72ba5572a2 pkg/proxy: godoc package
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 12:57:44 -07:00
b0f6afc192 Merge pull request #9530 from gyuho/aaa
functional-tester: run network fault tests with snapshot trigger
2018-04-05 12:51:39 -07:00
ea4effce84 functional-tester/tester: add randomize delay
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 12:03:20 -07:00
3a93f1c803 functional-tester/rpcpb: fix duplicate field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 11:34:59 -07:00
35d8bc2616 functional-tester: use updated latency for delay network case
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 11:33:14 -07:00
273dc355c1 functional-tester/tester: add random delay failure cases
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 11:22:38 -07:00
b9aa49be2d functional-tester/rpcpb: add random delay network failure cases
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 11:18:17 -07:00
e9d5c67b89 functional-tester/tester: reduce retries in slow network
Now configure slow network cases with latency greater than election timeout.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 11:07:46 -07:00
3f7f3ab614 CHANGELOG-3.4: update functional-tester
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 11:06:38 -07:00
4d1f60bb21 etcd-test-proxy: use "proxy.Server"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 11:06:38 -07:00
9d3809646a functional-tester/agent: use "proxy.Server"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 11:06:38 -07:00
7f812ca8e1 pkg/proxy: move from "pkg/transport"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 11:06:30 -07:00
a831d15751 functional-tester/tester: configure heartbeat interval, election timeout
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 10:39:07 -07:00
451395449a functional-tester/tester: add "heartbeat-interval", "election-timeout"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 10:37:16 -07:00
32c34b582a functional-tester/agent: clean up handler logs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 10:29:31 -07:00
190119569a functional-tester/rpcpb: add "trigger snapshot" cases for network faults
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 10:29:31 -07:00
f4cd33b83c functional-tester/tester: add network fault test cases with snapshot trigger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-05 10:29:28 -07:00
95119a769e Merge pull request #9529 from gyuho/fff
functional-tester: expect no client error in liveness mode
2018-04-04 18:18:07 -07:00
3ae47a8619 functional-tester/tester: expects no error in NO_FAIL_WITH_STRESS
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 17:30:12 -07:00
49d4fbdde9 Merge pull request #9528 from gyuho/no-op
functional-tester: add liveness mode
2018-04-04 15:47:53 -07:00
394189d399 functional-tester/tester: remove unused "nopStresser"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 14:13:38 -07:00
a7ec9f28e3 functional-tester/tester: fix "Desc" calls
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 13:53:43 -07:00
d7b468ec6f test: bump up test timeout to 20m
Recently, we've added bunch of tests...

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 13:45:12 -07:00
83739dc9cb functional-tester/tester: clean up stresser logic for liveness mode
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 13:42:30 -07:00
a43bd84631 functional-tester/tester: implement liveness mode failure case
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 13:29:24 -07:00
33753d4ae6 functional-tester/tester: add "failure-delay-ms" for configurable triggerElectionDur
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 13:15:50 -07:00
ca310c5918 functional-tester/rpcpb: add "FailureDelayMs"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 13:11:01 -07:00
0c20902d13 functional-tester/tester: add "newFailureNoFailWithNoStressForLiveness"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 13:07:45 -07:00
808966a7e9 functional-tester/tester: refactor cluster code to support liveness mode
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 13:04:21 -07:00
b3fea7ed53 functional-tester/tester: refactor "Failure" to support liveness mode
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 13:03:57 -07:00
3510e9b94c functional-tester/tester: pass "*rpcpb.Member" to stresser
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 13:03:06 -07:00
88a0f4c6b2 functional-tester/rpcpb: add liveness mode for failure case
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 12:37:51 -07:00
8219c7f273 Makefile: clean up "gopath.proto"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 10:52:01 -07:00
e37d6a2842 CHANGELOG-3.4: add recent Raft and logger changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-04 10:46:21 -07:00
949c6fef35 Merge pull request #9137 from absolute8511/raft-proposal-cancel
raft: Propose in raft node wait the proposal result so we can fail fast while dropping proposal
2018-04-04 09:23:17 -07:00
d8dc29e5d8 Merge pull request #9519 from gyuho/heap
lease: remove unnecessary O(log N) heap operation when nothing is expiry
2018-04-03 15:22:52 -07:00
d7cf2cc03f Merge pull request #9525 from gyuho/ft
functional-tester: use "clientv3" for stressers
2018-04-03 15:21:48 -07:00
75f562224a Merge pull request #9524 from gyuho/kv
etcdserverpb: document "Hash" and "HashKV" more clearly
2018-04-03 14:08:12 -07:00
6d69e16a0a functional-tester/tester: fix txn op, nil clientv3
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 13:44:39 -07:00
a80a1a6356 functional-tester/tester: use "*clientv3.Client" for lease stresser
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 13:33:35 -07:00
00ed41d175 functional-tester/tester: use "clientv3" for key stresser
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 13:23:04 -07:00
7cc0d689b8 functional-tester/tester: use clientv3.Client for consistency checks
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 12:57:26 -07:00
5423100def functional-tester: add "Member.Compact" method
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 12:45:19 -07:00
11818b5f40 etcdserverpb: document "Hash" and "HashKV" more clearly
Explain where the computation happens (e.g. "Hash" for all buckets
and "HashKV" for "key" bucket).

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 11:50:20 -07:00
a729b88463 functional-tester/rpcpb: support grpc.DialOption for "CreateEtcdClient"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 11:40:36 -07:00
358a89c7e9 functional-tester/tester: provide correct latency information to failure
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 11:21:19 -07:00
f25188d35b Merge pull request #9523 from gyuho/fff
functional-tester/tester: use "*rpcpb.Member" directly to dial
2018-04-03 11:12:37 -07:00
d45c3f172b functional-tester/tester: fix cluster_test
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 11:12:12 -07:00
629e5a0e7a functional-tester/tester: use "*rpcpb.Member" directly
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 11:02:00 -07:00
b55a5a9771 functional-tester/rpcpb: support extra dial options
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 10:55:47 -07:00
c2731cde54 functional-tester/agent: rename "logger" field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 09:56:46 -07:00
eb0c66f912 functional-tester/tester: rename logger field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 09:56:42 -07:00
c9161b1f5c functional-tester/agent: fix govet shadow in Go tip
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-03 06:36:08 -07:00
f0dffb4163 raft: Propose in raft node wait the proposal result so we can fail fast while dropping proposal. 2018-04-03 11:04:09 +08:00
9c62d7b2d1 leaes: remove unnecessary O(log N) operation when nothing is expiry
Since heap is already sorted, we can just check first element
to see if anything is expiry, rather than popping and pushing
it back. If nothing is expiry, pop operation is unnecessary.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 16:34:34 -07:00
a6984c53de lease: add "expireExists"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 16:34:34 -07:00
f9b7a012b5 lease: add "TestLeaseQueue"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 16:34:30 -07:00
51b8d68a7f lease: godoc "LeaseWithTime", change field name to "id"
No need to have "lease" in field name.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 14:58:34 -07:00
2aa3decc38 Merge pull request #9418 from mgates/use_heap_to_track_lease_expirations
lease: Add a heap to optimize lease expiration checks
2018-04-02 14:45:49 -07:00
e001ecb48d Merge pull request #9518 from gyuho/eee
pkg/transport: log cert file not found in server-side
2018-04-02 14:45:27 -07:00
021df6a827 etcdctl/ctlv3: set client-side logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 13:51:22 -07:00
faeffff5b5 CHANGELOG-3.4: highlight TLS error logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 13:46:25 -07:00
d5bcf66b6b etcdmain: pass logger to "transport.SelfCert"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 13:42:17 -07:00
a173e761bb embed: support logger for TLS
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 13:42:13 -07:00
322437f47d pkg/transport: log tlsutil.NewCert errors
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 13:42:09 -07:00
472f309411 lease: fix gofmt
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 13:00:33 -07:00
139202e7d8 CHANGELOG: update
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 11:56:27 -07:00
3f85ae70e0 lease: add lease benchmarks 2018-04-02 11:52:58 -07:00
6f271d8bf1 lease: Add a heap to optimize lease expiration checks
This adds a heap acting as a priority queue to keep track of lease
exiprations. Previously the whole lease map had to be iterated through
each time.

The queue allows us to check only those leases which might be expired.
When the expiration changes, we add an additional entry. If we check an
entry that isn't expired, it means that the lease got extended.
If we find a entry in the heap that doesn't have a corresponding entry in
the map, we know that the lease has already been expired or revoked.
2018-04-02 11:52:55 -07:00
42d157fea9 Merge pull request #9517 from gyuho/fff
functional-tester: differentiate follower/leader injection
2018-04-02 11:45:35 -07:00
173fdc37a3 test: run shellcheck only on bash scripts
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 11:45:04 -07:00
6f2adc8a3d scripts: add dev scripts
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 11:27:39 -07:00
828a0246a6 Makefile: update/move
This is being used for all docker tests.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 11:27:26 -07:00
64c9caa76b etcd-test-proxy: update README
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 11:03:08 -07:00
8f1d83cd89 functional-tester: update README
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 11:02:44 -07:00
5973e5b467 tester: clean up, differentiate follower/leader injection
Rather than injecting to random members.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 11:00:24 -07:00
ded355abd9 functional-tester/rpcpb: fix failure name enum
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 10:45:34 -07:00
a9a10089bf Merge pull request #9514 from ppggff/master
Explanation of configuration flag '--auto-compaction-mode' is rendered as table in coreos.com
2018-04-02 09:57:19 -07:00
007cdd00ed Merge pull request #9515 from gyuho/ftest
functional-tester: randomize failure injection sequence (by default)
2018-04-02 09:39:50 -07:00
94a96e59e0 functional-tester: improve logging, remove "round" parameter from
"Failure"

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 09:37:50 -07:00
3ced4443ba functional-tester/tester: add "failureStrings"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 09:31:31 -07:00
7791b06cdf functional-tester/tester: fix YAML field name
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 09:28:46 -07:00
38d315fecf functional-tester/rpcpb: update YAML field name to "etcd"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-02 09:28:22 -07:00
ee66a8087b functional-tester/agent: improve logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-01 02:57:47 -07:00
3fe077746f functional-tester/cmd/etcd-tester: add wait health logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-01 02:33:10 -07:00
e552607a04 functional-tester/tester: clean up logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-01 02:33:06 -07:00
6d8d8a6dcb functional-tester/tester: test shuffled cases are equal when sorted
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-31 18:43:24 -07:00
9e28331961 functional-tester/agent: remove invalid operation checks
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-31 18:38:29 -07:00
2b9c810fa4 functional-tester/tester: shuffle failure cases with coprime
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-31 18:35:06 -07:00
ffabe55a25 functional-tester/tester: clean up stress, fix stress closing
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-31 18:15:40 -07:00
8dbe491f1a functional-tester/rpcpb: add "failure-shuffle"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-31 17:49:26 -07:00
e9d151d76c functional-tester/tester: update import paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-31 17:47:47 -07:00
3f390622f7 functional-tester/agent: stop proxy on "fail archive"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-31 17:47:23 -07:00
045dab52ad Documentation/op-guide: explanation of configuration flag '--auto-compaction-mode' is rendered as table in coreos.com 2018-03-31 11:14:04 +08:00
bf052ef491 semaphore.sh: run release tests with latest 3.3
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 16:14:31 -07:00
93fec5ef54 Merge pull request #9513 from gyuho/functional-tester
functional-tester: refactor agent/tester
2018-03-30 16:06:11 -07:00
048a1b14d5 test: bump up default timeout for now
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 14:42:45 -07:00
bf3994d3f0 functional-tester/agent: fix shadowed err var
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 12:30:48 -07:00
9811451604 build: fix "compile_pass"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 12:27:17 -07:00
c483c050cf bill-of-materials.json: update
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 12:07:36 -07:00
194cdede89 functional-tester/cmd/etcd-tester: check error from "Bootstrap"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 12:01:27 -07:00
c1a8c73f9a functional-tester/tester: add missing "newNoChecker"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:54:32 -07:00
ae56cf014d functional-tester/rpcpb: simplify "return err"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:46:03 -07:00
d5a46abdb5 functional-tester/tester: fix goword errors
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:40:13 -07:00
0a0a7d007c Dockerfile-functional-tester: copy "local-test.yaml"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:37 -07:00
bb73145565 functional-tester: update local test scripts with docker
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:33 -07:00
07ca694947 functional-tester: update README
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:24 -07:00
617069dc99 hack/scripts-dev/Makefile: fix functional-tester build paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:24 -07:00
a77ae6df00 tools/etcd-test-proxy: fix logger
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:24 -07:00
5a5ac3a721 Dockerfile-functional-tester: update build paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:24 -07:00
28766fb002 test: run test script with new "functional-tester"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:23 -07:00
d44332daa9 proxy: clean up logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:23 -07:00
e170d40f90 functional-tester: move "etcd-runner" to "./cmd"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:23 -07:00
586a253943 functional-tester: update build paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:23 -07:00
0e7f48b375 functional-tester/etcd-tester: remove
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:23 -07:00
f7eab57b3c functional-tester/etcd-agent: remove
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:23 -07:00
3fba5ab403 vendor: add "go.uber.org/zap"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:23 -07:00
408a6c763b functional-tester/cmd/etcd-tester: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:23 -07:00
cbfba6db76 functional-tester/cmd/etcd-agent: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:23 -07:00
2bc666292e functional-tester/tester: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-30 11:25:19 -07:00
ca54bc22c7 functional-tester/agent: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-29 20:36:46 -07:00
1f77a6a9c0 functional-tester/rpcpb: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-29 20:36:46 -07:00
3a8a150b0f functional-tester/scripts/genproto: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-29 11:31:55 -07:00
8767e39bec Merge pull request #9510 from jpbetz/changelog-2018-03-29
CHANGELOG: add 3.1.13 and 3.2.18 release dates.
2018-03-29 11:14:16 -07:00
84be43855e CHANGELOG: add 3.1.13 and 3.2.18 release dates. 2018-03-29 10:59:34 -07:00
c35cd03a66 semaphore: update Go version, release test version
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-29 09:21:03 -07:00
7fd8db98d2 CHANGELOG-3.3: update 3.3.3 release date
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-29 09:08:24 -07:00
365faaf4d3 CHANGELOG: update Go version in v3.3.3
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-29 09:06:27 -07:00
3f1a551f6b hack/scripts-dev: update Makefile go version
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-29 09:00:58 -07:00
971ed2f5e2 travis: upgrade Go version to 1.10.1
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-29 09:00:20 -07:00
296c538a80 Merge pull request #9505 from kchristidis/fix-rafttest
raft: fix failing tests in rafttest
2018-03-28 12:41:55 -07:00
438163feb4 raft: fix failing tests in rafttest
Tests in `rafttest` would fail because they referred to field `Id` instead of
`ID`. This PR fixes that.

Closes #9504.

Signed-off-by: Kostas Christidis <kostas@christidis.io>
2018-03-28 15:12:29 -04:00
053bab06db Merge pull request #9497 from gyuho/cmux
vendor: upgrade "soheilhy/cmux" to "v0.1.4"
2018-03-28 09:09:36 -07:00
9377e5169b CHANGELOG-3.4: highlight "soheilhy/cmux" dependency upgrade
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 21:58:55 -07:00
f54ede4723 vendor: upgrade "soheilhy/cmux" to "v0.1.4"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 21:46:40 -07:00
f5c56401d7 scripts/update-clientv2: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 10:33:27 -07:00
583fda7240 CHANGELOG-4.0: deprecate "etcdctl backup" command
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 09:53:51 -07:00
8036a818d5 CHANGELOG-4.0: deprecate v2 proxy
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 09:18:58 -07:00
473793be1f Merge pull request #9490 from gyuho/cors
*: support CORS for v3 HTTP requests
2018-03-27 09:04:26 -07:00
57f036d617 etcdmain: update "help" page
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 09:00:13 -07:00
feb88ec66b embed: update "HostWhitelist" godoc
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
089e8ffecb pkg/flags: fix "Set"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
3b1eaaee6e etcdmain: fix "validateClusteringFlags"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
9c38c43796 CHANGELOG-3.4: add "CORS" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
a066b03c2c embed: clean up CORS, HostWhitelist logging
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
27ed129f44 etcdmain: update "CORS", "HostWhitelist" flag parsing
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
9ea8be0c2b embed: support "CORS" handler in v3 HTTP requests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
c7cecca575 embed: rename "Config.CorsInfo" to "Config.CORS"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
c841de1f62 etcdserver: add "CORS" field to "ServerConfig"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
29db853317 etcdserver: replace "hostWhitelist" with "AccessController"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
35509bf69c etcdmain: default "--host-whitelist '*'"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
7195bb7ced pkg/cors: remove
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
df6cd22d59 embed: update "CorsInfo" field to "map[string]struct{}"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
35b01b982c etcdmain: use NewUniqueURLsWithExceptions
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
b426217907 pkg/flags: add "UniqueURLs", "UniqueStrings"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>

iii

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-27 06:25:44 -07:00
2b7783028f Merge pull request #9491 from jiaxuanzhou/clientv3
clientv3: optimize func NewFromURL
2018-03-27 04:31:31 -07:00
ad448fb280 clientv3: keep NewFromURL the same, add method NewFromURLs 2018-03-27 10:40:10 +08:00
e1bf612ee8 clientv3: optimize func NewFromURL 2018-03-27 09:30:12 +08:00
2e1e619cc0 Merge pull request #9486 from gyuho/ddd
Documentation: highlight v3 post migration
2018-03-26 05:53:26 -07:00
7563bec19f CHANGELOG: update compactor links, 4.0
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-26 05:51:05 -07:00
c2a63478a6 Merge pull request #9485 from gyuho/compactor
compactor: adjust interval for period <1-hour
2018-03-26 05:34:43 -07:00
a994fdedb3 Merge pull request #9450 from hexfusion/gw_naming
etcdserver: improve Lease http path naming for gRPC gateway
2018-03-26 00:06:50 -07:00
fc53917302 Merge pull request #9487 from cceckman/patch-1
Documentation: Clarify revisions vs. versions in data model doc
2018-03-26 00:06:35 -07:00
72500fe34f Documentation: Clarify revisions vs. versions
This confused me just looking at the protos; reading up on coreos/etcd#6518 helped clarify things. I highlighted the terms that show up as fields in protos and tried to clean up some of the language.
2018-03-24 16:34:48 -07:00
868558ce85 compactor: simplify interval logic on periodic compactor
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-24 07:33:19 -07:00
977e690caa Documentation: highlight v3 post migration
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-23 19:54:09 -07:00
9af05a45d4 etcdserver: move "unsafe" flags to bottom
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-23 19:44:24 -07:00
cfd8b3e86d embed: move "unsafe" flags to bottom
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-23 19:44:24 -07:00
940200f1ae etcdmain: move "unsafe" flags to bottom
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-23 19:44:24 -07:00
501c80fbbc compactor: adjust interval for period <1-hour 2018-03-23 10:11:59 -07:00
f6f43ee799 Documentation/op-guide: document compactor change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-22 13:48:23 -07:00
d1be316b51 CHANGELOG: add compactor changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-22 13:48:08 -07:00
34241efb11 CHANGELOG-3.1: highlight Read Index change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-22 11:43:35 -07:00
118e64ef4c Merge pull request #9479 from gyuho/fedora
*: clean up Makefile, update base image
2018-03-22 11:42:14 -07:00
be50343652 words: whitelist more words
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-22 11:01:26 -07:00
f6c9f767e5 Dockerfile-test: install "netcat"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-22 10:48:17 -07:00
906a40bced scripts/genproto: fix shellcheck
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-22 10:39:31 -07:00
9c995fab9b test: fix shellcheck
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-22 10:39:23 -07:00
cd92d4a987 etcdserver: improve Lease http path naming for gRPC gateway with additional_bindings. 2018-03-22 07:38:03 -04:00
a2a22a6506 Dockerfile-test: use "fedora" as base image
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-22 02:40:28 -07:00
dcc2b9cfda hack/scripts/Makefile: fix docker commands
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-22 02:05:48 -07:00
31de8345f9 Merge pull request #9460 from hexfusion/e2e_watch_tests
e2e: add gRPC gateway Lease tests
2018-03-21 22:34:34 -04:00
d8ed7a7ba3 Merge pull request #9476 from gyuho/ccc
compactor: clean up
2018-03-21 18:48:25 -07:00
8dab18aca4 e2e: add gRPC gateway Lease tests 2018-03-21 21:13:13 -04:00
7ce69b256a compactor: clean up
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-21 17:14:50 -07:00
f7714e269e CHANGELOG-3.1: add metrics fix
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-21 13:36:35 -07:00
334e274f70 Merge pull request #9473 from gyuho/deprecate-policy
*: document deprecate policy in CHANGELOG-4.0
2018-03-21 09:24:31 -07:00
ef715d823a *: document deprecate policy in CHANGELOG-4.0
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-21 09:23:36 -07:00
5abbea8d98 Merge pull request #9470 from gyuho/deprecated
*: document deprecated ca-file flags (since v2.1)
2018-03-20 17:47:07 -07:00
da1d3e6a78 Merge pull request #9468 from gyuho/compactor-doc
*: document auto-compaction logic
2018-03-20 17:36:09 -07:00
e9e90bd30f Documentation/op-guide: explain auto-compaction logic
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 16:14:51 -07:00
da0e154ae6 CHANGELOG: add auto-compaction changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 16:14:51 -07:00
fa5f768236 e2e: drop "ca-file" flags
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 16:08:33 -07:00
4f1cf30c7d etcdmain: use "TrustedCAFile" in grpc_proxy
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:48:44 -07:00
140dd1064f Documentation/upgrades: highligh "ca-file" changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:48:44 -07:00
f0a08f71db CHANGELOG-3.4: highlight "ca-file", "peer-ca-file" flag deprecation
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:48:41 -07:00
ad8c326599 clientv3/yaml: deprecate CAFile field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:38:08 -07:00
759fcb6e70 pkg/transport: deprecate "CAFile" field
Has been deprecated since v2.1...

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:38:05 -07:00
c524ebe6fd embed: deprecate "CAFile" field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:36:47 -07:00
82ef3f83f6 etcdmain: deprecate 'ca-file' and 'peer-ca-file' flags
Has been deprecated since 2.1...

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:31:32 -07:00
9bd580f2fc tools/benchmark: use "TrustedCAFile"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:31:32 -07:00
aece63b10e etcdctl: use "TrustedCAFile"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:31:32 -07:00
706c760a3d etcdmain: remove deprecated flags from "etcd --help"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:31:32 -07:00
f1427b336e Documentation/upgrades: add upgrade v3.4
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 15:31:32 -07:00
6153e9fd1d Merge pull request #9469 from gyuho/snapshot-count
*: document v3.2 default snapshot-count value change
2018-03-20 15:31:02 -07:00
af20c3969b *: document v3.2 default snapshot-count value change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-20 14:49:40 -07:00
d2bbedf215 Merge pull request #9466 from mkumatag/update-baseimage
Change baseimage for ppc64le dockerfile
2018-03-20 02:24:09 -07:00
b0ed5c1dd8 Merge pull request #8680 from mitake/auth-cleanup
*: don't use a string literal directly in grpc metadata
2018-03-20 18:19:23 +09:00
30ec8cec23 build-docker: Change baseimage for ppc64le dockerfile 2018-03-20 04:34:46 -04:00
56d1a45bbc Merge pull request #9462 from gyuho/balancer-clean-up
clientv3: move health balancer to "balancer"
2018-03-19 16:01:53 -07:00
3aa5711dca clientv3: move health balancer to "balancer"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-19 15:16:11 -07:00
dea71f32f6 Merge pull request #9458 from gyuho/pre-vote
functional-tester: test pre-vote in functional-tester
2018-03-19 09:26:17 -07:00
04ba007429 Merge pull request #9461 from hexfusion/fx_ct
e2e: remove duplicate error check
2018-03-19 07:30:38 -07:00
813c9aa450 functional-tester: enable "--pre-vote"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-19 07:18:57 -07:00
a66e657cac *: update "pre-vote" flag
Disabled by default, anyway.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-19 07:18:57 -07:00
69eab45880 Merge pull request #9457 from gyuho/fff
pkg/flags: clean up, add "SelectiveStringsValue"
2018-03-19 07:17:11 -07:00
e8d58430a6 e2e: remove duplicate error check 2018-03-19 09:38:18 -04:00
6bf273b883 Merge pull request #9452 from rhcarvalho/patch-1
runtime-reconf-design.md: improve documentation
2018-03-19 02:24:53 -07:00
1640cdb044 pkg/flags: clean up, add "SelectiveStringsValue"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-19 02:23:06 -07:00
f10cf6be5a Merge pull request #9454 from shsjshentao/tuningPort
Documentation: 2379 port mistake
2018-03-19 14:43:35 +08:00
b2f28ee234 Documentation: 2379 port mistake 2018-03-19 13:37:14 +08:00
bc3a8f0efe runtime-reconf-design.md: improve documentation
Fix typos and add articles to improve the experience of people reading the docs.
2018-03-18 17:13:51 -07:00
cfac50cb53 Merge pull request #9449 from gyuho/ccc
v3rpc: clean up "maintenanceServer.Status" call
2018-03-17 15:06:45 -07:00
4cb0d167d6 v3rpc: clean up "maintenanceServer.Status" call
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-17 02:41:54 -07:00
c22afc2d71 CHANGELOG: add Go versions, add security change details
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-17 01:57:20 -07:00
c5942972f7 build: fix GO_LDFLAGS (wrong 'internal' path)
GIT_SHA wasn't updated (internal path was wrong)

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-17 00:35:31 -07:00
576a2ca501 Merge pull request #9446 from gyuho/ttt
mvcc/backend: defrag to block concurrent read requests while resetting tx
2018-03-16 12:48:48 -07:00
6c40b2b5d4 mvcc/backend: defrag to block concurrent read requests while resetting tx
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-16 03:29:18 -04:00
5076497e6c CHANGELOG: add "metrics" fix changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-15 21:21:23 -04:00
c8cfdb3b55 Merge pull request #9445 from gyuho/raft-index
*: clean up etcdserver raft handler, fix "endpoint status" Raft index field
2018-03-15 20:50:37 -04:00
14558027bc *: fix "raftIndex" comment as "committed index"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-15 19:40:12 -04:00
509cf414f7 etcdserver: remove duplicate "setAppliedIndex" calls
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-15 19:35:44 -04:00
4f754c1850 etcdserver: clean up with "RaftStatusGetter"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-15 19:30:08 -04:00
46f346f87a Merge pull request #9442 from gyuho/urls
etcdmain: remove "listen-metrics-urls" manual parsing
2018-03-15 08:23:32 -04:00
bec3d975e0 etcdmain: handle JSON "listen-metrics-urls"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-15 01:24:53 -04:00
4419661fb1 etcdmain: remove "listen-metrics-urls" manual parsing
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-15 01:23:33 -04:00
1e94968ffa pkg/flags: support empty URLs string in NewURLsValue
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-15 01:18:57 -04:00
b1dd19a7aa *: don't use string literals directly in grpc metadata
Current etcd code uses the string literals ("token", "authorization")
as field names of grpc and swappger metadata for passing token. It is
difficult to maintain so this commit introduces new constants for the
purpose.
2018-03-15 14:17:34 +09:00
15926e029c Merge pull request #9441 from gyuho/strings
*: replace "--host-whitelist" with "flags.StringSlice"
2018-03-14 23:26:43 -04:00
718d0d045c Merge pull request #9433 from mitake/proto-types
*: unify type of key and rangeEnd in AuthRoleRevokePermissionRequest
2018-03-15 11:28:43 +09:00
79d3c93568 etcdmain: replace "--host-whitelist" with "flags.StringSlice"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-14 21:38:20 -04:00
5e9d4652e0 pkg/flags: add "StringSliceFromFlag"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-14 21:32:24 -04:00
9e7ef79c26 pkg/flags: add "StringSlice"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-14 21:27:17 -04:00
b5bd614a4b Merge pull request #9439 from huikang/doc-improve-api-guarantee
Documentation: make the API guarantee example explicit
2018-03-14 17:37:41 -04:00
f85c3b654a Documentation: make the API guarantee example explicit
Signed-off-by: Hui Kang <kangh@us.ibm.com>
2018-03-14 17:25:27 -04:00
a54063716f Merge pull request #9437 from gyuho/mmm
rafthttp: add missing "peer_sent_failures_total" metrics call
2018-03-14 12:43:52 -04:00
6ef2b7bcee rafthttp: add missing "peer_sent_failures_total" metrics call
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-14 12:43:25 -04:00
892939f82f Merge pull request #9410 from laggyluke/grafana-label-matcher
Documentation/op-guide: add job="etcd" label matcher to Grafana dashboard
2018-03-14 08:22:59 -04:00
752963beea *: unify type of key and rangeEnd in AuthRoleRevokePermissionRequest
Fix https://github.com/coreos/etcd/issues/9424
2018-03-14 14:38:20 +09:00
c5417939b6 Merge pull request #9426 from wenjiaswe/testscript
scripts: add TESTCASE flag to run single unit test
2018-03-14 00:13:40 -04:00
3571f406aa scripts: add TESTCASE flag to run single unit test
Enable user to run specified test case with different TIMEOUT expectation
when needed.
2018-03-13 13:54:20 -07:00
3e668a9e97 Merge pull request #9414 from jpbetz/changelog-3.1.13-3.2.18
CHANGELOG: set dates for 3.1.12 & 3.2.17 release
2018-03-13 16:14:22 -04:00
4017ecaf0f CHANGELOG: set dates for 3.1.12 & 3.2.17 releases, add notes for next releases 2018-03-13 16:12:59 -04:00
4408ecede8 CHANGELOG-3.4: update "prevent disruptive rejoining"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-10 20:15:11 -08:00
249b7a1411 Merge pull request #9415 from gyuho/adjust-advancing-ticks
etcdserver: adjust election timeout on restart
2018-03-10 20:04:58 -08:00
9680b8a157 etcdserver: adjust election ticks on restart
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-10 19:09:38 -08:00
edec229e10 etcdserver: make "advanceTicks" method
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-10 18:50:50 -08:00
29d9543850 rafthttp: add "ActivePeers" to "Transport"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-10 18:50:47 -08:00
9e84f2d4e8 CHANGELOG-3.2: highlight --snapshot-count default value change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-09 15:51:35 -08:00
7e14e11548 Merge pull request #9408 from qinix/fix-proto-code-style
etcdserverpb: fix protobuf code style
2018-03-09 08:34:15 -05:00
67c66884e3 etcdserverpb: fix protobuf code style 2018-03-09 14:20:52 +08:00
00b84235df CHANGELOG-3.3: update dates, add 3.3.3
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-08 12:59:40 -08:00
5132017b36 CHANGELOG: update
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-08 11:06:10 -08:00
e280f8c3da clientv3/integration: adjust timeouts for TestLeasingReconnectOwnerRevoke
Now Restart takes longer, and leasing Get blocks
on server restarts anyway, so fix CI failures in
slow machines.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-08 10:58:18 -08:00
6fd4138c11 Merge pull request #9399 from yudai/maxleasettl
*: enforce max lease TTL with 9,000,000,000 seconds
2018-03-08 10:57:09 -08:00
83a9684c4e CHANGELOG: add "lease overflow check"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-08 10:29:30 -08:00
3e69dc5a7c clientv3/integration: test "rpctypes.ErrLeaseTTLTooLarge"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-08 10:19:30 -08:00
db21941d1d *: enforce max lease TTL with 9,000,000,000 seconds
math.MaxInt64 / time.Second is 9,223,372,036. 9,000,000,000 is easier to
remember/document.
2018-03-08 10:17:12 -08:00
808450129b Documentation/op-guide: add job="etcd" label matcher to Grafana dashboard
Prometheus that scrapes etcd might also scrape other things, so we should
specifically ask for etcd metrics, especially when dealing with generic
metrics like `process_resident_memory_bytes`.
2018-03-08 15:04:54 +01:00
4704232cb6 *: remove unused env vars
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-08 01:35:10 -08:00
a39273f26e Merge pull request #9402 from jpbetz/3.1.12-changelog
CHANGELOG: etcd 3.1.12 backports
2018-03-08 00:59:49 -08:00
2b123f6609 CHANGELOG: etcd 3.1.12 backports 2018-03-07 22:50:11 -08:00
bb60342cec hack/scripts-dev: fix indentation in run.sh
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-07 14:30:49 -08:00
b6526b9d42 hack/scripts-dev: add more docker commands
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-07 14:11:17 -08:00
2f2c6cb13b Merge pull request #9397 from gyuho/vvv
*: regenerate vendor directory, document updatedep.sh
2018-03-07 14:00:37 -08:00
8b6ee6aea9 hack/scripts: update comments on "build-docker-release-master"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-07 13:54:59 -08:00
27f0aa9cf0 scripts: document "updatedep.sh" script
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-07 13:54:56 -08:00
d598af104d vendor: regenerate with latest "dep"
Better pruning

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-07 13:34:21 -08:00
ab4d888e1f pkg/logutil: fix example
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-07 13:11:34 -08:00
2a5911f98d Merge pull request #9396 from gyuho/lll
*: replace "pkg/logger" with "pkg/logutil"
2018-03-07 10:57:37 -08:00
4e0c00244d *: remove "pkg/logger", replace with "pkg/logutil"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-07 10:49:25 -08:00
82ee796aa4 pkg/logutil: move "pkg/logger" to "logutil"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-07 10:45:29 -08:00
89292affaa Merge pull request #9352 from gyuho/raft-pre-vote
*: configure Raft Pre-Vote to reduce disruptive rejoining servers
2018-03-07 10:15:26 -08:00
abedaa31e1 Merge pull request #9394 from jeis2497052/master
*: fix typos in markdown docs
2018-03-07 12:03:10 -05:00
ca47aab373 *: fix typos in markdown docs 2018-03-07 10:32:07 -05:00
b48d3eb380 etcdmain: add "--experimental-pre-vote" flag
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-06 09:56:32 -08:00
3092d3bf7f embed: add "ExperimentalPreVote" for Raft
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-06 09:56:19 -08:00
78918848bd etcdserver: support Raft Pre-Vote
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-06 09:55:55 -08:00
8aae8c1c9c raft: document disruptive rejoining server, add tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-06 09:54:29 -08:00
211523fc88 Merge pull request #9390 from gyuho/ddd
*: add "--cluster" flag to defrag, highlight defrag endpoints
2018-03-05 12:36:27 -08:00
62d8e36462 Merge pull request #9389 from spzala/checkdatascaledoc
etcdctl/doc: create doc for check datascale
2018-03-05 11:08:25 -08:00
6affd6a599 CHANGELOG-3.4: fix typo in gRPC gateway change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-05 11:06:34 -08:00
63ab908206 CHANGELOG-3.4: add JWT ttl field, defrag --cluster changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-05 11:04:41 -08:00
9919e4d391 Documentation/op-guide: highlight defrag operation "--cluster" flag
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-05 10:54:45 -08:00
3451905d3e etcdctl: highlight "defrag" command caveats
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-05 10:52:59 -08:00
912c402188 etcdctl/ctlv3: add "--cluster" flag to "defrag" command
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-05 10:46:37 -08:00
55a7b30377 Merge pull request #9385 from Revolution1/fix-typos-of-word-trevisions
trevisions -> revisions
2018-03-05 10:28:16 -08:00
0a33308b8a Merge pull request #9387 from spzala/updatecheckperfdoc
etcdctl/doc: document check perf auto-compact and defrag options
2018-03-05 10:27:47 -08:00
0adee36cc6 etcdctl/doc: create doc for check datascale
Create documentation for check datascale.

Fixes #9327
2018-03-05 13:27:30 -05:00
349773c832 etcdctl/doc: document check perf auto-compact and defrag options
Create doc for newly created auto-compact and defrag options in
check perf command.
2018-03-05 12:07:59 -05:00
3534df14b4 Documentation: trevisions -> revisions 2018-03-05 20:14:37 +08:00
064aeb258b Merge pull request #9382 from gyuho/flag
pkg/flags: fatal on conflicting environment variable
2018-03-02 11:29:13 -08:00
748ab8c398 pkg/flags: fatal on conflicting environment variable
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-02 10:36:59 -08:00
dbdab24d23 Merge pull request #9383 from gyuho/change
CHANGELOG: clean up, add auth/flag changes
2018-03-02 10:32:41 -08:00
3f3425ab8b CHANGELOG: clean up, add auth/flag changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-02 10:30:42 -08:00
0a972daac7 Merge pull request #9379 from gyuho/fix-election
*: fix server panic on invalid Election Proclaim/Resign HTTP requests
2018-03-01 18:21:54 -08:00
2f909a97b5 e2e: add "Election" grpc-gateway test cases
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-01 17:08:25 -08:00
b62e8291c2 e2e: add "spawnWithExpectLines"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-01 16:16:51 -08:00
85533a6305 api/v3election: error on missing "leader" field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-01 16:16:45 -08:00
48ff9e64f4 Merge pull request #9380 from gyuho/separate
CHANELOG/hack: add Election HTTP API fix
2018-03-01 15:02:31 -08:00
b8c944ccef CHANGELOG: add Election API fix
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-01 14:55:09 -08:00
637487625d hack/scripts-dev: reproduce election API panic
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-03-01 14:49:59 -08:00
a7e5790c82 Merge pull request #9372 from gyuho/origin
*: mitigate DNS rebinding attacks in insecure etcd server
2018-02-28 20:38:23 -08:00
9f0027dfb2 *: do not whitelist empty hosts
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 19:20:10 -08:00
02217cb6df Documentation/op-guide: document "--host-whitelist"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 18:54:59 -08:00
d28c0921d3 CHANGELOG: add "--host-whitelist" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 18:43:49 -08:00
e9969aae7e hack/scripts-dev/docker-dns: add "--host-whitelist" tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 18:28:12 -08:00
8edaecadc4 embed: enforce client origin policy
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 18:27:22 -08:00
3648649277 etcdserver: add "HostWhitelist" to "ServerConfig"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 18:25:28 -08:00
0179d81f22 etcdmain: add "--host-whitelist" flag
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 18:23:16 -08:00
00c1f16f0a embed: add "HostWhitelist"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 18:20:50 -08:00
418bb92963 pkg/httputil: add "GetHostname"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 17:27:40 -08:00
f0eb772963 auth: add "IsAuthEnabled" method
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 11:16:35 -08:00
9db332c598 hack/scripts-dev: add HTTP requests with DNS
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 11:15:41 -08:00
f6617feb8a embed: rename "httpWrapper"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-28 11:15:10 -08:00
ac50ef0812 Merge pull request #8302 from mitake/token-ttl
auth: a new option for configuring TTL of jwt tokens
2018-02-27 20:50:37 -08:00
fb828d1037 hack/scripts-dev: add "clean-docker" to Makefile
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-27 20:09:33 -08:00
566b3a05dc Merge pull request #9371 from gyuho/mutator
embed: rename "v3alphaMutator" to "v3Mutator"
2018-02-27 14:33:06 -08:00
c4fb5bdd23 embed: rename "v3alphaMutator" to "v3Mutator"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-27 14:31:32 -08:00
e8a368d4bd Merge pull request #9341 from gyuho/changelog-feb
CHANGELOG: add changes for next patch release
2018-02-27 14:16:42 -08:00
16f5a301a1 CHANGELOG: add changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-27 12:20:48 -08:00
5b8419e9fa semaphore: update release test version 2018-02-27 11:29:28 -08:00
33949f732e Merge pull request #9370 from gyuho/hack
*: fix Makefile, move GOPATH setup to build script
2018-02-27 11:14:36 -08:00
1da0818186 build: use "bash" syntax, clean up
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-27 11:07:36 -08:00
d7092b360d hack/scripts-dev: fix "compile-with-docker-test" in Makefile
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-27 11:07:33 -08:00
18f8b1b1e1 build,test: set up GOPATH in build script
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-27 10:23:14 -08:00
32c46954ee hack/scripts-dev: add "docker-dns-test-insecure-run"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-27 10:12:44 -08:00
1caa6afb5f Merge pull request #9369 from mitake/nop-auth-token
auth: a new auth token provider nop
2018-02-27 18:15:37 +09:00
2a54e32819 e2e: add a test case of JWT token expiration 2018-02-27 16:29:30 +09:00
8fd01f56d6 auth: a new option for configuring TTL of jwt tokens
This commit adds a new option of --auth-token, ttl, for configuring
TTL of jwt tokens. It can be specified like this:
```
--auth-token jwt,pub-key=<pub key path>,priv-key=<priv key path>,sign-method=<sign method>,ttl=5m
```

In the above case, TTL will be 5 minutes.
2018-02-27 16:25:19 +09:00
8eb7cfb296 auth: a new auth token provider nop
This commit adds a new auth token provider named nop. The nop provider
refuses every Authenticate() request so CN based authentication can
only be allowed. If the tokenOpts parameter of auth.NewTokenProvider()
is empty, the provider will be used.
2018-02-27 16:21:14 +09:00
23331f7604 Merge pull request #9368 from mkumatag/fix_gopath_var
build: Fix setting gopath
2018-02-26 20:55:42 -08:00
1ddfade924 build: Fix setting gopath 2018-02-26 23:37:35 -05:00
f802cd9db2 Merge pull request #9366 from gyuho/rafthttp-mu
rafthttp: make "ActiveSince" non-blocking on write lock
2018-02-26 19:19:27 -08:00
e42c2b7bd2 tools/etcd-test-proxy: godoc
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:29:57 -08:00
659224b385 Merge pull request #9229 from ximenzaoshi/lease-fix
lease: Change lease Mutex to RWMutex
2018-02-26 17:21:09 -08:00
5b9741e804 Merge pull request #9274 from gyuho/revert
*: revert "internal" package changes
2018-02-26 17:13:26 -08:00
2dd8af3503 test: fix "internal/store" path
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:12:45 -08:00
811566f2f2 *: fix "v2store" imports
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
33d8126c6b *: regenerate proto
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
d493cd3bbd etcdserver: fix proto import paths
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
69f7e11506 *: move "error" to "etcdserver/v2error"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
b24d81c30d scripts: remove "internal"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
8a518b01c4 *: revert "internal/mvcc" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
9b5d6edc4b *: revert "internal/raftsnap"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
0e12e888e0 *: move "internal/store" to "etcdserver/v2store"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
dd2f3b0de8 *: revert "internal/lease" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
bb95d190c1 *: revert "internal/auth" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
0850ccbf45 *: revert "internal/version" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
0e65660548 *: revert "internal/discovery" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
19010a7182 *: revert "internal/alarm" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
6bbe107225 *: revert "internal/compactor" package change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
fbe6767570 rafthttp: make "ActiveSince" non-blocking on write lock
"ActiveSince" is read-only, and should be able to call
concurrently, as long as there is no routine holding
write lock (send, send snapshot).

e.g. "ActiveSince" is used around etcd server
"processInternalRaftRequestOnce", should be non-blocking

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 16:47:29 -08:00
d6b46ac969 Merge pull request #9279 from gyuho/force-new-cluster
Documentation/op-guide: discourage "--force-new-cluster" in recovery
2018-02-26 15:52:42 -08:00
01193ce5e4 Merge pull request #9363 from gyuho/build-compile
build: fix compile pass
2018-02-26 12:47:58 -08:00
209c820ffa build: ignore "shellcheck disable=SC2086"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 12:33:29 -08:00
e1001f9349 build: fix compile pass
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 11:37:48 -08:00
04e932ba6f Merge pull request #9347 from gyuho/raft-force-new-cluster
etcdserver: enable "CheckQuorum" when starting with "ForceNewCluster"
2018-02-26 11:28:56 -08:00
53825417d5 Merge pull request #9361 from gyuho/language
Documentation: make "Consul" section more objective
2018-02-26 11:09:11 -08:00
7d7ae8642a Documentation: make "Consul" section more objective
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 10:28:41 -08:00
247473be09 Merge pull request #9362 from gyuho/spell-check
*: fix minor lint warnings
2018-02-26 10:19:17 -08:00
8bf0c43b73 Merge pull request #9267 from gyuho/member-add-test
snapshot: fix "TestSnapshotV3RestoreMultiMemberAdd"
2018-02-26 10:08:49 -08:00
ebfba72715 client: fix "ineffassign" warning
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 10:07:18 -08:00
9c9d846959 clientv3util: fix govet warning
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 10:05:24 -08:00
ab33978646 etcd-tester: fix spell check warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 10:03:54 -08:00
bab0223f04 ctlv3: fix typo in check command
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 10:03:43 -08:00
d808b4686c raft: fix typo in raft_test.go
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 10:03:25 -08:00
d4aeb3b8cf Merge pull request #9356 from mkumatag/fix_gopath
test, build: Fix gopath creation
2018-02-26 07:38:22 -08:00
adf4e05079 test, build: Fix gopath creation 2018-02-26 04:21:06 -05:00
3239641a0c Merge pull request #9350 from JulianGindi/grpc-doc-update
documentation: updated grpc documentation
2018-02-25 19:57:14 -05:00
c751fdf5e8 Merge pull request #9351 from spzala/compactdefragdatascal
etcdctl/check: enable auto compact and defrag for check datascale
2018-02-25 11:00:54 -08:00
2dd1a99f42 Merge pull request #9345 from gyuho/raft-step-candidate
raft: clarify candidate message handling, test candidate to follower transition with message from leader
2018-02-25 10:58:05 -08:00
fc30b9844a etcdctl/check: enable auto compact and defrag for check datascale
Running check datascale can create large history of keyspaces and
internal fragmentation. Allow user to run auto compact and defrag
when run check datascale.
2018-02-23 18:12:54 -05:00
58776fbc10 documentation: updated grpc documentation
I noticed that the docs mention the grpc proxy will listen on port 8080,
but the above example is explicitly telling it to listen on 2379.
Removing confusion.
2018-02-23 13:35:18 -08:00
69357adf33 etcdserver: enable "CheckQuorum" when starting with "ForceNewCluster"
We enable "raft.Config.CheckQuorum" by default in other
Raft initial starts. So should start with "ForceNewCluster".

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-23 00:26:42 -08:00
01db389ea8 raft: document why reuse candidate's term for vote response in stepCandidate
"stepCandidate" should reuse candidate's own term, not term in Message,
because pre-vote is requested with future term.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-21 16:11:01 -08:00
38846c220a raft: use leader's term when candidate becomes follower
`raft.Step` already ensures that when `m.Term > r.Term`,
candidate reverts back to follower with its term being
reset with `m.Term`, thus it's always true that
`m.Term == r.Term` in `stepCandidate`.

This just makes `r.becomeFollower` calls consistent.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-21 16:10:52 -08:00
4fd378ee80 Merge pull request #9343 from gyuho/vvv
*: fix govet -shadow warnings
2018-02-21 10:53:04 -08:00
32ea82cd3f etcd-runner: fix govet -shadow warning
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-21 10:22:12 -08:00
c0910085f5 ctlv2: fix govet -shadow warning
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-21 10:20:54 -08:00
e88bf42966 Merge pull request #9339 from gyuho/fix-embed-auto-compact
embed: fix revision-based compaction with default value
2018-02-21 07:40:35 -08:00
83d1c3d5ec embed: fix revision-based compaction with default value
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-20 17:21:07 -08:00
4aa0320439 embed: document/validate compaction mode
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-20 17:18:48 -08:00
df4aafbbdf Merge pull request #9334 from gyuho/go-1.10
*: upgrade to Go 1.10
2018-02-20 13:22:59 -08:00
089ac72a7c CHANGELOG: add Go 1.10+ for 3.4
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-20 13:21:56 -08:00
e19df692f8 Merge pull request #9185 from spzala/checkdatabase
etcdctl/check: create new check command for memory usage
2018-02-20 11:25:58 -08:00
8b763c64b5 README: require Go 1.10+
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-19 02:27:37 -08:00
ca1885cf1d tools/functional-tester: use Go 1.10
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-19 02:27:37 -08:00
e9b14788cc hack/scripts-dev: use Go 1.10 in Makefile
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-19 02:27:37 -08:00
2dd08a08ae semaphore.sh: use Go 1.10
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-19 02:27:37 -08:00
af4e092e32 travis: use Go 1.10
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-19 02:27:37 -08:00
0b5c660c1d Merge pull request #9336 from rkd-msw/iss_9335_fix
httpproxy: cancel requests when client closes a connection
2018-02-18 12:14:14 -08:00
dfe12ed5c2 httpproxy: cancel requests when client closes a connection 2018-02-18 19:19:44 +00:00
53d2a2edfe etcdctl/check: create new check command for memory usage
Create a new command similar to check perf that can check the memory
consumption for putting different workloads on a given endpoint. If no endpoint
is provided, localhost will be used. Return user with a message that whether
there are enough memory for a given workload with pass or fail.

Fixed #9121
2018-02-17 12:01:31 -05:00
b03fd4cbc3 Merge pull request #9330 from gyuho/auto-compact-defrag
ctlv3/command: auto compact and defrag after "check perf"
2018-02-15 14:51:27 -08:00
d1e85570e9 ctlv3/command: auto compact and defrag after "check perf"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-15 14:28:02 -08:00
1e9ba31eb4 Merge pull request #9323 from gyuho/functional-tester-guide
*: clean up functional tester guide with local cluster, docker container
2018-02-14 11:28:47 -08:00
0210d27979 *: remove "./cmd/tools" in build commands
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-14 11:26:38 -08:00
6ae9a7658a tools/functional-tester: clean up Docker scripts
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-14 11:26:32 -08:00
10185b1953 Merge pull request #9322 from gyuho/fix-failpoints
build: fix "gofail" with "mvcc/backend"
2018-02-14 10:57:43 -08:00
2aa960ad43 build: fix "gofail" with "mvcc/backend"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-14 10:54:13 -08:00
e48b585e22 Merge pull request #9321 from hexfusion/v3_r
CHANGELOG: updates from #9298
2018-02-14 09:26:48 -08:00
68c270d9bd CHANGELOG: updates from #9298 2018-02-13 18:37:11 -05:00
fcd71b47d5 Merge pull request #9298 from hexfusion/v3
*: replace grpc-gateway endpoint with /v3
2018-02-13 17:17:57 -05:00
cb5d089d33 Merge pull request #9312 from hexfusion/e2e_w2
e2e: improve Watch test coverage
2018-02-13 17:07:03 -05:00
aab8b5e456 Merge pull request #9319 from gyuho/skip
scripts/genproto: run "protodoc" by default
2018-02-13 13:53:01 -08:00
dac6948774 scripts/genproto: run "protodoc" by default
Do not skip "protodoc" by default.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-13 13:51:13 -08:00
f65f988e0b e2e: improve Watch test coverage 2018-02-12 22:14:56 -05:00
ebd58a0ea3 Merge pull request #9313 from opera443399/fix-etcdctl-README-typo
etcdctl: fix typo in README
2018-02-12 10:28:13 -08:00
428f8c5b12 Merge pull request #9287 from gyuho/changelog-3.4
CHANGELOG: updates from January/February 2018
2018-02-12 10:15:59 -08:00
02f46938d5 CHANGELOG: updates from January/February 2018
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-12 10:11:55 -08:00
7d8b0ba62d Merge pull request #9307 from yudai/gap_db_size
*: allow dbSizeInUse not to equal to dbSize when growing
2018-02-12 09:46:13 -08:00
a3d0c2e60d Merge pull request #9314 from coreos/ttt
test: fix "internal/store"
2018-02-12 09:34:53 -08:00
73dfbd5a70 Merge pull request #9315 from gyuho/ac
*: regenerate proto with typo fix "acquisition"
2018-02-12 09:33:38 -08:00
a9804cdf75 *: regenerate proto with typo fix "acquisition"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-12 09:25:26 -08:00
3e13424bb8 test: fix "internal/store"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-12 09:21:11 -08:00
069c0fc962 etcdctl: fix typo in README
some examples use endpoint with port `:2379` but the others with `:12379`
2018-02-12 10:22:25 +08:00
488ee99ae8 *: replace grpc-gateway endpoint with stable /v3 2018-02-11 19:07:36 -05:00
9c6d930565 Merge pull request #9303 from gyuho/go
*: use latest Go in tests
2018-02-09 16:12:50 -08:00
10444cc1d7 Merge pull request #9283 from zehweh/patch-1
fix typo in README.md
2018-02-09 15:48:10 -08:00
0a20767280 Merge pull request #9296 from xiang90/c_r
mvcc: allow large concurrent reads under light  write workload
2018-02-09 11:34:28 -08:00
54b21fa312 Merge pull request #9308 from hexfusion/e2e-u
e2e: improve user coverage
2018-02-09 10:13:37 -08:00
4dfd8ab2fc *: fix typo in README.md 2018-02-09 09:23:45 +01:00
571e9a9e79 *: allow dbSizeInUse not to equal to dbSize when growing
Due to boltdb behavior, dbSizeInUse can be unequal to dbSize even when
dbSize is growing in some conditions. The possible gap between the sizes
is up to a couple of pages.

Closes #9302
2018-02-08 19:33:21 -08:00
a0f67e9dab e2e: improve user coverage 2018-02-08 22:15:15 -05:00
3ebee21407 mvcc: allow large concurrent reads under light write workload 2018-02-08 15:56:56 -08:00
f5d02f0279 Merge pull request #9305 from gyuho/fmt
*: fix govet warnings
2018-02-08 15:14:49 -08:00
678bc98f26 hack/scripts-dev: Makefile with Go 1.9.4, 1.8.7
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-08 14:10:37 -08:00
7be4e451ae travis: use Go 1.9.4 with TARGET_GO_VERSION
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-08 14:10:34 -08:00
deb30b500f tools/etcd-test-proxy: remove newline in "Fprintln"
Fix govet warnings with Go tip

```
tools/etcd-test-proxy/main.go:47: Fprintln arg list ends with redundant
newline
```

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-08 13:35:51 -08:00
0cac7c9cc1 semaphore: use Go 1.9.4, update release upgrade test version
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-08 13:20:35 -08:00
fe94f8f53a Merge pull request #9300 from xiang90/simple
mvcc: remove unnecessary metrics update code
2018-02-08 10:14:02 -08:00
1a3a4d1646 mvcc: remove unncessary metrics update code 2018-02-08 08:59:01 -08:00
b309bc6403 Merge pull request #9299 from hexfusion/rp
*: regenerate proto
2018-02-08 06:10:54 -08:00
7efe72ce93 *: regenerate proto 2018-02-07 22:17:05 -05:00
a0e17f69a2 Merge pull request #9292 from longzhiri/master
build.ps1: remove .\cmd
2018-02-06 20:00:50 -08:00
03a4fafaf6 build.ps1: remove .\cmd 2018-02-07 10:36:27 +08:00
11214aa33b Merge pull request #9288 from xiang90/wl
etcdserver: improve request took too long warning
2018-02-06 13:23:41 -08:00
b83244bd35 etcdserver: improve request took too long warning 2018-02-06 12:15:52 -08:00
63183f8c18 Merge pull request #9281 from yudai/fix_unrestored_watchers
mvcc: restore unsynced watchers
2018-02-06 11:33:13 -08:00
88d623f06a Merge pull request #9286 from gyuho/vvv
build: fix "internal/version" LD flags
2018-02-06 10:43:46 -08:00
fcab10bb2d mvcc: restore unsynced watchers
In case syncWatchersLoop() starts before Restore() is called,
watchers already added by that moment are moved to s.synced by the loop.
However, there is a broken logic that moves watchers from s.synced
to s.uncyned without setting keyWatchers of the watcherGroup.
Eventually syncWatchers() fails to pickup those watchers from s.unsynced
and no events are sent to the watchers, because newWatcherBatch() called
in the function uses wg.watcherSetByKey() internally that requires
a proper keyWatchers value.
2018-02-06 10:30:02 -08:00
3215cf7e68 build: fix "internal/version" LD flags
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-06 10:16:01 -08:00
3bd0114c50 Merge pull request #9081 from gyuho/network-fault-test-with-proxy
*: run network fault tests with proxy
2018-02-06 09:51:34 -08:00
af44780be1 Merge pull request #9282 from gyuho/raft-index
raft: reuse "last index" in "appendEntry"
2018-02-06 08:00:58 -08:00
2b7c12fb12 raft: reuse "last index" in "appendEntry"
No need to call "lastIndex" again.
"append" call already returns "lastIndex".

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-05 21:26:45 -08:00
3903385d1b Merge pull request #9272 from gyuho/logger
clientv3: use "pkg.Logger"
2018-02-05 15:41:16 -08:00
99e1bd28b8 Documentation/op-guide: discourage "--force-new-cluster" in recovery
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-05 14:34:51 -08:00
7ba860ed19 snapshot: use "pkg/logger.NewPackageLogger"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-05 14:32:26 -08:00
a2ce52d8c2 etcdctl/ctlv3: use "logger.NewPackageLogger"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-05 13:50:54 -08:00
db68671a71 words: whitelist "args"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-05 13:42:02 -08:00
1f016f3b96 clientv3: use "pkg/logger"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-05 13:40:58 -08:00
aba719e4c2 pkg/logger: add "Lvl" to "Logger"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-05 13:40:51 -08:00
71824474df snapshot: fix "TestSnapshotV3RestoreMultiMemberAdd"
Membership reconfiguration may not be applied
when the new member joins. Also pass all endpoints
to check restore data in case of leader election or
network faults.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-05 13:08:24 -08:00
4e662b26d7 CHANGELOG: rename to "CHANGELOG-2.3.md" 2018-02-05 13:02:59 -08:00
50d91036a8 Merge pull request #9273 from gyuho/aaa
integration: fix govet error in Go tip
2018-02-05 12:48:57 -08:00
c80ca24b54 Merge pull request #9278 from xiang90/jitter
v3rpc: add jitter to progress notification
2018-02-05 12:43:51 -08:00
142bff89f4 v3rpc: add jitter to progress notification 2018-02-05 10:37:12 -08:00
07f9229731 Merge pull request #9275 from gyuho/v2auth
etcdserver: move "etcdserver/auth" to "etcdserver/v2auth"
2018-02-05 08:33:05 -08:00
eecbba7927 etcdserver: move "etcdserver/auth" to "etcdserver/v2auth"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-02 15:05:56 -08:00
a696343a0f integration: fix govet error in Go tip
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-02 14:33:42 -08:00
6a265731e1 Merge pull request #9271 from yudai/mention_quota_limit
*: Remove 8GiB quota limitation from documents
2018-02-02 14:08:29 -08:00
73028efce7 *: Remove 8GiB quota limitation from documents
Also mention that in v3.3 change log.
2018-02-02 12:54:19 -08:00
38a378fa0d Merge pull request #9265 from gyuho/branch-manager
Documentation/dev-internal: update release managers with 3.3 release
2018-02-01 14:24:11 -08:00
41278822ac Merge pull request #9256 from yudai/actual_db_size
*: Add dbSizeInUse to StatusResposne
2018-02-01 13:24:25 -08:00
6b775cd786 *: Add dbSizeInUse to StatusResposne
Existing dbSize shows physically allocated DB size and the backend
(boltdb) won't shrink it after a compaction until a user runs the defrag command.
The new dbSizeInUse shows the DB size that excludes free pages created
by compactions so that users can see the actual DB usage. dbSize >=
dbSizeInUse is always true.
Note that dbSizeInUse shows a page-based size and not byte level usage.
2018-02-01 12:15:23 -08:00
29efcdd78a Documentation/dev-internal: update release managers with 3.3 release
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-01 12:15:04 -08:00
d7e18880a9 CHANGELOG-3.3: v3.3.0 is ready
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-01 10:04:47 -08:00
dafbc04a73 Merge pull request #9255 from gyuho/snapshot-doc
snapshot: clarify "Restore" method with conflicting data directory
2018-01-31 10:13:55 -08:00
c59d0f9fe2 snapshot: clarify "Restore" method with conflicting data directory
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-31 10:05:35 -08:00
610aefbb74 Merge pull request #9258 from tamird/dep-cleanup
Gopkg.toml: remove unnecessary constraints and add pruning
2018-01-31 09:59:42 -08:00
29c8aca4b6 Merge pull request #9257 from gyuho/maintainer-rules
MAINTAINERS: add "MAINTAINERS_RULES" and second email
2018-01-31 08:44:41 -08:00
42344da5df Gopkg.toml: remove unnecessary constraints and add pruning
Confirmed that `dep ensure` results in no version changes in Gopkg.lock.
2018-01-31 10:21:24 -05:00
15498dafc8 MAINTAINERS: add "MAINTAINERS_RULES" and second email
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-30 14:05:47 -08:00
d9deeff49a Merge pull request #9254 from gyuho/proxy-doc
etcdmain: define "defaultGRPCMaxCallSendMsgSize"
2018-01-30 11:48:46 -08:00
5a62ceb003 etcdmain: define "defaultGRPCMaxCallSendMsgSize"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-30 09:49:03 -08:00
97db7c7d78 Merge pull request #9245 from gyuho/defrag-doc
Documentation/op-guide: highlight defragment operation
2018-01-30 09:42:15 -08:00
1b2d470b24 Merge pull request #9252 from hexfusion/fx_help
etcdmain: add discovery-srv-name
2018-01-30 09:32:21 -08:00
73e020d51d Merge pull request #9250 from zbindenren/grpcproxy_msgsize
grpcproxy: configure --max-send-bytes and --max-recv-bytes for grpc proxy
2018-01-30 09:31:57 -08:00
ab2bc5b93c CHANGELOG-3.3: add "grpc-proxy start --max-send/recv-bytes" flags
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-30 09:31:02 -08:00
c2171f9bde etcdmain: add discovery-srv-name 2018-01-30 09:18:55 -05:00
9aabe2a2b6 grpcproxy: configure --max-send-bytes and --max-recv-bytes for grpc proxy 2018-01-30 09:38:23 +01:00
42ef97d6d5 Merge pull request #9247 from gyuho/internal-compactor
embed: define "embed.CompactorMode*"
2018-01-29 16:44:49 -08:00
dc36b098ac CHANGELOG-3.3: add "--auto-compaction-mode"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-29 15:49:24 -08:00
6acd3b4643 embed: define "embed.CompactorMode*"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-29 15:42:30 -08:00
1d99d3886f Merge pull request #9244 from coreos/vvv
*: move "version" to "internal/version"
2018-01-29 10:35:30 -08:00
8e7099fa26 Documentation/op-guide: highlight defragment operation
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-29 10:22:04 -08:00
37546f74ab *: move "version" to "internal/version"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-29 10:00:20 -08:00
0e2f9ea7d5 Merge pull request #9243 from mitake/auth-internal
*: move "auth" to "internal/auth"
2018-01-29 18:32:09 +09:00
9c6c830c61 CHANGELOG-3.4: add "internal/auth" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-28 23:44:09 -08:00
264f8f6577 *: regenerate proto
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-28 23:43:15 -08:00
6c91766490 *: move "auth" to "internal/auth" 2018-01-29 14:57:35 +09:00
ce0ad377d2 Merge pull request #9240 from gyuho/vendor
Gopkg.*: remove directive dependencies from Gopkg.toml
2018-01-26 19:38:18 -08:00
d54f281b26 Merge pull request #8525 from shuaili87/pre-vote-compatible
raft: fix deadlock during PreVote migration process
2018-01-26 16:34:59 -08:00
1c5c8219f2 Gopkg.*: remove directive dependencies from Gopkg.toml
Reproducible builds are already done via Gopkg.lock.
Remove "constraint"s for external projects with conflicting
dependencies.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 14:30:37 -08:00
1153e43b34 Merge pull request #9239 from gyuho/maintainer
MAINTAINERS: @mitake as "pkg:*" maintainer
2018-01-26 12:56:51 -08:00
d126630aef MAINTAINERS: @mitake as "pkg:*" maintainer
Hitoshi has been involved in all components of etcd.
Thanks for your consistent and great work!

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 12:44:18 -08:00
902bdb474e Merge pull request #9238 from gyuho/internal
*: move packages to "internal"
2018-01-26 12:32:36 -08:00
5cc9bfd574 CHANGELOG-3.4: highlight internal package changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 11:23:31 -08:00
2c91007591 *: regenerate proto
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 11:21:40 -08:00
80d15948bc *: move "mvcc" to "internal/mvcc"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 11:14:41 -08:00
349a377a67 *: move "lease" to "internal/lease"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 11:09:29 -08:00
880835c02c *: move "store" to "internal/store"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 11:06:22 -08:00
ca14da00db CHANGELOG-3.4: add "--discovery-srv-name" change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 10:54:29 -08:00
b26b8588b2 Merge pull request #8786 from harryge00/check-empty-hostname
embed: return error when advertise-client-urls are with empty hosts
2018-01-26 10:43:45 -08:00
3808c04655 Merge pull request #9237 from gyuho/log-backend
etcdserver: clarify warnings on backend open taking >10 seconds
2018-01-26 10:42:26 -08:00
0365a9dee8 etcdserver: clarify warnings on backend open taking >10 seconds
If db file is 10 GiB, it can take more than 1-second.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-26 10:19:21 -08:00
5b95494b2d Merge pull request #9201 from njuettner/master
Documentation/op-guide: Typo instance type GCE
2018-01-26 07:42:53 -05:00
cb3a38944e Documentation/op-guide: Typo instance type GCE 2018-01-26 12:02:35 +01:00
6912a8e59e embed: return error when advertise-client-urls or initial-advertise-peer-urls are with empty hosts 2018-01-26 11:10:09 +08:00
6faeddb922 Merge pull request #9233 from gyuho/discovery
*: move "discovery" to "internal/discovery"
2018-01-25 16:56:27 -08:00
432581c7d0 *: move "discovery" to "internal/discovery"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-25 15:41:17 -08:00
798586b5f1 Merge pull request #9234 from gyuho/internal-alarm-compactor
*: move "alarm,compactor" to "internal/*"
2018-01-25 15:35:53 -08:00
46b9844ca5 *: move "alarm,compactor" to "internal/*"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-25 15:26:21 -08:00
a9aa691a85 CHANGELOG: add 3.4 endpoint status change, 3.3 DNS error handling
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-25 14:45:37 -08:00
28db30fee2 Merge pull request #9231 from bgilbert/fleet
Documentation: drop fleet from integration lists
2018-01-25 12:46:36 -08:00
4c801ee315 Documentation: drop fleet from integration lists
fleet is deprecated and no longer maintained.
2018-01-25 12:08:46 -08:00
0c692fb898 Merge pull request #9210 from gyuho/dns-error
*: add detailed error message on URLs equal check
2018-01-25 11:57:10 -08:00
ce45c83f29 etcdserver: add detailed errors in "ValidateClusterAndAssignIDs"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-25 11:22:10 -08:00
e1de74913d pkg/netutil: return error from "URLStringsEqual"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-25 11:22:07 -08:00
2b10bcccee etcdserver: add error details on DNS resolution failure on advertise URLs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-25 10:35:36 -08:00
7dd9c30ae7 Merge pull request #8690 from tavish-stripe/tavish/svc-flag
pkg/srv, embed, etcdmain: Support multiple clusters in the same DNS domain
2018-01-25 10:42:15 -05:00
3fdaf4eaa7 Merge pull request #9206 from dvonthenen/feature/issue9163
Exposes alarm/health information in "etcdctl endpoint status"
2018-01-25 07:18:22 -08:00
8ee3f5aaac Merge pull request #9228 from mkumatag/fix_govet
Fix govet
2018-01-25 07:17:52 -08:00
c27998db97 raft: fix govet errors 2018-01-25 04:51:38 -05:00
f705c1be9b lease: fix govet errors 2018-01-25 04:51:13 -05:00
97817404c9 integration: Fix govet errors 2018-01-25 04:50:40 -05:00
fd20ba75dc etcdctl: Fix govet errors 2018-01-25 04:50:09 -05:00
b0d3c07fe5 e2e: Fix govet errors 2018-01-25 04:49:30 -05:00
1f638c4ad8 clientv3: Fix govet errors 2018-01-25 04:48:47 -05:00
4822116698 lease: Change lease Mutex to RWMutex 2018-01-25 16:19:28 +08:00
89221a25b8 mvcc : Fix Govet errors 2018-01-25 02:30:37 -05:00
86c086664c auth: Fix govet errors 2018-01-25 02:30:04 -05:00
81c9f78502 Documentation: document the -discovery-srv-name flag for configuring service name in DNS discovery. 2018-01-25 01:56:19 +00:00
37f577ca0f CHANGELOG: add missing 3.2~3.4 changes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:51:23 -08:00
c61b660f13 tools/functional-tester: update README for local docker testing
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:31 -08:00
1f58e72944 hack/scripts-dev: clean up "Makefile"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:31 -08:00
e8242dd916 hack/scripts-dev: add "build-docker-functional-tester" to Makefile
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:31 -08:00
e33ef34c16 Dockerfile-functional-tester: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:31 -08:00
0ca37a0c1d gitignore: add ".Dockerfile-functional-tester"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:31 -08:00
5960c7519f test: configure advertise ports in functional_pass
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:09 -08:00
a90695fd5f etcd-tester: set advertise ports, delay w/ network faults
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:09 -08:00
a912ddcf20 etcd-agent: use "pkg/transport.Proxy"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:09 -08:00
42c90ffd83 test: remove "use-root" in functional_pass
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:09 -08:00
affcaef868 etcd-agent: remove "use-root"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:09 -08:00
8bba5367f0 functional-tester: remove old assets
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:09 -08:00
27d938f825 hack/scripts-dev: add "build-etcd-test-proxy" to Makefile
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:09 -08:00
849f88edbf etcd-test-proxy: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:09 -08:00
ab486e5348 pkg/transport: implement "Proxy"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:09 -08:00
114a7779c9 pkg/transport: add "fixtures" for TLS tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 17:37:09 -08:00
aadfb2b7c6 Merge pull request #9155 from gyuho/dep
vendor: migrate to "golang/dep"
2018-01-24 17:34:04 -08:00
96a0392d44 build: specify target with "${REPO_PATH}"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:27:06 -08:00
fcfbeb30e8 tools/benchmark/cmd: fix fmt warning in import path
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
4d06d32ded build: remove "./cmd/etcd,etcdctl"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
a270a91292 build.ps1: remove "cmd/vendor"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
ab7c319b8c travis.yml: remove "./cmd"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
97cd2a41c8 client,clientv3: remove "cmd/vendor" in README.md
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
6eefc93343 test: remove "./cmd", "etcd_setup_gopath"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
c8e5311131 Dockerfile: remove "cmd/vendor"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
66d6a39c46 Documentation/op-guide: remove "./cmd/vendor" in monitoring.md
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
ab249384b9 Documentation/dl_build: remove "./cmd/etcd"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
698ec7f7d5 scripts/updatebom.sh: remove "./cmd/vendor"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
b596c3c119 tools/functional-tester: update "build" script
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
b5d5ce4b80 Gopkg.lock: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
970ab0b966 vendor: regenerate
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
65ee3a05d6 Gopkg.toml: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
4fc2db7d65 gitignore: ignore test files in "vendor"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
b1e87f8ae1 cmd: move "cmd/vendor" to root, remove "cmd"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:17 -08:00
fa9f3dd124 glide: remove
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:16 -08:00
505d24c463 scripts/updatedep.sh: use "golang/dep"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 15:26:16 -08:00
db822ed38f *: add alarm/health information in endpoint status
Update to remove raftIndex and document the Alarms() interface

Fix formatting

Fix typo
2018-01-24 13:12:48 -08:00
b664b9176c pkg/srv, embed, etcdmain: Support multiple clusters in the same DNS discovery region. 2018-01-24 20:15:48 +00:00
7331949a47 Merge pull request #9211 from gyuho/raftsnap
*: rename "snap" to "raftsnap"
2018-01-24 11:19:40 -08:00
dee39bf786 internal/raftsnap: move "raftsnap" to internal
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 10:36:04 -08:00
d095cc6ff0 raftsnap: add "doc.go"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 10:28:06 -08:00
b42e158b51 CHANGELOG-3.4: add "raftsnap" package
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 10:26:07 -08:00
2b6fd3094f *: rename "snap" to "raftsnap" package
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 10:26:07 -08:00
bb2c48b38a rafthttp: rename "snap" to "raftsnap" package
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 10:26:07 -08:00
6a70a931d3 etcdserver: rename "snap" to "raftsnap" package
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 10:26:07 -08:00
60d5ab5485 raftsnap: rename "snap" to "raftsnap"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-24 10:26:07 -08:00
0ef5e01bd9 Merge pull request #9217 from ka1em/patch-2
clientv3/namespace: fixed an error in the doc.go
2018-01-24 10:13:04 -08:00
216247570c Merge pull request #9202 from olvesh/patch-1
Documentation/op-guide: integer value of 1 is 100% not 1% for failing reqs
2018-01-24 09:56:37 -08:00
2bc0ba4f17 Documentation/op-guide: integer value of 1 is 100% not 1% for failing reqs 2018-01-24 17:09:26 +01:00
c143545d13 clientv3/namespace: fixed an error in the doc.go 2018-01-24 23:36:58 +08:00
64713e5927 Merge pull request #9203 from gyuho/ccc
Documentation/op-guide: fix CHANGELOG links in security.md
2018-01-23 18:42:50 -08:00
80250827ab Merge pull request #9208 from gyuho/fix-godoc-snapshot
snapshot: fix "Save" godoc description
2018-01-23 14:54:46 -08:00
c1519e5e98 snapshot: fix "Save" godoc description
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-23 14:30:20 -08:00
2e85b6c321 Merge pull request #9204 from bdarnell/prevote-take-3
raft: Clarify conditions for granting votes and prevotes.
2018-01-23 14:21:58 -08:00
131da29c63 Merge pull request #9198 from gyuho/snapshot-test
snapshot: add "snapshot" restore/save/member-add tests
2018-01-23 13:59:05 -08:00
f812b9faf1 Merge pull request #9205 from gyuho/go-upgrade
travis,semaphore: use Go 1.9.3
2018-01-23 13:58:50 -08:00
efb7958687 hack/scripts-dev: use Go 1.9.3 by default
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-23 13:17:32 -08:00
7df3dfbcdd semaphore,travis: test with Go 1.9.3
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-23 13:17:20 -08:00
7eb0523bd2 pkg/testutil: define "RequestTimeout"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-23 13:13:00 -08:00
48f3e800c7 snapshot: add "snapshot" restore/save/member-add tests
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-23 13:12:56 -08:00
4e0291ff91 raft: Clarify conditions for granting votes and prevotes.
This includes one theoretical logic change: A node that knows the
leader of the current term will no longer grant votes, even if it has
not yet voted in this term. It also adds a `m.Type == MsgPreVote`
guard on the `m.Term > r.Term` check, which was previously thought to
be incorrect (see #8517) but was actually just unclear.

Closes #8517
Closes #8571
2018-01-23 15:05:11 -05:00
11f95e121c CHANGELOG: use Go 1.9.3 with etcd 3.3.0, clarify gRPC versions
Add more breaking changes to 3.4

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-23 11:37:06 -08:00
20fbe76277 Documentation/op-guide: fix CHANGELOG links in security.md
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-23 11:00:48 -08:00
495ed39fc8 CHANGELOG: add missing changes from 3.2.15, 3.3.0-rc.4
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-23 09:51:58 -08:00
6f178e8fb2 Merge pull request #9187 from gyuho/changelog
CHANGELOG: track per each minor release
2018-01-23 09:20:15 -08:00
4a12eafb1e Merge pull request #9118 from gyuho/snapshot-code
*: add snapshot package
2018-01-22 17:31:19 -08:00
df689f4280 etcdctl/ctlv3: use "snapshot" package for "snapshot" command
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 16:46:15 -08:00
c3ba417737 etcdctl/ctlv3: replace "dbStatus" with "snapshot.Status"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 16:46:15 -08:00
8b317df97a e2e: use "snapshot.Status"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 16:46:15 -08:00
6e2555fb95 snapshot: initial commit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 16:46:11 -08:00
962505fb1a Merge pull request #9196 from gyuho/log
pkg/logger: type-assert in global-scope
2018-01-22 14:55:08 -08:00
0e43d84f14 pkg/logger: type-assert in global-scope
Rather than asserting inside functions.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 14:50:46 -08:00
ea814d230f Merge pull request #9194 from gyuho/logger
pkg/logger: initial commit
2018-01-22 14:47:35 -08:00
cb0290e782 pkg/logger: initial commit
Later to be used with "snapshot" and "clientv3" packages.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 13:52:06 -08:00
cdf7fcda60 Merge pull request #9184 from hexfusion/e2e-member
e2e: improve Member TLS test coverage.
2018-01-22 13:45:48 -08:00
b590d529d7 Merge pull request #9174 from gyuho/url-error
clientv3: prevent wrong URLs to cluster APIs
2018-01-22 12:36:56 -08:00
c837e01c7f clientv3/integration: add TestMemberAddUpdateWrongURLs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 11:24:15 -08:00
ab35c8fe3c words: whitelit "rafthttp"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 11:16:16 -08:00
a2e999fa4c clientv3: prevent no-scheme URLs to cluster APIs
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 11:11:59 -08:00
202cc9a917 Merge pull request #9176 from dvonthenen/feature/issue9123
Expose Raft Applied Index through to "etcdctl endpoint status"
2018-01-22 10:20:31 -08:00
174a9889fd CHANGELOG: track per each minor release
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 09:35:15 -08:00
5cce65086a Merge pull request #9182 from gyuho/peer-to-peer-common-name
Documentation/op-guide: explain `--peer-cert-allowed-cn` in security.md
2018-01-22 09:33:11 -08:00
30de11f500 Documentation/op-guide: explain --peer-cert-allowed-cn in security.md
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-22 09:27:12 -08:00
25cdf4ed92 *: expose Raft Applied Index through to "etcdctl endpoint status"
Fixed based on feedback

Fixed spacing

Fix gofmt
2018-01-22 07:37:21 -08:00
61bc0678e2 e2e: improve Member TLS coverage. 2018-01-20 12:22:46 -05:00
0b9dc9ccd3 hack/scripts-dev: update docker images, update DNS cert CN example
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-19 22:11:46 -08:00
1a0057bcb5 CHANGELOG: fix typo "--peer-cert-allowed-cn"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-19 21:53:34 -08:00
0f1ac0cef6 Merge pull request #9178 from gyuho/error-handling
etcdserver/api/v3rpc: debug-log client disconnect on TLS, http/2 stream CANCEL
2018-01-19 13:01:16 -08:00
0cf9382024 words: whitelist "errClientDisconnected"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-19 12:26:59 -08:00
d0eff45256 etcdserver/api/v3rpc: debug-log client disconnect on TLS, http/2 stream CANCEL
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-19 12:26:56 -08:00
7f68327184 Merge pull request #9172 from ppggff/master
Fix a typo
2018-01-19 10:11:21 -08:00
baa9b17cac Documentation/learning: Fix a typo 2018-01-20 00:15:38 +08:00
3e6417b770 Merge pull request #9170 from gyuho/tls-doc
Documentation/op-guide: Clarify TLS "--peer" flags
2018-01-18 16:32:51 -08:00
98190821b3 Documentation/op-guide: Clarify TLS "--peer" flags
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-18 16:25:13 -08:00
ab7cbb0e57 Merge pull request #9169 from gyuho/client-doc
clientv3: document client-side request size limit
2018-01-18 13:09:15 -08:00
f98b1bc725 clientv3: document client-side request size limit
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-18 12:44:01 -08:00
ab2bb9de9e Merge pull request #9129 from gyuho/doc
Documentation/dev-guide: update "Request size limit" with v3.2.12
2018-01-18 12:38:33 -08:00
675b837d6d Documentation/dev-guide: update "Request size limit" with v3.2.12
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-18 12:25:22 -08:00
955198da6b Merge pull request #9168 from gyuho/grpc-doc
Documentation: add TCP RST flag on stream close
2018-01-18 12:21:24 -08:00
aac7e1cba7 Documentation: add TCP RST flag on stream close
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-18 12:20:21 -08:00
729eab92b1 CHANGELOG: add v3.3.0-rc.3
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-17 16:10:33 -08:00
367c0f29d9 Merge pull request #9162 from gyuho/remove-errors
*: remove "errors" field in /health endpoint
2018-01-17 16:07:54 -08:00
e689ff823e proxy/grpcproxy: remove "Errors" field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-17 15:58:56 -08:00
8455f22285 Documentation/upgrades: highlight "health", remove "errors" field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-17 15:58:53 -08:00
1139d28eb6 e2e: remove "/health" "errors" field test
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-17 15:18:39 -08:00
1b4502114f etcdserver/api/etcdhttp: remove "errors" field in /health
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-17 15:18:32 -08:00
b5bb91a7c2 CHANGELOG: add /health endpoint change, watch command updates
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-17 14:08:27 -08:00
b6be8fb689 Documentation/upgrades: highlight string "health" field
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-17 13:58:20 -08:00
79710d32c3 Merge pull request #9160 from kchristidis/fix-raft-readme
docs: fix invalid reference in Raft README
2018-01-17 13:50:36 -08:00
97fad42d81 docs: fix invalid reference in Raft README
Code snippet in Raft README refers to non-existent field `State`. Fixed
the reference by setting it to `HardState`.
2018-01-17 16:03:32 -05:00
30511860a6 Merge pull request #9142 from gyuho/watch-env
ctlv3: support ETCDCTL_WATCH_KEY, ETCDCTL_WATCH_RANGE_END
2018-01-17 12:39:49 -08:00
6a80e94e50 Merge pull request #9143 from liggitt/healthz-schema
api/etcdhttp: change /health type back to string for backwards compatibility
2018-01-17 11:27:21 -08:00
5b7a869b06 Merge pull request #9154 from gyuho/3.4-roadmap
ROADMAP: update 3.4 roadmap
2018-01-17 10:21:03 -08:00
b8a95d7a9b etcdctl: document "ETCD_WATCH_*"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-17 09:54:37 -08:00
6ba5682e64 e2e: test ETCD_WATCH_VALUE
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-17 09:54:37 -08:00
5e0118d7ef ctlv3: set ETCD_WATCH_* on watch exec
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-17 09:54:16 -08:00
dfe957e928 ROADMAP: update 3.4 roadmap
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-16 14:42:37 -08:00
2c347d7158 ctlv3: exit on exec watch error
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-16 09:04:46 -08:00
72a2a6671e ctlv3: set ETCD_WATCH_KEY, ETCD_WATCH_VALUE on exec watch
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-16 09:03:10 -08:00
f77e54eb13 api/etcdhttp: change /health type back to string for backwards compatibility 2018-01-15 01:57:55 -05:00
388b7fece6 ctlv3: handle pkg/flags warnings
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-14 11:15:45 -08:00
57284aac28 etcdctl: document watch with ETCDCTL_WATCH_*
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-14 11:15:45 -08:00
503781e3a0 e2e: add watch tests with ETCDCTL_WATCH_*
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-14 11:15:41 -08:00
8183b83220 ctlv3: support ETCDCTL_WATCH_KEY, ETCDCTL_WATCH_RANGE_END
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-14 02:30:03 -08:00
7a8c192c8f Merge pull request #9140 from gyuho/tls-doc
Documentation/op-guide: clarify security.md on TLS auth
2018-01-12 15:22:24 -08:00
eeb4d35b3f Documentation/op-guide: clarify security.md on TLS auth
Make it more accurate (just as pkg/transport/listener_tls.go does).

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-12 14:54:39 -08:00
60e8432807 CHANGELOG: add "raft" package changes/fixes
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-12 10:31:16 -08:00
6f7eda3b1b Merge pull request #9136 from mitake/fix-9094
etcdctl: don't ask password twice for etcdctl endpoint health --cluster
2018-01-12 09:58:52 -08:00
745b241a9c Merge pull request #9139 from gyuho/fix-tester
etcd-tester: update stresser weights with txn stresser
2018-01-12 09:40:42 -08:00
7783aada6a etcd-tester: update stresser weights with txn stresser
Large key writes (stressEntries[1].weight) should not take this
much weight. It was triggering "database size exceeded" errors.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-12 00:17:13 -08:00
b337674971 etcdctl: don't ask password twice for etcdctl endpoint health --cluster
Current etcdctl endpoint health --cluster asks password twice if auth
is enabled. This is because the command creates two client instances:
one for the purpose of checking endpoint health and another for
getting cluster members with MemberList(). The latter client doesn't
need to be authenticated because MemberList() is a public RPC. This
commit makes the client with no authed one.

Fix https://github.com/coreos/etcd/issues/9094
2018-01-12 15:39:42 +09:00
c5532ebbf6 Merge pull request #9067 from absolute8511/optimize-raft-drop
raft: let raft step return error when proposal is dropped to allow fail-fast
2018-01-11 19:54:52 -08:00
30ced5b2be raft: let raft step return error when proposal is dropped to allow fail-fast. 2018-01-12 10:16:47 +08:00
e16abdfade Merge pull request #9115 from gyuho/doc-watch
clientv3: document possible memory pile-up in Watch
2018-01-11 18:12:13 -05:00
a86e1ff494 CHANGELOG: add v3.2.14, v3.3.0-rc.2
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-11 11:39:18 -08:00
63e4a30cee Merge pull request #9133 from gyuho/tester-fix
etcd-tester: fix "writeTxn" key selection
2018-01-11 11:16:42 -08:00
285c7e6fc9 Merge pull request #9116 from absolute8511/fix-raft-learner
raft: raft learners should be returned after applyConfChange
2018-01-11 06:08:29 -08:00
6cf220c92a etcd-tester: fix "writeTxn" key selection
Found when debugging https://github.com/coreos/etcd/issues/9130.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-11 03:06:51 -08:00
11fa4f0275 raft: raft learners should be returned after applyConfChange 2018-01-11 17:30:17 +08:00
52f73c5a6c Merge pull request #8510 from gyuho/txn-stresser
etcd-tester: add txn stresser
2018-01-09 14:17:43 -08:00
38105095cd test: limit stress-qps for slow CI machines, add txn flags
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2018-01-09 13:43:36 -08:00
e41c10347a etcd-tester: add txn stresser
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2018-01-09 13:43:34 -08:00
bcc5ea6a27 Merge pull request #9120 from spzala/statusfromerror
StatusFromError: handle return value of the function
2018-01-09 13:00:23 -08:00
423125a897 Merge pull request #9125 from gyuho/gateway
*: pin latest grpc-gateway release v1.3.1
2018-01-09 12:49:00 -08:00
fd16656af1 scripts/genproto: use "grpc-gateway" v1.3.1
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-09 12:41:49 -08:00
d1526c992a vendor: upgrade "grpc-ecosystem/grpc-gateway" to v1.3.1
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-09 12:40:21 -08:00
7673f7e4c5 CHANGELOG: fix v3.4.0 link, punctuations
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-09 12:16:41 -08:00
8cb8d2c017 CHANGELOG: update v3.3.0, add v3.4.0
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-09 12:10:15 -08:00
1e488f3548 Merge pull request #9124 from gyuho/snapshot-restore
ctlv3: add "snapshot restore --wal-dir"
2018-01-09 11:11:59 -08:00
285a83d70a ctlv3: add "snapshot restore --wal-dir"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-09 09:25:26 -08:00
3b7e2ce0ca StatusFromError: handle return value of the function
status.FromError can return nil, false. We are handling the return values
most places in code but some places we aren't. Fixing it herewith.

Fixes #9117
2018-01-08 22:28:20 -05:00
9bd9d2041f Merge pull request #9122 from gyuho/temp
raft: fix wrong comments in "mustCheckOutOfBounds"
2018-01-08 18:34:29 -08:00
b3916a393f raft: fix wrong comments in "mustCheckOutOfBounds" 2018-01-08 18:31:22 -08:00
ed1ff9e952 Merge pull request #9073 from bdarnell/pending-conf-index
raft: Avoid scanning raft log in becomeLeader
2018-01-08 16:37:36 -08:00
a1d3456641 Merge pull request #9119 from yudai/panic_defrag_fail
mvcc: check null before set FillPercent not to panic
2018-01-08 12:48:48 -08:00
0b1b82aff2 mvcc: check null before set FillPercent not to panic
Since CreateBucketIfNotExists() can return nil when it gets an error,
accessing FillPercent must be done after a nil check, not to cause
a panic.
2018-01-08 11:34:34 -08:00
31c2d4b0a2 clientv3: document possible memory pile-up in Watch
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-08 10:37:47 -08:00
44e1f6f019 Merge pull request #9105 from spzala/getrevision
etcdserver/api/v3rpc: debug user cancellation and log warning for rest
2018-01-08 10:07:57 -08:00
a66d7c3ba5 etcdserver/api/v3rpc: debug user cancellation and log warning for rest
The context error with cancel code is typically for user cancellation which
should be at debug level. For other error codes we should display a warning.

Fixes #9085
2018-01-08 11:03:13 -05:00
6f76e46c0c Merge pull request #9108 from Quentin-M/embed_ext_metrics
embed: enable extensive metrics if specified
2018-01-07 08:44:02 -08:00
a535c01050 embed: enable extensive metrics if specified 2018-01-06 20:40:30 +01:00
65464838ba Merge pull request #9065 from gyuho/watch-id-2
*: allow user-provided watch ID to mvcc
2018-01-05 15:08:10 -08:00
2fb9728473 Merge pull request #9100 from gyuho/flag
etcdmain: unset ETCD_UNSUPPORTED_ARCH after arch check
2018-01-04 17:03:35 -07:00
936c4745c1 etcdmain: unset ETCD_UNSUPPORTED_ARCH after arch check
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-04 22:47:59 +00:00
872fd9d42a Merge pull request #9101 from ericchiang/coc
automated PR: update CoC
2018-01-04 15:44:40 -07:00
2395f8e81c CODE_OF_CONDUCT: update CoC 2018-01-04 22:44:07 +00:00
a7d387cc42 Merge pull request #9093 from spzala/getrevision
DocCommand: use regex wildcard
2018-01-03 23:52:56 -08:00
526f3c1f5f DocCommand: use regex wildcard
The current command as such produces no output on mac term or bash shell.
Using regex wildcard works fine on mac and linux.
2018-01-03 21:46:38 -05:00
6915a718b9 Merge pull request #9090 from gyuho/fix
clientv3/integration: fix typos
2018-01-03 17:31:32 -08:00
7b4fc2601c clientv3/integration: fix typos
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-03 17:26:43 -08:00
a069799810 Merge pull request #9005 from hexfusion/fx_test_const
integration: add constant requestWaitTimeout.
2018-01-03 14:48:00 -08:00
d21fef2d41 integration: add constant RequestWaitTimeout. 2018-01-03 15:53:57 -05:00
17ce61bd0d Merge pull request #9088 from nvanbenschoten/nvanbenschoten/leaner
raft: s/leaner/learner/g
2018-01-03 08:41:53 -08:00
e6dc57f708 raft: s/leaner/learner/g 2018-01-03 08:16:50 -05:00
664f9bd5ba Merge pull request #9082 from spzala/checkperf
Doc: Create doc for etcdctl check perf command
2018-01-02 21:32:56 -08:00
d11c687803 Doc: create doc for check perf command
Create a doc for check commands with perf subcommand.

Fixes #9072
2018-01-02 20:22:55 -05:00
c699470d3b Merge pull request #9074 from gyuho/expect
pkg/expect: fix deadlock in macOS
2018-01-02 14:00:12 -08:00
bdf6e85604 Merge pull request #9084 from gyuho/changelog
CHANGELOG: add v3.2.13, v3.3.0-rc.1
2018-01-02 13:38:56 -08:00
b78c51ae9f CHANGELOG: add v3.2.13, v3.3.0-rc.1
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-02 13:21:28 -08:00
14ec0673e1 Merge pull request #9083 from gyuho/proxy-grpc-msg-size
clientv3/integration: fix TestKVLargeRequests with -tags cluster_proxy
2018-01-02 11:08:16 -08:00
916d9db5b9 Merge pull request #9080 from gyuho/log-debug
etcdserver: log stream error with debug level, silence gRPC server info level logs
2018-01-02 11:01:16 -08:00
e567d94fc2 tools/functional-tester: remove duplicate grpclog set
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-02 11:00:42 -08:00
806ff6dff9 clientv3/integration: fix TestKVLargeRequests with -tags cluster_proxy
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-02 10:50:29 -08:00
5b2f5150d9 etcdserver/api/v3rpc: set grpclog once
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-02 10:12:49 -08:00
9e11ef3ad5 etcdserver,embed: discard gRPC info logs when debug is off
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-02 09:29:07 -08:00
9a50255515 etcdserver/api/v3rpc: log stream error with debug level
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-02 07:44:07 -08:00
e6a46a0ca6 Merge pull request #9076 from spzala/rangeend
README: range-end is not a flag and should not be used
2018-01-01 22:35:55 -08:00
f6f4589853 README: range-end is not a flag and should not be used
As README declares in the beginning, flags can have dash and it should be
replaced with underscore while using. Also flags or commands are emphasized
in general. The range-end is not a flag or valid doc word and should not be
used as such.
2018-01-01 22:51:04 -05:00
b2a15ec327 pkg/expect: fix deadlock in mac OS
bufio.NewReader.ReadString blocks even
when the process received syscall.SIGKILL.
Remove ptyMu mutex and make ReadString return
when *os.File is closed.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-01 17:34:59 -08:00
10522f88f5 clientv3: handle non -1 watch ID on cancellation
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-31 17:43:28 -08:00
33c732b97c api/v3rpc: add watch ID to "watchStream.Watch"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-31 13:20:41 -08:00
82a164e3b9 mvcc: make test struct fields unexported
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-31 13:20:41 -08:00
fc3b59046f mvcc: allow clients to assign watcher IDs
This allows for watchers to be created concurrently
without needing potentially complex and latency-adding
queuing on the client.

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-31 13:20:40 -08:00
652841c411 *: regenerate proto
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-31 13:20:40 -08:00
7800fd9fff scripts/genproto: require protoc 3.5.1
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-31 13:20:40 -08:00
9bbfa23183 etcdserverpb: add "watch_id" to "WatchCreateRequest"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-31 13:20:40 -08:00
8d8f3195e4 raft: Avoid scanning raft log in becomeLeader
Scanning the uncommitted portion of the raft log to determine whether
there are any pending config changes can be expensive. In
cockroachdb/cockroach#18601, we've seen that a new leader can spend so
much time scanning its log post-election that it fails to send
its first heartbeats in time to prevent a second election from
starting immediately.

Instead of tracking whether a pending config change exists with a
boolean, this commit tracks the latest log index at which a pending
config change *could* exist. This is a less expensive solution to
the problem, and the impact of false positives should be minimal since
a newly-elected leader should be able to quickly commit the tail of
its log.
2017-12-30 10:13:36 -05:00
fdec12cc20 Merge pull request #9069 from spzala/logconfigfile
Log: add information statement
2017-12-27 19:33:13 -08:00
8a8aff198f Log: add information statement
Adding information that when config file is used other command line flags
and env variables will be ignored. This changes are a follow up of a
disucssion under PR,
https://github.com/coreos/etcd/pull/9066
2017-12-27 17:12:28 -05:00
5e78da17fe Merge pull request #9066 from spzala/etcdconfig
Doc: update etcd configuration detail with config file
2017-12-24 21:06:22 -08:00
aad0d82a04 Doc: update etcd configuration detail with config file
Add a reference, sample file link and precedence detail etc. to the
configuration doc.
2017-12-24 21:02:03 -05:00
0fd3df0b95 Merge pull request #8703 from koko990/master
grpc_naming.md: improve docs invoke grpc naming by balance
2017-12-22 15:27:07 -08:00
9ed3437075 Merge pull request #9061 from gyuho/race-leasing
clientv3/leasing: fix racey waitSession
2017-12-21 17:50:05 -08:00
2f57a84ee6 Merge pull request #9062 from spzala/acidepupdate
Doc: update etcd container image registry references
2017-12-21 17:06:14 -08:00
290117cfa5 Doc: update etcd container image registry references
Update the coreos.com/etcd:v3.1.2 references with the quay registry for etcd
release image example.

Fixes #8984
2017-12-21 19:28:41 -05:00
1880cf8da2 clientv3/leasing: fix racey waitSession
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-21 16:03:35 -08:00
3dd1c1b53c Merge pull request #8994 from gyuho/grpc-proxy-log
*: discard only info when --debug=false, add "--debug" grpc-proxy start
2017-12-21 14:43:05 -08:00
8e6ae01709 CHANGELOG: update gRPC log level change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-21 14:35:01 -08:00
4f71941172 grpc-proxy: add "--debug" flag to "etcd grpc-proxy start" command
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-21 14:30:51 -08:00
39d0e9c3ca embed: only discard infos when debug flag is off
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-21 14:28:13 -08:00
91996607a3 Merge pull request #9060 from gyuho/aaa
*: highlight client response size limit (4 MiB) in previous versions
2017-12-21 14:21:43 -08:00
2829b97ad3 Documentation/upgrades: highlight client response size limit in previous versions
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-21 14:21:21 -08:00
e6adc85e9d CHANGELOG: highlight client response limit in previous versions
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-21 14:04:12 -08:00
be40d27070 Merge pull request #9016 from gyuho/watch-doc
clientv3: document context to "Watch" API
2017-12-21 13:02:20 -08:00
a69801014a words: whitelist more words
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-21 12:59:18 -08:00
f6f3a9ca69 clientv3: document context to "Watch" API
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-21 12:59:15 -08:00
ce264e6000 Merge pull request #9041 from gyuho/etcd-tooling
tools/etcd-dump-*: add TODOs, --decode flag
2017-12-21 12:45:00 -08:00
096c947159 Merge pull request #9024 from gyuho/snapshot-doc
clientv3: document context to "Snapshot" API
2017-12-21 12:44:40 -08:00
c8dc19bf4b Merge pull request #9059 from gyuho/aci-build
*: deprecate ACI for v3.4 release cycle
2017-12-20 16:29:00 -08:00
4388f046db Documentation/dev-internal: remove ACI in release.md
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-20 15:36:50 -08:00
3518351a24 scripts: remove ACI build scripts
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-20 15:35:11 -08:00
2110b210c7 CHANGELOG: fix typo in code change
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-20 14:31:35 -08:00
70cca45824 *: update release upgrade test versions
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-20 14:20:52 -08:00
0f6a523ee0 version: bump up to 3.3.0+git
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-20 13:49:29 -08:00
e833b7c2d8 clientv3: document context to "Snapshot" API
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-18 17:03:18 -08:00
b456452240 words: whitelist "statusError"
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-18 17:03:18 -08:00
931dfd7da8 etcd-dump-logs: take data-dir as argument, add TODO
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-18 14:20:56 -08:00
af4d4ab16a tools/etcd-dump-db: add "iterate-bucket --decode" flag
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2017-12-18 14:20:52 -08:00
2ee9f0f95b grpc_naming.md: improve docs invoke grpc naming by balance 2017-10-18 19:15:52 +08:00
8597361f01 raft: fix Pre-Vote migration 2017-09-09 09:12:39 +08:00
2558 changed files with 336240 additions and 144232 deletions

View File

@ -1 +0,0 @@
.git

View File

@ -1,7 +1,2 @@
# Bug reporting
A good bug report has some very specific qualities, so please read over our short document on [reporting bugs][report_bugs] before submitting a bug report.
To ask a question, go ahead and ignore this.
[report_bugs]: https://github.com/coreos/etcd/blob/master/Documentation/reporting_bugs.md
Please read https://github.com/etcd-io/etcd/blob/master/Documentation/reporting_bugs.md.

View File

@ -1,5 +1,2 @@
# Contributing guidelines
Please read our [contribution workflow][contributing] before submitting a pull request.
[contributing]: https://github.com/coreos/etcd/blob/master/CONTRIBUTING.md#contribution-flow
Please read https://github.com/etcd-io/etcd/blob/master/CONTRIBUTING.md#contribution-flow.

2
.github/SECURITY.md vendored Normal file
View File

@ -0,0 +1,2 @@
Please read https://github.com/etcd-io/etcd/blob/master/security/README.md.

30
.gitignore vendored
View File

@ -3,20 +3,34 @@
/covdir
/gopath
/gopath.proto
/go-bindata
/release
/machine*
/bin
.Dockerfile-test
.vagrant
*.etcd
*.log
/etcd
*.swp
/hack/insta-discovery/.env
*.coverprofile
*.test
tools/functional-tester/docker/bin
hack/scripts-dev/docker-dns/.Dockerfile
hack/scripts-dev/docker-dns-srv/.Dockerfile
hack/tls-setup/certs
.idea
/contrib/raftexample/raftexample
/contrib/raftexample/raftexample-*
# TODO: use dep prune
# https://github.com/golang/dep/issues/120#issuecomment-306518546
vendor/**/*
!vendor/**/
!vendor/**/*.go
!vendor/**/*.c
!vendor/**/*.cpp
!vendor/**/*.s
!vendor/**/COPYING*
!vendor/**/PATENTS*
!vendor/**/NOTICE*
!vendor/**/Licence*
!vendor/**/License*
!vendor/**/LICENCE*
!vendor/**/LICENSE*
vendor/**/*_test.go
*.bak

1
.godir
View File

@ -1 +0,0 @@
github.com/coreos/etcd

View File

@ -1,16 +0,0 @@
#!/usr/bin/env bash
TEST_SUFFIX=$(date +%s | base64 | head -c 15)
TEST_OPTS="RELEASE_TEST=y INTEGRATION=y PASSES='build unit release integration_e2e functional' MANUAL_VER=v3.2.11"
if [ "$TEST_ARCH" == "386" ]; then
TEST_OPTS="GOARCH=386 PASSES='build unit integration_e2e'"
fi
docker run \
--rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd \
gcr.io/etcd-development/etcd-test:go1.9.2 \
/bin/bash -c "${TEST_OPTS} ./test 2>&1 | tee test-${TEST_SUFFIX}.log"
! egrep "(--- FAIL:|panic: test timed out|appears to have leaked)" -B50 -A10 test-${TEST_SUFFIX}.log

View File

@ -1,13 +1,12 @@
language: go
go_import_path: github.com/coreos/etcd
go_import_path: go.etcd.io/etcd
sudo: required
services: docker
go:
- 1.9.2
- tip
- 1.12.12
notifications:
on_success: never
@ -15,74 +14,81 @@ notifications:
env:
matrix:
- TARGET=amd64
- TARGET=amd64-go-tip
- TARGET=darwin-amd64
- TARGET=windows-amd64
- TARGET=arm64
- TARGET=arm
- TARGET=386
- TARGET=ppc64le
- TARGET=linux-amd64-fmt
- TARGET=linux-amd64-integration-1-cpu
- TARGET=linux-amd64-integration-2-cpu
- TARGET=linux-amd64-integration-4-cpu
- TARGET=linux-amd64-functional
- TARGET=linux-amd64-unit
- TARGET=all-build
- TARGET=linux-amd64-grpcproxy
- TARGET=linux-386-unit
matrix:
fast_finish: true
allow_failures:
- go: tip
env: TARGET=amd64-go-tip
exclude:
- go: 1.9.2
env: TARGET=amd64-go-tip
- go: tip
env: TARGET=amd64
- go: tip
env: TARGET=darwin-amd64
- go: tip
env: TARGET=windows-amd64
- go: tip
env: TARGET=arm
- go: tip
env: TARGET=arm64
- go: tip
env: TARGET=386
- go: tip
env: TARGET=ppc64le
- go: 1.12.12
env: TARGET=linux-amd64-grpcproxy
- go: 1.12.12
env: TARGET=linux-386-unit
before_install:
- docker pull gcr.io/etcd-development/etcd-test:go1.9.2
- if [[ $TRAVIS_GO_VERSION == 1.* ]]; then docker pull gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION}; fi
install:
- pushd cmd/etcd && go get -t -v ./... && popd
- go get -t -v -d ./...
script:
- echo "TRAVIS_GO_VERSION=${TRAVIS_GO_VERSION}"
- >
case "${TARGET}" in
amd64)
linux-amd64-fmt)
docker run --rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go1.9.2 \
/bin/bash -c "GOARCH=amd64 ./test"
--volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \
/bin/bash -c "GOARCH=amd64 PASSES='fmt bom dep' ./test"
;;
amd64-go-tip)
GOARCH=amd64 ./test
;;
darwin-amd64)
linux-amd64-integration-1-cpu)
docker run --rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go1.9.2 \
/bin/bash -c "GO_BUILD_FLAGS='-a -v' GOOS=darwin GOARCH=amd64 ./build"
--volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \
/bin/bash -c "GOARCH=amd64 CPU=1 PASSES='integration' ./test"
;;
windows-amd64)
linux-amd64-integration-2-cpu)
docker run --rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go1.9.2 \
/bin/bash -c "GO_BUILD_FLAGS='-a -v' GOOS=windows GOARCH=amd64 ./build"
--volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \
/bin/bash -c "GOARCH=amd64 CPU=2 PASSES='integration' ./test"
;;
386)
linux-amd64-integration-4-cpu)
docker run --rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go1.9.2 \
/bin/bash -c "GOARCH=386 PASSES='build unit' ./test"
--volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \
/bin/bash -c "GOARCH=amd64 CPU=4 PASSES='integration' ./test"
;;
*)
# test building out of gopath
linux-amd64-functional)
docker run --rm \
--volume=`pwd`:/go/src/github.com/coreos/etcd gcr.io/etcd-development/etcd-test:go1.9.2 \
/bin/bash -c "GO_BUILD_FLAGS='-a -v' GOARCH='${TARGET}' ./build"
--volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \
/bin/bash -c "./build && GOARCH=amd64 PASSES='functional' ./test"
;;
linux-amd64-unit)
docker run --rm \
--volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \
/bin/bash -c "GOARCH=amd64 PASSES='unit' ./test"
;;
all-build)
docker run --rm \
--volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \
/bin/bash -c "GOARCH=amd64 PASSES='build' ./test \
&& GOARCH=386 PASSES='build' ./test \
&& GO_BUILD_FLAGS='-v' GOOS=darwin GOARCH=amd64 ./build \
&& GO_BUILD_FLAGS='-v' GOOS=windows GOARCH=amd64 ./build \
&& GO_BUILD_FLAGS='-v' GOARCH=arm ./build \
&& GO_BUILD_FLAGS='-v' GOARCH=arm64 ./build \
&& GO_BUILD_FLAGS='-v' GOARCH=ppc64le ./build"
;;
linux-amd64-grpcproxy)
sudo HOST_TMP_DIR=/tmp TEST_OPTS="PASSES='build grpcproxy'" make docker-test
;;
linux-386-unit)
docker run --rm \
--volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \
/bin/bash -c "GOARCH=386 PASSES='unit' ./test"
;;
esac

69
.words
View File

@ -8,7 +8,11 @@ MiB
ResourceExhausted
RPC
RPCs
TODO
parsedTarget
SRV
WithRequireLeader
InfoLevel
args
backoff
blackhole
blackholed
@ -17,27 +21,90 @@ cancelation
cluster_proxy
defragment
defragmenting
deleter
dev
/dev/null
dev/null
errClientDisconnected
etcd
gRPC
goroutine
goroutines
healthcheck
hostname
iff
inflight
keepalive
keepalives
keyspace
linearization
liveness
linearized
localhost
mutex
prefetching
protobuf
prometheus
rafthttp
repin
rpc
serializable
statusError
teardown
too_many_pings
transactional
uncontended
unprefixed
unlisting
nondeterministically
atomics
transferee
Balancer
lexicographically
lexically
accessors
unbuffered
nils
reconnection
mutators
ConsistentIndexGetter
OutputWALDir
WAL
consistentIndex
todo
saveWALAndSnap
subconns
nop
SubConns
DNS
passthrough
ccBalancerWrapper
rebalanced
addrConns
subConn
TestBalancerDoNotBlockOnClose
middleware
clusterName
jitter
FIXME
retriable
github
retriable
jitter
WithBackoff
BackoffLinearWithJitter
jitter
WithDialer
WithMax
ServerStreams
BidiStreams
transientFailure
BackoffFunc
CallOptions
PermitWithoutStream
__lostleader
ErrConnClosing
unfreed
grpcAddr
clientURLs

View File

@ -1,750 +0,0 @@
## [v3.3.0](https://github.com/coreos/etcd/releases/tag/v3.3.0) (2018-01-??)
**v3.3.0 is not yet released; expected to be released in January 2018.**
## [v3.3.0-rc.0](https://github.com/coreos/etcd/releases/tag/v3.3.0-rc.0) (2017-12-20)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.0...v3.3.0) and [v3.3 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_3.md) for any breaking changes.
### Improved
- Use [`coreos/bbolt`](https://github.com/coreos/bbolt/releases) to replace [`boltdb/bolt`](https://github.com/boltdb/bolt#project-status).
- Fix [etcd database size grows until `mvcc: database space exceeded`](https://github.com/coreos/etcd/issues/8009).
- [Reduce memory allocation](https://github.com/coreos/etcd/pull/8428) on [Range operations](https://github.com/coreos/etcd/pull/8475).
- [Rate limit](https://github.com/coreos/etcd/pull/8099) and [randomize](https://github.com/coreos/etcd/pull/8101) lease revoke on restart or leader elections.
- Prevent [spikes in Raft proposal rate](https://github.com/coreos/etcd/issues/8096).
- Support `clientv3` balancer failover under [network faults/partitions](https://github.com/coreos/etcd/issues/8711).
- Better warning on [mismatched `--initial-cluster`](https://github.com/coreos/etcd/pull/8083) flag.
### Changed(Breaking Changes)
- Require [Go 1.9+](https://github.com/coreos/etcd/issues/6174).
- Compile with *Go 1.9.2*.
- Deprecate [`golang.org/x/net/context`](https://github.com/coreos/etcd/pull/8511).
- Require [`google.golang.org/grpc`](https://github.com/grpc/grpc-go/releases) [**`v1.7.4`**](https://github.com/grpc/grpc-go/releases/tag/v1.7.4) or [**`v1.7.5+`**](https://github.com/grpc/grpc-go/releases/tag/v1.7.5):
- Deprecate [`metadata.Incoming/OutgoingContext`](https://github.com/coreos/etcd/pull/7896).
- Deprecate `grpclog.Logger`, upgrade to [`grpclog.LoggerV2`](https://github.com/coreos/etcd/pull/8533).
- Deprecate [`grpc.ErrClientConnTimeout`](https://github.com/coreos/etcd/pull/8505) errors in `clientv3`.
- Use [`MaxRecvMsgSize` and `MaxSendMsgSize`](https://github.com/coreos/etcd/pull/8437) to limit message size, in etcd server.
- Upgrade [`github.com/grpc-ecosystem/grpc-gateway`](https://github.com/grpc-ecosystem/grpc-gateway/releases) `v1.2.2` to `v1.3.0`.
- Translate [gRPC status error in v3 client `Snapshot` API](https://github.com/coreos/etcd/pull/9038).
- Upgrade [`github.com/ugorji/go/codec`](https://github.com/ugorji/go) for v2 `client`.
- [Regenerated](https://github.com/coreos/etcd/pull/8721) v2 `client` source code with latest `ugorji/go/codec`.
- Fix [`/health` endpoint JSON output](https://github.com/coreos/etcd/pull/8312).
- v3 `etcdctl` [`lease timetolive LEASE_ID`](https://github.com/coreos/etcd/issues/9028) on expired lease now prints [`lease LEASE_ID already expired`](https://github.com/coreos/etcd/pull/9047).
- <=3.2 prints `lease LEASE_ID granted with TTL(0s), remaining(-1s)`.
### Added(`etcd`)
- Add [`--experimental-enable-v2v3`](https://github.com/coreos/etcd/pull/8407) flag to [emulate v2 API with v3](https://github.com/coreos/etcd/issues/6925).
- Add [`--experimental-corrupt-check-time`](https://github.com/coreos/etcd/pull/8420) flag to [raise corrupt alarm monitoring](https://github.com/coreos/etcd/issues/7125).
- Add [`--experimental-initial-corrupt-check`](https://github.com/coreos/etcd/pull/8554) flag to [check database hash before serving client/peer traffic](https://github.com/coreos/etcd/issues/8313).
- Add [`--max-txn-ops`](https://github.com/coreos/etcd/pull/7976) flag to [configure maximum number operations in transaction](https://github.com/coreos/etcd/issues/7826).
- Add [`--max-request-bytes`](https://github.com/coreos/etcd/pull/7968) flag to [configure maximum client request size](https://github.com/coreos/etcd/issues/7923).
- If not configured, it defaults to 1.5 MiB.
- Add [`--client-crl-file`, `--peer-crl-file`](https://github.com/coreos/etcd/pull/8124) flags for [Certificate revocation list](https://github.com/coreos/etcd/issues/4034).
- Add [`--peer-require-cn`](https://github.com/coreos/etcd/pull/8616) flag to support [CN-based auth for inter-peer connection](https://github.com/coreos/etcd/issues/8262).
- Add [`--listen-metrics-urls`](https://github.com/coreos/etcd/pull/8242) flag for additional `/metrics` endpoints.
- Support [additional (non) TLS `/metrics` endpoints for a TLS-enabled cluster](https://github.com/coreos/etcd/pull/8282).
- e.g. `--listen-metrics-urls=https://localhost:2378,http://localhost:9379` to serve `/metrics` in secure port 2378 and insecure port 9379.
- Useful for [bypassing critical APIs when monitoring etcd](https://github.com/coreos/etcd/issues/8060).
- Add [`--auto-compaction-mode`](https://github.com/coreos/etcd/pull/8123) flag to [support revision-based compaction](https://github.com/coreos/etcd/issues/8098).
- Change `--auto-compaction-retention` flag to [accept string values](https://github.com/coreos/etcd/pull/8563) with [finer granularity](https://github.com/coreos/etcd/issues/8503).
- Add [`--grpc-keepalive-min-time`, `--grpc-keepalive-interval`, `--grpc-keepalive-timeout`](https://github.com/coreos/etcd/pull/8535) flags to configure server-side keepalive policies.
- Serve [`/health` endpoint as unhealthy](https://github.com/coreos/etcd/pull/8272) when [alarm is raised](https://github.com/coreos/etcd/issues/8207).
- Provide [error information in `/health`](https://github.com/coreos/etcd/pull/8312).
- e.g. `{"health":false,"errors":["NOSPACE"]}`.
- Move [logging setup to embed package](https://github.com/coreos/etcd/pull/8810)
- Disable gRPC server log by default.
- Use [monotonic time in Go 1.9](https://github.com/coreos/etcd/pull/8507) for `lease` package.
- Warn on [empty hosts in advertise URLs](https://github.com/coreos/etcd/pull/8384).
- Address [advertise client URLs accepts empty hosts](https://github.com/coreos/etcd/issues/8379).
- etcd `v3.4` will exit on this error.
- e.g. `--advertise-client-urls=http://:2379`.
- Warn on [shadowed environment variables](https://github.com/coreos/etcd/pull/8385).
- Address [error on shadowed environment variables](https://github.com/coreos/etcd/issues/8380).
- etcd `v3.4` will exit on this error.
### Added(API)
- Support [ranges in transaction comparisons](https://github.com/coreos/etcd/pull/8025) for [disconnected linearized reads](https://github.com/coreos/etcd/issues/7924).
- Add [nested transactions](https://github.com/coreos/etcd/pull/8102) to extend [proxy use cases](https://github.com/coreos/etcd/issues/7857).
- Add [lease comparison target in transaction](https://github.com/coreos/etcd/pull/8324).
- Add [lease list](https://github.com/coreos/etcd/pull/8358).
- Add [hash by revision](https://github.com/coreos/etcd/pull/8263) for [better corruption checking against boltdb](https://github.com/coreos/etcd/issues/8016).
### Added(`etcd/clientv3`)
- Add [health balancer](https://github.com/coreos/etcd/pull/8545) to fix [watch API hangs](https://github.com/coreos/etcd/issues/7247), improve [endpoint switch under network faults](https://github.com/coreos/etcd/issues/7941).
- [Refactor balancer](https://github.com/coreos/etcd/pull/8840) and add [client-side keepalive pings](https://github.com/coreos/etcd/pull/8199) to handle [network partitions](https://github.com/coreos/etcd/issues/8711).
- Add [`MaxCallSendMsgSize` and `MaxCallRecvMsgSize`](https://github.com/coreos/etcd/pull/9047) fields to [`clientv3.Config`](https://godoc.org/github.com/coreos/etcd/clientv3#Config).
- Fix [exceeded response size limit error in client-side](https://github.com/coreos/etcd/issues/9043).
- Address [kubernetes#51099](https://github.com/kubernetes/kubernetes/issues/51099).
- `MaxCallSendMsgSize` default value is 2 MiB, if not configured.
- `MaxCallRecvMsgSize` default value is `math.MaxInt32`, if not configured.
- Accept [`Compare_LEASE`](https://github.com/coreos/etcd/pull/8324) in [`clientv3.Compare`](https://godoc.org/github.com/coreos/etcd/clientv3#Compare).
- Add [`LeaseValue` helper](https://github.com/coreos/etcd/pull/8488) to `Cmp` `LeaseID` values in `Txn`.
- Add [`MoveLeader`](https://github.com/coreos/etcd/pull/8153) to `Maintenance`.
- Add [`HashKV`](https://github.com/coreos/etcd/pull/8351) to `Maintenance`.
- Add [`Leases`](https://github.com/coreos/etcd/pull/8358) to `Lease`.
- Add [`clientv3/ordering`](https://github.com/coreos/etcd/pull/8092) for enforce [ordering in serialized requests](https://github.com/coreos/etcd/issues/7623).
### Added(v2 `etcdctl`)
- Add [`backup --with-v3`](https://github.com/coreos/etcd/pull/8479) flag.
### Added(v3 `etcdctl`)
- Add [`--discovery-srv`](https://github.com/coreos/etcd/pull/8462) flag.
- Add [`--keepalive-time`, `--keepalive-timeout`](https://github.com/coreos/etcd/pull/8663) flags.
- Add [`lease list`](https://github.com/coreos/etcd/pull/8358) command.
- Add [`lease keep-alive --once`](https://github.com/coreos/etcd/pull/8775) flag.
- Make [`lease timetolive LEASE_ID`](https://github.com/coreos/etcd/issues/9028) on expired lease print [`lease LEASE_ID already expired`](https://github.com/coreos/etcd/pull/9047).
- <=3.2 prints `lease LEASE_ID granted with TTL(0s), remaining(-1s)`.
- Add [`defrag --data-dir`](https://github.com/coreos/etcd/pull/8367) flag.
- Add [`move-leader`](https://github.com/coreos/etcd/pull/8153) command.
- Add [`endpoint hashkv`](https://github.com/coreos/etcd/pull/8351) command.
- Add [`endpoint --cluster`](https://github.com/coreos/etcd/pull/8143) flag, equivalent to [v2 `etcdctl cluster-health`](https://github.com/coreos/etcd/issues/8117).
- Make `endpoint health` command terminate with [non-zero exit code on unhealthy status](https://github.com/coreos/etcd/pull/8342).
- Add [`lock --ttl`](https://github.com/coreos/etcd/pull/8370) flag.
- Support [`watch [key] [range_end] -- [exec-command…]`](https://github.com/coreos/etcd/pull/8919), equivalent to [v2 `etcdctl exec-watch`](https://github.com/coreos/etcd/issues/8814).
- Enable [`clientv3.WithRequireLeader(context.Context)` for `watch`](https://github.com/coreos/etcd/pull/8672) command.
- Print [`"del"` instead of `"delete"`](https://github.com/coreos/etcd/pull/8297) in `txn` interactive mode.
- Print [`ETCD_INITIAL_ADVERTISE_PEER_URLS` in `member add`](https://github.com/coreos/etcd/pull/8332).
### Added(metrics)
- Add [`etcd --listen-metrics-urls`](https://github.com/coreos/etcd/pull/8242) flag for additional `/metrics` endpoints.
- Useful for [bypassing critical APIs when monitoring etcd](https://github.com/coreos/etcd/issues/8060).
- Add [`etcd_server_version`](https://github.com/coreos/etcd/pull/8960) Prometheus metric.
- To replace [Kubernetes `etcd-version-monitor`](https://github.com/coreos/etcd/issues/8948).
- Add [`etcd_debugging_mvcc_db_compaction_keys_total`](https://github.com/coreos/etcd/pull/8280) Prometheus metric.
- Add [`etcd_debugging_server_lease_expired_total`](https://github.com/coreos/etcd/pull/8064) Prometheus metric.
- To improve [lease revoke monitoring](https://github.com/coreos/etcd/issues/8050).
- Document [Prometheus 2.0 rules](https://github.com/coreos/etcd/pull/8879).
- Initialize gRPC server [metrics with zero values](https://github.com/coreos/etcd/pull/8878).
### Added(`grpc-proxy`)
- Add [`grpc-proxy start --experimental-leasing-prefix`](https://github.com/coreos/etcd/pull/8341) flag:
- For disconnected linearized reads.
- Based on [V system leasing](https://github.com/coreos/etcd/issues/6065).
- See ["Disconnected consistent reads with etcd" blog post](https://coreos.com/blog/coreos-labs-disconnected-consistent-reads-with-etcd).
- Add [`grpc-proxy start --experimental-serializable-ordering`](https://github.com/coreos/etcd/pull/8315) flag.
- To ensure serializable reads have monotonically increasing store revisions across endpoints.
- Add [`grpc-proxy start --metrics-addr`](https://github.com/coreos/etcd/pull/8242) flag for an additional `/metrics` endpoint.
- Set `--metrics-addr=http://[HOST]:9379` to serve `/metrics` in insecure port 9379.
- Serve [`/health` endpoint in grpc-proxy](https://github.com/coreos/etcd/pull/8322).
- Add [`grpc-proxy start --debug`](https://github.com/coreos/etcd/pull/8994) flag.
### Added(gRPC gateway)
- Replace [gRPC gateway](https://github.com/grpc-ecosystem/grpc-gateway) endpoint with [`/v3beta`](https://github.com/coreos/etcd/pull/8880).
- To deprecate [`/v3alpha`](https://github.com/coreos/etcd/issues/8125) in `v3.4`.
- Support ["authorization" token](https://github.com/coreos/etcd/pull/7999).
- Support [websocket for bi-directional streams](https://github.com/coreos/etcd/pull/8257).
- Fix [`Watch` API with gRPC gateway](https://github.com/coreos/etcd/issues/8237).
- Upgrade gRPC gateway to [v1.3.0](https://github.com/coreos/etcd/issues/8838).
### Added(`etcd/raft`)
- Add [non-voting member](https://github.com/coreos/etcd/pull/8751).
- To implement [Raft thesis 4.2.1 Catching up new servers](https://github.com/coreos/etcd/issues/8568).
- `Learner` node does not vote or promote itself.
### Added/Fixed(Security/Auth)
- Add [CRL based connection rejection](https://github.com/coreos/etcd/pull/8124) to manage [revoked certs](https://github.com/coreos/etcd/issues/4034).
- Document [TLS authentication changes](https://github.com/coreos/etcd/pull/8895):
- [Server accepts connections if IP matches, without checking DNS entries](https://github.com/coreos/etcd/pull/8223). For instance, if peer cert contains IP addresses and DNS names in Subject Alternative Name (SAN) field, and the remote IP address matches one of those IP addresses, server just accepts connection without further checking the DNS names.
- [Server supports reverse-lookup on wildcard DNS `SAN`](https://github.com/coreos/etcd/pull/8281). For instance, if peer cert contains only DNS names (no IP addresses) in Subject Alternative Name (SAN) field, server first reverse-lookups the remote IP address to get a list of names mapping to that address (e.g. `nslookup IPADDR`). Then accepts the connection if those names have a matching name with peer cert's DNS names (either by exact or wildcard match). If none is matched, server forward-lookups each DNS entry in peer cert (e.g. look up `example.default.svc` when the entry is `*.example.default.svc`), and accepts connection only when the host's resolved addresses have the matching IP address with the peer's remote IP address.
- Add [`etcd --peer-require-cn`](https://github.com/coreos/etcd/pull/8616) flag.
- To support [CommonName(CN) based auth](https://github.com/coreos/etcd/issues/8262) for inter peer connection.
- [Swap priority](https://github.com/coreos/etcd/pull/8594) of cert CommonName(CN) and username + password.
- To address ["username and password specified in the request should take priority over CN in the cert"](https://github.com/coreos/etcd/issues/8584).
- Protect [lease revoke with auth](https://github.com/coreos/etcd/pull/8031).
- Provide user's role on [auth permission error](https://github.com/coreos/etcd/pull/8164).
- Fix [auth store panic with disabled token](https://github.com/coreos/etcd/pull/8695).
- Update `golang.org/x/crypto/bcrypt` (see [golang/crypto@6c586e1](https://github.com/golang/crypto/commit/6c586e17d90a7d08bbbc4069984180dce3b04117)).
### Fixed(v2)
- [Fail-over v2 client](https://github.com/coreos/etcd/pull/8519) to next endpoint on [oneshot failure](https://github.com/coreos/etcd/issues/8515).
- [Put back `/v2/machines`](https://github.com/coreos/etcd/pull/8062) endpoint for python-etcd wrapper.
### Fixed(v3)
- Fix [range/put/delete operation metrics](https://github.com/coreos/etcd/pull/8054) with transaction:
- `etcd_debugging_mvcc_range_total`
- `etcd_debugging_mvcc_put_total`
- `etcd_debugging_mvcc_delete_total`
- `etcd_debugging_mvcc_txn_total`
- Fix [`etcd_debugging_mvcc_keys_total`](https://github.com/coreos/etcd/pull/8390) on restore.
- Fix [`etcd_debugging_mvcc_db_total_size_in_bytes`](https://github.com/coreos/etcd/pull/8120) on restore.
- Also change to [`prometheus.NewGaugeFunc`](https://github.com/coreos/etcd/pull/8150).
- Fix [backend database in-memory index corruption](https://github.com/coreos/etcd/pull/8127) issue on restore (only 3.2.0 is affected).
- Fix [watch restore from snapshot](https://github.com/coreos/etcd/pull/8427).
- Fix ["put at-most-once" in `clientv3`](https://github.com/coreos/etcd/pull/8335).
- Handle [empty key permission](https://github.com/coreos/etcd/pull/8514) in `etcdctl`.
- [Fix server crash](https://github.com/coreos/etcd/pull/8010) on [invalid transaction request from gRPC gateway](https://github.com/coreos/etcd/issues/7889).
- Fix [`clientv3.WatchResponse.Canceled`](https://github.com/coreos/etcd/pull/8283) on [compacted watch request](https://github.com/coreos/etcd/issues/8231).
- Handle [WAL renaming failure on Windows](https://github.com/coreos/etcd/pull/8286).
- Make [peer dial timeout longer](https://github.com/coreos/etcd/pull/8599).
- See [coreos/etcd-operator#1300](https://github.com/coreos/etcd-operator/issues/1300) for more detail.
- Make server [wait up to request time-out](https://github.com/coreos/etcd/pull/8267) with [pending RPCs](https://github.com/coreos/etcd/issues/8224).
- Fix [`grpc.Server` panic on `GracefulStop`](https://github.com/coreos/etcd/pull/8987) with [TLS-enabled server](https://github.com/coreos/etcd/issues/8916).
- Fix ["multiple peer URLs cannot start" issue](https://github.com/coreos/etcd/issues/8383).
- Fix server-side auth so [concurrent auth operations do not return old revision error](https://github.com/coreos/etcd/pull/8442).
- Fix [`concurrency/stm` `Put` with serializable snapshot](https://github.com/coreos/etcd/pull/8439).
- Use store revision from first fetch to resolve write conflicts instead of modified revision.
- Fix [`grpc-proxy` Snapshot API error handling](https://github.com/coreos/etcd/commit/dbd16d52fbf81e5fd806d21ff5e9148d5bf203ab).
- Fix [`grpc-proxy` KV API `PrevKv` flag handling](https://github.com/coreos/etcd/pull/8366).
- Fix [`grpc-proxy` KV API `KeysOnly` flag handling](https://github.com/coreos/etcd/pull/8552).
- Upgrade [`coreos/go-systemd`](https://github.com/coreos/go-systemd/releases) to `v15` (see https://github.com/coreos/go-systemd/releases/tag/v15).
### Other
- Support previous two minor versions (see our [new release policy](https://github.com/coreos/etcd/pull/8805)).
- `v3.3.x` is the last release cycle that supports `ACI`:
- AppC was [officially suspended](https://github.com/appc/spec#-disclaimer-), as of late 2016.
- [`acbuild`](https://github.com/containers/build#this-project-is-currently-unmaintained) is not maintained anymore.
- `*.aci` files won't be available from etcd `v3.4` release.
- Add container registry [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd).
- [quay.io/coreos/etcd](https://quay.io/coreos/etcd) is still supported as secondary.
## [v3.2.12](https://github.com/coreos/etcd/releases/tag/v3.2.12) (2017-12-20)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.11...v3.2.12) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Fixed
- Fix [error message of `Revision` compactor](https://github.com/coreos/etcd/pull/8999) in server-side.
### Added(`etcd/clientv3`,`etcdctl/v3`)
- Add [`MaxCallSendMsgSize` and `MaxCallRecvMsgSize`](https://github.com/coreos/etcd/pull/9047) fields to [`clientv3.Config`](https://godoc.org/github.com/coreos/etcd/clientv3#Config).
- Fix [exceeded response size limit error in client-side](https://github.com/coreos/etcd/issues/9043).
- Address [kubernetes#51099](https://github.com/kubernetes/kubernetes/issues/51099).
- `MaxCallSendMsgSize` default value is 2 MiB, if not configured.
- `MaxCallRecvMsgSize` default value is `math.MaxInt32`, if not configured.
### Other
- Pin [grpc v1.7.5](https://github.com/grpc/grpc-go/releases/tag/v1.7.5), [grpc-gateway v1.3.0](https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v1.3.0).
- No code change, just to be explicit about recommended versions.
## [v3.2.11](https://github.com/coreos/etcd/releases/tag/v3.2.11) (2017-12-05)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.10...v3.2.11) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Fixed
- Fix racey grpc-go's server handler transport `WriteStatus` call to prevent [TLS-enabled etcd server crash](https://github.com/coreos/etcd/issues/8904):
- Upgrade [`google.golang.org/grpc`](https://github.com/grpc/grpc-go/releases) `v1.7.3` to `v1.7.4`.
- Add [gRPC RPC failure warnings](https://github.com/coreos/etcd/pull/8939) to help debug such issues in the future.
- Remove `--listen-metrics-urls` flag in monitoring document (non-released in `v3.2.x`, planned for `v3.3.x`).
### Added
- Provide [more cert details](https://github.com/coreos/etcd/pull/8952/files) on TLS handshake failures.
## [v3.1.11](https://github.com/coreos/etcd/releases/tag/v3.1.11) (2017-11-28)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.10...v3.1.11) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Fixed
- [#8411](https://github.com/coreos/etcd/issues/8411),[#8806](https://github.com/coreos/etcd/pull/8806) mvcc: fix watch restore from snapshot
- [#8009](https://github.com/coreos/etcd/issues/8009),[#8902](https://github.com/coreos/etcd/pull/8902) backport coreos/bbolt v1.3.1-coreos.5
## [v3.2.10](https://github.com/coreos/etcd/releases/tag/v3.2.10) (2017-11-16)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.9...v3.2.10) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Fixed
- Replace backend key-value database `boltdb/bolt` with [`coreos/bbolt`](https://github.com/coreos/bbolt/releases) to address [backend database size issue](https://github.com/coreos/etcd/issues/8009).
- Fix `clientv3` balancer to handle [network partitions](https://github.com/coreos/etcd/issues/8711):
- Upgrade [`google.golang.org/grpc`](https://github.com/grpc/grpc-go/releases) `v1.2.1` to `v1.7.3`.
- Upgrade [`github.com/grpc-ecosystem/grpc-gateway`](https://github.com/grpc-ecosystem/grpc-gateway/releases) `v1.2` to `v1.3`.
- Revert [discovery SRV auth `ServerName` with `*.{ROOT_DOMAIN}`](https://github.com/coreos/etcd/pull/8651) to support non-wildcard subject alternative names in the certs (see [issue #8445](https://github.com/coreos/etcd/issues/8445) for more contexts).
- For instance, `etcd --discovery-srv=etcd.local` will only authenticate peers/clients when the provided certs have root domain `etcd.local` (**not `*.etcd.local`**) as an entry in Subject Alternative Name (SAN) field.
## [v3.2.9](https://github.com/coreos/etcd/releases/tag/v3.2.9) (2017-10-06)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.8...v3.2.9) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Fixed(Security)
- Compile with [Go 1.8.4](https://groups.google.com/d/msg/golang-nuts/sHfMg4gZNps/a-HDgDDDAAAJ).
- Update `golang.org/x/crypto/bcrypt` (see [golang/crypto@6c586e1](https://github.com/golang/crypto/commit/6c586e17d90a7d08bbbc4069984180dce3b04117)).
- Fix discovery SRV bootstrapping to [authenticate `ServerName` with `*.{ROOT_DOMAIN}`](https://github.com/coreos/etcd/pull/8651), in order to support sub-domain wildcard matching (see [issue #8445](https://github.com/coreos/etcd/issues/8445) for more contexts).
- For instance, `etcd --discovery-srv=etcd.local` will only authenticate peers/clients when the provided certs have root domain `*.etcd.local` as an entry in Subject Alternative Name (SAN) field.
## [v3.2.8](https://github.com/coreos/etcd/releases/tag/v3.2.8) (2017-09-29)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.7...v3.2.8) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Fixed
- Fix v2 client failover to next endpoint on mutable operation.
- Fix grpc-proxy to respect `KeysOnly` flag.
## [v3.2.7](https://github.com/coreos/etcd/releases/tag/v3.2.7) (2017-09-01)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.6...v3.2.7) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Fixed
- Fix server-side auth so concurrent auth operations do not return old revision error.
- Fix concurrency/stm Put with serializable snapshot
- Use store revision from first fetch to resolve write conflicts instead of modified revision.
## [v3.2.6](https://github.com/coreos/etcd/releases/tag/v3.2.6) (2017-08-21)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.5...v3.2.6).
### Fixed
- Fix watch restore from snapshot.
- Fix `etcd_debugging_mvcc_keys_total` inconsistency.
- Fix multiple URLs for `--listen-peer-urls` flag.
- Add `--enable-pprof` flag to etcd configuration file format.
## [v3.2.5](https://github.com/coreos/etcd/releases/tag/v3.2.5) (2017-08-04)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.4...v3.2.5) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Changed
- Use reverse lookup to match wildcard DNS SAN.
- Return non-zero exit code on unhealthy `endpoint health`.
### Fixed
- Fix unreachable /metrics endpoint when `--enable-v2=false`.
- Fix grpc-proxy to respect `PrevKv` flag.
### Added
- Add container registry `gcr.io/etcd-development/etcd`.
## [v3.2.4](https://github.com/coreos/etcd/releases/tag/v3.2.4) (2017-07-19)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.3...v3.2.4) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Fixed
- Do not block on active client stream when stopping server
- Fix gRPC proxy Snapshot RPC error handling
## [v3.2.3](https://github.com/coreos/etcd/releases/tag/v3.2.3) (2017-07-14)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.2...v3.2.3) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Fixed
- Let clients establish unlimited streams
### Added
- Tag docker images with minor versions
- e.g. `docker pull quay.io/coreos/etcd:v3.2` to fetch latest v3.2 versions
## [v3.1.10](https://github.com/coreos/etcd/releases/tag/v3.1.10) (2017-07-14)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.9...v3.1.10) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
### Changed
- Compile with Go 1.8.3 to fix panic on `net/http.CloseNotify`
### Added
- Tag docker images with minor versions.
- e.g. `docker pull quay.io/coreos/etcd:v3.1` to fetch latest v3.1 versions.
## [v3.2.2](https://github.com/coreos/etcd/releases/tag/v3.2.2) (2017-07-07)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.1...v3.2.2) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Improved
- Rate-limit lease revoke on expiration.
- Extend leases on promote to avoid queueing effect on lease expiration.
### Fixed
- Use user-provided listen address to connect to gRPC gateway:
- `net.Listener` rewrites IPv4 0.0.0.0 to IPv6 [::], breaking IPv6 disabled hosts.
- Only v3.2.0, v3.2.1 are affected.
- Accept connection with matched IP SAN but no DNS match.
- Don't check DNS entries in certs if there's a matching IP.
- Fix 'tools/benchmark' watch command.
## [v3.2.1](https://github.com/coreos/etcd/releases/tag/v3.2.1) (2017-06-23)
See [code changes](https://github.com/coreos/etcd/compare/v3.2.0...v3.2.1) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Fixed
- Fix backend database in-memory index corruption issue on restore (only 3.2.0 is affected).
- Fix gRPC gateway Txn marshaling issue.
- Fix backend database size debugging metrics.
## [v3.2.0](https://github.com/coreos/etcd/releases/tag/v3.2.0) (2017-06-09)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.0...v3.2.0) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes.
### Improved
- Improve backend read concurrency.
### Added
- Embedded etcd
- `Etcd.Peers` field is now `[]*peerListener`.
- RPCs
- Add Election, Lock service.
- Native client etcdserver/api/v3client
- client "embedded" in the server.
- gRPC proxy
- Proxy endpoint discovery.
- Namespaces.
- Coalesce lease requests.
- v3 client
- STM prefetching.
- Add namespace feature.
- Add `ErrOldCluster` with server version checking.
- Translate `WithPrefix()` into `WithFromKey()` for empty key.
- v3 etcdctl
- Add `check perf` command.
- Add `--from-key` flag to role grant-permission command.
- `lock` command takes an optional command to execute.
- etcd flags
- Add `--enable-v2` flag to configure v2 backend (enabled by default).
- Add `--auth-token` flag.
- `etcd gateway`
- Support DNS SRV priority.
- Auth
- Support Watch API.
- JWT tokens.
- Logging, monitoring
- Server warns large snapshot operations.
- Add `etcd_debugging_server_lease_expired_total` metrics.
- Security
- Deny incoming peer certs with wrong IP SAN.
- Resolve TLS `DNSNames` when SAN checking.
- Reload TLS certificates on every client connection.
- Release
- Annotate acbuild with supports-systemd-notify.
- Add `nsswitch.conf` to Docker container image.
- Add ppc64le, arm64(experimental) builds.
- Compile with `Go 1.8.3`.
### Changed
- v3 client
- `LeaseTimeToLive` returns TTL=-1 resp on lease not found.
- `clientv3.NewFromConfigFile` is moved to `clientv3/yaml.NewConfig`.
- concurrency package's elections updated to match RPC interfaces.
- let client dial endpoints not in the balancer.
- Dependencies
- Update [`google.golang.org/grpc`](https://github.com/grpc/grpc-go/releases) to `v1.2.1`.
- Update [`github.com/grpc-ecosystem/grpc-gateway`](https://github.com/grpc-ecosystem/grpc-gateway/releases) to `v1.2.0`.
### Fixed
- Allow v2 snapshot over 512MB.
## [v3.1.9](https://github.com/coreos/etcd/releases/tag/v3.1.9) (2017-06-09)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.8...v3.1.9) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
### Fixed
- Allow v2 snapshot over 512MB.
## [v3.1.8](https://github.com/coreos/etcd/releases/tag/v3.1.8) (2017-05-19)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.7...v3.1.8) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
## [v3.1.7](https://github.com/coreos/etcd/releases/tag/v3.1.7) (2017-04-28)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.6...v3.1.7) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
## [v3.1.6](https://github.com/coreos/etcd/releases/tag/v3.1.6) (2017-04-19)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.5...v3.1.6) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
### Changed
- Remove auth check in Status API.
### Fixed
- Fill in Auth API response header.
## [v3.1.5](https://github.com/coreos/etcd/releases/tag/v3.1.5) (2017-03-27)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.4...v3.1.5) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
### Added
- Add `/etc/nsswitch.conf` file to alpine-based Docker image.
### Fixed
- Fix raft memory leak issue.
- Fix Windows file path issues.
## [v3.1.4](https://github.com/coreos/etcd/releases/tag/v3.1.4) (2017-03-22)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.3...v3.1.4) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
## [v3.1.3](https://github.com/coreos/etcd/releases/tag/v3.1.3) (2017-03-10)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.2...v3.1.3) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
### Changed
- Use machine default host when advertise URLs are default values(`localhost:2379,2380`) AND if listen URL is `0.0.0.0`.
### Fixed
- Fix `etcd gateway` schema handling in DNS discovery.
- Fix sd_notify behaviors in `gateway`, `grpc-proxy`.
## [v3.1.2](https://github.com/coreos/etcd/releases/tag/v3.1.2) (2017-02-24)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.1...v3.1.2) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
### Changed
- Use IPv4 default host, by default (when IPv4 and IPv6 are available).
### Fixed
- Fix `etcd gateway` with multiple endpoints.
## [v3.1.1](https://github.com/coreos/etcd/releases/tag/v3.1.1) (2017-02-17)
See [code changes](https://github.com/coreos/etcd/compare/v3.1.0...v3.1.1) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
### Changed
- Compile with `Go 1.7.5`.
## [v2.3.8](https://github.com/coreos/etcd/releases/tag/v2.3.8) (2017-02-17)
See [code changes](https://github.com/coreos/etcd/compare/v2.3.7...v2.3.8).
### Changed
- Compile with `Go 1.7.5`.
## [v3.1.0](https://github.com/coreos/etcd/releases/tag/v3.1.0) (2017-01-20)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.0...v3.1.0) and [v3.1 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_1.md) for any breaking changes.
### Improved
- Faster linearizable reads (implements Raft read-index).
- v3 authentication API is now stable.
### Added
- Automatic leadership transfer when leader steps down.
- etcd flags
- `--strict-reconfig-check` flag is set by default.
- Add `--log-output` flag.
- Add `--metrics` flag.
- v3 client
- Add `SetEndpoints` method; update endpoints at runtime.
- Add `Sync` method; auto-update endpoints at runtime.
- Add `Lease TimeToLive` API; fetch lease information.
- replace Config.Logger field with global logger.
- Get API responses are sorted in ascending order by default.
- v3 etcdctl
- Add `lease timetolive` command.
- Add `--print-value-only` flag to get command.
- Add `--dest-prefix` flag to make-mirror command.
- `get` command responses are sorted in ascending order by default.
- `recipes` now conform to sessions defined in `clientv3/concurrency`.
- ACI has symlinks to `/usr/local/bin/etcd*`.
- Experimental gRPC proxy feature.
### Changed
- Deprecated following gRPC metrics in favor of [go-grpc-prometheus](https://github.com/grpc-ecosystem/go-grpc-prometheus):
- `etcd_grpc_requests_total`
- `etcd_grpc_requests_failed_total`
- `etcd_grpc_active_streams`
- `etcd_grpc_unary_requests_duration_seconds`
- etcd uses default route IP if advertise URL is not given.
- Cluster rejects removing members if quorum will be lost.
- SRV records (e.g., infra1.example.com) must match the discovery domain (i.e., example.com) if no custom certificate authority is given.
- `TLSConfig.ServerName` is ignored with user-provided certificates for backwards compatibility; to be deprecated.
- For example, `etcd --discovery-srv=example.com` will only authenticate peers/clients when the provided certs have root domain `example.com` as an entry in Subject Alternative Name (SAN) field.
- Discovery now has upper limit for waiting on retries.
- Warn on binding listeners through domain names; to be deprecated.
## [v3.0.16](https://github.com/coreos/etcd/releases/tag/v3.0.16) (2016-11-13)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.15...v3.0.16) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
## [v3.0.15](https://github.com/coreos/etcd/releases/tag/v3.0.15) (2016-11-11)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.14...v3.0.15) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
### Fixed
- Fix cancel watch request with wrong range end.
## [v3.0.14](https://github.com/coreos/etcd/releases/tag/v3.0.14) (2016-11-04)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.13...v3.0.14) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
### Added
- v3 `etcdctl migrate` command now supports `--no-ttl` flag to discard keys on transform.
## [v3.0.13](https://github.com/coreos/etcd/releases/tag/v3.0.13) (2016-10-24)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.12...v3.0.13) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
## [v3.0.12](https://github.com/coreos/etcd/releases/tag/v3.0.12) (2016-10-07)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.11...v3.0.12) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
## [v3.0.11](https://github.com/coreos/etcd/releases/tag/v3.0.11) (2016-10-07)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.10...v3.0.11) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
### Added
- Server returns previous key-value (optional)
- `clientv3.WithPrevKV` option
- v3 etcdctl `put,watch,del --prev-kv` flag
## [v3.0.10](https://github.com/coreos/etcd/releases/tag/v3.0.10) (2016-09-23)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.9...v3.0.10) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
## [v3.0.9](https://github.com/coreos/etcd/releases/tag/v3.0.9) (2016-09-15)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.8...v3.0.9) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
### Added
- Warn on domain names on listen URLs (v3.2 will reject domain names).
## [v3.0.8](https://github.com/coreos/etcd/releases/tag/v3.0.8) (2016-09-09)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.7...v3.0.8) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
### Changed
- Allow only IP addresses in listen URLs (domain names are rejected).
## [v3.0.7](https://github.com/coreos/etcd/releases/tag/v3.0.7) (2016-08-31)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.6...v3.0.7) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
### Changed
- SRV records only allow A records (RFC 2052).
## [v3.0.6](https://github.com/coreos/etcd/releases/tag/v3.0.6) (2016-08-19)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.5...v3.0.6) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
## [v3.0.5](https://github.com/coreos/etcd/releases/tag/v3.0.5) (2016-08-19)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.4...v3.0.5) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
### Changed
- SRV records (e.g., infra1.example.com) must match the discovery domain (i.e., example.com) if no custom certificate authority is given.
## [v3.0.4](https://github.com/coreos/etcd/releases/tag/v3.0.4) (2016-07-27)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.3...v3.0.4) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
### Changed
- v2 auth can now use common name from TLS certificate when `--client-cert-auth` is enabled.
### Added
- v2 `etcdctl ls` command now supports `--output=json`.
- Add /var/lib/etcd directory to etcd official Docker image.
## [v3.0.3](https://github.com/coreos/etcd/releases/tag/v3.0.3) (2016-07-15)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.2...v3.0.3) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
### Changed
- Revert Dockerfile to use `CMD`, instead of `ENTRYPOINT`, to support `etcdctl` run.
- Docker commands for v3.0.2 won't work without specifying executable binary paths.
- v3 etcdctl default endpoints are now `127.0.0.1:2379`.
## [v3.0.2](https://github.com/coreos/etcd/releases/tag/v3.0.2) (2016-07-08)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.1...v3.0.2) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
### Changed
- Dockerfile uses `ENTRYPOINT`, instead of `CMD`, to run etcd without binary path specified.
## [v3.0.1](https://github.com/coreos/etcd/releases/tag/v3.0.1) (2016-07-01)
See [code changes](https://github.com/coreos/etcd/compare/v3.0.0...v3.0.1) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.
## [v3.0.0](https://github.com/coreos/etcd/releases/tag/v3.0.0) (2016-06-30)
See [code changes](https://github.com/coreos/etcd/compare/v2.3.0...v3.0.0) and [v3.0 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_0.md) for any breaking changes.

View File

@ -14,7 +14,7 @@ etcd is Apache 2.0 licensed and accepts contributions via GitHub pull requests.
## Reporting bugs and creating issues
Reporting bugs is one of the best ways to contribute. However, a good bug report has some very specific qualities, so please read over our short document on [reporting bugs](https://github.com/coreos/etcd/blob/master/Documentation/reporting_bugs.md) before submitting a bug report. This document might contain links to known issues, another good reason to take a look there before reporting a bug.
Reporting bugs is one of the best ways to contribute. However, a good bug report has some very specific qualities, so please read over our short document on [reporting bugs](https://github.com/etcd-io/etcd/blob/master/Documentation/reporting_bugs.md) before submitting a bug report. This document might contain links to known issues, another good reason to take a look there before reporting a bug.
## Contribution flow
@ -24,7 +24,7 @@ This is a rough outline of what a contributor's workflow looks like:
- Make commits of logical units.
- Make sure commit messages are in the proper format (see below).
- Push changes in a topic branch to a personal fork of the repository.
- Submit a pull request to coreos/etcd.
- Submit a pull request to etcd-io/etcd.
- The PR must receive a LGTM from two maintainers found in the MAINTAINERS file.
Thanks for contributing!
@ -42,9 +42,13 @@ questions: what changed and why. The subject line should feature the what and
the body of the commit should describe the why.
```
scripts: add the test-cluster command
etcdserver: add grpc interceptor to log info on incoming requests
this uses tmux to setup a test cluster that can easily be killed and started for debugging.
To improve debuggability of etcd v3. Added a grpc interceptor to log
info on incoming requests to etcd server. The log output includes
remote client info, request content (with value field redacted), request
handling latency, response size, etc. Uses zap logger if available,
otherwise uses capnslog.
Fixes #38
```
@ -52,11 +56,38 @@ Fixes #38
The format can be described more formally as follows:
```
<subsystem>: <what changed>
<package>: <what changed>
<BLANK LINE>
<why this change was made>
<BLANK LINE>
<footer>
```
The first line is the subject and should be no longer than 70 characters, the second line is always blank, and other lines should be wrapped at 80 characters. This allows the message to be easier to read on GitHub as well as in various git tools.
The first line is the subject and should be no longer than 70 characters, the second
line is always blank, and other lines should be wrapped at 80 characters. This allows
the message to be easier to read on GitHub as well as in various git tools.
### Pull request across multiple files and packages
If multiple files in a package are changed in a pull request for example:
```
etcdserver/config.go
etcdserver/corrupt.go
```
At the end of the review process if multiple commits exist for a single package they
should be squashed/rebased into a single commit before being merged.
```
etcdserver: <what changed>
[..]
```
If a pull request spans many packages these commits should be squashed/rebased into a single
commit using message with a more generic `*:` prefix.
```
*: <what changed>
[..]
```

View File

@ -1,6 +0,0 @@
FROM golang
ADD . /go/src/github.com/coreos/etcd
ADD cmd/vendor /go/src/github.com/coreos/etcd/vendor
RUN go install github.com/coreos/etcd
EXPOSE 2379 2380
ENTRYPOINT ["etcd"]

View File

@ -1,4 +1,4 @@
FROM alpine:latest
FROM k8s.gcr.io/debian-base:v1.0.0
ADD etcd /usr/local/bin/
ADD etcdctl /usr/local/bin/

View File

@ -1,4 +1,4 @@
FROM aarch64/ubuntu:16.04
FROM k8s.gcr.io/debian-base-arm64:v1.0.0
ADD etcd /usr/local/bin/
ADD etcdctl /usr/local/bin/

View File

@ -1,4 +1,4 @@
FROM ppc64le/ubuntu:16.04
FROM k8s.gcr.io/debian-base-ppc64le:v1.0.0
ADD etcd /usr/local/bin/
ADD etcdctl /usr/local/bin/

View File

@ -1,3 +1,7 @@
---
title: Benchmarking etcd v2.1.0
---
## Physical machines
GCE n1-highcpu-2 machine type

View File

@ -1,4 +1,6 @@
# Benchmarking etcd v2.2.0
---
title: Benchmarking etcd v2.2.0
---
## Physical Machines
@ -26,7 +28,7 @@ Go OS/Arch: linux/amd64
Bootstrap another machine, outside of the etcd cluster, and run the [`hey` HTTP benchmark tool](https://github.com/rakyll/hey) with a connection reuse patch to send requests to each etcd cluster member. See the [benchmark instructions](../../hack/benchmark/) for the patch and the steps to reproduce our procedures.
The performance is calulated through results of 100 benchmark rounds.
The performance is calculated through results of 100 benchmark rounds.
## Performance

View File

@ -1,4 +1,8 @@
## Physical machines
---
title: Benchmarking etcd v2.2.0-rc
---
## Physical machine
GCE n1-highcpu-2 machine type

View File

@ -1,3 +1,7 @@
---
title: Benchmarking etcd v2.2.0-rc-memory
---
## Physical machine
GCE n1-standard-2 machine type

View File

@ -1,3 +1,7 @@
---
title: Benchmarking etcd v3
---
## Physical machines
GCE n1-highcpu-2 machine type

View File

@ -1,4 +1,6 @@
# Watch Memory Usage Benchmark
---
title: Watch Memory Usage Benchmark
---
*NOTE*: The watch features are under active development, and their memory usage may change as that development progresses. We do not expect it to significantly increase beyond the figures stated below.

View File

@ -1,4 +1,6 @@
# Storage Memory Usage Benchmark
---
title: Storage Memory Usage Benchmark
---
<!---todo: link storage to storage design doc-->
Two components of etcd storage consume physical memory. The etcd process allocates an *in-memory index* to speed key lookup. The process's *page cache*, managed by the operating system, stores recently-accessed data from disk for quick re-use.

View File

@ -1,4 +1,6 @@
# Branch management
---
title: Branch management
---
## Guide

View File

@ -1,4 +1,6 @@
# Demo
---
title: Demo
---
This series of examples shows the basic procedures for working with an etcd cluster.
@ -269,7 +271,10 @@ etcdctl --endpoints=$ENDPOINTS endpoint health
<img src="https://storage.googleapis.com/etcd/demo/11_etcdctl_snapshot_2016051001.gif" alt="11_etcdctl_snapshot_2016051001"/>
Snapshot can only be requested from one etcd node, so `--endpoints` flag should contain only one endpoint.
```
ENDPOINTS=$HOST_1:2379
etcdctl --endpoints=$ENDPOINTS snapshot save my.db
Snapshot saved at my.db

View File

@ -20,7 +20,7 @@ The lock service exposes client-side locking facilities as a gRPC interface.
| Field | Description | Type |
| ----- | ----------- | ---- |
| name | name is the identifier for the distributed shared lock to be acquired. | bytes |
| lease | lease is the ID of the lease that will be attached to ownership of the lock. If the lease expires or is revoked and currently holds the lock, the lock is automatically released. Calls to Lock with the same lease will be treated as a single acquistion; locking twice with the same lease is a no-op. | int64 |
| lease | lease is the ID of the lease that will be attached to ownership of the lock. If the lease expires or is revoked and currently holds the lock, the lock is automatically released. Calls to Lock with the same lease will be treated as a single acquisition; locking twice with the same lease is a no-op. | int64 |

View File

@ -1,16 +1,29 @@
---
title: Why gRPC gateway
---
## Why grpc-gateway
etcd v3 uses [gRPC][grpc] for its messaging protocol. The etcd project includes a gRPC-based [Go client][go-client] and a command line utility, [etcdctl][etcdctl], for communicating with an etcd cluster through gRPC. For languages with no gRPC support, etcd provides a JSON [gRPC gateway][grpc-gateway]. This gateway serves a RESTful proxy that translates HTTP/JSON requests into gRPC messages.
etcd v3 uses [gRPC][grpc] for its messaging protocol. The etcd project includes a gRPC-based [Go client][go-client] and a command line utility, [etcdctl][etcdctl], for communicating with an etcd cluster through gRPC. For languages with no gRPC support, etcd provides a JSON [grpc-gateway][grpc-gateway]. This gateway serves a RESTful proxy that translates HTTP/JSON requests into gRPC messages.
## Using grpc-gateway
## Using gRPC gateway
The gateway accepts a [JSON mapping][json-mapping] for etcd's [protocol buffer][api-ref] message definitions. Note that `key` and `value` fields are defined as byte arrays and therefore must be base64 encoded in JSON. The following examples use `curl`, but any HTTP/JSON client should work all the same.
### Notes
gRPC gateway endpoint has changed since etcd v3.3:
- etcd v3.2 or before uses only `[CLIENT-URL]/v3alpha/*`.
- etcd v3.3 uses `[CLIENT-URL]/v3beta/*` while keeping `[CLIENT-URL]/v3alpha/*`.
- etcd v3.4 uses `[CLIENT-URL]/v3/*` while keeping `[CLIENT-URL]/v3beta/*`.
- **`[CLIENT-URL]/v3alpha/*` is deprecated**.
- etcd v3.5 or later uses only `[CLIENT-URL]/v3/*`.
- **`[CLIENT-URL]/v3beta/*` is deprecated**.
gRPC-gateway does not support authentication using TLS Common Name.
### Put and get keys
Use the `/v3beta/kv/range` and `/v3beta/kv/put` services to read and write keys:
Use the `/v3/kv/range` and `/v3/kv/put` services to read and write keys:
```bash
<<COMMENT
@ -19,85 +32,94 @@ foo is 'Zm9v' in Base64
bar is 'YmFy'
COMMENT
curl -L http://localhost:2379/v3beta/kv/put \
-X POST -d '{"key": "Zm9v", "value": "YmFy"}'
curl -L http://localhost:2379/v3/kv/put \
-X POST -d '{"key": "Zm9v", "value": "YmFy"}'
# {"header":{"cluster_id":"12585971608760269493","member_id":"13847567121247652255","revision":"2","raft_term":"3"}}
curl -L http://localhost:2379/v3beta/kv/range \
-X POST -d '{"key": "Zm9v"}'
curl -L http://localhost:2379/v3/kv/range \
-X POST -d '{"key": "Zm9v"}'
# {"header":{"cluster_id":"12585971608760269493","member_id":"13847567121247652255","revision":"2","raft_term":"3"},"kvs":[{"key":"Zm9v","create_revision":"2","mod_revision":"2","version":"1","value":"YmFy"}],"count":"1"}
# get all keys prefixed with "foo"
curl -L http://localhost:2379/v3beta/kv/range \
-X POST -d '{"key": "Zm9v", "range_end": "Zm9w"}'
curl -L http://localhost:2379/v3/kv/range \
-X POST -d '{"key": "Zm9v", "range_end": "Zm9w"}'
# {"header":{"cluster_id":"12585971608760269493","member_id":"13847567121247652255","revision":"2","raft_term":"3"},"kvs":[{"key":"Zm9v","create_revision":"2","mod_revision":"2","version":"1","value":"YmFy"}],"count":"1"}
```
### Watch keys
Use the `/v3beta/watch` service to watch keys:
Use the `/v3/watch` service to watch keys:
```bash
curl http://localhost:2379/v3beta/watch \
-X POST -d '{"create_request": {"key":"Zm9v"} }' &
curl -N http://localhost:2379/v3/watch \
-X POST -d '{"create_request": {"key":"Zm9v"} }' &
# {"result":{"header":{"cluster_id":"12585971608760269493","member_id":"13847567121247652255","revision":"1","raft_term":"2"},"created":true}}
curl -L http://localhost:2379/v3beta/kv/put \
-X POST -d '{"key": "Zm9v", "value": "YmFy"}' >/dev/null 2>&1
curl -L http://localhost:2379/v3/kv/put \
-X POST -d '{"key": "Zm9v", "value": "YmFy"}' >/dev/null 2>&1
# {"result":{"header":{"cluster_id":"12585971608760269493","member_id":"13847567121247652255","revision":"2","raft_term":"2"},"events":[{"kv":{"key":"Zm9v","create_revision":"2","mod_revision":"2","version":"1","value":"YmFy"}}]}}
```
### Transactions
Issue a transaction with `/v3beta/kv/txn`:
Issue a transaction with `/v3/kv/txn`:
```bash
curl -L http://localhost:2379/v3beta/kv/txn \
-X POST \
-d '{"compare":[{"target":"CREATE","key":"Zm9v","createRevision":"2"}],"success":[{"requestPut":{"key":"Zm9v","value":"YmFy"}}]}'
# target CREATE
curl -L http://localhost:2379/v3/kv/txn \
-X POST \
-d '{"compare":[{"target":"CREATE","key":"Zm9v","createRevision":"2"}],"success":[{"requestPut":{"key":"Zm9v","value":"YmFy"}}]}'
# {"header":{"cluster_id":"12585971608760269493","member_id":"13847567121247652255","revision":"3","raft_term":"2"},"succeeded":true,"responses":[{"response_put":{"header":{"revision":"3"}}}]}
```
```bash
# target VERSION
curl -L http://localhost:2379/v3/kv/txn \
-X POST \
-d '{"compare":[{"version":"4","result":"EQUAL","target":"VERSION","key":"Zm9v"}],"success":[{"requestRange":{"key":"Zm9v"}}]}'
# {"header":{"cluster_id":"14841639068965178418","member_id":"10276657743932975437","revision":"6","raft_term":"3"},"succeeded":true,"responses":[{"response_range":{"header":{"revision":"6"},"kvs":[{"key":"Zm9v","create_revision":"2","mod_revision":"6","version":"4","value":"YmF6"}],"count":"1"}}]}
```
### Authentication
Set up authentication with the `/v3beta/auth` service:
Set up authentication with the `/v3/auth` service:
```bash
# create root user
curl -L http://localhost:2379/v3beta/auth/user/add \
-X POST -d '{"name": "root", "password": "pass"}'
curl -L http://localhost:2379/v3/auth/user/add \
-X POST -d '{"name": "root", "password": "pass"}'
# {"header":{"cluster_id":"14841639068965178418","member_id":"10276657743932975437","revision":"1","raft_term":"2"}}
# create root role
curl -L http://localhost:2379/v3beta/auth/role/add \
-X POST -d '{"name": "root"}'
curl -L http://localhost:2379/v3/auth/role/add \
-X POST -d '{"name": "root"}'
# {"header":{"cluster_id":"14841639068965178418","member_id":"10276657743932975437","revision":"1","raft_term":"2"}}
# grant root role
curl -L http://localhost:2379/v3beta/auth/user/grant \
-X POST -d '{"user": "root", "role": "root"}'
curl -L http://localhost:2379/v3/auth/user/grant \
-X POST -d '{"user": "root", "role": "root"}'
# {"header":{"cluster_id":"14841639068965178418","member_id":"10276657743932975437","revision":"1","raft_term":"2"}}
# enable auth
curl -L http://localhost:2379/v3beta/auth/enable -X POST -d '{}'
curl -L http://localhost:2379/v3/auth/enable -X POST -d '{}'
# {"header":{"cluster_id":"14841639068965178418","member_id":"10276657743932975437","revision":"1","raft_term":"2"}}
```
Authenticate with etcd for an authentication token using `/v3beta/auth/authenticate`:
Authenticate with etcd for an authentication token using `/v3/auth/authenticate`:
```bash
# get the auth token for the root user
curl -L http://localhost:2379/v3beta/auth/authenticate \
-X POST -d '{"name": "root", "password": "pass"}'
curl -L http://localhost:2379/v3/auth/authenticate \
-X POST -d '{"name": "root", "password": "pass"}'
# {"header":{"cluster_id":"14841639068965178418","member_id":"10276657743932975437","revision":"1","raft_term":"2"},"token":"sssvIpwfnLAcWAQH.9"}
```
Set the `Authorization` header to the authentication token to fetch a key using authentication credentials:
```bash
curl -L http://localhost:2379/v3beta/kv/put \
-H 'Authorization : sssvIpwfnLAcWAQH.9' \
-X POST -d '{"key": "Zm9v", "value": "YmFy"}'
curl -L http://localhost:2379/v3/kv/put \
-H 'Authorization : sssvIpwfnLAcWAQH.9' \
-X POST -d '{"key": "Zm9v", "value": "YmFy"}'
# {"header":{"cluster_id":"14841639068965178418","member_id":"10276657743932975437","revision":"2","raft_term":"2"}}
```
@ -108,9 +130,8 @@ Generated [Swagger][swagger] API definitions can be found at [rpc.swagger.json][
[api-ref]: ./api_reference_v3.md
[go-client]: https://github.com/coreos/etcd/tree/master/clientv3
[etcdctl]: https://github.com/coreos/etcd/tree/master/etcdctl
[grpc]: http://www.grpc.io/
[grpc]: https://www.grpc.io/
[grpc-gateway]: https://github.com/grpc-ecosystem/grpc-gateway
[json-mapping]: https://developers.google.com/protocol-buffers/docs/proto3#json
[swagger]: http://swagger.io/
[swagger-doc]: apispec/swagger/rpc.swagger.json

View File

@ -11,14 +11,14 @@ This is a generated documentation. Please read the proto files for more.
| AuthEnable | AuthEnableRequest | AuthEnableResponse | AuthEnable enables authentication. |
| AuthDisable | AuthDisableRequest | AuthDisableResponse | AuthDisable disables authentication. |
| Authenticate | AuthenticateRequest | AuthenticateResponse | Authenticate processes an authenticate request. |
| UserAdd | AuthUserAddRequest | AuthUserAddResponse | UserAdd adds a new user. |
| UserAdd | AuthUserAddRequest | AuthUserAddResponse | UserAdd adds a new user. User name cannot be empty. |
| UserGet | AuthUserGetRequest | AuthUserGetResponse | UserGet gets detailed user information. |
| UserList | AuthUserListRequest | AuthUserListResponse | UserList gets a list of all users. |
| UserDelete | AuthUserDeleteRequest | AuthUserDeleteResponse | UserDelete deletes a specified user. |
| UserChangePassword | AuthUserChangePasswordRequest | AuthUserChangePasswordResponse | UserChangePassword changes the password of a specified user. |
| UserGrantRole | AuthUserGrantRoleRequest | AuthUserGrantRoleResponse | UserGrant grants a role to a specified user. |
| UserRevokeRole | AuthUserRevokeRoleRequest | AuthUserRevokeRoleResponse | UserRevokeRole revokes a role of specified user. |
| RoleAdd | AuthRoleAddRequest | AuthRoleAddResponse | RoleAdd adds a new role. |
| RoleAdd | AuthRoleAddRequest | AuthRoleAddResponse | RoleAdd adds a new role. Role name cannot be empty. |
| RoleGet | AuthRoleGetRequest | AuthRoleGetResponse | RoleGet gets detailed role information. |
| RoleList | AuthRoleListRequest | AuthRoleListResponse | RoleList gets lists of all roles. |
| RoleDelete | AuthRoleDeleteRequest | AuthRoleDeleteResponse | RoleDelete deletes a specified role. |
@ -35,6 +35,7 @@ This is a generated documentation. Please read the proto files for more.
| MemberRemove | MemberRemoveRequest | MemberRemoveResponse | MemberRemove removes an existing member from the cluster. |
| MemberUpdate | MemberUpdateRequest | MemberUpdateResponse | MemberUpdate updates the member configuration. |
| MemberList | MemberListRequest | MemberListResponse | MemberList lists all the members in the cluster. |
| MemberPromote | MemberPromoteRequest | MemberPromoteResponse | MemberPromote promotes a member from raft learner (non-voting) to raft voting member. |
@ -69,8 +70,8 @@ This is a generated documentation. Please read the proto files for more.
| Alarm | AlarmRequest | AlarmResponse | Alarm activates, deactivates, and queries alarms regarding cluster health. |
| Status | StatusRequest | StatusResponse | Status gets the status of the member. |
| Defragment | DefragmentRequest | DefragmentResponse | Defragment defragments a member's backend database to recover storage space. |
| Hash | HashRequest | HashResponse | Hash computes the hash of the KV's backend. This is designed for testing; do not use this in production when there are ongoing transactions. |
| HashKV | HashKVRequest | HashKVResponse | HashKV computes the hash of all MVCC keys up to a given revision. |
| Hash | HashRequest | HashResponse | Hash computes the hash of whole backend keyspace, including key, lease, and other buckets in storage. This is designed for testing ONLY! Do not rely on this in production with ongoing transactions, since Hash operation does not hold MVCC locks. Use "HashKV" API instead for "key" bucket consistency checks. |
| HashKV | HashKVRequest | HashKVResponse | HashKV computes the hash of all MVCC keys up to a given revision. It only iterates "key" bucket in backend storage. |
| Snapshot | SnapshotRequest | SnapshotResponse | Snapshot sends a snapshot of the entire backend from a member over a stream to a client. |
| MoveLeader | MoveLeaderRequest | MoveLeaderResponse | MoveLeader requests current leader node to transfer its leadership to transferee. |
@ -226,8 +227,8 @@ Empty field.
| Field | Description | Type |
| ----- | ----------- | ---- |
| role | | string |
| key | | string |
| range_end | | string |
| key | | bytes |
| range_end | | bytes |
@ -245,6 +246,7 @@ Empty field.
| ----- | ----------- | ---- |
| name | | string |
| password | | string |
| options | | authpb.UserAddOptions |
@ -476,6 +478,31 @@ Empty field.
##### message `LeaseCheckpoint` (etcdserver/etcdserverpb/rpc.proto)
| Field | Description | Type |
| ----- | ----------- | ---- |
| ID | ID is the lease ID to checkpoint. | int64 |
| remaining_TTL | Remaining_TTL is the remaining time until expiry of the lease. | int64 |
##### message `LeaseCheckpointRequest` (etcdserver/etcdserverpb/rpc.proto)
| Field | Description | Type |
| ----- | ----------- | ---- |
| checkpoints | | (slice of) LeaseCheckpoint |
##### message `LeaseCheckpointResponse` (etcdserver/etcdserverpb/rpc.proto)
| Field | Description | Type |
| ----- | ----------- | ---- |
| header | | ResponseHeader |
##### message `LeaseGrantRequest` (etcdserver/etcdserverpb/rpc.proto)
| Field | Description | Type |
@ -582,6 +609,7 @@ Empty field.
| name | name is the human-readable name of the member. If the member is not started, the name will be an empty string. | string |
| peerURLs | peerURLs is the list of URLs the member exposes to the cluster for communication. | (slice of) string |
| clientURLs | clientURLs is the list of URLs the member exposes to clients for communication. If the member is not started, clientURLs will be empty. | (slice of) string |
| isLearner | isLearner indicates if the member is raft learner. | bool |
@ -590,6 +618,7 @@ Empty field.
| Field | Description | Type |
| ----- | ----------- | ---- |
| peerURLs | peerURLs is the list of URLs the added member will use to communicate with the cluster. | (slice of) string |
| isLearner | isLearner indicates if the added member is raft learner. | bool |
@ -618,6 +647,23 @@ Empty field.
##### message `MemberPromoteRequest` (etcdserver/etcdserverpb/rpc.proto)
| Field | Description | Type |
| ----- | ----------- | ---- |
| ID | ID is the member ID of the member to promote. | uint64 |
##### message `MemberPromoteResponse` (etcdserver/etcdserverpb/rpc.proto)
| Field | Description | Type |
| ----- | ----------- | ---- |
| header | | ResponseHeader |
| members | members is a list of all members after promoting the member. | (slice of) Member |
##### message `MemberRemoveRequest` (etcdserver/etcdserverpb/rpc.proto)
| Field | Description | Type |
@ -706,7 +752,7 @@ Empty field.
| count_only | count_only when set returns only the count of the keys in the range. | bool |
| min_mod_revision | min_mod_revision is the lower bound for returned key mod revisions; all keys with lesser mod revisions will be filtered away. | int64 |
| max_mod_revision | max_mod_revision is the upper bound for returned key mod revisions; all keys with greater mod revisions will be filtered away. | int64 |
| min_create_revision | min_create_revision is the lower bound for returned key create revisions; all keys with lesser create trevisions will be filtered away. | int64 |
| min_create_revision | min_create_revision is the lower bound for returned key create revisions; all keys with lesser create revisions will be filtered away. | int64 |
| max_create_revision | max_create_revision is the upper bound for returned key create revisions; all keys with greater create revisions will be filtered away. | int64 |
@ -740,7 +786,7 @@ Empty field.
| ----- | ----------- | ---- |
| cluster_id | cluster_id is the ID of the cluster which sent the response. | uint64 |
| member_id | member_id is the ID of the member which sent the response. | uint64 |
| revision | revision is the key-value store revision when the request was applied. | int64 |
| revision | revision is the key-value store revision when the request was applied. For watch progress responses, the header.revision indicates progress. All future events recieved in this stream are guaranteed to have a higher revision number than the header.revision number. | int64 |
| raft_term | raft_term is the raft term when the request was applied. | uint64 |
@ -785,10 +831,14 @@ Empty field.
| ----- | ----------- | ---- |
| header | | ResponseHeader |
| version | version is the cluster protocol version used by the responding member. | string |
| dbSize | dbSize is the size of the backend database, in bytes, of the responding member. | int64 |
| dbSize | dbSize is the size of the backend database physically allocated, in bytes, of the responding member. | int64 |
| leader | leader is the member ID which the responding member believes is the current leader. | uint64 |
| raftIndex | raftIndex is the current raft index of the responding member. | uint64 |
| raftIndex | raftIndex is the current raft committed index of the responding member. | uint64 |
| raftTerm | raftTerm is the current raft term of the responding member. | uint64 |
| raftAppliedIndex | raftAppliedIndex is the current raft applied index of the responding member. | uint64 |
| errors | errors contains alarm/health information and status. | (slice of) string |
| dbSizeInUse | dbSizeInUse is the size of the backend database logically in use, in bytes, of the responding member. | int64 |
| isLearner | isLearner indicates if the member is raft learner. | bool |
@ -832,6 +882,16 @@ From google paxosdb paper: Our implementation hinges around a powerful primitive
| progress_notify | progress_notify is set so that the etcd server will periodically send a WatchResponse with no events to the new watcher if there are no recent events. It is useful when clients wish to recover a disconnected watcher starting from a recent known revision. The etcd server may decide how often it will send notifications based on current load. | bool |
| filters | filters filter the events at server side before it sends back to the watcher. | (slice of) FilterType |
| prev_kv | If prev_kv is set, created watcher gets the previous KV before the event happens. If the previous KV is already compacted, nothing will be returned. | bool |
| watch_id | If watch_id is provided and non-zero, it will be assigned to this watcher. Since creating a watcher in etcd is not a synchronous operation, this can be used ensure that ordering is correct when creating multiple watchers on the same stream. Creating a watcher with an ID already in use on the stream will cause an error to be returned. | int64 |
| fragment | fragment enables splitting large revisions into multiple watch responses. | bool |
##### message `WatchProgressRequest` (etcdserver/etcdserverpb/rpc.proto)
Requests the a watch stream progress status be sent in the watch response stream as soon as possible.
Empty field.
@ -842,6 +902,7 @@ From google paxosdb paper: Our implementation hinges around a powerful primitive
| request_union | request_union is a request to either create a new watcher or cancel an existing watcher. | oneof |
| create_request | | WatchCreateRequest |
| cancel_request | | WatchCancelRequest |
| progress_request | | WatchProgressRequest |
@ -855,6 +916,7 @@ From google paxosdb paper: Our implementation hinges around a powerful primitive
| canceled | canceled is set to true if the response is for a cancel watch request. No further events will be sent to the canceled watcher. | bool |
| compact_revision | compact_revision is set to the minimum index if a watcher tries to watch at a compacted index. This happens when creating a watcher at a compacted revision or the watcher cannot catch up with the progress of the key-value store. The client should treat the watcher as canceled and should not try to create any watcher with the same start_revision again. | int64 |
| cancel_reason | cancel_reason indicates the reason for canceling the watcher. | string |
| fragment | framgment is true if large watch response was split over multiple responses. | bool |
| events | | (slice of) mvccpb.Event |
@ -888,6 +950,7 @@ From google paxosdb paper: Our implementation hinges around a powerful primitive
| ----- | ----------- | ---- |
| ID | | int64 |
| TTL | | int64 |
| RemainingTTL | | int64 |
@ -939,6 +1002,15 @@ User is a single entry in the bucket authUsers
| name | | bytes |
| password | | bytes |
| roles | | (slice of) string |
| options | | UserAddOptions |
##### message `UserAddOptions` (auth/authpb/auth.proto)
| Field | Description | Type |
| ----- | ----------- | ---- |
| no_password | | bool |

File diff suppressed because it is too large Load Diff

View File

@ -15,13 +15,13 @@
"application/json"
],
"paths": {
"/v3beta/election/campaign": {
"/v3/election/campaign": {
"post": {
"summary": "Campaign waits to acquire leadership in an election, returning a LeaderKey\nrepresenting the leadership if successful. The LeaderKey can then be used\nto issue new values on the election, transactionally guard API requests on\nleadership still being held, and resign from the election.",
"operationId": "Campaign",
"responses": {
"200": {
"description": "",
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3electionpbCampaignResponse"
}
@ -42,13 +42,13 @@
]
}
},
"/v3beta/election/leader": {
"/v3/election/leader": {
"post": {
"summary": "Leader returns the current election proclamation, if any.",
"operationId": "Leader",
"responses": {
"200": {
"description": "",
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3electionpbLeaderResponse"
}
@ -69,15 +69,15 @@
]
}
},
"/v3beta/election/observe": {
"/v3/election/observe": {
"post": {
"summary": "Observe streams election proclamations in-order as made by the election's\nelected leaders.",
"operationId": "Observe",
"responses": {
"200": {
"description": "(streaming responses)",
"description": "A successful response.(streaming responses)",
"schema": {
"$ref": "#/definitions/v3electionpbLeaderResponse"
"$ref": "#/x-stream-definitions/v3electionpbLeaderResponse"
}
}
},
@ -96,13 +96,13 @@
]
}
},
"/v3beta/election/proclaim": {
"/v3/election/proclaim": {
"post": {
"summary": "Proclaim updates the leader's posted value with a new value.",
"operationId": "Proclaim",
"responses": {
"200": {
"description": "",
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3electionpbProclaimResponse"
}
@ -123,13 +123,13 @@
]
}
},
"/v3beta/election/resign": {
"/v3/election/resign": {
"post": {
"summary": "Resign releases election leadership so other campaigners may acquire\nleadership on the election.",
"operationId": "Resign",
"responses": {
"200": {
"description": "",
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3electionpbResignResponse"
}
@ -168,7 +168,7 @@
"revision": {
"type": "string",
"format": "int64",
"description": "revision is the key-value store revision when the request was applied."
"description": "revision is the key-value store revision when the request was applied.\nFor watch progress responses, the header.revision indicates progress. All future events\nrecieved in this stream are guaranteed to have a higher revision number than the\nheader.revision number."
},
"raft_term": {
"type": "string",
@ -212,6 +212,43 @@
}
}
},
"protobufAny": {
"type": "object",
"properties": {
"type_url": {
"type": "string"
},
"value": {
"type": "string",
"format": "byte"
}
}
},
"runtimeStreamError": {
"type": "object",
"properties": {
"grpc_code": {
"type": "integer",
"format": "int32"
},
"http_code": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string"
},
"http_status": {
"type": "string"
},
"details": {
"type": "array",
"items": {
"$ref": "#/definitions/protobufAny"
}
}
}
},
"v3electionpbCampaignRequest": {
"type": "object",
"properties": {
@ -330,5 +367,19 @@
}
}
}
},
"x-stream-definitions": {
"v3electionpbLeaderResponse": {
"type": "object",
"properties": {
"result": {
"$ref": "#/definitions/v3electionpbLeaderResponse"
},
"error": {
"$ref": "#/definitions/runtimeStreamError"
}
},
"title": "Stream result of v3electionpbLeaderResponse"
}
}
}

View File

@ -15,13 +15,13 @@
"application/json"
],
"paths": {
"/v3beta/lock/lock": {
"/v3/lock/lock": {
"post": {
"summary": "Lock acquires a distributed shared lock on a given named lock.\nOn success, it will return a unique key that exists so long as the\nlock is held by the caller. This key can be used in conjunction with\ntransactions to safely ensure updates to etcd only occur while holding\nlock ownership. The lock is held until Unlock is called on the key or the\nlease associate with the owner expires.",
"operationId": "Lock",
"responses": {
"200": {
"description": "",
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3lockpbLockResponse"
}
@ -42,13 +42,13 @@
]
}
},
"/v3beta/lock/unlock": {
"/v3/lock/unlock": {
"post": {
"summary": "Unlock takes a key returned by Lock and releases the hold on lock. The\nnext Lock caller waiting for the lock will then be woken up and given\nownership of the lock.",
"operationId": "Unlock",
"responses": {
"200": {
"description": "",
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/v3lockpbUnlockResponse"
}
@ -87,7 +87,7 @@
"revision": {
"type": "string",
"format": "int64",
"description": "revision is the key-value store revision when the request was applied."
"description": "revision is the key-value store revision when the request was applied.\nFor watch progress responses, the header.revision indicates progress. All future events\nrecieved in this stream are guaranteed to have a higher revision number than the\nheader.revision number."
},
"raft_term": {
"type": "string",
@ -107,7 +107,7 @@
"lease": {
"type": "string",
"format": "int64",
"description": "lease is the ID of the lease that will be attached to ownership of the\nlock. If the lease expires or is revoked and currently holds the lock,\nthe lock is automatically released. Calls to Lock with the same lease will\nbe treated as a single acquistion; locking twice with the same lease is a\nno-op."
"description": "lease is the ID of the lease that will be attached to ownership of the\nlock. If the lease expires or is revoked and currently holds the lock,\nthe lock is automatically released. Calls to Lock with the same lease will\nbe treated as a single acquisition; locking twice with the same lease is a\nno-op."
}
}
},

View File

@ -1,7 +1,9 @@
# Experimental APIs and features
---
title: Experimental APIs and features
---
For the most part, the etcd project is stable, but we are still moving fast! We believe in the release fast philosophy. We want to get early feedback on features still in development and stabilizing. Thus, there are, and will be more, experimental features and APIs. We plan to improve these features based on the early feedback from the community, or abandon them if there is little interest, in the next few releases. Please do not rely on any experimental features or APIs in production environment.
## The current experimental API/features are:
- [KV ordering](https://godoc.org/github.com/coreos/etcd/clientv3/ordering) wrapper. When an etcd client switches endpoints, responses to serializable reads may go backward in time if the new endpoint is lagging behind the rest of the cluster. The ordering wrapper caches the current cluster revision from response headers. If a response revision is less than the cached revision, the client selects another endpoint and reissues the read. Enable in grpcproxy with `--experimental-serializable-ordering`.
- [KV ordering](https://godoc.org/github.com/etcd-io/etcd/clientv3/ordering) wrapper. When an etcd client switches endpoints, responses to serializable reads may go backward in time if the new endpoint is lagging behind the rest of the cluster. The ordering wrapper caches the current cluster revision from response headers. If a response revision is less than the cached revision, the client selects another endpoint and reissues the read. Enable in grpcproxy with `--experimental-serializable-ordering`.

View File

@ -1,4 +1,6 @@
# gRPC naming and discovery
---
title: gRPC naming and discovery
---
etcd provides a gRPC resolver to support an alternative name system that fetches endpoints from etcd for discovering gRPC services. The underlying mechanism is based on watching updates to keys prefixed with the service name.
@ -8,8 +10,8 @@ The etcd client provides a gRPC resolver for resolving gRPC endpoints with an et
```go
import (
"github.com/coreos/etcd/clientv3"
etcdnaming "github.com/coreos/etcd/clientv3/naming"
"go.etcd.io/etcd/clientv3"
etcdnaming "go.etcd.io/etcd/clientv3/naming"
"google.golang.org/grpc"
)
@ -19,7 +21,7 @@ import (
cli, cerr := clientv3.NewFromURL("http://localhost:2379")
r := &etcdnaming.GRPCResolver{Client: cli}
b := grpc.RoundRobin(r)
conn, gerr := grpc.Dial("my-service", grpc.WithBalancer(b))
conn, gerr := grpc.Dial("my-service", grpc.WithBalancer(b), grpc.WithBlock(), ...)
```
## Managing service endpoints

View File

@ -1,8 +1,12 @@
# Interacting with etcd
---
title: Interacting with etcd
---
Users mostly interact with etcd by putting or getting the value of a key. This section describes how to do that by using etcdctl, a command line tool for interacting with etcd server. The concepts described here should apply to the gRPC APIs or client library APIs.
By default, etcdctl talks to the etcd server with the v2 API for backward compatibility. For etcdctl to speak to etcd using the v3 API, the API version must be set to version 3 via the `ETCDCTL_API` environment variable. However note that any key that was created using the v2 API will not be able to be queried via the v3 API. A v3 API ```etcdctl get``` of a v2 key will exit with 0 and no key data, this is the expected behaviour.
The API version used by etcdctl to speak to etcd may be set to version `2` or `3` via the `ETCDCTL_API` environment variable. By default, etcdctl on master (3.4) uses the v3 API and earlier versions (3.3 and earlier) default to the v2 API.
Note that any key that was created using the v2 API will not be able to be queried via the v3 API. A v3 API ```etcdctl get``` of a v2 key will exit with 0 and no key data, this is the expected behaviour.
```bash
@ -355,6 +359,26 @@ foo # key
bar_latest # value of foo key after modification
```
## Watch progress
Applications may want to check the progress of a watch to determine how up-to-date the watch stream is. For example, if a watch is used to update a cache, it can be useful to know if the cache is stale compared to the revision from a quorum read.
Progress requests can be issued using the "progress" command in interactive watch session to ask the etcd server to send a progress notify update in the watch stream:
```bash
$ etcdctl watch -i
$ watch a
$ progress
progress notify: 1
# in another terminal: etcdctl put x 0
# in another terminal: etcdctl put y 1
$ progress
progress notify: 3
```
Note: The revision number in the progress notify response is the revision from the local etcd server node that the watch stream is connected to. If this node is partitioned and not part of quorum, this progress notify revision might be lower than
than the revision returned by a quorum read against a non-partitioned etcd server node.
## Compacted revisions
As we mentioned, etcd keeps revisions so that applications can read past versions of keys. However, to avoid accumulating an unbounded amount of history, it is important to compact past revisions. After compacting, etcd removes historical revisions, releasing resources for future use. All superseded data with revisions before the compacted revision will be unavailable.

View File

@ -1,10 +1,11 @@
# System limits
---
title: System limits
---
## Request size limit
etcd is designed to handle small key value pairs typical for metadata. Larger requests will work, but may increase the latency of other requests. For the time being, etcd guarantees to support RPC requests with up to 1MB of data. In the future, the size limit may be loosened or made configurable.
etcd is designed to handle small key value pairs typical for metadata. Larger requests will work, but may increase the latency of other requests. By default, the maximum size of any request is 1.5 MiB. This limit is configurable through `--max-request-bytes` flag for etcd server.
## Storage size limit
The default storage size limit is 2GB, configurable with `--quota-backend-bytes` flag; supports up to 8GB.
The default storage size limit is 2GB, configurable with `--quota-backend-bytes` flag. 8GB is a suggested maximum size for normal environments and etcd warns at startup if the configured value exceeds it.

View File

@ -1,4 +1,6 @@
# Set up a local cluster
---
title: Set up a local cluster
---
For testing and development deployments, the quickest and easiest way is to configure a local cluster. For a production deployment, refer to the [clustering][clustering] section.
@ -21,14 +23,7 @@ The running etcd member listens on `localhost:2379` for client requests.
Use `etcdctl` to interact with the running cluster:
1. Configure the environment to have `ETCDCTL_API=3` so `etcdctl` uses the etcd API version 3 instead of defaulting to version 2.
```
# use API version 3
$ export ETCDCTL_API=3
```
2. Store an example key-value pair in the cluster:
1. Store an example key-value pair in the cluster:
```
$ ./etcdctl put foo bar
@ -37,7 +32,7 @@ Use `etcdctl` to interact with the running cluster:
If OK is printed, storing key-value pair is successful.
3. Retrieve the value of `foo`:
2. Retrieve the value of `foo`:
```
$ ./etcdctl get foo
@ -70,14 +65,7 @@ A `Procfile` at the base of the etcd git repository is provided to easily config
Use `etcdctl` to interact with the running cluster:
1. Configure the environment to have `ETCDCTL_API=3` so `etcdctl` uses the etcd API version 3 instead of defaulting to version 2.
```
# use API version 3
$ export ETCDCTL_API=3
```
2. Print the list of members:
1. Print the list of members:
```
$ etcdctl --write-out=table --endpoints=localhost:2379 member list
@ -94,7 +82,7 @@ Use `etcdctl` to interact with the running cluster:
+------------------+---------+--------+------------------------+------------------------+
```
3. Store an example key-value pair in the cluster:
2. Store an example key-value pair in the cluster:
```
$ etcdctl put foo bar

View File

@ -1,4 +1,6 @@
# Discovery service protocol
---
title: Discovery service protocol
---
Discovery service protocol helps new etcd member to discover all other members in cluster bootstrap phase using a shared discovery URL.

View File

@ -1,4 +1,6 @@
# Logging conventions
---
title: Logging conventions
---
etcd uses the [capnslog][capnslog] library for logging application output categorized into *levels*. A log message's level is determined according to these conventions:

View File

@ -1,4 +1,6 @@
# etcd release guide
---
title: etcd release guide
---
The guide talks about how to release a new version of etcd.
@ -13,7 +15,8 @@ release and for ensuring the stability of the release branch.
| Releases | Manager |
| -------- | ------- |
| 3.1 patch (post 3.1.0) | Joe Betz [@jpbetz](https://github.com/jpbetz) |
| 3.2 patch (post 3.2.0) | Gyuho Lee [@gyuho](https://github.com/gyuho) |
| 3.2 patch (post 3.2.0) | Joe Betz [@jpbetz](https://github.com/jpbetz) |
| 3.3 patch (post 3.3.0) | Gyuho Lee [@gyuho](https://github.com/gyuho) |
## Prepare release
@ -29,9 +32,9 @@ All releases version numbers follow the format of [semantic versioning 2.0.0](ht
### Major, minor version release, or its pre-release
- Ensure the relevant milestone on GitHub is complete. All referenced issues should be closed, or moved elsewhere.
- Remove this release from [roadmap](https://github.com/coreos/etcd/blob/master/ROADMAP.md), if necessary.
- Remove this release from [roadmap](https://github.com/etcd-io/etcd/blob/master/ROADMAP.md), if necessary.
- Ensure the latest upgrade documentation is available.
- Bump [hardcoded MinClusterVerion in the repository](https://github.com/coreos/etcd/blob/master/version/version.go#L29), if necessary.
- Bump [hardcoded MinClusterVerion in the repository](https://github.com/etcd-io/etcd/blob/master/version/version.go#L29), if necessary.
- Add feature capability maps for the new version, if necessary.
### Patch version release
@ -49,18 +52,17 @@ All releases version numbers follow the format of [semantic versioning 2.0.0](ht
## Tag version
- Bump [hardcoded Version in the repository](https://github.com/coreos/etcd/blob/master/version/version.go#L30) to the latest version `${VERSION}`.
- Bump [hardcoded Version in the repository](https://github.com/etcd-io/etcd/blob/master/version/version.go#L30) to the latest version `${VERSION}`.
- Ensure all tests on CI system are passed.
- Manually check etcd is buildable in Linux, Darwin and Windows.
- Manually check upgrade etcd cluster of previous minor version works well.
- Manually check new features work well.
- Add a signed tag through `git tag -s ${VERSION}`.
- Sanity check tag correctness through `git show tags/$VERSION`.
- Push the tag to GitHub through `git push origin tags/$VERSION`. This assumes `origin` corresponds to "https://github.com/coreos/etcd".
- Push the tag to GitHub through `git push origin tags/$VERSION`. This assumes `origin` corresponds to "https://github.com/etcd-io/etcd".
## Build release binaries and images
- Ensure `acbuild` is available.
- Ensure `docker` is available.
Run release script in root directory:
@ -79,15 +81,15 @@ The following commands are used for public release sign:
```
cd release
for i in etcd-*{.zip,.tar.gz,.aci}; do gpg2 --default-key $SUBKEYID --armor --output ${i}.asc --detach-sign ${i}; done
for i in etcd-*{.zip,.tar.gz,.aci}; do gpg2 --verify ${i}.asc ${i}; done
for i in etcd-*{.zip,.tar.gz}; do gpg2 --default-key $SUBKEYID --armor --output ${i}.asc --detach-sign ${i}; done
for i in etcd-*{.zip,.tar.gz}; do gpg2 --verify ${i}.asc ${i}; done
# sign zipped source code files
wget https://github.com/coreos/etcd/archive/${VERSION}.zip
wget https://github.com/etcd-io/etcd/archive/${VERSION}.zip
gpg2 --armor --default-key $SUBKEYID --output ${VERSION}.zip.asc --detach-sign ${VERSION}.zip
gpg2 --verify ${VERSION}.zip.asc ${VERSION}.zip
wget https://github.com/coreos/etcd/archive/${VERSION}.tar.gz
wget https://github.com/etcd-io/etcd/archive/${VERSION}.tar.gz
gpg2 --armor --default-key $SUBKEYID --output ${VERSION}.tar.gz.asc --detach-sign ${VERSION}.tar.gz
gpg2 --verify ${VERSION}.tar.gz.asc ${VERSION}.tar.gz
```
@ -99,7 +101,7 @@ The public key for GPG signing can be found at [CoreOS Application Signing Key](
- Set release title as the version name.
- Follow the format of previous release pages.
- Attach the generated binaries, aci image and signatures.
- Attach the generated binaries and signatures.
- Select whether it is a pre-release.
- Publish the release!
@ -155,5 +157,5 @@ git log ...${PREV_VERSION} --pretty=format:"%an" | sort | uniq | tr '\n' ',' | s
## Post release
- Create new stable branch through `git push origin ${VERSION_MAJOR}.${VERSION_MINOR}` if this is a major stable release. This assumes `origin` corresponds to "https://github.com/coreos/etcd".
- Bump [hardcoded Version in the repository](https://github.com/coreos/etcd/blob/master/version/version.go#L30) to the version `${VERSION}+git`.
- Create new stable branch through `git push origin ${VERSION_MAJOR}.${VERSION_MINOR}` if this is a major stable release. This assumes `origin` corresponds to "https://github.com/etcd-io/etcd".
- Bump [hardcoded Version in the repository](https://github.com/etcd-io/etcd/blob/master/version/version.go#L30) to the version `${VERSION}+git`.

View File

@ -1,4 +1,6 @@
# Download and build
---
title: Download and build
---
## System requirements
@ -15,7 +17,7 @@ For those wanting to try the very latest version, build etcd from the `master` b
To build `etcd` from the `master` branch without a `GOPATH` using the official `build` script:
```sh
$ git clone https://github.com/coreos/etcd.git
$ git clone https://github.com/etcd-io/etcd.git
$ cd etcd
$ ./build
```
@ -26,16 +28,8 @@ To build a vendored `etcd` from the `master` branch via `go get`:
# GOPATH should be set
$ echo $GOPATH
/Users/example/go
$ go get github.com/coreos/etcd/cmd/etcd
```
To build `etcd` from the `master` branch without vendoring (may not build due to upstream conflicts):
```sh
# GOPATH should be set
$ echo $GOPATH
/Users/example/go
$ go get github.com/coreos/etcd
$ go get -v go.etcd.io/etcd
$ go get -v go.etcd.io/etcd/etcdctl
```
## Test the installation
@ -44,14 +38,14 @@ Check the etcd binary is built correctly by starting etcd and setting a key.
### Starting etcd
If etcd is built without using GOPATH, run the following:
If etcd is built without using `go get`, run the following:
```
```sh
$ ./bin/etcd
```
If etcd is built using GOPATH, run the following:
If etcd is built using `go get`, run the following:
```
```sh
$ $GOPATH/bin/etcd
```
@ -59,14 +53,16 @@ $ $GOPATH/bin/etcd
Run the following:
```
$ ETCDCTL_API=3 ./bin/etcdctl put foo bar
```sh
$ ./bin/etcdctl put foo bar
OK
```
(or `$GOPATH/bin/etcdctl put foo bar` if etcdctl was installed with `go get`)
If OK is printed, then etcd is working!
[github-release]: https://github.com/coreos/etcd/releases/
[github-release]: https://github.com/etcd-io/etcd/releases/
[go]: https://golang.org/doc/install
[build-script]: ../build
[cmd-directory]: ../cmd

View File

@ -68,8 +68,10 @@ To learn more about the concepts and internals behind etcd, read the following p
- [Understand data model][data_model]
- [Understand APIs][understand_apis]
- [Glossary][glossary]
- Internals
- [Auth subsystem][auth_design]
- Design
- [Auth subsystem][design-auth-v3]
- [Client][design-client]
- [Learner][design-learner]
[api_ref]: dev-guide/api_reference_v3.md
[api_concurrency_ref]: dev-guide/api_concurrency_reference_v3.md
@ -82,12 +84,12 @@ To learn more about the concepts and internals behind etcd, read the following p
[data_model]: learning/data_model.md
[demo]: demo.md
[download_build]: dl_build.md
[embed_etcd]: https://godoc.org/github.com/coreos/etcd/embed
[embed_etcd]: https://godoc.org/github.com/etcd-io/etcd/embed
[grpc_naming]: dev-guide/grpc_naming.md
[failures]: op-guide/failures.md
[gateway]: op-guide/gateway.md
[glossary]: learning/glossary.md
[namespace_client]: https://godoc.org/github.com/coreos/etcd/clientv3/namespace
[namespace_client]: https://godoc.org/github.com/etcd-io/etcd/clientv3/namespace
[namespace_proxy]: op-guide/grpc_proxy.md#namespacing
[grpc_proxy]: op-guide/grpc_proxy.md
[hardware]: op-guide/hardware.md
@ -109,6 +111,8 @@ To learn more about the concepts and internals behind etcd, read the following p
[aws_platform]: platforms/aws.md
[experimental]: dev-guide/experimental_apis.md
[authentication]: op-guide/authentication.md
[auth_design]: learning/auth_design.md
[design-auth-v3]: learning/design-auth-v3.md
[design-client]: learning/design-client.md
[design-learner]: learning/design-learner.md
[tuning]: tuning.md
[upgrading]: upgrades/upgrading-etcd.md

View File

@ -0,0 +1,25 @@
# Prometheus Monitoring Mixin for etcd
> NOTE: This project is *alpha* stage. Flags, configuration, behaviour and design may change significantly in following releases.
A set of customisable Prometheus alerts for etcd.
Instructions for use are the same as the [kubernetes-mixin](https://github.com/kubernetes-monitoring/kubernetes-mixin).
## Background
* For more information about monitoring mixins, see this [design doc](https://docs.google.com/document/d/1A9xvzwqnFVSOZ5fD3blKODXfsat5fg6ZhnKu9LK3lB4/edit#).
## Testing alerts
Make sure to have [jsonnet](https://jsonnet.org/) and [gojsontoyaml](https://github.com/brancz/gojsontoyaml) installed.
First compile the mixin to a YAML file, which the promtool will read:
```
jsonnet -e '(import "mixin.libsonnet").prometheusAlerts' | gojsontoyaml > mixin.yaml
```
Then run the unit test:
```
promtool test rules test.yaml
```

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,85 @@
rule_files:
- mixin.yaml
evaluation_interval: 1m
tests:
- interval: 1m
input_series:
- series: 'up{job="etcd",instance="10.10.10.0"}'
values: '1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0'
- series: 'up{job="etcd",instance="10.10.10.1"}'
values: '1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0'
- series: 'up{job="etcd",instance="10.10.10.2"}'
values: '1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0'
alert_rule_test:
- eval_time: 3m
alertname: etcdInsufficientMembers
- eval_time: 5m
alertname: etcdInsufficientMembers
- eval_time: 5m
alertname: etcdMembersDown
- eval_time: 7m
alertname: etcdMembersDown
exp_alerts:
- exp_labels:
job: etcd
severity: critical
exp_annotations:
message: 'etcd cluster "etcd": members are down (1).'
- eval_time: 7m
alertname: etcdInsufficientMembers
- eval_time: 11m
alertname: etcdInsufficientMembers
exp_alerts:
- exp_labels:
job: etcd
severity: critical
exp_annotations:
message: 'etcd cluster "etcd": insufficient members (1).'
- eval_time: 15m
alertname: etcdInsufficientMembers
exp_alerts:
- exp_labels:
job: etcd
severity: critical
exp_annotations:
message: 'etcd cluster "etcd": insufficient members (0).'
- interval: 1m
input_series:
- series: 'up{job="etcd",instance="10.10.10.0"}'
values: '1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0'
- series: 'up{job="etcd",instance="10.10.10.1"}'
values: '1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0'
- series: 'up{job="etcd",instance="10.10.10.2"}'
values: '1 1 1 1 0 0 0 0'
alert_rule_test:
- eval_time: 10m
alertname: etcdMembersDown
exp_alerts:
- exp_labels:
job: etcd
severity: critical
exp_annotations:
message: 'etcd cluster "etcd": members are down (2).'
- interval: 1m
input_series:
- series: 'up{job="etcd",instance="10.10.10.0"}'
values: '1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0'
- series: 'up{job="etcd",instance="10.10.10.1"}'
values: '1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0'
- series: 'etcd_network_peer_sent_failures_total{To="member-1",job="etcd",endpoint="test"}'
values: '0 0 1 2 3 4 5 6 7 8 9 10'
alert_rule_test:
- eval_time: 4m
alertname: etcdMembersDown
- eval_time: 6m
alertname: etcdMembersDown
exp_alerts:
- exp_labels:
job: etcd
severity: critical
exp_annotations:
message: 'etcd cluster "etcd": members are down (1).'

View File

@ -1,4 +1,6 @@
# Frequently Asked Questions (FAQ)
---
title: Frequently Asked Questions (FAQ)
---
## etcd, general
@ -22,7 +24,7 @@ A member's advertised peer URLs come from `--initial-advertise-peer-urls` on ini
### System requirements
Since etcd writes data to disk, SSD is highly recommended. To prevent performance degradation or unintentionally overloading the key-value store, etcd enforces a 2GB default storage size quota, configurable up to 8GB. To avoid swapping or running out of memory, the machine should have at least as much RAM to cover the quota. At CoreOS, an etcd cluster is usually deployed on dedicated CoreOS Container Linux machines with dual-core processors, 2GB of RAM, and 80GB of SSD *at the very least*. **Note that performance is intrinsically workload dependent; please test before production deployment**. See [hardware][hardware-setup] for more recommendations.
Since etcd writes data to disk, its performance strongly depends on disk performance. For this reason, SSD is highly recommended. To assess whether a disk is fast enough for etcd, one possibility is using a disk benchmarking tool such as [fio][fio]. For an example on how to do that, read [here][fio-blog-post]. To prevent performance degradation or unintentionally overloading the key-value store, etcd enforces a configurable storage size quota set to 2GB by default. To avoid swapping or running out of memory, the machine should have at least as much RAM to cover the quota. 8GB is a suggested maximum size for normal environments and etcd warns at startup if the configured value exceeds it. At CoreOS, an etcd cluster is usually deployed on dedicated CoreOS Container Linux machines with dual-core processors, 2GB of RAM, and 80GB of SSD *at the very least*. **Note that performance is intrinsically workload dependent; please test before production deployment**. See [hardware][hardware-setup] for more recommendations.
Most stable production environment is Linux operating system with amd64 architecture; see [supported platform][supported-platform] for more.
@ -70,7 +72,7 @@ etcdctl provides a `snapshot` command to create backups. See [backup][backup] fo
When replacing an etcd node, it's important to remove the member first and then add its replacement.
etcd employs distributed consensus based on a quorum model; (n+1)/2 members, a majority, must agree on a proposal before it can be committed to the cluster. These proposals include key-value updates and membership changes. This model totally avoids any possibility of split brain inconsistency. The downside is permanent quorum loss is catastrophic.
etcd employs distributed consensus based on a quorum model; (n/2)+1 members, a majority, must agree on a proposal before it can be committed to the cluster. These proposals include key-value updates and membership changes. This model totally avoids any possibility of split brain inconsistency. The downside is permanent quorum loss is catastrophic.
How this applies to membership: If a 3-member cluster has 1 downed member, it can still make forward progress because the quorum is 2 and 2 members are still live. However, adding a new member to a 3-member cluster will increase the quorum to 3 because 3 votes are required for a majority of 4 members. Since the quorum increased, this extra member buys nothing in terms of fault tolerance; the cluster is still one node failure away from being unrecoverable.
@ -102,6 +104,12 @@ To recover from the low space quota alarm:
2. [Defragment][maintenance-defragment] every etcd endpoint.
3. [Disarm][maintenance-disarm] the alarm.
### What does the etcd warning "etcdserver/api/v3rpc: transport: http2Server.HandleStreams failed to read frame: read tcp 127.0.0.1:2379->127.0.0.1:43020: read: connection reset by peer" mean?
This is gRPC-side warning when a server receives a TCP RST flag with client-side streams being prematurely closed. For example, a client closes its connection, while gRPC server has not yet processed all HTTP/2 frames in the TCP queue. Some data may have been lost in server side, but it is ok so long as client connection has already been closed.
Only [old versions of gRPC](https://github.com/grpc/grpc-go/issues/1362) log this. etcd [>=v3.2.13 by default log this with DEBUG level](https://github.com/etcd-io/etcd/pull/9080), thus only visible with `--debug` flag enabled.
## Performance
### How should I benchmark etcd?
@ -124,7 +132,7 @@ If none of the above suggestions clear the warnings, please [open an issue][new_
etcd uses a leader-based consensus protocol for consistent data replication and log execution. Cluster members elect a single leader, all other members become followers. The elected leader must periodically send heartbeats to its followers to maintain its leadership. Followers infer leader failure if no heartbeats are received within an election interval and trigger an election. If a leader doesnt send its heartbeats in time but is still running, the election is spurious and likely caused by insufficient resources. To catch these soft failures, if the leader skips two heartbeat intervals, etcd will warn it failed to send a heartbeat on time.
Usually this issue is caused by a slow disk. Before the leader sends heartbeats attached with metadata, it may need to persist the metadata to disk. The disk could be experiencing contention among etcd and other applications, or the disk is too simply slow (e.g., a shared virtualized disk). To rule out a slow disk from causing this warning, monitor [wal_fsync_duration_seconds][wal_fsync_duration_seconds] (p99 duration should be less than 10ms) to confirm the disk is reasonably fast. If the disk is too slow, assigning a dedicated disk to etcd or using faster disk will typically solve the problem.
Usually this issue is caused by a slow disk. Before the leader sends heartbeats attached with metadata, it may need to persist the metadata to disk. The disk could be experiencing contention among etcd and other applications, or the disk is too simply slow (e.g., a shared virtualized disk). To rule out a slow disk from causing this warning, monitor [wal_fsync_duration_seconds][wal_fsync_duration_seconds] (p99 duration should be less than 10ms) to confirm the disk is reasonably fast. If the disk is too slow, assigning a dedicated disk to etcd or using faster disk will typically solve the problem. To tell whether a disk is fast enough for etcd, a benchmarking tool such as [fio][fio] can be used. Read [here][fio-blog-post] for an example.
The second most common cause is CPU starvation. If monitoring of the machines CPU usage shows heavy utilization, there may not be enough compute capacity for etcd. Moving etcd to dedicated machine, increasing process resource isolation with cgroups, or renicing the etcd server process into a higher priority can usually solve the problem.
@ -141,15 +149,17 @@ etcd sends a snapshot of its complete key-value store to refresh slow followers
[supported-platform]: ./op-guide/supported-platform.md
[wal_fsync_duration_seconds]: ./metrics.md#disk
[tuning]: ./tuning.md
[new_issue]: https://github.com/coreos/etcd/issues/new
[new_issue]: https://github.com/etcd-io/etcd/issues/new
[backend_commit_metrics]: ./metrics.md#disk
[raft]: https://raft.github.io/raft.pdf
[backup]: https://github.com/coreos/etcd/blob/master/Documentation/op-guide/recovery.md#snapshotting-the-keyspace
[backup]: https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/recovery.md#snapshotting-the-keyspace
[chubby]: http://static.googleusercontent.com/media/research.google.com/en//archive/chubby-osdi06.pdf
[runtime reconfiguration]: https://github.com/coreos/etcd/blob/master/Documentation/op-guide/runtime-configuration.md
[runtime reconfiguration]: https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/runtime-configuration.md
[benchmark]: https://github.com/coreos/etcd/tree/master/tools/benchmark
[benchmark-result]: https://github.com/coreos/etcd/blob/master/Documentation/op-guide/performance.md
[benchmark-result]: https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/performance.md
[api-mvcc]: learning/api.md#revisions
[maintenance-compact]: op-guide/maintenance.md#history-compaction
[maintenance-defragment]: op-guide/maintenance.md#defragmentation
[maintenance-disarm]: ../etcdctl/README.md#alarm-disarm
[fio]: https://github.com/axboe/fio
[fio-blog-post]: https://www.ibm.com/blogs/bluemix/2019/04/using-fio-to-tell-whether-your-storage-is-fast-enough-for-etcd/

View File

@ -1,8 +1,10 @@
# Libraries and tools
---
title: Libraries and tools
---
**Tools**
- [etcdctl](https://github.com/coreos/etcd/tree/master/etcdctl) - A command line client for etcd
- [etcdctl](https://github.com/etcd-io/etcd/tree/master/etcdctl) - A command line client for etcd
- [etcd-backup](https://github.com/fanhattan/etcd-backup) - A powerful command line utility for dumping/restoring etcd - Supports v2
- [etcd-dump](https://npmjs.org/package/etcd-dump) - Command line utility for dumping/restoring etcd.
- [etcd-fs](https://github.com/xetorthio/etcd-fs) - FUSE filesystem for etcd
@ -15,17 +17,18 @@
- [etcd-rest](https://github.com/mickep76/etcd-rest) - Create generic REST API in Go using etcd as a backend with validation using JSON schema
- [etcdsh](https://github.com/kamilhark/etcdsh) - A command line client with support of command history and tab completion. Supports v2
- [etcdloadtest](https://github.com/sinsharat/etcdloadtest) - A command line load test client for etcd version 3.0 and above.
- [lucas](https://github.com/ringtail/lucas) - A web-based key-value viewer for kubernetes etcd3.0+ cluster.
**Go libraries**
- [etcd/clientv3](https://github.com/coreos/etcd/blob/master/clientv3) - the officially maintained Go client for v3
- [etcd/client](https://github.com/coreos/etcd/blob/master/client) - the officially maintained Go client for v2
- [etcd/clientv3](https://github.com/etcd-io/etcd/blob/master/clientv3) - the officially maintained Go client for v3
- [etcd/client](https://github.com/etcd-io/etcd/blob/master/client) - the officially maintained Go client for v2
- [go-etcd](https://github.com/coreos/go-etcd) - the deprecated official client. May be useful for older (<2.0.0) versions of etcd.
- [encWrapper](https://github.com/lumjjb/etcd/tree/enc_wrapper/clientwrap/encwrapper) - encWrapper is an encryption wrapper for the etcd client Keys API/KV.
**Java libraries**
- [coreos/jetcd](https://github.com/coreos/jetcd) - Supports v3
- [coreos/jetcd](https://github.com/etcd-io/jetcd) - Supports v3
- [boonproject/etcd](https://github.com/boonproject/boon/blob/master/etcd/README.md) - Supports v2, Async/Sync and waits
- [justinsb/jetcd](https://github.com/justinsb/jetcd)
- [diwakergupta/jetcd](https://github.com/diwakergupta/jetcd) - Supports v2
@ -53,6 +56,7 @@
- [txaio-etcd](https://github.com/crossbario/txaio-etcd) - Asynchronous etcd v3-only client library for Twisted (today) and asyncio (future)
- [dims/etcd3-gateway](https://github.com/dims/etcd3-gateway) - etcd v3 API library using the HTTP grpc gateway
- [aioetcd3](https://github.com/gaopeiliang/aioetcd3) - (Python 3.6+) etcd v3 API for asyncio
- [Revolution1/etcd3-py](https://github.com/Revolution1/etcd3-py) - (python2.7 and python3.5+) Python client for etcd v3, using gRPC-JSON-Gateway
**Node libraries**
@ -88,17 +92,20 @@
**Erlang libraries**
- [marshall-lee/etcd.erl](https://github.com/marshall-lee/etcd.erl)
- [marshall-lee/etcd.erl](https://github.com/marshall-lee/etcd.erl) - Supports v2
- [zhongwencool/eetcd](https://github.com/zhongwencool/eetcd) - Supports v3+ (GRPC only)
**.Net Libraries**
- [wangjia184/etcdnet](https://github.com/wangjia184/etcdnet) - Supports v2
- [drusellers/etcetera](https://github.com/drusellers/etcetera)
- [shubhamranjan/dotnet-etcd](https://github.com/shubhamranjan/dotnet-etcd) - Supports v3+ (GRPC only)
**PHP Libraries**
- [linkorb/etcd-php](https://github.com/linkorb/etcd-php)
- [activecollab/etcd](https://github.com/activecollab/etcd)
- [ouqiang/etcd-php](https://github.com/ouqiang/etcd-php) - Client for v3 gRPC gateway
**Haskell libraries**
@ -152,7 +159,6 @@
- [mattn/etcdenv](https://github.com/mattn/etcdenv) - "env" shebang with etcd integration
- [kelseyhightower/confd](https://github.com/kelseyhightower/confd) - Manage local app config files using templates and data from etcd
- [configdb](https://git.autistici.org/ai/configdb/tree/master) - A REST relational abstraction on top of arbitrary database backends, aimed at storing configs and inventories.
- [fleet](https://github.com/coreos/fleet) - Distributed init system
- [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) - Container cluster manager introduced by Google.
- [mailgun/vulcand](https://github.com/mailgun/vulcand) - HTTP proxy that uses etcd as a configuration backend.
- [duedil-ltd/discodns](https://github.com/duedil-ltd/discodns) - Simple DNS nameserver using etcd as a database for names and records.
@ -165,4 +171,9 @@
- [Vitess](http://vitess.io/) - Vitess is a database clustering system for horizontal scaling of MySQL.
- [lclarkmichalek/etcdhcp](https://github.com/lclarkmichalek/etcdhcp) - DHCP server that uses etcd for persistence and coordination.
- [openstack/networking-vpp](https://github.com/openstack/networking-vpp) - A networking driver that programs the [FD.io VPP dataplane](https://wiki.fd.io/view/VPP) to provide [OpenStack](https://www.openstack.org/) cloud virtual networking
- [openstack](https://github.com/openstack/governance/blob/master/reference/base-services.rst) - OpenStack services can rely on etcd as a base service.
- [OpenStack](https://github.com/openstack/governance/blob/master/reference/base-services.rst) - OpenStack services can rely on etcd as a base service.
- [CoreDNS](https://github.com/coredns/coredns/tree/master/plugin/etcd) - CoreDNS is a DNS server that chains plugins, part of CNCF and Kubernetes
- [Uber M3](https://github.com/m3db/m3) - M3: Ubers Open Source, Large-scale Metrics Platform for Prometheus
- [Rook](https://github.com/rook/rook) - Storage Orchestration for Kubernetes
- [Patroni](https://github.com/zalando/patroni) - A template for PostgreSQL High Availability with ZooKeeper, etcd, or Consul
- [Trillian](https://github.com/google/trillian) - Trillian implements a Merkle tree whose contents are served from a data storage layer, to allow scalability to extremely large trees.

View File

@ -1,4 +1,6 @@
# etcd3 API
---
title: etcd3 API
---
This document is meant to give an overview of the etcd3 API's central design. It is by no means all encompassing, but intended to focus on the basic ideas needed to understand etcd without the distraction of less common API calls. All etcd3 API's are defined in [gRPC services][grpc-service], which categorize remote procedure calls (RPCs) understood by the etcd server. A full listing of all etcd RPCs are documented in markdown in the [gRPC API listing][grpc-api].
@ -472,10 +474,10 @@ message LeaseKeepAliveResponse {
* ID - the lease that was refreshed with a new TTL.
* TTL - the new time-to-live, in seconds, that the lease has remaining.
[elections]: https://github.com/coreos/etcd/blob/master/clientv3/concurrency/election.go
[kv-proto]: https://github.com/coreos/etcd/blob/master/mvcc/mvccpb/kv.proto
[elections]: https://github.com/etcd-io/etcd/blob/master/clientv3/concurrency/election.go
[kv-proto]: https://github.com/etcd-io/etcd/blob/master/mvcc/mvccpb/kv.proto
[grpc-api]: ../dev-guide/api_reference_v3.md
[grpc-service]: https://github.com/coreos/etcd/blob/master/etcdserver/etcdserverpb/rpc.proto
[locks]: https://github.com/coreos/etcd/blob/master/clientv3/concurrency/mutex.go
[grpc-service]: https://github.com/etcd-io/etcd/blob/master/etcdserver/etcdserverpb/rpc.proto
[locks]: https://github.com/etcd-io/etcd/blob/master/clientv3/concurrency/mutex.go
[mvcc]: https://en.wikipedia.org/wiki/Multiversion_concurrency_control
[stm]: https://github.com/coreos/etcd/blob/master/clientv3/concurrency/stm.go
[stm]: https://github.com/etcd-io/etcd/blob/master/clientv3/concurrency/stm.go

View File

@ -1,4 +1,6 @@
# KV API guarantees
---
title: KV API guarantees
---
etcd is a consistent and durable key value store with [mini-transaction][txn] support. The key value store is exposed through the KV APIs. etcd tries to ensure the strongest consistency and durability guarantees for a distributed system. This specification enumerates the KV API guarantees made by etcd.
@ -51,7 +53,7 @@ Linearizability (also known as Atomic Consistency or External Consistency) is a
For linearizability, suppose each operation receives a timestamp from a loosely synchronized global clock. Operations are linearized if and only if they always complete as though they were executed in a sequential order and each operation appears to complete in the order specified by the program. Likewise, if an operations timestamp precedes another, that operation must also precede the other operation in the sequence.
For example, consider a client completing a write at time point 1 (*t1*). A client issuing a read at *t2* (for *t2* > *t1*) should receive a value at least as recent as the previous write, completed at *t1*. However, the read might actually complete only by *t3*, and the returned value, current at *t2* when the read began, might be "stale" by *t3*.
For example, consider a client completing a write at time point 1 (*t1*). A client issuing a read at *t2* (for *t2* > *t1*) should receive a value at least as recent as the previous write, completed at *t1*. However, the read might actually complete only by *t3*. Linearizability guarantees the read returns the most current value. Without linearizability guarantee, the returned value, current at *t2* when the read began, might be "stale" by *t3* because a concurrent write might happen between *t2* and *t3*.
etcd does not ensure linearizability for watch operations. Users are expected to verify the revision of watch responses to ensure correct ordering.

View File

@ -1,4 +1,6 @@
# Data model
---
title: Data model
---
etcd is designed to reliably store infrequently updated data and provide reliable watch queries. etcd exposes previous versions of key-value pairs to support inexpensive snapshots and watch history events (“time travel queries”). A persistent, multi-version, concurrency-control data model is a good fit for these use cases.
@ -8,9 +10,9 @@ etcd stores data in a multiversion [persistent][persistent-ds] key-value store.
The stores logical view is a flat binary key space. The key space has a lexically sorted index on byte string keys so range queries are inexpensive.
The key space maintains multiple revisions. Each atomic mutative operation (e.g., a transaction operation may contain multiple operations) creates a new revision on the key space. All data held by previous revisions remains unchanged. Old versions of key can still be accessed through previous revisions. Likewise, revisions are indexed as well; ranging over revisions with watchers is efficient. If the store is compacted to save space, revisions before the compact revision will be removed.
The key space maintains multiple **revisions**. Each atomic mutative operation (e.g., a transaction operation may contain multiple operations) creates a new revision on the key space. All data held by previous revisions remains unchanged. Old versions of key can still be accessed through previous revisions. Likewise, revisions are indexed as well; ranging over revisions with watchers is efficient. If the store is compacted to save space, revisions before the compact revision will be removed. Revisions are monotonically increasing over the lifetime of a cluster.
A keys lifetime spans a generation, denoted by its version. Each key may have one or multiple generations. Creating a key increments the version of that key, starting at 1 if the key never existed. Deleting a key generates a key tombstone, concluding the keys current generation by resetting its version. Each modification of a key increments its version. Once a compaction happens, any version ended before the given revision will be removed and values set before the compaction revision except the latest one will be removed.
A key's life spans a generation, from creation to deletion. Each key may have one or multiple generations. Creating a key increments the **version** of that key, starting at 1 if the key does not exist at the current revision. Deleting a key generates a key tombstone, concluding the keys current generation by resetting its version to 0. Each modification of a key increments its version; so, versions are monotonically increasing within a key's generation. Once a compaction happens, any generation ended before the compaction revision will be removed, and values set before the compaction revision except the latest one will be removed.
### Physical view

View File

@ -1,4 +1,6 @@
# etcd v3 authentication design
---
title: etcd v3 authentication design
---
## Why not reuse the v2 auth system?
@ -26,7 +28,7 @@ The metadata for auth should also be stored and managed in the storage controlle
The authentication mechanism in the etcd v2 protocol has a tricky part because the metadata consistency should work as in the above, but does not: each permission check is processed by the etcd member that receives the client request (etcdserver/api/v2http/client.go), including follower members. Therefore, it's possible the check may be based on stale metadata.
This staleness means that auth configuration cannot be reflected as soon as operators execute etcdctl. Therefore there is no way to know how long the stale metadata is active. Practically, the configuration change is reflected immediately after the command execution. However, in some cases of heavy load, the inconsistent state can be prolonged and it might result in counter-intuitive situations for users and developers. It requires a workaround like this: https://github.com/coreos/etcd/pull/4317#issuecomment-179037582
This staleness means that auth configuration cannot be reflected as soon as operators execute etcdctl. Therefore there is no way to know how long the stale metadata is active. Practically, the configuration change is reflected immediately after the command execution. However, in some cases of heavy load, the inconsistent state can be prolonged and it might result in counter-intuitive situations for users and developers. It requires a workaround like this: https://github.com/etcd-io/etcd/pull/4317#issuecomment-179037582
### Inconsistent permissions are unsafe for linearized requests
@ -38,7 +40,7 @@ Therefore, the permission checking logic should be added to the state machine of
### Authentication
At first, a client must create a gRPC connection only to authenticate its user ID and password. An etcd server will respond with an authentication reply. The reponse will be an authentication token on success or an error on failure. The client can use its authentication token to present its credentials to etcd when making API requests.
At first, a client must create a gRPC connection only to authenticate its user ID and password. An etcd server will respond with an authentication reply. The response will be an authentication token on success or an error on failure. The client can use its authentication token to present its credentials to etcd when making API requests.
The client connection used to request the authentication token is typically thrown away; it cannot carry the new token's credentials. This is because gRPC doesn't provide a way for adding per RPC credential after creation of the connection (calling `grpc.Dial()`). Therefore, a client cannot assign a token to its connection that is obtained through the connection. The client needs a new connection for using the token.

View File

@ -0,0 +1,138 @@
---
title: etcd client design
---
etcd Client Design
==================
*Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)*
Introduction
============
etcd server has proven its robustness with years of failure injection testing. Most complex application logic is already handled by etcd server and its data stores (e.g. cluster membership is transparent to clients, with Raft-layer forwarding proposals to leader). Although server components are correct, its composition with client requires a different set of intricate protocols to guarantee its correctness and high availability under faulty conditions. Ideally, etcd server provides one logical cluster view of many physical machines, and client implements automatic failover between replicas. This documents client architectural decisions and its implementation details.
Glossary
========
*clientv3*: etcd Official Go client for etcd v3 API.
*clientv3-grpc1.0*: Official client implementation, with [`grpc-go v1.0.x`](https://github.com/grpc/grpc-go/releases/tag/v1.0.0), which is used in latest etcd v3.1.
*clientv3-grpc1.7*: Official client implementation, with [`grpc-go v1.7.x`](https://github.com/grpc/grpc-go/releases/tag/v1.7.0), which is used in latest etcd v3.2 and v3.3.
*clientv3-grpc1.23*: Official client implementation, with [`grpc-go v1.23.x`](https://github.com/grpc/grpc-go/releases/tag/v1.23.0), which is used in latest etcd v3.4.
*Balancer*: etcd client load balancer that implements retry and failover mechanism. etcd client should automatically balance loads between multiple endpoints.
*Endpoints*: A list of etcd server endpoints that clients can connect to. Typically, 3 or 5 client URLs of an etcd cluster.
*Pinned endpoint*: When configured with multiple endpoints, <= v3.3 client balancer chooses only one endpoint to establish a TCP connection, in order to conserve total open connections to etcd cluster. In v3.4, balancer round-robins pinned endpoints for every request, thus distributing loads more evenly.
*Client Connection*: TCP connection that has been established to an etcd server, via gRPC Dial.
*Sub Connection*: gRPC SubConn interface. Each sub-connection contains a list of addresses. Balancer creates a SubConn from a list of resolved addresses. gRPC ClientConn can map to multiple SubConn (e.g. example.com resolves to `10.10.10.1` and `10.10.10.2` of two sub-connections). etcd v3.4 balancer employs internal resolver to establish one sub-connection for each endpoint.
*Transient disconnect*: When gRPC server returns a status error of [`code Unavailable`](https://godoc.org/google.golang.org/grpc/codes#Code).
Client Requirements
===================
*Correctness*. Requests may fail in the presence of server faults. However, it never violates consistency guarantees: global ordering properties, never write corrupted data, at-most once semantics for mutable operations, watch never observes partial events, and so on.
*Liveness*. Servers may fail or disconnect briefly. Clients should make progress in either way. Clients should [never deadlock](https://github.com/etcd-io/etcd/issues/8980) waiting for a server to come back from offline, unless configured to do so. Ideally, clients detect unavailable servers with HTTP/2 ping and failover to other nodes with clear error messages.
*Effectiveness*. Clients should operate effectively with minimum resources: previous TCP connections should be [gracefully closed](https://github.com/etcd-io/etcd/issues/9212) after endpoint switch. Failover mechanism should effectively predict the next replica to connect, without wastefully retrying on failed nodes.
*Portability*. Official client should be clearly documented and its implementation be applicable to other language bindings. Error handling between different language bindings should be consistent. Since etcd is fully committed to gRPC, implementation should be closely aligned with gRPC long-term design goals (e.g. pluggable retry policy should be compatible with [gRPC retry](https://github.com/grpc/proposal/blob/master/A6-client-retries.md)). Upgrades between two client versions should be non-disruptive.
Client Overview
===============
etcd client implements the following components:
* balancer that establishes gRPC connections to an etcd cluster,
* API client that sends RPCs to an etcd server, and
* error handler that decides whether to retry a failed request or switch endpoints.
Languages may differ in how to establish an initial connection (e.g. configure TLS), how to encode and send Protocol Buffer messages to server, how to handle stream RPCs, and so on. However, errors returned from etcd server will be the same. So should be error handling and retry policy.
For example, etcd server may return `"rpc error: code = Unavailable desc = etcdserver: request timed out"`, which is transient error that expects retries. Or return `rpc error: code = InvalidArgument desc = etcdserver: key is not provided`, which means request was invalid and should not be retried. Go client can parse errors with `google.golang.org/grpc/status.FromError`, and Java client with `io.grpc.Status.fromThrowable`.
clientv3-grpc1.0: Balancer Overview
-----------------------------------
`clientv3-grpc1.0` maintains multiple TCP connections when configured with multiple etcd endpoints. Then pick one address and use it to send all client requests. The pinned address is maintained until the client object is closed (see *Figure 1*). When the client receives an error, it randomly picks another and retries.
![client-balancer-figure-01.png](img/client-balancer-figure-01.png)
clientv3-grpc1.0: Balancer Limitation
-------------------------------------
`clientv3-grpc1.0` opening multiple TCP connections may provide faster balancer failover but requires more resources. The balancer does not understand nodes health status or cluster membership. So, it is possible that balancer gets stuck with one failed or partitioned node.
clientv3-grpc1.7: Balancer Overview
------------------------------------
`clientv3-grpc1.7` maintains only one TCP connection to a chosen etcd server. When given multiple cluster endpoints, a client first tries to connect to them all. As soon as one connection is up, balancer pins the address, closing others (see *Figure 2*). The pinned address is to be maintained until the client object is closed. An error, from server or client network fault, is sent to client error handler (see *Figure 3*).
![client-balancer-figure-02.png](img/client-balancer-figure-02.png)
![client-balancer-figure-03.png](img/client-balancer-figure-03.png)
The client error handler takes an error from gRPC server, and decides whether to retry on the same endpoint, or to switch to other addresses, based on the error code and message (see *Figure 4* and *Figure 5*).
![client-balancer-figure-04.png](img/client-balancer-figure-04.png)
![client-balancer-figure-05.png](img/client-balancer-figure-05.png)
Stream RPCs, such as Watch and KeepAlive, are often requested with no timeouts. Instead, client can send periodic HTTP/2 pings to check the status of a pinned endpoint; if the server does not respond to the ping, balancer switches to other endpoints (see *Figure 6*).
![client-balancer-figure-06.png](img/client-balancer-figure-06.png)
clientv3-grpc1.7: Balancer Limitation
-------------------------------------
`clientv3-grpc1.7` balancer sends HTTP/2 keepalives to detect disconnects from streaming requests. It is a simple gRPC server ping mechanism and does not reason about cluster membership, thus unable to detect network partitions. Since partitioned gRPC server can still respond to client pings, balancer may get stuck with a partitioned node. Ideally, keepalive ping detects partition and triggers endpoint switch, before request time-out (see [etcd#8673](https://github.com/etcd-io/etcd/issues/8673) and *Figure 7*).
![client-balancer-figure-07.png](img/client-balancer-figure-07.png)
`clientv3-grpc1.7` balancer maintains a list of unhealthy endpoints. Disconnected addresses are added to “unhealthy” list, and considered unavailable until after wait duration, which is hard coded as dial timeout with default value 5-second. Balancer can have false positives on which endpoints are unhealthy. For instance, endpoint A may come back right after being blacklisted, but still unusable for next 5 seconds (see *Figure 8*).
`clientv3-grpc1.0` suffered the same problems above.
![client-balancer-figure-08.png](img/client-balancer-figure-08.png)
Upstream gRPC Go had already migrated to new balancer interface. For example, `clientv3-grpc1.7` underlying balancer implementation uses new gRPC balancer and tries to be consistent with old balancer behaviors. While its compatibility has been maintained reasonably well, etcd client still [suffered from subtle breaking changes](https://github.com/grpc/grpc-go/issues/1649). Furthermore, gRPC maintainer recommends to [not rely on the old balancer interface](https://github.com/grpc/grpc-go/issues/1942#issuecomment-375368665). In general, to get better support from upstream, it is best to be in sync with latest gRPC releases. And new features, such as retry policy, may not be backported to gRPC 1.7 branch. Thus, both etcd server and client must migrate to latest gRPC versions.
clientv3-grpc1.23: Balancer Overview
------------------------------------
`clientv3-grpc1.7` is so tightly coupled with old gRPC interface, that every single gRPC dependency upgrade broke client behavior. Majority of development and debugging efforts were devoted to fixing those client behavior changes. As a result, its implementation has become overly complicated with bad assumptions on server connectivities.
The primary goal of `clientv3-grpc1.23` is to simplify balancer failover logic; rather than maintaining a list of unhealthy endpoints, which may be stale, simply roundrobin to the next endpoint whenever client gets disconnected from the current endpoint. It does not assume endpoint status. Thus, no more complicated status tracking is needed (see *Figure 8* and above). Upgrading to `clientv3-grpc1.23` should be no issue; all changes were internal while keeping all the backward compatibilities.
Internally, when given multiple endpoints, `clientv3-grpc1.23` creates multiple sub-connections (one sub-connection per each endpoint), while `clientv3-grpc1.7` creates only one connection to a pinned endpoint (see *Figure 9*). For instance, in 5-node cluster, `clientv3-grpc1.23` balancer would require 5 TCP connections, while `clientv3-grpc1.7` only requires one. By preserving the pool of TCP connections, `clientv3-grpc1.23` may consume more resources but provide more flexible load balancer with better failover performance. The default balancing policy is round robin but can be easily extended to support other types of balancers (e.g. power of two, pick leader, etc.). `clientv3-grpc1.23` uses gRPC resolver group and implements balancer picker policy, in order to delegate complex balancing work to upstream gRPC. On the other hand, `clientv3-grpc1.7` manually handles each gRPC connection and balancer failover, which complicates the implementation. `clientv3-grpc1.23` implements retry in the gRPC interceptor chain that automatically handles gRPC internal errors and enables more advanced retry policies like backoff, while `clientv3-grpc1.7` manually interprets gRPC errors for retries.
![client-balancer-figure-09.png](img/client-balancer-figure-09.png)
clientv3-grpc1.23: Balancer Limitation
--------------------------------------
Improvements can be made by caching the status of each endpoint. For instance, balancer can ping each server in advance to maintain a list of healthy candidates, and use this information when doing round-robin. Or when disconnected, balancer can prioritize healthy endpoints. This may complicate the balancer implementation, thus can be addressed in later versions.
Client-side keepalive ping still does not reason about network partitions. Streaming request may get stuck with a partitioned node. Advanced health checking service need to be implemented to understand the cluster membership (see [etcd#8673](https://github.com/etcd-io/etcd/issues/8673) for more detail).
![client-balancer-figure-07.png](img/client-balancer-figure-07.png)
Currently, retry logic is handled manually as an interceptor. This may be simplified via [official gRPC retries](https://github.com/grpc/proposal/blob/master/A6-client-retries.md).

View File

@ -0,0 +1,128 @@
---
title: etcd learner design
---
etcd Learner
============
*Gyuho Lee (github.com/gyuho, Amazon Web Services, Inc.), Joe Betz (github.com/jpbetz, Google Inc.)*
Background
==========
Membership reconfiguration has been one of the biggest operational challenges. Lets review common challenges.
### 1. New Cluster member overloads Leader
A newly joined etcd member starts with no data, thus demanding more updates from leader until it catches up with leaders logs. Then leaders network is more likely to be overloaded, blocking or dropping leader heartbeats to followers. In such case, a follower may election-timeout to start a new leader election. That is, a cluster with a new member is more vulnerable to leader election. Both leader election and the subsequent update propagation to the new member are prone to causing periods of cluster unavailability (see *Figure 1*).
![server-learner-figure-01](img/server-learner-figure-01.png)
### 2. Network Partitions scenarios
What if network partition happens? It depends on leader partition. If the leader still maintains the active quorum, the cluster would continue to operate (see *Figure 2*).
![server-learner-figure-02](img/server-learner-figure-02.png)
#### 2.1 Leader isolation
What if the leader becomes isolated from the rest of the cluster? Leader monitors progress of each follower. When leader loses connectivity from the quorum, it reverts back to follower which will affect the cluster availability (see *Figure 3*).
![server-learner-figure-03](img/server-learner-figure-03.png)
When a new node is added to 3 node cluster, the cluster size becomes 4 and the quorum size becomes 3. What if a new node had joined the cluster, and then network partition happens? It depends on which partition the new member gets located after partition.
#### 2.2 Cluster Split 3+1
If the new node happens to be located in the same partition as leaders, the leader still maintains the active quorum of 3. No leadership election happens, and no cluster availability gets affected (see *Figure 4*).
![server-learner-figure-04](img/server-learner-figure-04.png)
#### 2.3 Cluster Split 2+2
If the cluster is 2-and-2 partitioned, then neither of partition maintains the quorum of 3. In this case, leadership election happens (see *Figure 5*).
![server-learner-figure-05](img/server-learner-figure-05.png)
#### 2.4 Quorum Lost
What if network partition happens first, and then a new member gets added? A partitioned 3-node cluster already has one disconnected follower. When a new member is added, the quorum changes from 2 to 3. Now, this cluster has only 2 active nodes out 4, thus losing quorum and starting a new leadership election (see *Figure 6*).
![server-learner-figure-06](img/server-learner-figure-06.png)
Since member add operation can change the size of quorum, it is always recommended to “member remove” first to replace an unhealthy node.
Adding a new member to a 1-node cluster changes the quorum size to 2, immediately causing a leader election when the previous leader finds out quorum is not active. This is because “member add” operation is a 2-step process where user needs to apply “member add” command first, and then starts the new node process (see *Figure 7*).
![server-learner-figure-07](img/server-learner-figure-07.png)
### 3. Cluster Misconfigurations
An even worse case is when an added member is misconfigured. Membership reconfiguration is a two-step process: “etcdctl member add” and starting an etcd server process with the given peer URL. That is, “member add” command is applied regardless of URL, even when the URL value is invalid. If the first step is applied with invalid URLs, the second step cannot even start the new etcd. Once the cluster loses quorum, there is no way to revert the membership change (see *Figure 8*).
![server-learner-figure-08](img/server-learner-figure-08.png)
Same applies to a multi-node cluster. For example, the cluster has two members down (one is failed, the other is misconfigured) and two members up, but now it requires at least 3 votes to change the cluster membership (see *Figure 9*).
![server-learner-figure-09](img/server-learner-figure-09.png)
As seen above, a simple misconfiguration can fail the whole cluster into an inoperative state. In such case, an operator need manually recreate the cluster with `etcd --force-new-cluster` flag. As etcd has become a mission-critical service for Kubernetes, even the slightest outage may have significant impact on users. What can we better to make etcd such operations easier? Among other things, leader election is most critical to cluster availability: Can we make membership reconfiguration less disruptive by not changing the size of quorum? Can a new node be idle, only requesting the minimum updates from leader, until it catches up? Can membership misconfiguration be always reversible and handled in a more secure way (wrong member add command run should never fail the cluster)? Should an user worry about network topology when adding a new member? Can member add API work regardless of the location of nodes and ongoing network partitions?
Raft Learner
============
In order to mitigate such availability gaps in the previous section, [Raft §4.2.1](https://github.com/ongardie/dissertation/blob/master/stanford.pdf) introduces a new node state “Learner”, which joins the cluster as a **non-voting member** until it catches up to leaders logs.
Features in v3.4
----------------
An operator should do the minimum amount of work possible to add a new learner node. `member add --learner` command to add a new learner, which joins cluster as a non-voting member but still receives all data from leader (see *Figure 10*).
![server-learner-figure-10](img/server-learner-figure-10.png)
When a learner has caught up with leaders progress, the learner can be promoted to a voting member using `member promote` API, which then counts towards the quorum (see *Figure 11*).
![server-learner-figure-11](img/server-learner-figure-11.png)
etcd server validates promote request to ensure its operational safety. Only after its log has caught up to leaders can learner be promoted to a voting member (see *Figure 12*).
![server-learner-figure-12](img/server-learner-figure-12.png)
Learner only serves as a standby node until promoted: Leadership cannot be transferred to learner. Learner rejects client reads and writes (client balancer should not route requests to learner). Which means learner does not need issue Read Index requests to leader. Such limitation simplifies the initial learner implementation in v3.4 release (see *Figure 13*).
![server-learner-figure-13](img/server-learner-figure-13.png)
In addition, etcd limits the total number of learners that a cluster can have, and avoids overloading the leader with log replication. Learner never promotes itself. While etcd provides learner status information and safety checks, cluster operator must make the final decision whether to promote learner or not.
Features in v3.5
----------------
*Make learner state only and default*: Defaulting a new member state to learner will greatly improve membership reconfiguration safety, because learner does not change the size of quorum. Misconfiguration will always be reversible without losing the quorum.
*Make voting-member promotion fully automatic*: Once a learner catches up to leaders logs, a cluster can automatically promote the learner. etcd requires certain thresholds to be defined by the user, and once the requirements are satisfied, learner promotes itself to a voting member. From a users perspective, “member add” command would work the same way as today but with greater safety provided by learner feature.
*Make learner standby failover node*: A learner joins as a standby node, and gets automatically promoted when the cluster availability is affected.
*Make learner read-only*: A learner can serve as a read-only node that never gets promoted. In a weak consistency mode, learner only receives data from leader and never process writes. Serving reads locally without consensus overhead would greatly decrease the workloads to leader but may serve stale data. In a strong consistency mode, learner requests read index from leader to serve latest data, but still rejects writes.
Learner vs. Mirror Maker
========================
etcd implements “mirror maker” using watch API to continuously relay key creates and updates to a separate cluster. Mirroring usually has low latency overhead once it completes initial synchronization. Learner and mirroring overlap in that both can be used to replicate existing data for read-only. However, mirroring does not guarantee linearizability. During network disconnects, previous key-values might have been discarded, and clients are expected to verify watch responses for correct ordering. Thus, there is no ordering guarantee in mirror. Use mirror for minimum latency (e.g. cross data center) at the costs of consistency. Use learner to retain all historical data and its ordering.
Appendix: Learner Implementation in v3.4
========================================
*Expose "Learner" node type to "MemberAdd" API.*
etcd client adds a flag to “MemberAdd” API for learner node. And etcd server handler applies membership change entry with `pb.ConfChangeAddLearnerNode` type. Once the command has been applied, a server joins the cluster with `etcd --initial-cluster-state=existing` flag. This learner node can neither vote nor count as quorum.
etcd server must not transfer leadership to learner, since it may still lag behind and does not count as quorum. etcd server limits the number of learners that cluster can have to one: the more learners we have, the more data the leader has to propagate. Clients may talk to learner node, but learner rejects all requests other than serializable read and member status API. This is for simplicity of initial implementation. In the future, learner can be extended as a read-only server that continuously mirrors cluster data. Client balancer must provide helper function to exclude learner node endpoint. Otherwise, request sent to learner may fail. Client sync member call should factor into learner node type. So should client endpoints update call.
`MemberList` and `MemberStatus` responses should indicate which node is learner.
*Add "MemberPromote" API.*
Internally in Raft, second `MemberAdd` call to learner node promotes it to a voting member. Leader maintains the progress of each follower and learner. If learner has not completed its snapshot message, reject promote request. Only accept promote request if and only if: The learner node is in a healthy state. The learner is in sync with leader or the delta is within the threshold (e.g. the number of entries to replicate to learner is less than 1/10 of snapshot count, which means it is less likely that even after promotion leader would not need send snapshot to the learner). All these logic are hard-coded in `etcdserver` package and not configurable.
Reference
=========
- Original github issue: [etcd#9161](https://github.com/etcd-io/etcd/issues/9161)
- Use case: [etcd#3715](https://github.com/etcd-io/etcd/issues/3715)
- Use case: [etcd#8888](https://github.com/etcd-io/etcd/issues/8888)
- Use case: [etcd#10114](https://github.com/etcd-io/etcd/issues/10114)

View File

@ -1,4 +1,6 @@
# Glossary
---
title: Glossary
---
This document defines the various terms used in etcd documentation, command line and source code.

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 257 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@ -1,6 +1,8 @@
# etcd versus other key-value stores
---
title: etcd versus other key-value stores
---
The name "etcd" originated from two ideas, the unix "/etc" folder and "d"istibuted systems. The "/etc" folder is a place to store configuration data for a single system whereas etcd stores configuration information for large scale distributed systems. Hence, a "d"istributed "/etc" is "etcd".
The name "etcd" originated from two ideas, the unix "/etc" folder and "d"istributed systems. The "/etc" folder is a place to store configuration data for a single system whereas etcd stores configuration information for large scale distributed systems. Hence, a "d"istributed "/etc" is "etcd".
etcd is designed as a general substrate for large scale distributed systems. These are systems that will never tolerate split-brain operation and are willing to sacrifice availability to achieve this end. etcd stores metadata in a consistent and fault-tolerant way. An etcd cluster is meant to provide key-value storage with best of class stability, reliability, scalability and performance.
@ -47,7 +49,7 @@ When considering features, support, and stability, new applications planning to
### Consul
Consul bills itself as an end-to-end service discovery framework. To wit, it includes services such as health checking, failure detection, and DNS. Incidentally, Consul also exposes a key value store with mediocre performance and an intricate API. As it stands in Consul 0.7, the storage system does not scales well; systems requiring millions of keys will suffer from high latencies and memory pressure. The key value API is missing, most notably, multi-version keys, conditional transactions, and reliable streaming watches.
Consul is an end-to-end service discovery framework. It provides built-in health checking, failure detection, and DNS services. In addition, Consul exposes a key value store with RESTful HTTP APIs. [As it stands in Consul 1.0][dbtester-comparison-results], the storage system does not scale as well as other systems like etcd or Zookeeper in key-value operations; systems requiring millions of keys will suffer from high latencies and memory pressure. The key value API is missing, most notably, multi-version keys, conditional transactions, and reliable streaming watches.
etcd and Consul solve different problems. If looking for a distributed consistent key value store, etcd is a better choice over Consul. If looking for end-to-end cluster service discovery, etcd will not have enough features; choose Kubernetes, Consul, or SmartStack.
@ -76,18 +78,18 @@ In theory, its possible to build these primitives atop any storage systems pr
For distributed coordination, choosing etcd can help prevent operational headaches and save engineering effort.
[production-users]: ../production-users.md
[grpc]: http://www.grpc.io
[grpc]: https://www.grpc.io
[consul-bulletproof]: https://www.consul.io/docs/internals/sessions.html
[curator]: http://curator.apache.org/
[cockroach]: https://github.com/cockroachdb/cockroach
[spanner]: https://cloud.google.com/spanner/
[tidb]: https://github.com/pingcap/tidb
[etcd-v3lock]: https://godoc.org/github.com/coreos/etcd/etcdserver/api/v3lock/v3lockpb
[etcd-v3election]: https://godoc.org/github.com/coreos/etcd/etcdserver/api/v3election/v3electionpb
[etcd-v3lock]: https://godoc.org/github.com/etcd-io/etcd/etcdserver/api/v3lock/v3lockpb
[etcd-v3election]: https://godoc.org/github.com/coreos/etcd-io/etcdserver/api/v3election/v3electionpb
[etcd-etcdctl-lock]: ../../etcdctl/README.md#lock-lockname-command-arg1-arg2-
[etcd-etcdctl-elect]: ../../etcdctl/README.md#elect-options-election-name-proposal
[etcd-mvcc]: data_model.md
[etcd-recipe]: https://godoc.org/github.com/coreos/etcd/contrib/recipes
[etcd-recipe]: https://godoc.org/github.com/etcd-io/etcd/contrib/recipes
[consul-lock]: https://www.consul.io/docs/commands/lock.html
[newsql-leader]: http://dl.acm.org/citation.cfm?id=2960999
[etcd-reconfig]: ../op-guide/runtime-configuration.md
@ -112,4 +114,5 @@ For distributed coordination, choosing etcd can help prevent operational headach
[zk-bindings]: https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html#ch_bindings
[container-linux]: https://coreos.com/why
[locksmith]: https://github.com/coreos/locksmith
[kubernetes]: http://kubernetes.io/docs/whatisk8s
[kubernetes]: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
[dbtester-comparison-results]: https://github.com/coreos/dbtester/tree/master/test-results/2018Q1-02-etcd-zookeeper-consul

View File

@ -1,4 +1,6 @@
# Metrics
---
title: Metrics
---
etcd uses [Prometheus][prometheus] for metrics reporting. The metrics can be used for real-time monitoring and debugging. etcd does not persist its metrics; if a member restarts, the metrics will be reset.
@ -99,7 +101,7 @@ Abnormally high snapshot duration (`snapshot_save_total_duration_seconds`) indic
## Prometheus supplied metrics
The Prometheus client library provides a number of metrics under the `go` and `process` namespaces. There are a few that are particlarly interesting.
The Prometheus client library provides a number of metrics under the `go` and `process` namespaces. There are a few that are particularly interesting.
| Name | Description | Type |
|-----------------------------------|--------------------------------------------|--------------|

View File

@ -0,0 +1,975 @@
# server version: etcd_server_version{server_version="3.3.0+git"}
# name: "etcd_debugging_disk_backend_commit_rebalance_duration_seconds"
# description: "The latency distributions of commit.rebalance called by bboltdb backend."
# type: "histogram"
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="0.001"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="0.002"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="0.004"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="0.008"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="0.016"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="0.032"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="0.064"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="0.128"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="0.256"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="0.512"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="1.024"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="2.048"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="4.096"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="8.192"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_bucket{le="+Inf"}
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_sum
etcd_debugging_disk_backend_commit_rebalance_duration_seconds_count
# name: "etcd_debugging_disk_backend_commit_spill_duration_seconds"
# description: "The latency distributions of commit.spill called by bboltdb backend."
# type: "histogram"
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="0.001"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="0.002"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="0.004"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="0.008"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="0.016"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="0.032"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="0.064"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="0.128"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="0.256"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="0.512"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="1.024"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="2.048"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="4.096"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="8.192"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_bucket{le="+Inf"}
etcd_debugging_disk_backend_commit_spill_duration_seconds_sum
etcd_debugging_disk_backend_commit_spill_duration_seconds_count
# name: "etcd_debugging_disk_backend_commit_write_duration_seconds"
# description: "The latency distributions of commit.write called by bboltdb backend."
# type: "histogram"
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="0.001"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="0.002"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="0.004"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="0.008"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="0.016"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="0.032"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="0.064"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="0.128"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="0.256"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="0.512"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="1.024"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="2.048"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="4.096"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="8.192"}
etcd_debugging_disk_backend_commit_write_duration_seconds_bucket{le="+Inf"}
etcd_debugging_disk_backend_commit_write_duration_seconds_sum
etcd_debugging_disk_backend_commit_write_duration_seconds_count
# name: "etcd_debugging_lease_granted_total"
# description: "The total number of granted leases."
# type: "counter"
etcd_debugging_lease_granted_total
# name: "etcd_debugging_lease_renewed_total"
# description: "The number of renewed leases seen by the leader."
# type: "counter"
etcd_debugging_lease_renewed_total
# name: "etcd_debugging_lease_revoked_total"
# description: "The total number of revoked leases."
# type: "counter"
etcd_debugging_lease_revoked_total
# name: "etcd_debugging_lease_ttl_total"
# description: "Bucketed histogram of lease TTLs."
# type: "histogram"
etcd_debugging_lease_ttl_total_bucket{le="1"}
etcd_debugging_lease_ttl_total_bucket{le="2"}
etcd_debugging_lease_ttl_total_bucket{le="4"}
etcd_debugging_lease_ttl_total_bucket{le="8"}
etcd_debugging_lease_ttl_total_bucket{le="16"}
etcd_debugging_lease_ttl_total_bucket{le="32"}
etcd_debugging_lease_ttl_total_bucket{le="64"}
etcd_debugging_lease_ttl_total_bucket{le="128"}
etcd_debugging_lease_ttl_total_bucket{le="256"}
etcd_debugging_lease_ttl_total_bucket{le="512"}
etcd_debugging_lease_ttl_total_bucket{le="1024"}
etcd_debugging_lease_ttl_total_bucket{le="2048"}
etcd_debugging_lease_ttl_total_bucket{le="4096"}
etcd_debugging_lease_ttl_total_bucket{le="8192"}
etcd_debugging_lease_ttl_total_bucket{le="16384"}
etcd_debugging_lease_ttl_total_bucket{le="32768"}
etcd_debugging_lease_ttl_total_bucket{le="65536"}
etcd_debugging_lease_ttl_total_bucket{le="131072"}
etcd_debugging_lease_ttl_total_bucket{le="262144"}
etcd_debugging_lease_ttl_total_bucket{le="524288"}
etcd_debugging_lease_ttl_total_bucket{le="1.048576e+06"}
etcd_debugging_lease_ttl_total_bucket{le="2.097152e+06"}
etcd_debugging_lease_ttl_total_bucket{le="4.194304e+06"}
etcd_debugging_lease_ttl_total_bucket{le="8.388608e+06"}
etcd_debugging_lease_ttl_total_bucket{le="+Inf"}
etcd_debugging_lease_ttl_total_sum
etcd_debugging_lease_ttl_total_count
# name: "etcd_debugging_mvcc_db_compaction_keys_total"
# description: "Total number of db keys compacted."
# type: "counter"
etcd_debugging_mvcc_db_compaction_keys_total
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database physically allocated in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_server_lease_expired_total"
# description: "The total number of expired leases."
# type: "counter"
etcd_debugging_server_lease_expired_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_backend_defrag_duration_seconds"
# description: "The latency distribution of backend defragmentation."
# type: "histogram"
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.1"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.2"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.4"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.8"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="1.6"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="3.2"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="6.4"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="12.8"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="25.6"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="51.2"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="102.4"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="204.8"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="409.6"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_defrag_duration_seconds_sum
etcd_disk_backend_defrag_duration_seconds_count
# name: "etcd_disk_backend_snapshot_duration_seconds"
# description: "The latency distribution of backend snapshots."
# type: "histogram"
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.01"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.02"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.04"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.08"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.16"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.32"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.64"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="1.28"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="2.56"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="5.12"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="10.24"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="20.48"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="40.96"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="81.92"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="163.84"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="327.68"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="655.36"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_snapshot_duration_seconds_sum
etcd_disk_backend_snapshot_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by WAL."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database physically allocated in bytes."
# type: "gauge"
etcd_mvcc_db_total_size_in_bytes
# name: "etcd_mvcc_db_total_size_in_use_in_bytes"
# description: "Total size of the underlying database logically in use in bytes."
# type: "gauge"
etcd_mvcc_db_total_size_in_use_in_bytes
# name: "etcd_mvcc_hash_duration_seconds"
# description: "The latency distribution of storage hash operation."
# type: "histogram"
etcd_mvcc_hash_duration_seconds_bucket{le="0.01"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.02"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.04"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.08"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.16"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.32"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.64"}
etcd_mvcc_hash_duration_seconds_bucket{le="1.28"}
etcd_mvcc_hash_duration_seconds_bucket{le="2.56"}
etcd_mvcc_hash_duration_seconds_bucket{le="5.12"}
etcd_mvcc_hash_duration_seconds_bucket{le="10.24"}
etcd_mvcc_hash_duration_seconds_bucket{le="20.48"}
etcd_mvcc_hash_duration_seconds_bucket{le="40.96"}
etcd_mvcc_hash_duration_seconds_bucket{le="81.92"}
etcd_mvcc_hash_duration_seconds_bucket{le="163.84"}
etcd_mvcc_hash_duration_seconds_bucket{le="+Inf"}
etcd_mvcc_hash_duration_seconds_sum
etcd_mvcc_hash_duration_seconds_count
# name: "etcd_mvcc_hash_rev_duration_seconds"
# description: "The latency distribution of storage hash by revision operation."
# type: "histogram"
etcd_mvcc_hash_rev_duration_seconds_bucket{le="0.01"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="0.02"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="0.04"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="0.08"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="0.16"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="0.32"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="0.64"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="1.28"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="2.56"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="5.12"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="10.24"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="20.48"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="40.96"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="81.92"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="163.84"}
etcd_mvcc_hash_rev_duration_seconds_bucket{le="+Inf"}
etcd_mvcc_hash_rev_duration_seconds_sum
etcd_mvcc_hash_rev_duration_seconds_count
# name: "etcd_network_active_peers"
# description: "The current number of active peer connections."
# type: "gauge"
etcd_network_active_peers{Local="LOCAL_NODE_ID",Remote="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers"
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="1.6384"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="3.2768"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_go_version"
# description: "Which Go version server is running with. 1 for 'server_go_version' label with current version."
# type: "gauge"
etcd_server_go_version{server_go_version="go1.11.1"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_health_failures"
# description: "The total number of failed health checks"
# type: "counter"
etcd_server_health_failures
# name: "etcd_server_health_success"
# description: "The total number of successful health checks"
# type: "counter"
etcd_server_health_success
# name: "etcd_server_heartbeat_send_failures_total"
# description: "The total number of leader heartbeat send failures (likely overloaded from slow disk)."
# type: "counter"
etcd_server_heartbeat_send_failures_total
# name: "etcd_server_id"
# description: "Server or member ID in hexadecimal format. 1 for 'server_id' label with current ID."
# type: "gauge"
etcd_server_id{server_id="221ed218fa16d1fe"}
etcd_server_id{server_id="3f1ca865609d428d"}
# name: "etcd_server_is_leader"
# description: "Whether or not this member is a leader. 1 if is, 0 otherwise."
# type: "gauge"
etcd_server_is_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_is_learner"
# description: "Whether or not this member is a learner. 1 if is, 0 otherwise."
# type: "gauge"
etcd_server_is_learner
# name: "etcd_server_learner_promote_failures"
# description: "The total number of failed learner promotions (likely learner not ready) while this member is leader."
# type: "counter"
etcd_server_learner_promote_failures
# name: "etcd_server_learner_promote_successes"
# description: "The total number of successful learner promotions while this member is leader."
# type: "counter"
etcd_server_learner_promote_successes
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "etcd_server_quota_backend_bytes"
# description: "Current backend storage quota size in bytes."
# type: "gauge"
etcd_server_quota_backend_bytes
# name: "etcd_server_read_indexes_failed_total"
# description: "The total number of failed read indexes seen."
# type: "counter"
etcd_server_read_indexes_failed_total
# name: "etcd_server_slow_apply_total"
# description: "The total number of slow apply requests (likely overloaded from slow disk)."
# type: "counter"
etcd_server_slow_apply_total
# name: "etcd_server_slow_read_indexes_total"
# description: "The total number of pending read indexes not in sync with leader's or timed out read index requests."
# type: "counter"
etcd_server_slow_read_indexes_total
# name: "etcd_server_version"
# description: "Which version is running. 1 for 'server_version' label with current version."
# type: "gauge"
etcd_server_version{server_version="3.3.0+git"}
# name: "etcd_snap_db_fsync_duration_seconds"
# description: "The latency distributions of fsyncing .snap.db file"
# type: "histogram"
etcd_snap_db_fsync_duration_seconds_bucket{le="0.001"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.002"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.004"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.008"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.016"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.032"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.064"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.128"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.256"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.512"}
etcd_snap_db_fsync_duration_seconds_bucket{le="1.024"}
etcd_snap_db_fsync_duration_seconds_bucket{le="2.048"}
etcd_snap_db_fsync_duration_seconds_bucket{le="4.096"}
etcd_snap_db_fsync_duration_seconds_bucket{le="8.192"}
etcd_snap_db_fsync_duration_seconds_bucket{le="+Inf"}
etcd_snap_db_fsync_duration_seconds_sum
etcd_snap_db_fsync_duration_seconds_count
# name: "etcd_snap_db_save_total_duration_seconds"
# description: "The total latency distributions of v3 snapshot save"
# type: "histogram"
etcd_snap_db_save_total_duration_seconds_bucket{le="0.1"}
etcd_snap_db_save_total_duration_seconds_bucket{le="0.2"}
etcd_snap_db_save_total_duration_seconds_bucket{le="0.4"}
etcd_snap_db_save_total_duration_seconds_bucket{le="0.8"}
etcd_snap_db_save_total_duration_seconds_bucket{le="1.6"}
etcd_snap_db_save_total_duration_seconds_bucket{le="3.2"}
etcd_snap_db_save_total_duration_seconds_bucket{le="6.4"}
etcd_snap_db_save_total_duration_seconds_bucket{le="12.8"}
etcd_snap_db_save_total_duration_seconds_bucket{le="25.6"}
etcd_snap_db_save_total_duration_seconds_bucket{le="51.2"}
etcd_snap_db_save_total_duration_seconds_bucket{le="+Inf"}
etcd_snap_db_save_total_duration_seconds_sum
etcd_snap_db_save_total_duration_seconds_count
# name: "etcd_snap_fsync_duration_seconds"
# description: "The latency distributions of fsync called by snap."
# type: "histogram"
etcd_snap_fsync_duration_seconds_bucket{le="0.001"}
etcd_snap_fsync_duration_seconds_bucket{le="0.002"}
etcd_snap_fsync_duration_seconds_bucket{le="0.004"}
etcd_snap_fsync_duration_seconds_bucket{le="0.008"}
etcd_snap_fsync_duration_seconds_bucket{le="0.016"}
etcd_snap_fsync_duration_seconds_bucket{le="0.032"}
etcd_snap_fsync_duration_seconds_bucket{le="0.064"}
etcd_snap_fsync_duration_seconds_bucket{le="0.128"}
etcd_snap_fsync_duration_seconds_bucket{le="0.256"}
etcd_snap_fsync_duration_seconds_bucket{le="0.512"}
etcd_snap_fsync_duration_seconds_bucket{le="1.024"}
etcd_snap_fsync_duration_seconds_bucket{le="2.048"}
etcd_snap_fsync_duration_seconds_bucket{le="4.096"}
etcd_snap_fsync_duration_seconds_bucket{le="8.192"}
etcd_snap_fsync_duration_seconds_bucket{le="+Inf"}
etcd_snap_fsync_duration_seconds_sum
etcd_snap_fsync_duration_seconds_count
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "Aborted"
# - "AlreadyExists"
# - "Canceled"
# - "DataLoss"
# - "DeadlineExceeded"
# - "FailedPrecondition"
# - "Internal"
# - "InvalidArgument"
# - "NotFound"
# - "OK"
# - "OutOfRange"
# - "PermissionDenied"
# - "ResourceExhausted"
# - "Unauthenticated"
# - "Unavailable"
# - "Unimplemented"
# - "Unknown"
grpc_server_handled_total{grpc_code="CODE",grpc_method="Alarm",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="AuthDisable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="AuthEnable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Authenticate",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Check",grpc_service="grpc.health.v1.Health",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Compact",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Defragment",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Hash",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="HashKV",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="LeaseGrant",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="LeaseKeepAlive",grpc_service="etcdserverpb.Lease",grpc_type="bidi_stream"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="LeaseLeases",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="LeaseRevoke",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="LeaseTimeToLive",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="MemberAdd",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="MemberList",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="MemberRemove",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="MemberUpdate",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="MoveLeader",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleGrantPermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleRevokePermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Snapshot",grpc_service="etcdserverpb.Maintenance",grpc_type="server_stream"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Status",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Txn",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserChangePassword",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserGrantRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserRevokeRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="Alarm",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="AuthDisable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="AuthEnable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Authenticate",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Check",grpc_service="grpc.health.v1.Health",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Compact",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Defragment",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Hash",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="HashKV",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="LeaseGrant",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="LeaseKeepAlive",grpc_service="etcdserverpb.Lease",grpc_type="bidi_stream"}
grpc_server_msg_received_total{grpc_method="LeaseLeases",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="LeaseRevoke",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="LeaseTimeToLive",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="MemberAdd",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="MemberList",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="MemberRemove",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="MemberUpdate",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="MoveLeader",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleGrantPermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleRevokePermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Snapshot",grpc_service="etcdserverpb.Maintenance",grpc_type="server_stream"}
grpc_server_msg_received_total{grpc_method="Status",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Txn",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserChangePassword",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserGrantRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserRevokeRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="Alarm",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="AuthDisable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="AuthEnable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Authenticate",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Check",grpc_service="grpc.health.v1.Health",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Compact",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Defragment",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Hash",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="HashKV",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="LeaseGrant",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="LeaseKeepAlive",grpc_service="etcdserverpb.Lease",grpc_type="bidi_stream"}
grpc_server_msg_sent_total{grpc_method="LeaseLeases",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="LeaseRevoke",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="LeaseTimeToLive",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="MemberAdd",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="MemberList",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="MemberRemove",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="MemberUpdate",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="MoveLeader",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleGrantPermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleRevokePermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Snapshot",grpc_service="etcdserverpb.Maintenance",grpc_type="server_stream"}
grpc_server_msg_sent_total{grpc_method="Status",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Txn",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserChangePassword",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserGrantRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserRevokeRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="Alarm",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_started_total{grpc_method="AuthDisable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="AuthEnable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="Authenticate",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="Check",grpc_service="grpc.health.v1.Health",grpc_type="unary"}
grpc_server_started_total{grpc_method="Compact",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Defragment",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Hash",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_started_total{grpc_method="HashKV",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_started_total{grpc_method="LeaseGrant",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_started_total{grpc_method="LeaseKeepAlive",grpc_service="etcdserverpb.Lease",grpc_type="bidi_stream"}
grpc_server_started_total{grpc_method="LeaseLeases",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_started_total{grpc_method="LeaseRevoke",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_started_total{grpc_method="LeaseTimeToLive",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_started_total{grpc_method="MemberAdd",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_started_total{grpc_method="MemberList",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_started_total{grpc_method="MemberRemove",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_started_total{grpc_method="MemberUpdate",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_started_total{grpc_method="MoveLeader",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleGrantPermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleRevokePermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="Snapshot",grpc_service="etcdserverpb.Maintenance",grpc_type="server_stream"}
grpc_server_started_total{grpc_method="Status",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_started_total{grpc_method="Txn",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserChangePassword",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserGrantRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserRevokeRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "Canceled"
# - "OK"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,516 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_is_leader"
# description: "Whether or not this member is a leader. 1 if is, 0 otherwise."
# type: "gauge"
etcd_server_is_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "Canceled"
# - "OK"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,516 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_is_leader"
# description: "Whether or not this member is a leader. 1 if is, 0 otherwise."
# type: "gauge"
etcd_server_is_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "Canceled"
# - "OK"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,516 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_is_leader"
# description: "Whether or not this member is a leader. 1 if is, 0 otherwise."
# type: "gauge"
etcd_server_is_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,516 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_is_leader"
# description: "Whether or not this member is a leader. 1 if is, 0 otherwise."
# type: "gauge"
etcd_server_is_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "Canceled"
# - "OK"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,521 @@
# server version: etcd_server_version{server_version="3.1.18"}
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_is_leader"
# description: "Whether or not this member is a leader. 1 if is, 0 otherwise."
# type: "gauge"
etcd_server_is_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "etcd_server_version"
# description: "Which version is running. 1 for 'server_version' label with current version."
# type: "gauge"
etcd_server_version{server_version="3.1.18"}
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,598 @@
# server version: etcd_server_version{server_version="3.1.19"}
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database physically allocated in bytes. Use etcd_mvcc_db_total_size_in_bytes"
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_backend_defrag_duration_seconds"
# description: "The latency distribution of backend defragmentation."
# type: "histogram"
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.1"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.2"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.4"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.8"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="1.6"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="3.2"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="6.4"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="12.8"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="25.6"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="51.2"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="102.4"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="204.8"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="409.6"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_defrag_duration_seconds_sum
etcd_disk_backend_defrag_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database physically allocated in bytes."
# type: "gauge"
etcd_mvcc_db_total_size_in_bytes
# name: "etcd_mvcc_db_total_size_in_use_in_bytes"
# description: "Total size of the underlying database logically in use in bytes."
# type: "gauge"
etcd_mvcc_db_total_size_in_use_in_bytes
# name: "etcd_mvcc_hash_duration_seconds"
# description: "The latency distribution of storage hash operation."
# type: "histogram"
etcd_mvcc_hash_duration_seconds_bucket{le="0.01"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.02"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.04"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.08"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.16"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.32"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.64"}
etcd_mvcc_hash_duration_seconds_bucket{le="1.28"}
etcd_mvcc_hash_duration_seconds_bucket{le="2.56"}
etcd_mvcc_hash_duration_seconds_bucket{le="5.12"}
etcd_mvcc_hash_duration_seconds_bucket{le="10.24"}
etcd_mvcc_hash_duration_seconds_bucket{le="20.48"}
etcd_mvcc_hash_duration_seconds_bucket{le="40.96"}
etcd_mvcc_hash_duration_seconds_bucket{le="81.92"}
etcd_mvcc_hash_duration_seconds_bucket{le="163.84"}
etcd_mvcc_hash_duration_seconds_bucket{le="+Inf"}
etcd_mvcc_hash_duration_seconds_sum
etcd_mvcc_hash_duration_seconds_count
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_go_version"
# description: "Which Go version server is running with. 1 for 'server_go_version' label with current version."
# type: "gauge"
etcd_server_go_version{server_go_version="go1.8.7"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_heartbeat_send_failures_total"
# description: "The total number of leader heartbeat send failures (likely overloaded from slow disk)."
# type: "counter"
etcd_server_heartbeat_send_failures_total
# name: "etcd_server_is_leader"
# description: "Whether or not this member is a leader. 1 if is, 0 otherwise."
# type: "gauge"
etcd_server_is_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "etcd_server_quota_backend_bytes"
# description: "Current backend storage quota size in bytes."
# type: "gauge"
etcd_server_quota_backend_bytes
# name: "etcd_server_slow_apply_total"
# description: "The total number of slow apply requests (likely overloaded from slow disk)."
# type: "counter"
etcd_server_slow_apply_total
# name: "etcd_server_slow_read_indexes_total"
# description: "The total number of pending read indexes not in sync with leader's or timed out read index requests."
# type: "counter"
etcd_server_slow_read_indexes_total
# name: "etcd_server_version"
# description: "Which version is running. 1 for 'server_version' label with current version."
# type: "gauge"
etcd_server_version{server_version="3.1.19"}
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,795 @@
# server version: etcd_server_version{server_version="3.1.20"}
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database physically allocated in bytes. Use etcd_mvcc_db_total_size_in_bytes"
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_backend_defrag_duration_seconds"
# description: "The latency distribution of backend defragmentation."
# type: "histogram"
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.1"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.2"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.4"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="0.8"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="1.6"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="3.2"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="6.4"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="12.8"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="25.6"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="51.2"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="102.4"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="204.8"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="409.6"}
etcd_disk_backend_defrag_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_defrag_duration_seconds_sum
etcd_disk_backend_defrag_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database physically allocated in bytes."
# type: "gauge"
etcd_mvcc_db_total_size_in_bytes
# name: "etcd_mvcc_db_total_size_in_use_in_bytes"
# description: "Total size of the underlying database logically in use in bytes."
# type: "gauge"
etcd_mvcc_db_total_size_in_use_in_bytes
# name: "etcd_mvcc_hash_duration_seconds"
# description: "The latency distribution of storage hash operation."
# type: "histogram"
etcd_mvcc_hash_duration_seconds_bucket{le="0.01"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.02"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.04"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.08"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.16"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.32"}
etcd_mvcc_hash_duration_seconds_bucket{le="0.64"}
etcd_mvcc_hash_duration_seconds_bucket{le="1.28"}
etcd_mvcc_hash_duration_seconds_bucket{le="2.56"}
etcd_mvcc_hash_duration_seconds_bucket{le="5.12"}
etcd_mvcc_hash_duration_seconds_bucket{le="10.24"}
etcd_mvcc_hash_duration_seconds_bucket{le="20.48"}
etcd_mvcc_hash_duration_seconds_bucket{le="40.96"}
etcd_mvcc_hash_duration_seconds_bucket{le="81.92"}
etcd_mvcc_hash_duration_seconds_bucket{le="163.84"}
etcd_mvcc_hash_duration_seconds_bucket{le="+Inf"}
etcd_mvcc_hash_duration_seconds_sum
etcd_mvcc_hash_duration_seconds_count
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_go_version"
# description: "Which Go version server is running with. 1 for 'server_go_version' label with current version."
# type: "gauge"
etcd_server_go_version{server_go_version="go1.8.7"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_health_failures"
# description: "The total number of failed health checks"
# type: "counter"
etcd_server_health_failures
# name: "etcd_server_health_success"
# description: "The total number of successful health checks"
# type: "counter"
etcd_server_health_success
# name: "etcd_server_heartbeat_send_failures_total"
# description: "The total number of leader heartbeat send failures (likely overloaded from slow disk)."
# type: "counter"
etcd_server_heartbeat_send_failures_total
# name: "etcd_server_id"
# description: "Server or member ID in hexadecimal format. 1 for 'server_id' label with current ID."
# type: "gauge"
etcd_server_id{server_id="7339c4e5e833c029"}
# name: "etcd_server_is_leader"
# description: "Whether or not this member is a leader. 1 if is, 0 otherwise."
# type: "gauge"
etcd_server_is_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "etcd_server_quota_backend_bytes"
# description: "Current backend storage quota size in bytes."
# type: "gauge"
etcd_server_quota_backend_bytes
# name: "etcd_server_read_indexes_failed_total"
# description: "The total number of failed read indexes seen."
# type: "counter"
etcd_server_read_indexes_failed_total
# name: "etcd_server_slow_apply_total"
# description: "The total number of slow apply requests (likely overloaded from slow disk)."
# type: "counter"
etcd_server_slow_apply_total
# name: "etcd_server_slow_read_indexes_total"
# description: "The total number of pending read indexes not in sync with leader's or timed out read index requests."
# type: "counter"
etcd_server_slow_read_indexes_total
# name: "etcd_server_version"
# description: "Which version is running. 1 for 'server_version' label with current version."
# type: "gauge"
etcd_server_version{server_version="3.1.20"}
# name: "etcd_snap_db_fsync_duration_seconds"
# description: "The latency distributions of fsyncing .snap.db file"
# type: "histogram"
etcd_snap_db_fsync_duration_seconds_bucket{le="0.001"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.002"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.004"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.008"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.016"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.032"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.064"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.128"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.256"}
etcd_snap_db_fsync_duration_seconds_bucket{le="0.512"}
etcd_snap_db_fsync_duration_seconds_bucket{le="1.024"}
etcd_snap_db_fsync_duration_seconds_bucket{le="2.048"}
etcd_snap_db_fsync_duration_seconds_bucket{le="4.096"}
etcd_snap_db_fsync_duration_seconds_bucket{le="8.192"}
etcd_snap_db_fsync_duration_seconds_bucket{le="+Inf"}
etcd_snap_db_fsync_duration_seconds_sum
etcd_snap_db_fsync_duration_seconds_count
# name: "etcd_snap_db_save_total_duration_seconds"
# description: "The total latency distributions of v3 snapshot save"
# type: "histogram"
etcd_snap_db_save_total_duration_seconds_bucket{le="0.1"}
etcd_snap_db_save_total_duration_seconds_bucket{le="0.2"}
etcd_snap_db_save_total_duration_seconds_bucket{le="0.4"}
etcd_snap_db_save_total_duration_seconds_bucket{le="0.8"}
etcd_snap_db_save_total_duration_seconds_bucket{le="1.6"}
etcd_snap_db_save_total_duration_seconds_bucket{le="3.2"}
etcd_snap_db_save_total_duration_seconds_bucket{le="6.4"}
etcd_snap_db_save_total_duration_seconds_bucket{le="12.8"}
etcd_snap_db_save_total_duration_seconds_bucket{le="25.6"}
etcd_snap_db_save_total_duration_seconds_bucket{le="51.2"}
etcd_snap_db_save_total_duration_seconds_bucket{le="+Inf"}
etcd_snap_db_save_total_duration_seconds_sum
etcd_snap_db_save_total_duration_seconds_count
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "Aborted"
# - "AlreadyExists"
# - "Canceled"
# - "DataLoss"
# - "DeadlineExceeded"
# - "FailedPrecondition"
# - "Internal"
# - "InvalidArgument"
# - "NotFound"
# - "OK"
# - "OutOfRange"
# - "PermissionDenied"
# - "ResourceExhausted"
# - "Unauthenticated"
# - "Unavailable"
# - "Unimplemented"
# - "Unknown"
grpc_server_handled_total{grpc_code="CODE",grpc_method="Alarm",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="AuthDisable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="AuthEnable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Authenticate",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Compact",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Defragment",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Hash",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="LeaseGrant",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="LeaseKeepAlive",grpc_service="etcdserverpb.Lease",grpc_type="bidi_stream"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="LeaseRevoke",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="LeaseTimeToLive",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="MemberAdd",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="MemberList",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="MemberRemove",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="MemberUpdate",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleGrantPermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="RoleRevokePermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Snapshot",grpc_service="etcdserverpb.Maintenance",grpc_type="server_stream"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Status",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Txn",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserChangePassword",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserGrantRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="UserRevokeRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="Alarm",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="AuthDisable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="AuthEnable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Authenticate",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Compact",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Defragment",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Hash",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="LeaseGrant",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="LeaseKeepAlive",grpc_service="etcdserverpb.Lease",grpc_type="bidi_stream"}
grpc_server_msg_received_total{grpc_method="LeaseRevoke",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="LeaseTimeToLive",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="MemberAdd",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="MemberList",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="MemberRemove",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="MemberUpdate",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleGrantPermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="RoleRevokePermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Snapshot",grpc_service="etcdserverpb.Maintenance",grpc_type="server_stream"}
grpc_server_msg_received_total{grpc_method="Status",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Txn",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserChangePassword",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserGrantRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="UserRevokeRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="Alarm",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="AuthDisable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="AuthEnable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Authenticate",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Compact",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Defragment",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Hash",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="LeaseGrant",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="LeaseKeepAlive",grpc_service="etcdserverpb.Lease",grpc_type="bidi_stream"}
grpc_server_msg_sent_total{grpc_method="LeaseRevoke",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="LeaseTimeToLive",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="MemberAdd",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="MemberList",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="MemberRemove",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="MemberUpdate",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleGrantPermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="RoleRevokePermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Snapshot",grpc_service="etcdserverpb.Maintenance",grpc_type="server_stream"}
grpc_server_msg_sent_total{grpc_method="Status",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Txn",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserChangePassword",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserGrantRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="UserRevokeRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="Alarm",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_started_total{grpc_method="AuthDisable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="AuthEnable",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="Authenticate",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="Compact",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Defragment",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Hash",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_started_total{grpc_method="LeaseGrant",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_started_total{grpc_method="LeaseKeepAlive",grpc_service="etcdserverpb.Lease",grpc_type="bidi_stream"}
grpc_server_started_total{grpc_method="LeaseRevoke",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_started_total{grpc_method="LeaseTimeToLive",grpc_service="etcdserverpb.Lease",grpc_type="unary"}
grpc_server_started_total{grpc_method="MemberAdd",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_started_total{grpc_method="MemberList",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_started_total{grpc_method="MemberRemove",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_started_total{grpc_method="MemberUpdate",grpc_service="etcdserverpb.Cluster",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleGrantPermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="RoleRevokePermission",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="Snapshot",grpc_service="etcdserverpb.Maintenance",grpc_type="server_stream"}
grpc_server_started_total{grpc_method="Status",grpc_service="etcdserverpb.Maintenance",grpc_type="unary"}
grpc_server_started_total{grpc_method="Txn",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserAdd",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserChangePassword",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserDelete",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserGet",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserGrantRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserList",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="UserRevokeRole",grpc_service="etcdserverpb.Auth",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "Canceled"
# - "OK"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "Canceled"
# - "OK"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,511 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

View File

@ -0,0 +1,545 @@
# server version: unknown
# name: "etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of db compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="2048"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="4096"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_compaction_total_duration_milliseconds"
# description: "Bucketed histogram of db compaction total duration."
# type: "histogram"
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="100"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="1600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="3200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="6400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="12800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="25600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="51200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="102400"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="204800"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="409600"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="819200"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_sum
etcd_debugging_mvcc_db_compaction_total_duration_milliseconds_count
# name: "etcd_debugging_mvcc_db_total_size_in_bytes"
# description: "Total size of the underlying database in bytes."
# type: "gauge"
etcd_debugging_mvcc_db_total_size_in_bytes
# name: "etcd_debugging_mvcc_delete_total"
# description: "Total number of deletes seen by this member."
# type: "counter"
etcd_debugging_mvcc_delete_total
# name: "etcd_debugging_mvcc_events_total"
# description: "Total number of events sent by this member."
# type: "counter"
etcd_debugging_mvcc_events_total
# name: "etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds"
# description: "Bucketed histogram of index compaction pause duration."
# type: "histogram"
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="0.5"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="2"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="4"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="8"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="16"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="32"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="64"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="128"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="256"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="512"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="1024"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_bucket{le="+Inf"}
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_sum
etcd_debugging_mvcc_index_compaction_pause_duration_milliseconds_count
# name: "etcd_debugging_mvcc_keys_total"
# description: "Total number of keys."
# type: "gauge"
etcd_debugging_mvcc_keys_total
# name: "etcd_debugging_mvcc_pending_events_total"
# description: "Total number of pending events to be sent."
# type: "gauge"
etcd_debugging_mvcc_pending_events_total
# name: "etcd_debugging_mvcc_put_total"
# description: "Total number of puts seen by this member."
# type: "counter"
etcd_debugging_mvcc_put_total
# name: "etcd_debugging_mvcc_range_total"
# description: "Total number of ranges seen by this member."
# type: "counter"
etcd_debugging_mvcc_range_total
# name: "etcd_debugging_mvcc_slow_watcher_total"
# description: "Total number of unsynced slow watchers."
# type: "gauge"
etcd_debugging_mvcc_slow_watcher_total
# name: "etcd_debugging_mvcc_txn_total"
# description: "Total number of txns seen by this member."
# type: "counter"
etcd_debugging_mvcc_txn_total
# name: "etcd_debugging_mvcc_watch_stream_total"
# description: "Total number of watch streams."
# type: "gauge"
etcd_debugging_mvcc_watch_stream_total
# name: "etcd_debugging_mvcc_watcher_total"
# description: "Total number of watchers."
# type: "gauge"
etcd_debugging_mvcc_watcher_total
# name: "etcd_debugging_server_lease_expired_total"
# description: "The total number of expired leases."
# type: "counter"
etcd_debugging_server_lease_expired_total
# name: "etcd_debugging_snap_save_marshalling_duration_seconds"
# description: "The marshalling cost distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_marshalling_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_marshalling_duration_seconds_sum
etcd_debugging_snap_save_marshalling_duration_seconds_count
# name: "etcd_debugging_snap_save_total_duration_seconds"
# description: "The total latency distributions of save called by snapshot."
# type: "histogram"
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.001"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.002"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.004"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.008"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.016"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.032"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.064"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.128"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.256"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="0.512"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="1.024"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="2.048"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="4.096"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="8.192"}
etcd_debugging_snap_save_total_duration_seconds_bucket{le="+Inf"}
etcd_debugging_snap_save_total_duration_seconds_sum
etcd_debugging_snap_save_total_duration_seconds_count
# name: "etcd_debugging_store_expires_total"
# description: "Total number of expired keys."
# type: "counter"
etcd_debugging_store_expires_total
# name: "etcd_debugging_store_reads_total"
# description: "Total number of reads action by (get/getRecursive), local to this member."
# type: "counter"
etcd_debugging_store_reads_total{action="getRecursive"}
# name: "etcd_debugging_store_watch_requests_total"
# description: "Total number of incoming watch requests (new or reestablished)."
# type: "counter"
etcd_debugging_store_watch_requests_total
# name: "etcd_debugging_store_watchers"
# description: "Count of currently active watchers."
# type: "gauge"
etcd_debugging_store_watchers
# name: "etcd_debugging_store_writes_total"
# description: "Total number of writes (e.g. set/compareAndDelete) seen by this member."
# type: "counter"
etcd_debugging_store_writes_total{action="create"}
etcd_debugging_store_writes_total{action="set"}
# name: "etcd_disk_backend_commit_duration_seconds"
# description: "The latency distributions of commit called by backend."
# type: "histogram"
etcd_disk_backend_commit_duration_seconds_bucket{le="0.001"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.002"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.004"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.008"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.016"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.032"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.064"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.128"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.256"}
etcd_disk_backend_commit_duration_seconds_bucket{le="0.512"}
etcd_disk_backend_commit_duration_seconds_bucket{le="1.024"}
etcd_disk_backend_commit_duration_seconds_bucket{le="2.048"}
etcd_disk_backend_commit_duration_seconds_bucket{le="4.096"}
etcd_disk_backend_commit_duration_seconds_bucket{le="8.192"}
etcd_disk_backend_commit_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_commit_duration_seconds_sum
etcd_disk_backend_commit_duration_seconds_count
# name: "etcd_disk_backend_snapshot_duration_seconds"
# description: "The latency distribution of backend snapshots."
# type: "histogram"
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.01"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.02"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.04"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.08"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.16"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.32"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="0.64"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="1.28"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="2.56"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="5.12"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="10.24"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="20.48"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="40.96"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="81.92"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="163.84"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="327.68"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="655.36"}
etcd_disk_backend_snapshot_duration_seconds_bucket{le="+Inf"}
etcd_disk_backend_snapshot_duration_seconds_sum
etcd_disk_backend_snapshot_duration_seconds_count
# name: "etcd_disk_wal_fsync_duration_seconds"
# description: "The latency distributions of fsync called by wal."
# type: "histogram"
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.001"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.002"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.004"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.008"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.016"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.032"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.064"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.128"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.256"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="0.512"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="1.024"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="2.048"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="4.096"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="8.192"}
etcd_disk_wal_fsync_duration_seconds_bucket{le="+Inf"}
etcd_disk_wal_fsync_duration_seconds_sum
etcd_disk_wal_fsync_duration_seconds_count
# name: "etcd_grpc_proxy_cache_hits_total"
# description: "Total number of cache hits"
# type: "gauge"
etcd_grpc_proxy_cache_hits_total
# name: "etcd_grpc_proxy_cache_keys_total"
# description: "Total number of keys/ranges cached"
# type: "gauge"
etcd_grpc_proxy_cache_keys_total
# name: "etcd_grpc_proxy_cache_misses_total"
# description: "Total number of cache misses"
# type: "gauge"
etcd_grpc_proxy_cache_misses_total
# name: "etcd_grpc_proxy_events_coalescing_total"
# description: "Total number of events coalescing"
# type: "counter"
etcd_grpc_proxy_events_coalescing_total
# name: "etcd_grpc_proxy_watchers_coalescing_total"
# description: "Total number of current watchers coalescing"
# type: "gauge"
etcd_grpc_proxy_watchers_coalescing_total
# name: "etcd_network_client_grpc_received_bytes_total"
# description: "The total number of bytes received from grpc clients."
# type: "counter"
etcd_network_client_grpc_received_bytes_total
# name: "etcd_network_client_grpc_sent_bytes_total"
# description: "The total number of bytes sent to grpc clients."
# type: "counter"
etcd_network_client_grpc_sent_bytes_total
# name: "etcd_network_peer_received_bytes_total"
# description: "The total number of bytes received from peers."
# type: "counter"
etcd_network_peer_received_bytes_total{From="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_round_trip_time_seconds"
# description: "Round-Trip-Time histogram between peers."
# type: "histogram"
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="+Inf"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0001"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0002"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0004"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0008"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0016"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0032"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0064"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0128"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0256"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.0512"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.1024"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.2048"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.4096"}
etcd_network_peer_round_trip_time_seconds_bucket{To="REMOTE_PEER_NODE_ID",le="0.8192"}
etcd_network_peer_round_trip_time_seconds_count{To="REMOTE_PEER_NODE_ID"}
etcd_network_peer_round_trip_time_seconds_sum{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_network_peer_sent_bytes_total"
# description: "The total number of bytes sent to peers."
# type: "counter"
etcd_network_peer_sent_bytes_total{To="REMOTE_PEER_NODE_ID"}
# name: "etcd_server_has_leader"
# description: "Whether or not a leader exists. 1 is existence, 0 is not."
# type: "gauge"
etcd_server_has_leader
# name: "etcd_server_leader_changes_seen_total"
# description: "The number of leader changes seen."
# type: "counter"
etcd_server_leader_changes_seen_total
# name: "etcd_server_proposals_applied_total"
# description: "The total number of consensus proposals applied."
# type: "gauge"
etcd_server_proposals_applied_total
# name: "etcd_server_proposals_committed_total"
# description: "The total number of consensus proposals committed."
# type: "gauge"
etcd_server_proposals_committed_total
# name: "etcd_server_proposals_failed_total"
# description: "The total number of failed proposals seen."
# type: "counter"
etcd_server_proposals_failed_total
# name: "etcd_server_proposals_pending"
# description: "The current number of pending proposals to commit."
# type: "gauge"
etcd_server_proposals_pending
# name: "go_gc_duration_seconds"
# description: "A summary of the GC invocation durations."
# type: "summary"
go_gc_duration_seconds{quantile="0"}
go_gc_duration_seconds{quantile="0.25"}
go_gc_duration_seconds{quantile="0.5"}
go_gc_duration_seconds{quantile="0.75"}
go_gc_duration_seconds{quantile="1"}
go_gc_duration_seconds_sum
go_gc_duration_seconds_count
# name: "go_goroutines"
# description: "Number of goroutines that currently exist."
# type: "gauge"
go_goroutines
# name: "go_memstats_alloc_bytes"
# description: "Number of bytes allocated and still in use."
# type: "gauge"
go_memstats_alloc_bytes
# name: "go_memstats_alloc_bytes_total"
# description: "Total number of bytes allocated, even if freed."
# type: "counter"
go_memstats_alloc_bytes_total
# name: "go_memstats_buck_hash_sys_bytes"
# description: "Number of bytes used by the profiling bucket hash table."
# type: "gauge"
go_memstats_buck_hash_sys_bytes
# name: "go_memstats_frees_total"
# description: "Total number of frees."
# type: "counter"
go_memstats_frees_total
# name: "go_memstats_gc_sys_bytes"
# description: "Number of bytes used for garbage collection system metadata."
# type: "gauge"
go_memstats_gc_sys_bytes
# name: "go_memstats_heap_alloc_bytes"
# description: "Number of heap bytes allocated and still in use."
# type: "gauge"
go_memstats_heap_alloc_bytes
# name: "go_memstats_heap_idle_bytes"
# description: "Number of heap bytes waiting to be used."
# type: "gauge"
go_memstats_heap_idle_bytes
# name: "go_memstats_heap_inuse_bytes"
# description: "Number of heap bytes that are in use."
# type: "gauge"
go_memstats_heap_inuse_bytes
# name: "go_memstats_heap_objects"
# description: "Number of allocated objects."
# type: "gauge"
go_memstats_heap_objects
# name: "go_memstats_heap_released_bytes_total"
# description: "Total number of heap bytes released to OS."
# type: "counter"
go_memstats_heap_released_bytes_total
# name: "go_memstats_heap_sys_bytes"
# description: "Number of heap bytes obtained from system."
# type: "gauge"
go_memstats_heap_sys_bytes
# name: "go_memstats_last_gc_time_seconds"
# description: "Number of seconds since 1970 of last garbage collection."
# type: "gauge"
go_memstats_last_gc_time_seconds
# name: "go_memstats_lookups_total"
# description: "Total number of pointer lookups."
# type: "counter"
go_memstats_lookups_total
# name: "go_memstats_mallocs_total"
# description: "Total number of mallocs."
# type: "counter"
go_memstats_mallocs_total
# name: "go_memstats_mcache_inuse_bytes"
# description: "Number of bytes in use by mcache structures."
# type: "gauge"
go_memstats_mcache_inuse_bytes
# name: "go_memstats_mcache_sys_bytes"
# description: "Number of bytes used for mcache structures obtained from system."
# type: "gauge"
go_memstats_mcache_sys_bytes
# name: "go_memstats_mspan_inuse_bytes"
# description: "Number of bytes in use by mspan structures."
# type: "gauge"
go_memstats_mspan_inuse_bytes
# name: "go_memstats_mspan_sys_bytes"
# description: "Number of bytes used for mspan structures obtained from system."
# type: "gauge"
go_memstats_mspan_sys_bytes
# name: "go_memstats_next_gc_bytes"
# description: "Number of heap bytes when next garbage collection will take place."
# type: "gauge"
go_memstats_next_gc_bytes
# name: "go_memstats_other_sys_bytes"
# description: "Number of bytes used for other system allocations."
# type: "gauge"
go_memstats_other_sys_bytes
# name: "go_memstats_stack_inuse_bytes"
# description: "Number of bytes in use by the stack allocator."
# type: "gauge"
go_memstats_stack_inuse_bytes
# name: "go_memstats_stack_sys_bytes"
# description: "Number of bytes obtained from system for stack allocator."
# type: "gauge"
go_memstats_stack_sys_bytes
# name: "go_memstats_sys_bytes"
# description: "Number of bytes obtained by system. Sum of all system allocations."
# type: "gauge"
go_memstats_sys_bytes
# name: "grpc_server_handled_total"
# description: "Total number of RPCs completed on the server, regardless of success or failure."
# type: "counter"
# gRPC codes:
# - "OK"
# - "Unavailable"
grpc_server_handled_total{grpc_code="CODE",grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_handled_total{grpc_code="CODE",grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_received_total"
# description: "Total number of RPC stream messages received on the server."
# type: "counter"
grpc_server_msg_received_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_received_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_msg_sent_total"
# description: "Total number of gRPC stream messages sent by the server."
# type: "counter"
grpc_server_msg_sent_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_msg_sent_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "grpc_server_started_total"
# description: "Total number of RPCs started on the server."
# type: "counter"
grpc_server_started_total{grpc_method="DeleteRange",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Put",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Range",grpc_service="etcdserverpb.KV",grpc_type="unary"}
grpc_server_started_total{grpc_method="Watch",grpc_service="etcdserverpb.Watch",grpc_type="bidi_stream"}
# name: "http_request_duration_microseconds"
# description: "The HTTP request latencies in microseconds."
# type: "summary"
http_request_duration_microseconds{handler="prometheus",quantile="0.5"}
http_request_duration_microseconds{handler="prometheus",quantile="0.9"}
http_request_duration_microseconds{handler="prometheus",quantile="0.99"}
http_request_duration_microseconds_sum{handler="prometheus"}
http_request_duration_microseconds_count{handler="prometheus"}
# name: "http_request_size_bytes"
# description: "The HTTP request sizes in bytes."
# type: "summary"
http_request_size_bytes{handler="prometheus",quantile="0.5"}
http_request_size_bytes{handler="prometheus",quantile="0.9"}
http_request_size_bytes{handler="prometheus",quantile="0.99"}
http_request_size_bytes_sum{handler="prometheus"}
http_request_size_bytes_count{handler="prometheus"}
# name: "http_response_size_bytes"
# description: "The HTTP response sizes in bytes."
# type: "summary"
http_response_size_bytes{handler="prometheus",quantile="0.5"}
http_response_size_bytes{handler="prometheus",quantile="0.9"}
http_response_size_bytes{handler="prometheus",quantile="0.99"}
http_response_size_bytes_sum{handler="prometheus"}
http_response_size_bytes_count{handler="prometheus"}

Some files were not shown because too many files have changed in this diff Show More