Commit Graph

15423 Commits

Author SHA1 Message Date
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
Kris Nuttycombe 766abede57
Document UPGRADE_ZFUTURE
Co-authored-by: str4d <thestr4d@gmail.com>
2021-03-24 08:17:32 -06:00
Kris Nuttycombe dd914fcdcf Document FeatureSet type. 2021-03-23 19:42:45 -06:00
Kris Nuttycombe c759e6a9f3 Add feature flagging tests. 2021-03-23 19:38:30 -06:00
Kris Nuttycombe d02a863c28
Apply suggestions from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-03-15 14:32:29 -06:00
Kris Nuttycombe 05ecc47197 Use SPROUT_MAX_CURRENT_VERSION 2021-03-11 15:22:50 -07:00
Kris Nuttycombe f4661c151f Add future version group & version checks 2021-03-11 15:13:26 -07:00
Kris Nuttycombe 04f9f23255 Move sapling version group checks back inside of saplingActive check. 2021-03-11 14:58:15 -07:00
Kris Nuttycombe e49fa53ea9 Add TxVersionInfo for feature/future-base transaction construction. 2021-03-10 08:55:21 -07:00
Kris Nuttycombe a3d86d93b8 Relocate contextual Sapling version checks
These checks will have to move for the inclusion of Orchard
under ZFUTURE. For the purpose of eventual removal of Sapling
it might make more sense for these checks to be under a Sapling
feature flag, but that larger set of changes should be deferred.
2021-03-10 08:55:21 -07:00
Kris Nuttycombe 2fc8963e63 Add feature flagging infrastructure to consensus parameters. 2021-03-10 08:55:19 -07: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
Gregory Maxwell 9e67ec66a2 Blacklist -whitelistalwaysrelay; replaced by -whitelistrelay.
Zcash: just a comment fix, no need to blacklist as -whitelistalwaysrelay
will never have been active.
(cherry picked from commit 89d113e02a83617b4e971c160d47551476dacc71)
2021-02-22 18:29:12 -07:00
Gregory Maxwell c411af61e7 Add whitelistforcerelay to control forced relaying.
Also renames whitelistalwaysrelay.

Nodes relay all transactions from whitelisted peers, this
 gets in the way of some useful reasons for whitelisting
 peers-- for example, bypassing bandwidth limitations.

The purpose of this forced relaying is for specialized gateway
 applications where a node is being used as a P2P connection
 filter and multiplexer, but where you don't want it getting
 in the way of (re-)broadcast.

This change makes it configurable with whitelistforcerelay.

(cherry picked from commit 325c725fb6205e38142914acb9ed1733d8482d46)
2021-02-22 18:26:40 -07: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