[{"data":1,"prerenderedAt":291},["ShallowReactive",2],{"project-26484339":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":34,"aspects":35,"strip":42,"post_text":44,"what":45,"said":58,"maker_in_thread":145,"shape":158,"grid":162,"attempts":252,"same_week":253,"maker_shows":220,"maker_hidden":283,"reader_version":284,"card":285},"26484339","Pyroscope","O(log n) makes continuous profiling possible","title","Show HN: O(log n) makes continuous profiling possible","https:\u002F\u002Fgithub.com\u002Fpyroscope-io\u002Fpyroscope\u002Fblob\u002Fmain\u002Fdocs\u002Fstorage-design.md","github.com","petethepig",1615935682,2021,166,37,289,2533,12,"notable","dev_tools","profiler","other",[24,25,26,27],"continuous profiling","sampling profiler","flamegraph","performance monitoring","curious",-0.022,{"positive":31,"neutral":32,"mixed":33,"critical":31},3,9,0,15,{"idea":36,"execution":39,"performance":40,"design":41},{"positive":37,"critical":38},1,2,{"positive":37,"critical":37},{"positive":33,"critical":33},{"positive":33,"critical":33},[37,33,31,33,33,33,33,33,33,31,31,33,33,33,31,43,33,33,33,33,33,33,31,37,33,43,31,33,31,33,37,43,33,31,31,33,33],5,null,{"problem":46,"audience":44,"pricing":44,"motivation":44,"time_to_build":44,"stack":56,"openness":57,"stage":57,"team_size":57},{"value":47,"source":48,"evidence":49},"Continuous profiling data storage and querying over time ranges","inferred",[50,52],{"id":51},"post",{"id":53,"by":54,"text":55},"26487131","yashap","Looks really interesting! How do you avoid data getting all jumbled together though? Like say I’m profiling a web service with 20 endpoints. If I’m profiling locally, I just call…",[],"unknown",{"praise":59,"objections":72,"requests":83,"questions":102,"alternatives":124},[60],{"value":61,"source":62,"evidence":63},"Looks cool and easy to use","commenter",[64,68],{"id":65,"by":66,"text":67},"26485300","sdenton4","This looks hella cool. Kudos!",{"id":69,"by":70,"text":71},"26486829","ramary","Nice! Seems super easy to use and the indexing + search are powerful features. Is it possible to configure the period of the sampling profiler? e.g. 1ms or 50ms instead of 10ms?",[73],{"value":74,"source":62,"evidence":75},"Sampling profilers may miss per-frame detail needed for games",[76,80],{"id":77,"by":78,"text":79},"26486923","jms55","Coming from a Rust game development background, something that's noticeable to me is that sampling based profiling seeks to solve a different problem than the types of questions…",{"id":81,"by":78,"text":82},"26493888","Say you sample every 10ms. This frame, and every frame for the sake of example, looks like this: * f1() - 1ms * f2() - 8ms * f3() - 4ms * wait_for_next_frame() - 3ms After 10ms,…",[84,94,98],{"value":85,"source":62,"evidence":86},"VSCode extension for inline highlighting",[87,91],{"id":88,"by":89,"text":90},"26485382","neolog","Any plans for a VSCode extension? I want it to highlight slow parts of my code inline like a linting layer.",{"id":92,"by":89,"text":93},"26487571","VSCode could show highlighting from different sources. For example, click a button to show what was slow in CI, in production, in local tests.",{"value":95,"source":62,"evidence":96},"Configurable sampling period",[97],{"id":69,"by":70,"text":71},{"value":99,"source":62,"evidence":100},"Separate profiles per endpoint or tag",[101],{"id":53,"by":54,"text":55},[103,110,117],{"value":104,"source":62,"evidence":105},"Does it work on Windows?",[106],{"id":107,"by":108,"text":109},"26491417","zurfer","Maybe I am overlooking something, but how do I use this on Windows? Do I need to put everything in Docker?",{"value":111,"source":62,"evidence":112},"How does it compare to JVM profiling agents?",[113],{"id":114,"by":115,"text":116},"26486467","still_grokking","How does it compare to just using a JVM agent to profile a production app?",{"value":118,"source":62,"evidence":119},"What is the performance overhead?",[120],{"id":121,"by":122,"text":123},"26486219","trungdq88","Looks awesome! Do you have the benchmark on how the profiler would affect the app in term of CPU\u002FMem usage?",[125,132,139],{"value":126,"source":62,"evidence":127},"Java Flight Recorder",[128],{"id":129,"by":130,"text":131},"26489493","brabel","Java Flight Recorder is also meant for being enabled in production and according to Oracle, typically has a very small footprint (in the order of 1-2% overhead). It even…",{"value":133,"source":62,"evidence":134},"Perfetto",[135],{"id":136,"by":137,"text":138},"26487323","vlovich123","Have you tried a flameshot graph? It’ll give you a nicer visualization of the relative amount of cpu something took. Sampling profilers are but one thing in the toolbox. On…",{"value":140,"source":62,"evidence":141},"Flamegraphs",[142],{"id":143,"by":78,"text":144},"26493764","I can't find any references to flameshot graphs, do you mean flamegraphs? They have the same issue, they tend to show the whole program, not per frame. Perfetto does look…",{"comments":146,"answered":147,"key":148},7,6,[149,152,155],{"id":150,"text":151},"26485653","That’s a great idea. We were thinking we could integrate Pyroscope with CI tools, so that you would be able to see how much time is spent in different tests. This seems to be an…",{"id":153,"text":154},"26485688","Thanks! We loved geeking out on all of these data structures and algorithms. RE comparisons: Do you mean comparisons of some production profiling data with versus without this…",{"id":156,"text":157},"26487720","Right now they are all mixed together. Based on our experience and talking to early users, for some types of applications this is not too big of a deal. You can always zoom in on…",{"commenters":159,"max_depth":43,"maker_replies":146,"first_comment_mins":160,"lifespan_hours":161},22,120,32,[163,165,169,171,173,177,179,183,184,186,190,191,193,196,198,199,203,205,208,211,213,215,218,223,224,225,228,229,231,232,235,238,240,242,246,248,250],[77,33,37,164,78,33],"project\u002Fcritical\u002Fidea",[166,33,33,167,168,33],"26487300","commenter\u002Fpositive\u002Fnone","chairmanwow1",[136,33,31,170,137,33],"project\u002Fneutral\u002Fidea",[143,33,33,172,78,33],"commenter\u002Fneutral\u002Fnone",[174,33,33,175,176,33],"26489316","other\u002Fneutral\u002Fnone","killingtime74",[178,33,33,175,78,33],"26493747",[180,33,33,181,182,33],"26490182","commenter\u002Fcritical\u002Fidea","Dylan16807",[81,33,33,181,78,33],[185,33,33,181,182,33],"26494478",[187,37,31,188,189,33],"26487515","project\u002Fneutral\u002Fexecution","psykotic",[88,38,31,170,89,33],[150,38,33,192,11,37],"maker\u002Fneutral\u002Fidea",[194,38,33,175,195,33],"26486664","raihansaputra",[197,38,33,175,89,33],"26486850",[92,38,31,170,89,33],[200,31,43,201,202,33],"26485433","project\u002Fpositive\u002Fexecution","zwliew",[153,31,33,204,11,37],"maker\u002Fneutral\u002Fnone",[206,31,33,175,207,33],"26487850","ZephyrBlu",[209,31,33,175,210,33],"26487990","knuthsat",[212,31,33,175,207,33],"26488211",[214,31,33,175,210,33],"26489267",[216,31,33,175,217,33],"26490971","vladimirralev",[219,220,31,221,222,33],"26487396",4,"project\u002Fneutral\u002Fperformance","KMag",[53,43,37,164,54,33],[156,43,33,192,11,37],[226,43,43,227,54,33],"26500168","maker\u002Fpositive\u002Fidea",[69,147,31,170,70,33],[230,147,33,192,11,37],"26496701",[121,146,31,221,122,33],[233,146,33,234,11,37],"26486278","maker\u002Fneutral\u002Fperformance",[107,236,37,237,108,33],8,"project\u002Fcritical\u002Fexecution",[65,32,43,239,66,33],"maker\u002Fpositive\u002Fnone",[241,32,33,239,11,37],"26485657",[243,32,31,244,245,33],"26489479","maker\u002Fneutral\u002Fdesign","ktpsns",[114,247,31,170,115,33],10,[249,247,33,204,11,37],"26486483",[129,247,33,251,130,33],"other\u002Fneutral\u002Fperformance",[],[254,259,264,269,274,279],{"id":255,"name":256,"points":257,"category":258},"26495059","Fontemon",605,"games",{"id":260,"name":261,"points":262,"category":263},"26475898","SELLFF",249,"web_saas",{"id":265,"name":266,"points":267,"category":268},"26491764","Dendron",237,"productivity",{"id":270,"name":271,"points":272,"category":273},"26453840","Critter.Camera",175,"hardware",{"id":275,"name":276,"points":277,"category":278},"26492931","gpu.land",168,"infrastructure",{"id":280,"name":281,"points":282,"category":273},"26472366","fixmyspeakers",148,false,"v2",{"id":286,"name":5,"line":6,"ai":283,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":287,"top":18,"kw":288,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":289,"url":9,"mix":290,"praise":61,"objection":74,"sub":21},26484339,-0.02,[24,25,26,27],"1030000003300035000000310530301503300",[31,32,33,31],1794036604536]