Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable 100 wallet scenario in latency benchmark #2223

Merged
merged 5 commits into from
Oct 12, 2020

Conversation

Anviking
Copy link
Member

@Anviking Anviking commented Oct 8, 2020

Issue Number

ADP-469, ADP-473

Overview

  • Simply enable Latencies for 100 fixture wallets
  • Delete all wallets in between all latency scenarios
  • Rename DSL helper tearDown to deleteAllWallets, and re-use it more

Comments

$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario

@Anviking Anviking changed the title Anviking/adp 469/100 wallets latency Enable 100 wallet scenario in latency benchmark Oct 8, 2020
{-- PENDING: We currently have a limited amount of available fixture
wallets, so we can't just run a benchmark with 100 wallets in parallel.
fmtTitle "Latencies for 100 fixture wallets scenario"
fmtTitle "Latencies for 100 fixture wallets"
runScenario (nFixtureWallet 100)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems a bit low:

 Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms

I wondered if ensuring the wallets were actively restoring (by replacing fixtureWallet with emptyWallet, which doesn't wait for funds to be available, so should be quicker), and it did get a bit slower:

    Latencies for 100 fixture wallets
        listWallets         - 71.0 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.7 ms
        listTransactions    - 0.1 ms
        postTransactionFee  - 263.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms

I want to test on mainnet though.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Btw, it's in the context of this (estimate fees taking minutes with 100 wallets)
Skärmavbild 2020-10-08 kl  12 12 30
that sub-second results seem suspicious.

Copy link
Member

@KtorZ KtorZ Oct 8, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's oddly long, especially for wallets that are empty. If you want to spend some time investigating this, please do. Don't spend too much time on this however (max 1 day). It you can't find anything conclusive, then we'll allocate some extra time where finding the root cause and fixing it will be the actual task / goal.

@Anviking Anviking force-pushed the anviking/ADP-469/100-wallets-latency branch from 2173466 to 02eecf3 Compare October 8, 2020 10:32
@Anviking Anviking requested a review from paweljakubas October 8, 2020 10:33
{-- PENDING: We currently have a limited amount of available fixture
wallets, so we can't just run a benchmark with 100 wallets in parallel.
fmtTitle "Latencies for 100 fixture wallets scenario"
fmtTitle "Latencies for 100 fixture wallets"
runScenario (nFixtureWallet 100)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The benchmark took 8 minutes for me to run. When we create 100 wallets we repeatedly run postWallet >> waitForFunds, instead of first running all postWallet and then waiting for all wallets to have balance concurrently.

Changing to the latter approach would probably speed it up a bit, but I'm not sure how important it is that we do.

Copy link
Contributor

@paweljakubas paweljakubas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

would be worth always to trigger benchmark in CI (besides local trigger) and show results BEFORE/AFTER
https://buildkite.com/input-output-hk/cardano-wallet-nightly

@Anviking Anviking self-assigned this Oct 8, 2020
iohk-bors bot added a commit that referenced this pull request Oct 8, 2020
2223: Enable 100 wallet scenario in latency benchmark r=Anviking a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 8, 2020

Canceled.

@Anviking
Copy link
Member Author

Anviking commented Oct 8, 2020

bors r+

iohk-bors bot added a commit that referenced this pull request Oct 8, 2020
2223: Enable 100 wallet scenario in latency benchmark r=Anviking a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 8, 2020

Build failed:

src/Test/Integration/Scenario/API/Shelley/StakePools.hs:659:9:
  1) API Specifications, SHELLEY_STAKE_POOLS, STAKE_POOLS_LIST_01 - List stake pools, has non-zero saturation & stake
       uncaught exception: IOException of type UserError
       user error (Waited longer than 90s (more than 2 epochs) for an action to resolve. Action: "list pools returns non-empty list". Error condition: Just user error (Quantity {getQuantity = Percentage {getPercentage = 0 % 1}} does not satisfy (> Quantity {getQuantity = Percentage {getPercentage = 0 % 1}})))

  To rerun use: --match "/API Specifications/SHELLEY_STAKE_POOLS/STAKE_POOLS_LIST_01 - List stake pools/has non-zero saturation & stake/"

#2224

@Anviking
Copy link
Member Author

Anviking commented Oct 8, 2020

bors r+

iohk-bors bot added a commit that referenced this pull request Oct 8, 2020
2223: Enable 100 wallet scenario in latency benchmark r=Anviking a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 8, 2020

Build failed:

 src/Test/Integration/Scenario/API/Shelley/Transactions.hs:1219:13:
  1) API Specifications, SHELLEY_TRANSACTIONS, TRANS_EXTERNAL_03 - Single Output Transaction with Byron witness, Byron wallet
       expected: Status {statusCode = 202, statusMessage = "Accepted"}
        but got: Status {statusCode = 403, statusMessage = "Forbidden"}

       from the following response: Left (DecodeFailure "Error in $: parsing Cardano.Wallet.Api.Types.ApiFee(ApiFee) failed, key \"estimated_min\" not found: Response {responseStatus = Status {statusCode = 403, statusMessage = \"Forbidden\"}, responseVersion = HTTP/1.1, responseHeaders = [(\"Transfer-Encoding\",\"chunked\"),(\"Date\",\"Thu, 08 Oct 2020 21:14:58 GMT\"),(\"Server\",\"Warp/3.3.5\")], responseBody = \"{\\\"code\\\":\\\"not_enough_money\\\",\\\"message\\\":\\\"I can't process this payment because there's not enough UTxO available in the wallet. The total UTxO sums up to 0 Lovelace, but I need 1000000 Lovelace (excluding fee amount) in order to proceed  with the payment.\\\"}\", responseCookieJar = CJ {expose = []}, responseClose' = ResponseClose}")

  To rerun use: --match "/API Specifications/SHELLEY_TRANSACTIONS/TRANS_EXTERNAL_03 - Single Output Transaction with Byron witness/Byron wallet/"

#2232

@Anviking
Copy link
Member Author

Anviking commented Oct 9, 2020

bors r+

iohk-bors bot added a commit that referenced this pull request Oct 9, 2020
2124: Add haskell program coverage reports to Hydra tests r=rvl a=rvl

### Issue Number

ADP-99

### Overview

This is a bit of an assortment of nix build improvements.

1. Add a code test coverage report for the Hydra build - implemented by PR input-output-hk/haskell.nix#762
2. Add a nix-shell with profiled packages. Profiled packages will be built on Hydra for master branch but not PRs. This means you can download haskell dependencies with profiling enabled, rather than having to build everything yourself.
3. Update versions of build tools in the nix-shell to latest hackage release - ghcide, hlint and stylish-haskell updated.

### Comments

- [Hydra jobset](https://hydra.iohk.io/jobset/Cardano/cardano-wallet-pr-2124)
- [Coverage report job](https://hydra.iohk.io/job/Cardano/cardano-wallet-pr-2124/musl64.testCoverageReport.x86_64-linux/latest)
- [Coverage report from bors try](https://hydra.iohk.io/build/4328848/download/2/hpc_index.html)

<details>
  <summary>Stack coverage report for comparison</summary>

  #### Command

  ```
  stack build --coverage --fast --test --skip integration --skip jormungandr-integration
  ```

  #### Result:
```
...
Generating unified report            
 26% expressions used (26186/98111)
 44% boolean coverage (136/305)
      42% guards (102/240), 72 always True, 7 always False, 59 unevaluated
      52% 'if' conditions (33/63), 4 always True, 8 always False, 18 unevaluated
      50% qualifiers (1/2), 1 always True
 40% alternatives used (849/2108)
 58% local declarations used (859/1456)
 50% top-level declarations used (1769/3533)
The unified report is available at /home/rodney/iohk/cardano-wallet/.stack-work/install/x86_64-linux/2cecc28bf3aab8c8c3e4a07c1c6c1c846ec8861df3d8a5e9247bce185aeb7542/8.6.5/hpc/combined/all/hpc_index.html
                
An index of the generated HTML coverage reports is available at /home/rodney/iohk/cardano-wallet/.stack-work/install/x86_64-linux/2cecc28bf3aab8c8c3e4a07c1c6c1c846ec8861df3d8a5e9247bce185aeb7542/8.6.5/hpc/index.html
                
--  While building package cardano-wallet-2020.9.30 using:
      /home/rodney/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_2.4.0.1_ghc-8.6.5 --builddir=.stack-work/dist/x86_64-linux/Cabal-2.4.0.1 build lib:cardano-wallet exe:cardano-wallet test:unit --ghc-options "-hpcdir .stack-work/dist/x86_64-linux/Cabal-2.4.0.1/hpc -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1
Progress 335/336
```
</details>


2223: Enable 100 wallet scenario in latency benchmark r=Anviking a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Rodney Lorrimar <[email protected]>
Co-authored-by: Samuel Evans-Powell <[email protected]>
Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 9, 2020

Build failed (retrying...):

#2224


src/Test/Integration/Scenario/API/Shelley/StakePools.hs:659:9:
--
  | 1) API Specifications, SHELLEY_STAKE_POOLS, STAKE_POOLS_LIST_01 - List stake pools, has non-zero saturation & stake
  | uncaught exception: IOException of type UserError
  | user error (Waited longer than 90s (more than 2 epochs) for an action to resolve. Action: "list pools returns non-empty list". Error condition: Just user error (Quantity {getQuantity = Percentage {getPercentage = 0 % 1}} does not satisfy (> Quantity {getQuantity = Percentage {getPercentage = 0 % 1}})))
  |  
  | To rerun use: --match "/API Specifications/SHELLEY_STAKE_POOLS/STAKE_POOLS_LIST_01 - List stake pools/has non-zero saturation & stake/"
  |  
  | Randomized with seed 96553692


iohk-bors bot added a commit that referenced this pull request Oct 9, 2020
2223: Enable 100 wallet scenario in latency benchmark r=Anviking a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 9, 2020

Timed out.

It says timed out, but there were also a bunch of hydra errors I think:

  Logging Middleware
    GET, 200, no query FAILED [1]
    GET, 200, with query FAILED [2]
    GET, 200, not json FAILED [3]
    POST, 201, with sensitive fields FAILED [4]
    POST, 400, invalid payload (not json) FAILED [5]
    DELETE, 202, no query FAILED [6]
    GET, 400 FAILED [7]
    GET, 500 FAILED [8]
    GET, 503 FAILED [9]
    different request ids FAILED [10]
    correct time measures FAILED [11]

Failures:

  test/unit/Network/Wai/Middleware/LoggingSpec.hs:119:5:
  1) Network.Wai.Middleware.Logging, Logging Middleware, GET, 200, no query
       uncaught exception: HttpException
       HttpExceptionRequest Request {
         host                 = "localhost"
         port                 = 62128
         secure               = False
         requestHeaders       = []
         path                 = "/get"
         queryString          = ""
         method               = "GET"
         proxy                = Nothing
         rawBody              = False
         redirectCount        = 10
         responseTimeout      = ResponseTimeoutDefault
         requestVersion       = HTTP/1.1
       }
        ConnectionTimeout

Looks like
#2217

@Anviking
Copy link
Member Author

Anviking commented Oct 9, 2020

bors r+

iohk-bors bot added a commit that referenced this pull request Oct 9, 2020
2219: Return derivation path when answering `isOurs` r=KtorZ a=KtorZ

# Issue Number

<!-- Put here a reference to the issue this PR relates to and which requirements it tackles -->

#2176 

# Overview

<!-- Detail in a few bullet points the work accomplished in this PR -->

- 6c3aaea
  📍 **change derivation path JSON serialization to be less verbose**
    And also aligned with other interfaces like cardano-addresses.

- 1bba794
  📍 **change 'isOurs' to return a derivation path instead of a boolean**
    This can then be used to figure out what are the derivation path of
  a bunch of addresses when returning raw coin-selections.
  Note that this commit builds but is so-to-speak unsound. We need to
  find a way to feed the purpose, coin type and account index down to
  the 'isOurs' function. The most logical place to do this is as part of
  the state. We can't use arbitrary constant here because both Icarus
  and Shelley use a SeqState, but have different purpose indexes.

- 4b116de
  📍 **store seq-state derivation prefix in the database.**
    That prefixes tells us which account corresponds to which state and also, which purpose so can distinguish between Icarus and Shelley wallets. This will require a database migration
  which I'll add in a later commit.

- 185d8fb
  📍 **define manual migrations for seq-state with regards to the derivation prefix**
    I've generated databases for Icarus and Shelley wallets from the latest master and, in a test now trying to open these database and observe that a) it is possible, b) there's a log line indicating that a migration has happened, c) the resulting prefix in each database is exactly what we expect it to be.


# Comments

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


2223: Enable 100 wallet scenario in latency benchmark r=Anviking a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: KtorZ <[email protected]>
Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 9, 2020

This PR was included in a batch that timed out, it will be automatically retried

iohk-bors bot added a commit that referenced this pull request Oct 9, 2020
2223: Enable 100 wallet scenario in latency benchmark r=Anviking a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 9, 2020

Timed out.

#duplicate

@Anviking
Copy link
Member Author

bors r+
🎲 🙄

iohk-bors bot added a commit that referenced this pull request Oct 10, 2020
2223: Enable 100 wallet scenario in latency benchmark r=Anviking a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 10, 2020

Build failed:

#duplicate

Failures:

  test/unit/Network/Wai/Middleware/LoggingSpec.hs:119:5:
  1) Network.Wai.Middleware.Logging, Logging Middleware, GET, 200, no query
       uncaught exception: HttpException
       HttpExceptionRequest Request {
         host                 = "localhost"
         port                 = 57577
         secure               = False
         requestHeaders       = []
         path                 = "/get"
         queryString          = ""
         method               = "GET"
         proxy                = Nothing
         rawBody              = False
         redirectCount        = 10
         responseTimeout      = ResponseTimeoutDefault
         requestVersion       = HTTP/1.1
       }
        ConnectionTimeout

  To rerun use: --match "/Network.Wai.Middleware.Logging/Logging Middleware/GET, 200, no query/"

