New bot: Breakpointable
Nobody has claimed this yet.
- Dominant language
- Raku
- Stars
- 19
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
<timotimo> new bot idea
<timotimo> breakpointable :)
<timotimo> you'd pass a list of filename:linenumber pairs and a piece of code or url, the bot would attach a debug remote to the moar process, set up the breakpoints, and count how often each breakpoint gets hit and what different unique backtraces there are for it
<timotimo> sounds good?
<timotimo> the breakpoint counts can be optional, too, since the api differentiates that
<timotimo> er, i mean backtrace counts
<timotimo> extra bonus points: run the whole rakudo spec test suite and aggregate counts over all test files :)
<timotimo> not actually sure we need that
<AlexDaniel> maybe?
<AlexDaniel> we have 16 bots, and undersightable is 17th
<AlexDaniel> I myself don't even remember what all of them do, so breakpointable is maybe over the top a bit
<AlexDaniel> timotimo: maybe if you make a nice module for your breakpointable idea, then we'll just make a bot that uses that module…
<timotimo> there is a module
<timotimo> it's called MoarVM::Remote :)
<timotimo> https://github.com/edumentab/p6-moarvm-remote/blob/ffd24e8890a404fad921d089954378eefc4353a6/lib/MoarVM/Remote.pm6#L362 - call this, you'll get a hash with a notifications key that'll be a Supply. make sure to send False for suspend so it won't stop when it hits this breakpoint
<timotimo> run moar with --debug-port=a-free-port-number --debug-suspend so you can set the breakpoint before code runs
<timotimo> then call $remote.resume(*)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the referenced MoarVM::Remote breakpoint API and the notes about running moar with --debug-port and --debug-suspend. Determine how a bot would accept filename:line pairs and code or a URL, attach to the process, resume it, and aggregate breakpoint notifications and unique backtraces. Done would mean a defined bot workflow that reports those results, though no repository entry point or tests are identified.
Written by the indexing model from the issue text.
Assessment
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100