Sherlock: delete
Context
I've never used Sherlock (maybe only once, when joined the team). Quickly searching through Slack, I don't see any mentions.
Moreover, when I enabled it in GDK how described in https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/sherlock.md, I received a crash
I suspect it may be even broken with our current config. I will check further.
2021-12-10_12:07:05.01588 rails-web : [BUG] frame2iseq: unreachable
2021-12-10_12:07:05.01593 rails-web : ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-darwin21]
2021-12-10_12:07:05.01594 rails-web :
2021-12-10_12:07:05.01595 rails-web : -- Crash Report log information --------------------------------------------
2021-12-10_12:07:05.01597 rails-web : See Crash Report log file under the one of following:
2021-12-10_12:07:05.01599 rails-web : * ~/Library/Logs/DiagnosticReports
2021-12-10_12:07:05.01600 rails-web : * /Library/Logs/DiagnosticReports
2021-12-10_12:07:05.01602 rails-web : for more details.
2021-12-10_12:07:05.01602 rails-web : Don't forget to include the above Crash Report log file in bug reports.
2021-12-10_12:07:05.01603 rails-web :
2021-12-10_12:07:05.01604 rails-web : -- Control frame information -----------------------------------------------
2021-12-10_12:07:05.01605 rails-web : c:0002 p:---- s:0006 e:000005 IFUNC
2021-12-10_12:07:05.01606 rails-web : c:0001 p:---- s:0003 e:000002 (none) [FINISH]
2021-12-10_12:07:05.01609 rails-web :
2021-12-10_12:07:05.01610 rails-web :
2021-12-10_12:07:05.01611 rails-web : -- C level backtrace information -------------------------------------------
2021-12-10_12:07:05.01829 rails-web : /Users/lipton/.asdf/installs/ruby/2.7.5/lib/libruby.2.7.dylib(rb_vm_bugreport+0x96) [0x101f81556]
2021-12-10_12:07:05.01835 rails-web : /Users/lipton/.asdf/installs/ruby/2.7.5/lib/libruby.2.7.dylib(rb_bug+0xcc) [0x101f8cfe6]
2021-12-10_12:07:05.01840 rails-web : /Users/lipton/.asdf/installs/ruby/2.7.5/lib/libruby.2.7.dylib(rb_profile_frame_absolute_path.cold.1+0x12) [0x101f8f572]
2021-12-10_12:07:05.01853 rails-web : /Users/lipton/.asdf/installs/ruby/2.7.5/lib/libruby.2.7.dylib(rb_profile_frame_absolute_path+0x62)
Next actions
Two possible scenarios: fix & restore OR remove.
I wasn't able to replace the lib and fix crashes in a timeboxed attempt.
My suggestion would be to delete the tool.
Sherlock provided two sets of data:
- query recording: source - but it seems that we use marginalia for investigation of the queries. Moreover, this is a universal approach, available in all environments, unlike Sherlock, which is only for development.
- LineProfiler: source - it seems that our performance bar flame graph output could solve a similar problem. Not exactly in the same format, but I find a flame graph output more descriptive than per-line timings.
^ It seems that we could obtain that data via other tools we have. My suggestion would be to delete Sherlock, for the time being, dropping 2000+ unused LOC and cleaning up a call stack (Sherlock injects itself into it, adding noise).