@Anviking
Copy link
Member Author

bors r+

iohk-bors bot added a commit that referenced this pull request Oct 11, 2020
2223: Enable 100 wallet scenario in latency benchmark r=Anviking a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 11, 2020

Build failed:

#duplicate

Cached failure of the above. Integration test results are not cached but unit test results are.

@rvl
Copy link
Contributor

rvl commented Oct 11, 2020

I restarted the failing unit test.

bors r+

iohk-bors bot added a commit that referenced this pull request Oct 11, 2020
2223: Enable 100 wallet scenario in latency benchmark r=rvl a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 12, 2020

Build failed:

#2233 on macos.

Failures:

  src/Test/Integration/Scenario/API/Shelley/Transactions.hs:949:5:
  1) API Specifications, SHELLEY_TRANSACTIONS, TRANS_EXTERNAL_02 - Multiple Outputs Transaction - Shelley witnesses
       uncaught exception: IOException of type UserError
       user error (Waited longer than 90s (more than 2 epochs) for an action to resolve. Action: "wFaucet and wSrc balances are as expected". Error condition: Just (HUnitFailure (Just (SrcLoc {srcLocPackage = "cardano-wallet-core-integration-2020.9.30-8S5x2S8YoF48Q0OmGSe0jU", srcLocModule = "Test.Integration.Scenario.API.Shelley.Transactions", srcLocFile = "src/Test/Integration/Scenario/API/Shelley/Transactions.hs", srcLocStartLine = 1024, srcLocStartCol = 18, srcLocEndLine = 1024, srcLocEndCol = 67})) (ExpectedButGot Nothing "Quantity {getQuantity = 999989843200}" "Quantity {getQuantity = 999989843100}")))

  To rerun use: --match "/API Specifications/SHELLEY_TRANSACTIONS/TRANS_EXTERNAL_02 - Multiple Outputs Transaction - Shelley witnesses/"

