Commit Graph

255 Commits

Author SHA1 Message Date
Manfred Karrer
1c58d89465
Apply code inspection
- Fix spelling
- Remove exception throw clause which was never thrown
- Add not null preconditions
- Remove unneeded types in diamonds
- Add final
- Fix java doc
- Make Reporter constructor protected (abstract)
2018-12-29 14:13:26 +01:00
Florian Reimair
36612185e1 Removed unused dummy Metric 2018-12-29 14:04:33 +01:00
Manfred Karrer
2d8ca8c0f9
Add monitor directory as parent for test directories
- Apply reorg imports and reformat to test classes
2018-12-29 13:53:30 +01:00
Manfred Karrer
2762d74c8f
Rename TorRoundtripTime to TorRoundTripTime 2018-12-29 13:44:57 +01:00
Manfred Karrer
d4db4d882b
Reformat code, organize imports, fix spelling 2018-12-29 13:41:18 +01:00
Florian Reimair
7cf083bb11 Readme, Javadoc, cleanup 2018-12-29 11:26:53 +01:00
Florian Reimair
ada2e586e5 Pretty up config file 2018-12-28 19:12:39 +01:00
Florian Reimair
26f6088f9f Graphite reporter is available 2018-12-28 17:35:30 +01:00
Florian Reimair
a7d86f3352 Refactored metric infrastructure 2018-12-28 17:33:52 +01:00
Florian Reimair
09e02ba6c9 Refactored Metric 2018-12-28 13:28:59 +01:00
Florian Reimair
973bcf5a79 Introduce reporter concept 2018-12-28 13:27:09 +01:00
Florian Reimair
2db74a14b8 Refactored TorStartupTime 2018-12-21 11:38:10 +01:00
Florian Reimair
d46813c866 TorHiddenServiceStartupTime Metric available 2018-12-21 11:35:26 +01:00
Florian Reimair
295cb6c2b8 Graceful shutdown, Netlayer 0.6.2 2018-12-21 11:34:29 +01:00
Florian Reimair
bff347bf8f TorRoundtripTime Metric does samples 2018-12-19 11:56:18 +01:00
Florian Reimair
612c5f3bdd Refactored Metrics scheduler 2018-12-19 01:17:47 +01:00
Florian Reimair
fb9c11f9f3 TorRoundTripTime Metric available 2018-12-19 01:11:20 +01:00
Florian Reimair
4d0a094977 Configurable socksPort for TorStartupTime Metric 2018-12-18 13:06:10 +01:00
Florian Reimair
6b43b47a25 Cleanup 2018-12-18 13:05:25 +01:00
Florian Reimair
1d6e101a1c Enhance config file documentation 2018-12-18 11:56:50 +01:00
Florian Reimair
677ed2390e Add initial TorStartupTime metric 2018-12-18 11:56:35 +01:00
Florian Reimair
9394da1c2c Introduce reporting stub 2018-12-18 11:55:19 +01:00
Florian Reimair
0f8c420351 Synchronize all the things 2018-12-18 11:49:02 +01:00
Florian Reimair
414623ba9f Introduce general purpose Tor instance 2018-12-18 11:46:03 +01:00
Florian Reimair
bb266949e0 Use lombok/slf4j for logging 2018-12-11 12:05:09 +01:00
Florian Reimair
930cb8c56a Metrics can be renamed 2018-12-11 11:19:34 +01:00
Florian Reimair
a73c24fa1b Metrics can be reenabled via config 2018-12-10 21:19:30 +01:00
Florian Reimair
4d39d6b71a Basic configuration tests 2018-12-10 21:18:39 +01:00
Florian Reimair
da483a245e Metrics can be disabled via config 2018-12-10 16:42:49 +01:00
Florian Reimair
4796f1b01b Reloading config during runtime available 2018-12-10 16:28:45 +01:00
Florian Reimair
52c5a7efe1 Use configurable properties file 2018-12-10 16:04:27 +01:00
Florian Reimair
984aabfdd4 Periodical schedule 2018-12-10 14:47:34 +01:00
Florian Reimair
86d642596e Basic configuration infrastructure available 2018-12-10 14:46:10 +01:00
Florian Reimair
df5b2dc15e Basic framework for Monitor 2018-12-10 13:57:14 +01:00
Florian Reimair
5e96b8ebe2 Patch deprecated Networknode 2018-12-07 10:14:20 +01:00
Chris Beams
931f369fb6
Include executable name and version in help output 2018-11-24 13:24:03 +01:00
Chris Beams
83e1dd37f9
Refactor option parsing configuration
This change eliminates the BisqExecutable.description method and
replaces it with proper use of the `describedAs` and `defaultsTo`
methods in the JOptSimple API. This removes the concern of formatting
option argument descriptions and default values from the BisqExecutable
class, and delegates it to the new BisqHelpFormatter (see previous
commit), which is designed for the purpose.

