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

add codecoverage / codecov integration #199

Closed
wants to merge 71 commits into from

Conversation

D-Stacks
Copy link
Collaborator

this adds codecov functionality. i.e. test coverage can be tracked at here (on first upload) and automatic comments of coverage differences will be posted to PRs.

@codecov-commenter
Copy link

codecov-commenter commented Jun 10, 2023

Codecov Report

❗ No coverage uploaded for pull request base (master@9671380). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #199   +/-   ##
=========================================
  Coverage          ?   63.00%           
=========================================
  Files             ?      381           
  Lines             ?    37248           
  Branches          ?    37248           
=========================================
  Hits              ?    23468           
  Misses            ?    12762           
  Partials          ?     1018           

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@D-Stacks D-Stacks marked this pull request as draft July 16, 2023 09:09
michaelsutton and others added 28 commits January 23, 2024 23:05
…anet#374)

* track block txs by approx bytes

* 0.5 scale factor on byte budgets

* fix obsolete comment (unrelated to this pr)

* reduce orphan block flood

* use tracked bytes mode for acceptance data cache

* impl `estimate_mem_units` only when actually used

* propagate ram scale arg from the command line

* add to simpa as well

* make it clear that mass is an average

* fix cpu usage stat
* check_subscription_before_vccn

* simplfy to root notifer only

* simplify one last time. no need to be in notify trait at all.
* Add a pruning exit point on advance_pruning_utxoset

* Fix log
* Add timestamps to IBD progress

* Add timezone

* Address review comments

* Change error message
* Implement basic tx throttling on high P2P load

When P2P load is high:
1. Limit the number of peers to broadcast to
2. Limit the number of transactions requested when requesting missing
   transactions
3. Reduce the size of the invs channel and allow dropping invs when
   it's full

* Renames and small fixes

* Saturating sub for unknown tx limit

* Some fixes

* Remove redundant collect

* Fix lint

* restore collect

---------

Co-authored-by: Ori Newman <[email protected]>
Co-authored-by: Michael Sutton <[email protected]>
Co-authored-by: Michael Sutton <[email protected]>
* move frequent logs to debug

* wip storage mass calculation

* use checked add and return Option<u64>

* add mass field

* add mass to all necessary communication structs

* rename `calculated_mass` to `calculated_compute_mass` to make it explicit that storage mass is not included in this field

* apply bew mass as mempool rule

* apply storage mass rule to body processor

* apply storage mass rule to virtual in context validation

* some important prints

* simplify inner hashing condition + add todo

* add low-level storage mass tests

* add future todo

* fix tx hashing for BBT

* fix mass counting in body validation

* set mass in the correct place (in consensus)

* remove spam blocking patch

* fix fee rate (safe bcs fee is unwrapped which happens only for validated txs)

* fix tests

* renames and minor review comments

* fix mass sum

* add storage mass to simpa + activation switch

* prevent rothschild from sending dust

* new genesis

* new dns seeder

* activate storage mass on start

* new db version

* bump version

* make is synced smaller on TNets

* fix min items allocation for GD data

---------

Co-authored-by: Ori Newman <[email protected]>
* Update testnet11.md

* Another update

* Some fixes

* Some fixes

* Some fixes
Removed "first experiment" section
* fix timestamp deviation tolerance for 10 bps (note that the change does not affect 1bps -> target time =1000)

* bump version
* Add nogrpc flag

When set, the gRPC service is not initialized

* Set default grpc listen to 127.0.0.1

* Preserve rpc registration order
…kaspanet#394)

* migrate settings to network params containing consts

* fix unit tests
…transaction acceptance. (kaspanet#393)

* Fix balance calculation overflow when waiting for compound transaction acceptance.

* account for fees in compound transactions
* cleanup

* do not inject port based on network type in wRPC URL when using SSL or have path

* update URL port injection logic
* Remove mimalloc "override" feature for macos only

* Move mimalloc dependency fully in utils/alloc
* Refactor sync event emission order and UtxoProcessor cleanup. Remove legacy RPC support.

* Refactor sync event emission order and UtxoProcessor cleanup. Remove legacy RPC support.

* update comments

* externalize wallet.reload() to the wallet API as wallet_reload_call()
…panet#396)

* Update workflow-rs to 0.10.3

* add encryption example

* fix decrypt_xchacha20poly1305 JS bindings

---------

Co-authored-by: Michael Sutton <[email protected]>
* When tx throttled, preferrentially relay to outbound peers

* Convert check tx throttling to be easily testable

* Fix TPS logic; Refactor rpc tx counter snapshot

* Optimize hub peer selection logic

Co-authored-by: Michael Sutton <[email protected]>

* Fix rpc -> p2p tx throttling typo

* Further optimize hub peer selection to avoid alloc

Co-authored-by: Michael Sutton <[email protected]>

---------

Co-authored-by: Michael Sutton <[email protected]>
* Add indexed db dependencies

* Implementation progress for load_single

* progress idb transaction store

* use `Arc<Inner>` pattern

* implementing try from jsvalue for types to be stored in idb

* try from js value for utxo record

* remove manual parsing and use borsh data to deserialize

* indexdb progress

* indexdb store and load multiple

* indexdb remove, store tx note, store tx metadata

* Add encryptable to transaction record for jsvalue

* Remove logs

* unnecessary import removed

* Move from/to js value to idb implementation itself

* fix some of the clippy warnings

* fix all clippy warnings

---------

Co-authored-by: aspect <[email protected]>
* make a better estimation of header count (during IBD this will now count for the headers phase)

* rpc service responsiveness: use `transaction_count_sample` for inferring mempool size

* use counters snapshot

* introduce last known good virtual state cache

* move processing counters to consensus core and remove rpc service crate dep on consensus

* extract consensus stats to a single call

* turn some consensus session calls into non-async + fix get_block_dag_info_call

* use saturating_sub instead of checked_sub + unwrap_or_default

* use join over all async calls

---------

Co-authored-by: coderofstuff <[email protected]>

---------

Co-authored-by: coderofstuff <[email protected]>
* bump to 0.13.4

* bump to 0.13.4

* fix incorrect version due to a toolchain issue
* replace NetworkType with NetworkId in the tx generator and related APIs

* fix url path rendering in format_url

* Improve mass related errors

* refactor fee handling

* renaming fee variants

* mass combination strategy

* wip - storage mass

* additional unit tests and limit checks

* Introduce per-network configurable additional compound transaction compute mass (currently set to 100 on tn10 and tn11)

* expand sanity checks to handle 0 value outputs

* documentation updates

* code formatting

* Set new input sequence to 0

* change aggregate input value check to use saturating_sub() to prevent potential overflows (re github feedback)

* change storage mass fee calc to return u64::MAX if the resulting mass is None (re GitHub feedback)
* increase semaphore yield duration to 30 micros + tighten the test (so that w/o this fix it would fail certianly)

* allow the test 2 read capture attempts + add macos experiment results
@D-Stacks
Copy link
Collaborator Author

outdated

@D-Stacks D-Stacks closed this Jan 23, 2024
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.