Randomized with seed 2146329132

Finished in 1715.9644 seconds
662 examples, 1 failure, 6 pending

@Anviking
Copy link
Member Author

bors r+

iohk-bors bot added a commit that referenced this pull request Oct 12, 2020
2223: Enable 100 wallet scenario in latency benchmark r=Anviking a=Anviking

# Issue Number

ADP-469, ADP-473


# Overview

- [x] Simply enable `Latencies for 100 fixture wallets`
- [x] Delete all wallets in between all latency scenarios
- [x] Rename DSL helper `tearDown` to `deleteAllWallets`, and re-use it more

# Comments


```
$ stack bench cardano-wallet
Benchmark latency: RUNNING...
    Non-cached run
        getNetworkInfo      - 20.7 ms
    Latencies for 2 fixture wallets scenario
        listWallets         - 1.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 2.2 ms
        postTransactionFee  - 86.4 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets scenario
        listWallets         - 4.8 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 2.0 ms
        postTransactionFee  - 93.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 100 fixture wallets
        listWallets         - 59.9 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.2 ms
        listTransactions    - 2.6 ms
        postTransactionFee  - 139.2 ms
        listStakePools      - 1.1 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 10 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 3.8 ms
        postTransactionFee  - 104.2 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 20 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 5.5 ms
        postTransactionFee  - 97.0 ms
        listStakePools      - 1.2 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 txs scenario
        listWallets         - 1.1 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 14.5 ms
        postTransactionFee  - 95.1 ms
        listStakePools      - 1.7 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 10 txs scenario
        listWallets         - 4.4 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.3 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 10 fixture wallets with 20 txs scenario
        listWallets         - 4.2 ms
        getWallet           - 0.4 ms
        getUTxOsStatistics  - 0.3 ms
        listAddresses       - 0.9 ms
        listTransactions    - 4.5 ms
        postTransactionFee  - 106.6 ms
        listStakePools      - 1.3 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 10 fixture wallets with 100 txs scenario
        listWallets         - 4.5 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 0.9 ms
        listTransactions    - 15.8 ms
        postTransactionFee  - 96.8 ms
        listStakePools      - 1.6 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 100 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 12.2 ms
        postTransactionFee  - 95.9 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 200 utxos scenario
        listWallets         - 1.7 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 25.1 ms
        postTransactionFee  - 96.6 ms
        listStakePools      - 1.4 ms
        getNetworkInfo      - 0.1 ms
    Latencies for 2 fixture wallets with 500 utxos scenario
        listWallets         - 1.6 ms
        getWallet           - 0.5 ms
        getUTxOsStatistics  - 0.4 ms
        listAddresses       - 1.0 ms
        listTransactions    - 69.7 ms
        postTransactionFee  - 87.9 ms
        listStakePools      - 1.5 ms
        getNetworkInfo      - 0.0 ms
    Latencies for 2 fixture wallets with 1000 utxos scenario
```