For example, prior to this commit, the help text for the --banList
option read as follows:

    --banList=<value>
            Nodes to exclude from network connections. (default: )

Now it reads as follows:

    --banList=<host:port[,...]>
            Nodes to exclude from network connections.

Likewise, previous to this commit, the --logLevel option read as
follows:

    --logLevel=<value>
            Log level [OFF, ALL, ERROR, WARN, INFO, DEBUG, TRACE]
            (default: INFO)

And now it reads like this:

    --logLevel=<OFF|ALL|ERROR|WARN|INFO|DEBUG|TRACE> (default: INFO)
            Log level

There are a number of further improvements that can and should be made
to the description text of the various options, the types specified for
their arguments, etc, but these will be handled in subsequent commits.
This commit is strictly about refactoring existing parser configuration
to take advantage of the new BisqHelpFormatter.
2018-11-24 13:24:03 +01:00
Chris Beams
e97625cfc3
Pull up remaining monitor config to root 2018-11-04 17:41:37 +01:00
Chris Beams
bd1e7e273f
Pull up application plugin config to root 2018-11-04 16:27:52 +01:00
Chris Beams
1cdb39ab60
Pull up JesusMcCloud repo to root
Not all subprojects need it, but most do.
2018-11-04 14:28:14 +01:00
Chris Beams
4e1fa914a2
Pull up common repositories to root build.gradle 2018-11-04 14:20:55 +01:00
Chris Beams
95c8b8ddfa
Pull up application and configuration of java plugin 2018-11-04 14:20:55 +01:00
Chris Beams
3c1c402d40
Remove use of maven plugin
It is no longer necessary to publish Maven metadata about common, core
and other submodules as they are no longer managed as separate libraries
in separate repositories. The only way these modules should be getting
referenced is from within applications in this repository such as
desktop, statsnode, etc. Essentially, we're no longer publishing our
libraries for public consumption.
2018-11-04 13:19:06 +01:00
Manfred Karrer
bb20264473
Move classes 2018-09-23 15:35:06 -05:00
Manfred Karrer
920ad2e1b5
Rename network package to nodes 2018-09-23 15:29:09 -05:00
Manfred Karrer
8d0f6b7556
Rename BitcoinNodes to BtcNodes 2018-09-23 15:22:20 -05:00
Manfred Karrer
0d86176f4e
Further refactorings: move classes to other packages 2018-09-23 15:09:22 -05:00
Manfred Karrer
16fac73b6d
Further refactorings move classes to other packages 2018-09-23 14:56:46 -05:00
Manfred Karrer
f3f719a632
Move btc setup classes to setup package 2018-09-23 14:46:58 -05:00
Christoph Atteneder
68fb1163a3
Add Java 10 configuration for merged repositories 2018-09-17 13:37:03 +02:00
Christoph Atteneder
ecef18a437
Merge monitor repository at fd01ee4 2018-09-14 11:42:51 +02:00
Chris Beams
aec4c4814a
Move monitor module to new repository
This module is being extracted into its own repository, which will live
at https://github.com/bisq-network/bisq-monitor.
2018-03-09 17:23:10 +01:00
Chris Beams
19b9c6fe59
Set Maven version to -SNAPSHOT
Problem: d218094 set the version to 0.7.0-SNAPSHOT, but that change
failed to produce the intended effect detailed in the commit comment.
Setting the version to a value like 0.7.0-SNAPSHOT works fine when
publishing artifacts to a local ~/.m2 repository, but JitPack has no
awareness of version metadata within pom files, and can only retreive
artifacts based on Git metadata, namely tags, branch names and commit
hashes. This means it is impossible to resolve artifacts from JitPack
with a GAV like `io.bisq.exchange:core:0.7.0-SNAPSHOT` unless there is a
branch named `0.7.0`. This is why the pull request at
bisq-network/bisq-seednode#1 failed.

Solution: JitPack supports the semantics of Maven-style `-SNAPSHOT`
versioning, and as a special case, allows for versions to be named
literally `-SNAPSHOT` with no preceding version string [1,2]. This
commit sets all Maven versions to `-SNAPSHOT`, achieving the original
effect intended by d218094. Now downstream components (like
bisq-seednode) can resolve dependencies seamlessly from JitPack or a
local ~/.m2 repo with a GAV like `io.bisq.exchange:core:-SNAPSHOT`. This
is a slightly unconventional arrangement, but should actually result in
fewer updates to pom files over time as there may in fact be no reason
to ever change this version string so long as we continue using JitPack
and avoid publication to Maven Central / JCenter or similar.

