Commit Graph

14846 Commits

Author SHA1 Message Date
Jack Grigg f8d63a83fc metrics: Rework pool metrics in anticipation of transparent pool
notes.created and notes.spent can be collected for the transparent pool
as well as the shielded pools. notes.unspent can only be collected for
the transparent pool, by design.
2021-03-30 15:12:36 +13:00
Jack Grigg 0cab2e7094 metrics: Remove zcash.sync.* metrics
- zcash.sync.block.downloaded.total is redundant, and can be replaced by
  zcash.net.in.messages[command=block].
- zcash.sync.block.verified.total and zcash.chain.verified.block.total
  are identical for us, because we verify blocks synchronously.
2021-03-30 15:12:36 +13:00
Jack Grigg e2e5df28a9 metrics: Rename metrics with consistent naming scheme
- Add zcash. prefix to common metrics.
- Use .total suffix for accumulating counters instead of .count.
- Group names where possible.
- Shorten names where possible (and still clear).
2021-03-30 15:12:36 +13:00
Jack Grigg 0f9e4b9472 metrics: Use labels for pool statistics
It's very likely that you'll want to operate over common pool statistics
together.
2021-03-30 15:12:36 +13:00
Jack Grigg 78b83fd6e9 metrics: Enable gauges with fully-static labels 2021-03-30 15:12:36 +13:00
Jack Grigg 958ffeafd3 metrics: Move documentation into zcashd book 2021-03-30 15:12:36 +13:00
Jack Grigg c9e3d03320 rust: Pin hyper 0.14.2
hyper 0.14.3 added an unstable C API, but the changes to enable it
require us to configure cargo with a linker for cross-compilation.
We'll need to figure this out eventually, but for now let's just
pin hyper to a version that doesn't require it.
2021-03-30 15:12:35 +13:00
Jack Grigg d08cdbe5f7 metrics: Implement IP access control on Prometheus scrape endpoint 2021-03-30 15:12:08 +13:00
Jack Grigg 59da774f22 Mention in release notes that metrics names may still change 2021-03-30 15:12:08 +13:00
Jack Grigg 34d2edb619 Add -prometheusmetrics to release notes 2021-03-30 15:12:08 +13:00
Jack Grigg 1e5f9284c0 rust: Check for invalid UTF-8 in -prometheusmetrics argument 2021-03-30 15:12:08 +13:00
str4d dde7546091 Clean up comment
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-03-30 15:12:08 +13:00
str4d d0f468e1ce Add security warnings for -prometheusmetrics option
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-03-30 15:12:08 +13:00
Jack Grigg 523f969654 rust: Use consistent include guards in header files 2021-03-30 15:12:08 +13:00
Jack Grigg ab3196c1df Add more detailed metrics
- Sprout and Sapling pool metrics (commitments, values)
- Block verification time histogram (as a summary, not bucketed)
- Mempool stats (same as getmempoolinfo returns)
- Inbound and outbound bytes labelled by command
- Added command labels to message counters
2021-03-30 15:12:08 +13:00
Jack Grigg 1c2c8fed2e metrics: Expose binary metadata 2021-03-30 15:12:08 +13:00
Jack Grigg 92e75de46f metrics: Add support for labels
Given that label values may be dynamic, any metrics callsite with labels
can't be stored statically. Instead, we contruct a fresh metrics Key each
time we hit a metric with labels (if a metrics recorder is installed).
2021-03-30 15:12:08 +13:00
Jack Grigg 7a96af8260 rust: Move helper macros into rust/helpers.h 2021-03-30 15:12:08 +13:00
Jack Grigg 37b42d8a41 tracing: Merge TracingSpanFields macro into TracingSpan
Leverages the VA_OPT macro library, which is a polyfill for __VA_OPT__
on non-C++20 platforms, to enable TracingSpan to support optional fields.

Source: https://github.com/willwray/VA_OPT
License: Boost Software License, Version 1.0
2021-03-30 15:12:08 +13:00
Jack Grigg e5a5bc5b83 metrics: Add documentation and example configs 2021-03-30 15:12:08 +13:00
Jack Grigg 90f4d48307 Add some metrics that match existing zebrad metrics
The metric names match those used in zebrad, so the same visualisers can
be used for both nodes.