<!-- Additional comments or screenshots to attach if any -->

<!-- 
Don't forget to:

 ✓ Self-review your changes to make sure nothing unexpected slipped through
 ✓ Assign yourself to the PR
 ✓ Assign one or several reviewer(s)
 ✓ Once created, link this PR to its corresponding ticket
 ✓ Assign the PR to a corresponding milestone
 ✓ Acknowledge any changes required to the Wiki
-->


Co-authored-by: Johannes Lund <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 12, 2020

Build failed:

#2230

 src/Test/Integration/Scenario/API/Shelley/StakePools.hs:530:5: 
  1) API Specifications, SHELLEY_STAKE_POOLS, STAKE_POOLS_JOIN_05 - Can join when stake key already exists
       uncaught exception: RequestException
       DecodeFailure "{\"code\":\"network_unreachable\",\"message\":\"The node backend is unreachable at the moment. Trying again in a bit might work.\"}"

  To rerun use: --match "/API Specifications/SHELLEY_STAKE_POOLS/STAKE_POOLS_JOIN_05 - Can join when stake key already exists/"

Randomized with seed 955139569

@Anviking
Copy link
Member Author

questions life choices

bors+

@Anviking
Copy link
Member Author

bors r+

@Anviking
Copy link
Member Author

While de-duplicating tearDown code, it seems this PR adds status204 checks. I wonder if that has any effect. If that's the cause, that might be pretty interesting as we've still seen the "normal" failures here, just more often.