[1]: https://jitpack.io/docs/#building-with-jitpack
[2]: https://github.com/jitpack/jitpack.io/issues/351

See #1440
2018-03-09 10:29:23 +01:00
Chris Beams
d218094269
Bump Maven artifact versions to 0.7.0-SNAPSHOT
Problem: When resolving Bisq libraries, e.g. `core` or `network` from
JitPack for use in other components like bisq-seednode or
bisq-pricenode, we have historically, resolved them by tag or by
branchname, e.g. with GAV coordinates like `io.bisq:core:v0.6.7` or
`io.bisq:core:master`. This works well enough, but now that we are
beginning to modularize more aggressively, we want to make sure that
it's possible at any time to publish the latest snapshots of these
libraries to one's own local ~/.m2 repository such that they can be
easily resolved from downstream components without the need to push
commits to the bisq-network/exchange remote, and to wait for JitPack to
do a just-in-time build.

Solution: By updating the version value of all modules here in the
exchange repository from 0.6.7 => 0.7.0-SNAPSHOT, one can run
`mvn install` to publish the latest "snapshot" of exchange libraries to
the local ~/.m2 repository and be sure to resolve them from whatever
downstream component that they are working on. The -SNAPSHOT qualifier
ensures that no caching occurs, and that the very latest such binary
will always be used.

This new arrangement creates a situation where one can transparently
resolve these dependencies remotely from JitPack and then subsequently
resolve them locally from one's ~/.m2 repository without having to
change a line of code.

It also opens up the ability to manage all Bisq components together in a
single IDE window as if they were all in one repository, avoiding the
need even to issue a `mvn install` command to publish locally--but
that's not the main focus of this change.

Note that the change to 0.7.0 here is based on the fact that we already
planned to have the next version shipped from `master` be 0.7.0, as
there are quite a few new UI changes that probably merit the bump in
minor version. The version change also aligns well with the fact that
we're modularizing a number of components right now, and all
newly-extracted components have been jumping to v0.7.0 to indicate their
new independent status. This has been the case with bisq-seednode and
pricenode so far.

Finally, it is important to note here that the ONLY versions updated by
this change are those specific to Maven metadata and therefore artifact
management / dependency resolution. The version that the Bisq desktop
client reports in its UI and to the network in its user agent has NOT
been changed, on account of the fact that users may run Bisq from
source, and we need to think through more fully the implications of
reporting a verison like 0.7.0-SNAPSHOT in those situations. Here is a
list of files containing the old version (0.6.7) that have NOT been
updated:

 - common/src/main/java/io/bisq/common/app/Version.java
 - package/linux/32bitBuild.sh
 - package/linux/Dockerfile
 - package/osx/create_app.sh
 - package/osx/finalize.sh
 - package/windows/32bitBuild.bat
 - package/windows/64bitBuild.bat
 - package/windows/Bisq.iss
 - package/linux/64bitBuild.sh

One thing we know for sure that wouldn't work here is that Bisq's
Version class currently does not support -SNAPSHOT qualifiers. It just
breaks the version string validation entirely. So we'd need to patch
that in any case if we do decide it's a good idea to let pre-release
builds report their version accurately.
2018-03-08 19:49:30 +01:00
Chris Beams
19d8c252ba
Change groupid from io.bisq => io.bisq.exchange
Problem: The current `io.bisq` groupid does not align with the way
JitPack supports custom groupids. In order to be able to both resolve
artifacts from JitPack *and* be able to resolve the same artifacts from
one's local ~/.m2 repository, Bisq artifacts need to have the same GAV
coordinates everywhere (groupid, artifactid, version).

Solution: This commit changes all groupids from io.bisq =>
io.bisq.exchange to match the GAV coordinates produced / expected by
JitPack.

So where Bisq's core module would previously have been resolvable with
GAV coordinates `io.bisq:core:v0.6.7` it will now be resolvable as
`io.bisq.exchange:core:v0.6.7`.

Note that this change is not just to satisfy JitPack idiosyncracies, but
is actually good naming practice anyway where a multi-module build is
involved, and is arguably the way it should have been all along.