See https://github.com/ZcashFoundation/zebra/issues/1381 for discussion
about potential naming changes.
2021-03-30 15:12:08 +13:00
Jack Grigg a79ffa3b50 rust: Add a Prometheus metrics exporter
The -prometheusmetrics=host_name:port config option enables the metrics
exporter.
2021-03-30 15:12:07 +13:00
Jack Grigg 8482ed6356 rust: Implement FFI interface to metrics crate 2021-03-30 15:11:17 +13:00
Homu ccb26821df Auto merge of #5036 - str4d:rust-bump, r=str4d
Rust 1.51.0 and zcash_* 0.5.0
2021-03-28 20:01:03 +00:00
Jack Grigg f7c7e0ee13 qa: Update BerkeleyDB downloads page URL 2021-03-27 11:47:34 +13:00
Jack Grigg 2e12078cfc depends: Update Rust to 1.51.0 2021-03-27 11:47:34 +13:00
Jack Grigg 8393b3da88 rust: zcash_{primitives, proofs} 0.5.0 2021-03-27 11:47:25 +13:00
Jack Grigg 5ffcb198a7 cargo update 2021-03-27 10:42:04 +13:00
Homu 1cf4a10456 Auto merge of #5029 - steven-ecc:nu5-activation-logic, r=steven-ecc
Adding base NU5 declarations and logic

Add NU5 base definitions and boilerplate logic.

Closes [#5025](https://github.com/zcash/zcash/issues/5025).
2021-03-10 02:08:43 +00:00
Steven Smith 48d5142dc1 Adding base NU5 declarations and logic 2021-03-06 17:35:54 -08:00
Homu 2aa9fbbdfe Auto merge of #4997 - str4d:2074-net-setInventoryKnown, r=str4d
Replace setInventoryKnown with a rolling bloom filter

Cherry-picked from bitcoin/bitcoin#7133.
- Excluding for last commit, which needs bitcoin/bitcoin#7129.

Part of #2074.
2021-03-05 12:17:16 +00:00
Homu 39a860c12b Auto merge of #5015 - daira:fix-nix, r=therealyingtong
Fix build regression by adding #include <atomic>

This fixes #5014, a build regression on Nix introduced in e286250ce4 .

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-03-04 16:57:32 +00:00
Daira Hopwood a0ac27ec6e Fix regression introduced in e286250ce4 by adding #include <atomic>. fixes #5014
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-03-01 17:00:13 +00:00
Homu 0aa6d1ef3d Auto merge of #5007 - nuttycom:trivial/gitignore_otmp, r=str4d
Ignore temporary build artifacts.
2021-02-25 23:01:44 +00:00
Homu 834343327b Auto merge of #5011 - str4d:ci-fix-book, r=str4d
CI: Correctly build zcashd book
2021-02-25 22:06:22 +00:00
Jack Grigg 6962a9a3d3 CI: Correctly build zcashd book 2021-02-25 15:00:33 +00:00
Homu a675d9089d Auto merge of #5010 - str4d:release-v4.3.0, r=str4d
Release v4.3.0
2021-02-24 21:59:37 +00:00
Jack Grigg e3282abf75 doc: Minor fixes to v4.3.0 release notes 2021-02-24 21:58:32 +00:00
Jack Grigg 8b91e3bf21 make-release.py: Updated release notes and changelog for 4.3.0. 2021-02-24 20:17:10 +00:00
Jack Grigg f09bef8634 make-release.py: Updated manpages for 4.3.0. 2021-02-24 20:17:10 +00:00
Jack Grigg 205b40da9a make-release.py: Versioning changes for 4.3.0. 2021-02-24 20:12:54 +00:00
Kris Nuttycombe edc34f0464 Ignore temporary build artifacts. 2021-02-23 18:22:03 -07:00
Homu e68e43a0fe Auto merge of #5001 - mdr0id:add_zstd_apt_package, r=str4d
add zstd package to support Windows cross compile

Once the v4.3.0 release is stable, we will need to go rebuild/deploy this builder with a couple other updates so that windows can gracefully cross compile again.
2021-02-23 01:47:34 +00:00
Homu 5c0f3ffe25 Auto merge of #5002 - mdr0id:gitian_libxml2_descriptor, r=str4d
add libxml2

Adding libxml2 to linux gitian descriptors
2021-02-23 00:13:18 +00:00
Marshall Gaucher 14de44030f
add libxml2
Adding libxml2 to linux gitian descriptors
2021-02-22 14:37:30 -08:00
mdr0id beb40ce3e7 add zstd package 2021-02-22 13:20:59 -08:00
Homu 1bcb118fe9 Auto merge of #5000 - str4d:cargo-update, r=str4d
Update Rust dependencies for 4.3.0

Fixes a regression in #4993, and also pins `funty` to avoid an ongoing issue.
2021-02-21 14:41:26 +00:00
Jack Grigg df489e9a50 rust: Pin funty =1.1.0
Temporary workaround for https://github.com/myrrlyn/funty/issues/3
2021-02-20 18:34:11 +00:00
Jack Grigg 81fd148475 cargo update 2021-02-20 18:32:34 +00:00
Homu fd9bf43c3d Auto merge of #4998 - str4d:release-v4.3.0-rc1, r=str4d
Release v4.3.0-rc1
2021-02-20 00:52:04 +00:00