Agoric / agoric-sdk

monorepo for the Agoric Javascript smart contract platform
Apache License 2.0
327 stars 206 forks source link

Ag-solo wallet slow to deploy: 25 round-trips #3802

Open dckc opened 3 years ago

dckc commented 3 years ago

Description

I provisioned a testnet client as usual using docker and the testnet faucet.

https://testnet.explorer.agoric.net/account/agoric13lk0cnmehvfqtpcynwq7hx6qu86qtw3cu00qxe

Getting the wallet fully deployed took 22 minutes:

2021-08-24T15:39:35.513Z chain-cosmos-sdk: delivering to chain (trips=1)
...
2021-08-24T15:51:51.716Z chain-cosmos-sdk: delivering to chain (trips=20)
...
2021-08-24T16:01:27.652Z chain-cosmos-sdk: delivering to chain (trips=32)

Expected behavior

Didn't this used to take more like 5 minutes?

p.s. The 22 minutes have gone and we're back to around 5 minutes, but we still take 25 round trips to the chain and back. Is that acceptable?

Desktop

$ ag-cosmos-helper version --long
name: agoriccosmos
server_name: ag-cosmos-helper
version: 0.26.9
commit: 08ea8bbc8
build_tags: ledger,
go: go version go1.15.8 linux/amd64
...

cc @warner @michaelfig @rowgraus @katelynsills

dckc commented 3 years ago

my client log is in https://github.com/Agoric/testnet-notes/issues/29#issuecomment-904811805

dckc commented 3 years ago

This was noted as a Phase 1 priority in today's community call.

dckc commented 3 years ago

@mhofman would you please surface the wallet install time in the daily perf stuff? That seems like the next step on this issue. (Feel free to split out that part as a separate issue if you like).

I see it on the testnet retrospective under "next steps".

p.s. Another next step that @dtribble suggested is to look at the wallet code to see why it takes 32 round trips. @rowgraus I leave it to you to nominate somebody for that part.

dckc commented 3 years ago

@michaelfig the sequence diagram we discussed is in...

Findings

mhofman commented 2 years ago

The loadgen now captures the wallet deployment time and is one of the metric included in the spreadsheet based stats. We actually noticed a regression recently thanks to it.

We could still look at opportunities to pipeline the wallet more, but that should be less pressing once we have #3995. Removing myself and assigning @michaelfig

Tartuffo commented 2 years ago

Currently takes about 5 minutes to fully deploy. Closing this as it should be covered by loadgen work.

dckc commented 2 years ago

Adding technical-debt as I pay significant interest on it most days.

dckc commented 1 year ago

It is sometimes better to just close the fixed issue ...

perhaps. In my estimation, not this time.