[1]: https://jitpack.io/docs/#publishing-on-jitpack
2018-03-08 18:59:31 +01:00
Manfred Karrer
b5ac9f97ca
Add vote reveal type. Adjust BSQ fees. Refactorings. 2018-03-05 22:00:13 -05:00
Manfred Karrer
1f6122e934
Add option key: genesisBlockHeight. Rename option key regTestBsqGenesisTxId to genesisTxId. Remove hard coded dev genesis tx id and height. 2018-03-05 12:05:24 -05:00
Manfred Karrer
b7064f9820
Add option key for dev mode 2018-03-05 11:10:00 -05:00
Manfred Karrer
fd18cca161
Add missing setProperty call for regTestBsqGenesisTxId 2018-03-02 09:50:33 -05:00
Manfred Karrer
1d0591084d
Merge branch '0.6.7'
# Conflicts:
#	common/pom.xml
#	common/src/main/java/io/bisq/common/app/Version.java
#	common/src/main/resources/i18n/displayStrings.properties
#	common/src/main/resources/i18n/displayStrings_hu.properties
#	common/src/main/resources/i18n/displayStrings_ro.properties
#	consensus/pom.xml
#	core/pom.xml
#	core/src/main/java/io/bisq/core/offer/OpenOfferManager.java
#	core/src/main/java/io/bisq/core/payment/PaymentAccountUtil.java
#	core/src/main/java/io/bisq/core/provider/fee/FeeService.java
#	gui/pom.xml
#	gui/src/main/java/io/bisq/gui/bisq.css
#	gui/src/main/java/io/bisq/gui/main/offer/createoffer/CreateOfferDataModel.java
#	gui/src/main/java/io/bisq/gui/main/offer/createoffer/CreateOfferView.java
#	gui/src/main/java/io/bisq/gui/main/offer/takeoffer/TakeOfferView.java
#	gui/src/main/java/io/bisq/gui/main/portfolio/openoffer/OpenOffersView.java
#	gui/src/main/java/io/bisq/gui/main/portfolio/openoffer/OpenOffersViewModel.java
#	gui/src/main/java/io/bisq/gui/util/GUIUtil.java
#	monitor/pom.xml
#	network/pom.xml
#	network/src/main/resources/PersistableNetworkPayloadMap_BTC_MAINNET
#	package/linux/32bitBuild.sh
#	package/linux/64bitBuild.sh
#	package/linux/Dockerfile
#	package/osx/create_app.sh
#	package/osx/finalize.sh
#	package/windows/32bitBuild.bat
#	package/windows/64bitBuild.bat
#	package/windows/Bisq.iss
#	pom.xml
#	seednode/pom.xml
#	statistics/pom.xml
2018-02-26 22:03:47 -05:00
Manfred Karrer
fd47cefc6c
Set v0.6.7 2018-02-26 20:23:07 -05:00
Manfred Karrer
644312a472
Add useDevPrivilegeKeys to other app base module 2018-02-26 12:52:42 -05:00
Manfred Karrer
2c593559db
Merge 0.6.6 branch to master 2018-02-23 21:40:34 -05:00
Manfred Karrer
0b6edbb883
Set version 0.6.6 2018-02-23 15:41:24 -05:00
Manfred Karrer
bf244856b1
v0.6.5 2018-01-31 13:04:24 -05:00
Manfred Karrer
8b14f6bb15
Add request and response timestamp and retry counter to monitor 2018-01-30 22:34:36 -05:00
Manfred Karrer
33eecd81aa
Release 0.6.4 2018-01-20 20:47:53 -05:00
Manfred Karrer
27d1083380
Use 60 days for TTL for alert. Cleanups. 2018-01-10 22:21:32 +01:00
Manfred Karrer
9988a7e4f6
Increase retry for monitor to 5. Adjust logs. Cleanup. 2018-01-09 23:55:15 +01:00
Manfred Karrer
aeec075c91
Prepare v0.6.3 2018-01-09 23:36:49 +01:00
Manfred Karrer
71a0fc5240
Revert removal of WalletDir optionkey 2018-01-09 22:32:46 +01:00
Manfred Karrer
cdc1061571
Remove WALLET_DIR. Use APP_DATA_DIR_KEY instead. 2018-01-09 20:18:43 +01:00
Manfred Karrer
80aca142ff
Fix issue with bouncycastle in pom 2018-01-04 23:46:42 +01:00
Manfred Karrer
b45ce61762
Change monitor port to 80 2018-01-04 20:55:32 +01:00
Manfred Karrer
307b936082
Fix Monitor issues with error reports. Improve logging. 2018-01-03 15:55:59 +01:00
Manfred Karrer
14d1db0e81
Increase retry time and retry count for failed seed nodes in monitor 2017-12-27 23:58:03 +01:00
Manfred Karrer
ea4b926a8c
Change mvn plugin version 2017-12-20 12:48:13 +01:00
Manfred Karrer
5ce2a67d0c
Prepare release 0.6.2 2017-12-20 01:12:18 +01:00
Manfred Karrer
41a4ca93e7
Improve error msg for withdrawal. Refactor: Rename TIMEOUT variables. 2017-12-19 23:27:43 +01:00
Manfred Karrer
a13a59fc4b
Refactoring: Rename seednode_monitor to monitor 2017-12-19 19:19:13 +01:00
Manfred Karrer
f84a038889 Version 0.4.9.9.1 2017-03-22 16:24:52 -05:00
Manfred Karrer
0a546978b3 Remove monitor and headless modules 2017-03-22 16:01:47 -05:00
Manfred Karrer
890c724a87 Prepare for v 0.4.9.9 2017-02-10 19:49:33 -05:00
Manfred Karrer
3bf4c60567 Prepare for v0.4.9.8 2016-11-19 14:36:23 +01:00
Manfred Karrer
b800999614 Add popup for adding a full btc node ip address at first startup as well in settings 2016-11-15 01:13:24 +01:00
Manfred Karrer
e751958de1 Request Pricefeed via proxy and use new BtcAverage API and add coinmarketcap.
* Now all traffic is going over Tor (price requests from Poloniex could not be routed over Tor because they use Cloudflare)
* Added request to CoinMarketCap to get more prices for altcoins not listed at Poloniex
* Use 2 proxy price feed providers as hidden service for requesting accumulated BitcoinAverage (new API), Poloniex and CoinMarketCap price data
* Add program argument to add custom price feed providers
* Add module for running a own proxy price feed provider (requires BitcoinAverage API keys). Supports both clearnet and hidden service
* Display time of latest price update at tooltip over provider icon in market price widget
* Remove http proxy option because it is not needed anymore (Cloudflare issue with Poloniex solved by the proxy)
* Remove tor bridge support (was not solving GFW issues and caused only problems when connections to Tor failed at startup)
2016-11-13 21:12:46 +01:00
Manfred Karrer
2f5c1a926a Check if supported crypto key length is > 128 (security policy adopted in Oracel JDK) 2016-10-20 01:45:19 +02:00
Manfred Karrer
3ea9ad4712 Cleanup formatting, organize imports 2016-10-19 23:44:49 +02:00
Manfred Karrer
22250574d8 Prepare for v 0.4.9.7 2016-10-19 22:04:46 +02:00
Manfred Karrer
83d411eba5 Prepare v0.4.9.6 2016-09-03 10:34:48 -05:00
Manfred Karrer
a803077296 Prepare for v 0.4.9.5 2016-08-26 17:03:01 +02:00
Manfred Karrer
7af384cb30 Prepare for 0.4.9.3 2016-08-23 15:38:08 +02:00
Manfred Karrer
f7a7c4087b Prepare v 0.4.9.3 2016-08-07 04:17:13 +02:00
Manfred Karrer
e3ce6e9125 Prepare for release 0.4.9.2 2016-07-30 00:32:40 +02:00
Manfred Karrer
e3480d0995 Cleanup logs. Use debug instead of info to get less load of logs if info is default log level 2016-07-29 18:24:34 +02:00
Manfred Karrer
f56b717f25 Refactor option keys 2016-07-25 20:31:29 +02:00
Manfred Karrer
11ebdf39d2 Set v 0.4.9.1 2016-07-25 19:37:01 +02:00
Manfred Karrer
f0e3370dbb Rename option classes 2016-07-20 00:34:50 +02:00
Manfred Karrer
9f22fe2450 Add missing master thread 2016-07-19 16:27:59 +02:00
Manfred Karrer
1df02ee750 Move methods to Superclass 2016-07-12 16:28:32 +02:00
Manfred Karrer
eeb7746f18 Add while loop to support running it from nohup & 2016-07-09 19:47:09 +02:00
Manfred Karrer
39069309bd Add hasNextLine check to Scanner 2016-07-09 01:03:04 +02:00
Manfred Karrer
476a3b5ed8 Add shotdown command (q), add openoffermanager, support republish offers 2016-07-09 00:22:12 +02:00
Manfred Karrer
55b9873d19 Add py4j gateway to Monitor 2016-07-08 23:05:23 +02:00
Manfred Karrer
c957b53f3a Add headless version for monitoring statistics (Bitsquare-proxy) and network stress testing 2016-07-08 18:45:09 +02:00