@iohk-bors
Copy link
Contributor

iohk-bors bot commented Oct 12, 2020

Build succeeded:

@iohk-bors iohk-bors bot merged commit efd056b into master Oct 12, 2020
@iohk-bors iohk-bors bot deleted the anviking/ADP-469/100-wallets-latency branch October 12, 2020 14:20
iohk-bors bot added a commit that referenced this pull request Oct 13, 2020
2235: Fix extra-source-files not containing files used by TH r=hasufell a=hasufell



2239: WIP: Bump version from 2020.9.30 to 2020.10.13 r=KtorZ a=jonathanknowles

<!-- Short optional summary -->

Compatible with [`[email protected]`](https://github.com/input-output-hk/jormungandr/releases/tag/v0.9.0) and [`[email protected]`](https://github.com/input-output-hk/cardano-node/releases/tag/1.21.1).

## New Features

- Adds the ability for users to select their own SMASH servers for stakepool listings. (#2214)
- Adds transaction expiry slots for pending transactions. (#1879)

## Improvements

- Adds a 100-wallet scenario to the latency benchmark. (#2223)
- Adds an executable `shelley-test-cluster` which starts an integration test cluster that includes faucets. (#2178)
- Extends `isOurs` to return the derivation path of an address. (#2219)

## Resolved Issues

- Make pool garbage collection handle an unknown current epoch. (#2203)
- Fixes incorrect mainnet network parameters returned from API. (#2226)

## Known Issues

**_This section is a work in progress._**

- Wallet restoration status reported incorrectly on mainnet. ([ADP-483](https://jira.iohk.io/browse/ADP-483))

## Documentation

<!-- A snapshot of the documentation at the time of releasing. -->

Cardano (cardano-node)                                                                                             | ITN (Jörmungandr)
---                                                                                                                | ---
[API Documentation](https://input-output-hk.github.io/cardano-wallet/api/v2020-10-13)                              | [API Documentation](https://input-output-hk.github.io/cardano-wallet/api/v2020-10-13)
[CLI Manual](https://github.com/input-output-hk/cardano-wallet/wiki/Wallet-command-line-interface/f71ecb7ece3deaec5bf60f4a4beea1d3950e0d46) | [CLI Manual](https://github.com/input-output-hk/cardano-wallet/wiki/Wallet-command-line-interface-jormungandr/f71ecb7ece3deaec5bf60f4a4beea1d3950e0d46)
[Docker Manual](https://github.com/input-output-hk/cardano-wallet/wiki/Docker/f71ecb7ece3deaec5bf60f4a4beea1d3950e0d46)                     | [Docker Manual](https://github.com/input-output-hk/cardano-wallet/wiki/Docker-jormungandr/f71ecb7ece3deaec5bf60f4a4beea1d3950e0d46)

## Installation Instructions

### Cardano (cardano-node)

1. Install [`[email protected]`](https://github.com/input-output-hk/cardano-node/releases/tag/1.21.1).

2. Download the provided `cardano-wallet` for your platform, and uncompress it in a directory that is on your `$PATH`, e.g. `/usr/local/bin`. Or `%PATH%` on Windows.

4. Start `cardano-wallet --help` and see available parameters.

#### Docker

Pull from DockerHub and verify the version matches 2020.10.13.

```
$ docker pull inputoutput/cardano-wallet:2020.10.13
$ docker run --rm inputoutput/cardano-wallet:2020.10.13 version
```

### ITN (jormungandr)

1. Install [`[email protected]`](https://github.com/input-output-hk/jormungandr/releases/tag/v0.9.0).

2. Download the provided `cardano-wallet-jormungandr` for your platform, and uncompress it in a directory that is on your `$PATH`, e.g. `/usr/local/bin`. Or `%PATH%` on Windows.

3. (optional) Install the bash/zsh auto-completion script according to the [jormungandr cli manual](https://github.com/input-output-hk/cardano-wallet/wiki/Wallet-Command-Line-Interface/{{JORM_CLI_WIKI_COMMIT}})

4. Start `cardano-wallet --help` and see available parameters.

#### Docker

Pull from DockerHub and verify the version matches 2020.10.13

```
$ docker pull inputoutput/cardano-wallet:2020.10.13-jormungandr
$ docker run --rm inputoutput/cardano-wallet:2020.10.13-jormungandr version
```

## Signatures

<!-- Signatures of people responsible for the release -->

Name                           | Role                | Approval
---                            | ---                 | ---:
Matthias Benkort @KtorZ        | Technical Team Lead | ⌛
Piotr Stachyra @piotr-iohk     | QA Engineer         | ⌛
Tatyana Valkevych @tatyanavych | Release Manager     | ⌛

Co-authored-by: Julian Ospald <[email protected]>
Co-authored-by: Rodney Lorrimar <[email protected]>
Co-authored-by: Jonathan Knowles <[email protected]>
Co-authored-by: IOHK <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants