Skip to content

Latest commit

 

History

History
181 lines (131 loc) · 8.27 KB

CHANGELOG.md

File metadata and controls

181 lines (131 loc) · 8.27 KB

Changelog

Changes to the project.

Changed

  • Update docker base image to be fully qualifed for better podman support (#25)
  • Add metric for minimum fee (#31)

0.7.0 - 2022-01-14

BREAKING CHANGE: Default port number has changed to 9332! Use METRICS_PORT=8334 to use old port.

Added

  • Add bitcoin_rpc_active stat for number of active RPC calls.
  • Add bitcoin_txcount stat for total number of transactions since the genesis block.
  • Support for Bitcoin Cash nodes (#22).

Changed

  • Default port changed from 8334 to 9332 to avoid conflicts with Bitcoin Tor port.
  • Update metrics on HTTP request, instead of timer (#12).
  • Improve performance of block statistics.
  • The number of blocks for the bitcoin_hashps metrics is now configurable via HASHPS_BLOCKS (#22).

0.6.0 - 2021-06-05

Added

  • Support changing bind address with METRICS_ADDR environment variable (#11).
  • Add requirements.txt file.
  • Set default bad_reason to "manually added" to support Bitcoin Core 0.20.1 (#16).
  • Remove premature URL encoding of bitcoind rpc credentials (#18).
  • New metrics for Bitcoin Core 0.21.0.
  • Support for ARM docker image builds via buildx.

Fixed

  • Fix port number in README (#17).

Changed

  • Modify type annotations to run on python 3.5.

0.5.0 - 2020-02-10

Fixed

  • Avoid crash on socket.timeout errors. Retry the request in that case.

Changed

  • Switch to python 3.8 and alpine for base image.
  • Update docker container to use nobody instead of default root account.
  • Update shebang to use PATH (#6).
  • Support loading bitcoin config from BITCOIN_CONF_PATH environment variable (#7).
  • Reuse the Proxy RPC client to avoid repeatedly looking for config file.
  • Config file examples in the docker-compose file.
  • Retry on ConnectionError, not just ConnectionRefusedError (#9).
  • Pass TIMEOUT environment value to bitcoin client as well as retry library.
  • Rely on python-bitcoinlib to handle bitcoin config location detection (#10).

0.4.0 - 2020-01-05

Added

  • New counter metric bitcoin_exporter_process_time_total for time spent refreshing the metrics.
  • New bitcoin_verification_progress metric to track chain verification progress (#5).
  • Use logging for output messages and improve level of output for errors (#4).
  • Add docker-compose config with basic setup for testing regressions.

Changed

  • Retry failed RPC calls with exponential timeout using riprova and keep track of retry exceptions using new bitcoin_exporter_errors metric.
  • Improved error message when credentials are incorrect.
  • Make smartfee metrics configurable using SMARTFEE_BLOCKS environment variable.
  • Update script shebang to use PATH (#6)
  • Prefer the $HOME/.bitcoin/bitcoin.conf file over BITCOIN_RPC_HOST, BITCOIN_RPC_USER, ... if it exists (#7).
  • Add pre-commit hooks for catching style and code issues.
  • Added type annotations and no longer attempting to support less than Python 3.7.

Fixed

  • Avoid crashing on node restart by ignoring bitcoin.rpc.InWarmupError exception.
  • Prevent KeyError when smartfee values are not calculable (#2).
  • Fix duplicate sleep call introduced in 5d83f9e (#3).

0.3.0 - 2019-11-25

Added

  • Include explicit 3-clause BSD LICENSE.
  • New bitcoin_latest_block_weight and bitcoin_latest_block_height metrics using value from getblock.
  • Include my rudimentary dashboard.

Changed

  • Update bitcoin_latest_block_txs to use the nTx value returned by getblock instead of len(tx). No observed change in value.

Removed

  • Dead code cleanup (find_bitcoin_cli and BITCOIN_CLI_PATH).

0.2.0 - 2019-10-20

Added

Changed

  • Move changelog to separate file.
  • Make binding port configurable using METRICS_PORT environment variable.

Fixed

  • Fix example commands in README.
  • Handle SIGTERM gracefully to avoid later SIGKILL.

0.1.0 - 2019-07-27

Initial release of project. Changes are relative to the bitcoin-monitor.md gist, which was commited as-is in the first commit.

Added

  • Packaged for docker and modified to pull settings from environment variables.
  • bitcoin_hashps_1 and bitcoin_hashps_neg1 for estimated hash rates associated with only the last block and for all blocks with the same difficulty.
  • bitcoin_est_smart_fee_* metrics for estimated fee per kilobyte for confirmation within a number of blocks.
  • bitcoin_latest_block_value for the transaction value of the last block.
  • bitcoin_server_version and bitcoin_protocol_version to track upgrades of the bitcoin server.
  • bitcoin_mempool_usage metric.
  • bitcoin_ban_created and bitcoin_banned_until to track peer bans.

Changed

  • Use RPC calls using python-bitcoinlib instead of relying on the bitcoin-cli binary.
  • Remove need for txindex= to be set on the bitcoin server. Transactions are now pulled using the getblock call by setting verbosity=2.