* Limit deep stack growth
* Improvements to deep stack trace culling
- Keep around the first deep stack trace; it may have useful
information. (We may want to change this in the future to
keep the first two stack traces, or even make it an option)
- Print out an indicator that we've elided stack traces, and
how many
* Add comments
* Add NEWS item
* Add test for unlimited deep stacks
* Code review feedback
* Code review feedback
Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
* Use head() over indexing
Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
* Improve unit test robustness
* Remove vector indices from snapshot
* Make stack trace stripping work across deep stacks
* Pass tests
* Try passing tests again
* Rename keep_head to retain_first_n
* Remove misleading variable assignment
* Add more comments, refine dropTrivialTestFrames
* Don't call stripStackTraces if we're not stripping
* Use deep stack deduplication instead of elision
This hopefully will avoid any potential ..stacktraceon../off..
scoring issues, and will be more useful for users. The downside
is that it's still possible to have uselessly large deep stack
traces, but at least that will only happen now if you have
manually written gigantic async/promise chains by hand or maybe
did some clever metaprogramming. The coro case should be fine.
* Add coro-based unit test
* Use rlang::hash, it's much faster
* typo
Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
* Remove unnecessary logic
* Simplify/robustify reactlog version checking test
* Warn only once on call stack digest cache miss
* Super conservatively wrap appendCallStackWithDupe in try/catch
* Use more specific attribute name
Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
* Remove excessively cautious try/catch
---------
Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
* Close#4011. Fix and simplify reactlog's version check approach.
* Better variable name
* Use test_path() for consistent path location
* Just use packageDescription()
* Update tests/testthat/test-reactlog.R
* Update tests/testthat/test-reactlog.R
* Update DESCRIPTION