[bisq-network/bisq] Prevent UI freeze in BSQ dashboard view. (PR #6131)
jmacxx
notifications at github.com
Mon Apr 4 21:34:20 CEST 2022
@chimp1984 asked me to review `DAO -> Facts & Figures -> Dashboard` as it has been freezing the UI.
The BSQ dashboard listens to price update events so as to recalculate the UI periodically.
Observation shows that [price updates are issued in fast succession](https://github.com/bisq-network/bisq/blob/3166ea398ca5215bb6e78cfbfb711440acf236f0/core/src/main/java/bisq/core/provider/price/PriceFeedService.java#L319-L325) for about 100 altcoins.
This PR solves the freezing issue by limiting the refresh rate of `Dashboard` to at most every 10 seconds.
<details>
<summary>Details</summary>
Apr-04 14:10:40.984 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : SCP 6
Apr-04 14:10:40.987 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : NAV 700
Apr-04 14:10:40.987 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : PNC 25000
Apr-04 14:10:40.987 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : PEPECASH 479
Apr-04 14:10:40.987 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : XND 199900
Apr-04 14:10:40.987 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : SDC 162564
Apr-04 14:10:40.987 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : STEEM 544959
Apr-04 14:10:40.988 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : ODN 120000
Apr-04 14:10:40.988 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : AEON 7250
Apr-04 14:10:40.988 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : DOI 20000
Apr-04 14:10:41.003 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : BSQ 2975
Apr-04 14:10:41.004 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : NBT 234100
Apr-04 14:10:41.004 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : RSD 18440336100
Apr-04 14:10:41.004 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : PASC 128695
Apr-04 14:10:41.004 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : CROAT 190
Apr-04 14:10:41.004 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : BCH 7485073
Apr-04 14:10:41.004 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : GEL 260098300
Apr-04 14:10:41.004 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : BTC 259053
Apr-04 14:10:41.004 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : BTG 602718
Apr-04 14:10:41.004 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : PGK 200429600
Apr-04 14:10:41.004 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : OMR 22742200
Apr-04 14:10:41.005 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : HATCH 3200000
Apr-04 14:10:41.005 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : VEIL 300
Apr-04 14:10:41.005 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : SEM 14500
Apr-04 14:10:41.005 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : DXO 95
Apr-04 14:10:41.005 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : ARS 9380484911
Apr-04 14:10:41.005 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : VTC 2000
Apr-04 14:10:41.005 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : PPI 6000
Apr-04 14:10:41.007 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : SC 164
Apr-04 14:10:41.008 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : TRTL 1
Apr-04 14:10:41.009 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : SF 20000000
Apr-04 14:10:41.010 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : RDD 77
Apr-04 14:10:41.012 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : CREA 6669
Apr-04 14:10:41.012 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : ASK 12
Apr-04 14:10:41.012 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : XUEZ 30000
Apr-04 14:10:41.013 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : USDT-E 2100
Apr-04 14:10:41.013 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : CNMC 2260
Apr-04 14:10:41.013 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : PIVX 4250
Apr-04 14:10:41.013 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : ESP 1
Apr-04 14:10:41.013 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : NMC 5000
Apr-04 14:10:41.013 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : ACH 30000
Apr-04 14:10:41.058 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : DAC 26000
Apr-04 14:10:41.058 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : DAI 2025
Apr-04 14:10:41.060 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : GRIN 580
Apr-04 14:10:41.060 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : L-BTC 100100000
Apr-04 14:10:41.060 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : VUV 38133470000
Apr-04 14:10:41.061 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : BLUR 600
Apr-04 14:10:41.062 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : ELLA 13000
Apr-04 14:10:41.062 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : CHA 1501
Apr-04 14:10:41.063 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : XZC 69156
Apr-04 14:10:41.063 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : TRC 20000
Apr-04 14:10:41.063 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : POST 9000
Apr-04 14:10:41.065 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : XRC 40000
Apr-04 14:10:41.065 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : LBC 600
Apr-04 14:10:41.066 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : MAID 16103
Apr-04 14:10:41.067 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : CASH2 500
Apr-04 14:10:41.067 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : GHS 311547500
Apr-04 14:10:41.067 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : KHR 23789019900
Apr-04 14:10:41.067 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : MAZA 12
Apr-04 14:10:41.067 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : DNET 530
Apr-04 14:10:41.067 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : WMCC 10000
Apr-04 14:10:41.067 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : AUS 70
Apr-04 14:10:41.067 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : AQUA 10000
Apr-04 14:10:41.144 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : NTBC 1
Apr-04 14:10:41.145 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : LSK 39280
Apr-04 14:10:41.148 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : MT 1500000
Apr-04 14:10:41.149 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : SYP 42305158000
Apr-04 14:10:41.149 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : SIB 9523
Apr-04 14:10:41.149 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : R-BTC 100900000
Apr-04 14:10:41.149 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : ZOC 190
Apr-04 14:10:41.149 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : BEAM 35000
Apr-04 14:10:41.149 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : RON 833092663
Apr-04 14:10:41.149 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : XSL 1
Apr-04 14:10:41.149 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : CRC 3508691560
Apr-04 14:10:41.150 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : D4RK 1000
Apr-04 14:10:41.150 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : SIL 1311
Apr-04 14:10:41.150 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : GRC 175
Apr-04 14:10:41.150 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : USDC 5258
Apr-04 14:10:41.150 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : XCP 4000
Apr-04 14:10:41.150 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : SFSC 13000
Apr-04 14:10:41.150 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : GBYTE 718869
Apr-04 14:10:41.150 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : BURST 231
Apr-04 14:10:41.150 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : NXT 2464
Apr-04 14:10:41.150 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : LTZ 31
Apr-04 14:10:41.151 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : DRGL 20
Apr-04 14:10:41.161 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : ONION 30000
Apr-04 14:10:41.162 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : WAVI 299
Apr-04 14:10:41.162 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : PART 6600
Apr-04 14:10:41.162 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : UNO 65000
Apr-04 14:10:41.167 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : PARS 100
Apr-04 14:10:41.167 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : RADS 17800
Apr-04 14:10:41.168 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : DMD 26720
Apr-04 14:10:41.168 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : DMC 27500
Apr-04 14:10:41.168 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : AEUR 29400
Apr-04 14:10:41.168 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : BCHC 500
Apr-04 14:10:41.168 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : IOP 90942
Apr-04 14:10:41.168 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : XSPEC 2600
Apr-04 14:10:41.169 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : BIS 3200
Apr-04 14:10:41.169 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : GALI 449
Apr-04 14:10:41.169 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : RIN 50
Apr-04 14:10:41.200 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : KOTO 60
Apr-04 14:10:41.206 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : NEOS 690
Apr-04 14:10:41.206 [JavaFX Application Thread] INFO b.c.p.price.PriceFeedService: *** update(bisq) : TEO 300
</details>
You can view, comment on, or merge this pull request online at:
https://github.com/bisq-network/bisq/pull/6131
-- Commit Summary --
* Prevent UI freeze by checking the frequency of price updates.
-- File Changes --
M desktop/src/main/java/bisq/desktop/main/dao/economy/dashboard/BsqDashboardView.java (16)
-- Patch Links --
https://github.com/bisq-network/bisq/pull/6131.patch
https://github.com/bisq-network/bisq/pull/6131.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/6131
You are receiving this because you are subscribed to this thread.
Message ID: <bisq-network/bisq/pull/6131 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20220404/e9c8670e/attachment-0001.htm>
More information about the bisq-github
mailing list