[{"data":1,"prerenderedAt":133},["ShallowReactive",2],{"project-47230620":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":32,"aspects":33,"strip":35,"post_text":29,"what":36,"said":59,"maker_in_thread":78,"shape":87,"grid":90,"attempts":97,"same_week":98,"maker_shows":15,"maker_hidden":126,"reader_version":127,"card":128},"47230620","CoroTracer","A zero-copy coroutine tracer to find my scheduler's lost wakeups","title","Show HN: I made a zero-copy coroutine tracer to find my scheduler's lost wakeups","https:\u002F\u002Fgithub.com\u002Flixiasky-back\u002FcoroTracer","github.com","lixiasky",1772534486,2026,49,3,1226,4366,29,"shown","dev_tools","coroutine debugging tracer","library",[24,25,26,27],"coroutine tracer","lost wakeups","scheduler debugging","zero-copy tracing","quiet",null,{"positive":31,"neutral":31,"mixed":32,"critical":31},0,1,{"execution":34},{"positive":31,"critical":31},[15,31,31],{"problem":37,"audience":29,"pricing":29,"motivation":43,"time_to_build":29,"stack":47,"openness":56,"stage":57,"team_size":58},{"value":38,"source":39,"evidence":40},"Finding lost wakeups in a coroutine scheduler","maker",[41],{"id":42},"post",{"value":44,"source":39,"evidence":45},"Find lost wakeups in the maker's scheduler",[46],{"id":42},[48],{"value":49,"source":50,"evidence":51},"C++ (CoroTracer.h header)","inferred",[52],{"id":53,"by":54,"text":55},"47247114","gpderetta","Very nice. I might steal some ideas. A small comment after a cursory look: the signaling in CoroTracer.h:162 is susceptible of missed wakeups; you would need a #StoreLoad fence…","open_source","prototype","unknown",{"praise":60,"objections":66,"requests":71,"questions":72,"alternatives":77},[61],{"value":62,"source":63,"evidence":64},"Useful ideas worth borrowing","commenter",[65],{"id":53,"by":54,"text":55},[67],{"value":68,"source":63,"evidence":69},"Signaling may miss wakeups without a StoreLoad fence and acquire load",[70],{"id":53,"by":54,"text":55},[],[73],{"value":74,"source":63,"evidence":75},"Whether relaxed load is intentional given missed wakeups",[76],{"id":53,"by":54,"text":55},[],{"comments":79,"answered":31,"key":80},2,[81,84],{"id":82,"text":83},"47258451","Thanks for the catch! You’re spot on about the missed wakeups. It's still a very early prototype—mainly just wanted to see if this whole architecture holds water. I'll definitely…",{"id":85,"text":86},"47258328","I didn't realize the mods had un-killed this post yesterday, so my apologies for the late replies. I'm very grateful to them for doing that—I just only now saw that it was live.",{"commenters":79,"max_depth":79,"maker_replies":79,"first_comment_mins":88,"lifespan_hours":89},1607,44,[91,93,95],[53,31,15,92,54,31],"project\u002Fmixed\u002Fexecution",[82,31,31,94,11,32],"commenter\u002Fneutral\u002Fexecution",[85,32,31,96,11,32],"other\u002Fneutral\u002Fnone",[],[99,104,109,113,118,122],{"id":100,"name":101,"points":102,"category":103},"47224295","I built a sub-500ms latency voice agent from scratch",570,"ai",{"id":105,"name":106,"points":107,"category":108},"47164270","Terminal Phone",322,"security_privacy",{"id":110,"name":111,"points":112,"category":103},"47195123","Now I Get It",305,{"id":114,"name":115,"points":116,"category":117},"47220809","Govbase",219,"productivity",{"id":119,"name":120,"points":121,"category":103},"47212576","Timber",207,{"id":123,"name":124,"points":125,"category":20},"47180083","RetroTick",195,false,"v2",{"id":129,"name":5,"line":6,"ai":126,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":130,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":131,"url":9,"mix":132,"praise":62,"objection":68,"sub":21},47230620,[24,25,26,27],"300",[31,31,32,31],1793991146359]