Skip to content

resync#1

Open
jwoodrow wants to merge 258 commits into
moonproject:masterfrom
test-prof:master
Open

resync#1
jwoodrow wants to merge 258 commits into
moonproject:masterfrom
test-prof:master

Conversation

@jwoodrow

Copy link
Copy Markdown

No description provided.

palkan and others added 30 commits September 27, 2021 14:41
All recent versions of JRuby support unicode identifiers.
* Respect the printer on the configure block

It was being cached and ignoring the one defined the configuration

* Update CHANGELOG

* Fix rubocop warnings

* Satisfy rubocop

* Update CHANGELOG.md

Co-authored-by: Guillermo Siliceo <guillermo.siliceo@gmail.com>
Co-authored-by: Vladimir Dementyev <dementiev.vm@gmail.com>
* restore the lock_thread value after rollback

* use :@lock_thread instead of "@lock_thread"

* avoid instance variable collisions with cats

* add a changelog entry

Co-authored-by: Vladimir Dementyev <dementiev.vm@gmail.com>
This is to ensure that if tests were run in parallel, that values would
not override each other/be used from other threads.
palkan added 2 commits March 11, 2026 22:45
Use a penalty mechanism by estimating the amount of time lost due to low TPS compared to the target TPS
palkan and others added 17 commits March 18, 2026 22:46
```shell
$ curl -s -o /dev/null -w "%{http_code}\n" https://test-prof.evilmartians.io/misc/rubocop
404
% curl -s -o /dev/null -w "%{http_code}\n" https://test-prof.evilmartians.io/guide/misc/rubocop
200
```
`lib/test_prof/core.rb` requires "logger", which is no longer a default
gem as of Ruby 4.0.
ref: https://www.ruby-lang.org/en/news/2025/12/18/ruby-4-0-0-preview3-released/#stdlib-updates

Declare it explicitly so test-prof does not rely on
it being pulled in transitively (e.g. via activesupport).

Signed-off-by: moznion <moznion@mail.moznion.net>
RSpecDissect stores its span stack in a thread-local
(Thread.current[:_rspec_dissect_spans_stack]) that is only initialized
via reset! on the RSpec example thread. When a memoized helper (let) is
evaluated on a different thread -- most commonly a Capybara :js/system
spec, where the app runs in a separate Puma server thread -- current_span
and track dereference the uninitialized thread-local and raise
NoMethodError: undefined method 'last' for nil.

Lazily initialize the span stack in span_stack so access from a
non-example thread is a safe no-op (spans created off the example thread
are simply not collected as part of that example's setup timing). This
fixes both current_span and the << / pop in track.

Introduced in 1.6.0 with the RSpecDissect let-breakdowns feature; 1.5.2
is unaffected.
FlameGraphPrinter was added in
ruby-prof/ruby-prof@4eddb90
and ruby-prof could support that format.
Add support for FlameGraphPrinter
Fix RSpecDissect crash when let is evaluated on a non-example thread
Add logger as a runtime dependency
Cause we can't compile rbs extensions
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.