5 ms·
Hi HN! I'm Clark, one of the maintainers of magic-trace. magic-trace was submitted before, our first announcement was this blog post: https://blog.janestreet.c
by cgaebel 4y ago
Hi HN! I'm Clark, one of the maintainers of magic-trace.
magic-trace was submitted before, our first announcement was this blog post: https://blog.janestreet.com/magic-trace/ https://blog.janestreet.com/magic-trace/.
Since then, we've worked hard at making magic-trace more accessible to outside users. We've heard stories of people thinking this was cool before but being unable to even find a download link.
I'm posting this here because we just released "version 1.0", which is the first version that we think is sufficiently user-friendly for it to be worth your time to experiment with.
And uhh... sorry in advance if you run into hiccups despite our best efforts. Going from dozens of internal users to anyone and everyone is bound to discover new corners we haven't considered yet. Let us know if you run into trouble!
- panosfilianos 4y agoThanks for sharing this.
- giovannibonetti 4y agoI'm curious about why Standard ML (SML) was chosen for this project, given the track record Jane Street has with OCaml. Do you seen an advantage for using the former in this kind of project?
- tbr1 4y agoIt's all OCaml, GitHub is just misclassifying it as SML :)
- mananaysiempre 4y agoHint[1] in case you’re ever in this situation: echo '*.ml linguist-language=OCaml' >> .gitattributes echo '*.mli linguist-language=OCaml' >> .gitattributes [1] https://github.com/github/linguist/blob/master/docs/overrides.md https://github.com/github/linguist/blob/master/docs/override...
- cgaebel 4y agoThank you for this. I've made the change, but it looks like it may be several days before github gets around to refreshing the language statistics.
- geuis 4y agoOn the website, scrolling doesn't work in mobile safari.
- TooSmugToFail 4y agoAwesome work Clark! Any plans to support Arm in the future? Thanks!
- tbr1 4y agoWe don't have plans to add ARM support largely because we have no in-house expertise with ARM. That said, ARM has CoreSight which sounds like it could support something like magic-trace in some form, and we'd definitely be open to community contributions for CoreSight support in magic-trace.
- gigatexal 4y agoI’m probably missing something so apologies if this is obvious: does this only work on compiled programs or could it work on any arbitrary running code. Everything from Firefox to my random python script?
- tbr1 4y agoIt works best on compiled programs. We do try to support scripted languages with JITs that can emit info about what symbol is located where [1]. Notably, this more or less works for Node.js. It'll work somewhat for Python in that you'll see the Python interpreter frames (probably uninteresting), but you will see any ffi calls (e.g., numpy) with proper stacks. [1]: https://github.com/torvalds/linux/blob/master/tools/perf/Documentation/jit-interface.txt https://github.com/torvalds/linux/blob/master/tools/perf/Doc...
- zeusk 4y agoWindows has Windows Performance Analyzer, GPUView and PIX so most game devs are covered on that front :)
- deleted 4y ago[deleted]
- djmips 4y agoDo people still use GPUView? It hasn't seen a lot of development in years AFAIK and wondered if it was still working and useful. PIX is great! It gets regular updates and an active and responsive Discord channel.
- zeusk 4y agoWe use it internally, I'm not entirely certain of external usage. It still works and is good for tracking command packet scheduling and inter-process wait chains. Yup, PIX is THE tool for game developers. Direct3D team also has a very responsive discord channel :)
- b20000 4y agowhy do you guys use Caml?
- cgaebel 4y agohttps://www.youtube.com/watch?v=v1CmGbOGb2I https://www.youtube.com/watch?v=v1CmGbOGb2I
- b20000 4y agothat seems to be a presentation about language features. I'm mostly interested in the business reasons for using the language within what jane street does, and how the language offers a competitive advantage and why it is "good enough" for the highly competitive HFT landscape they work in.
- brobinson 4y agoThe language features are the competitive advantage.
- nesarkvechnep 4y agoBecause Java is not the be-all and end-all.
- b20000 4y agowhy use java when you have c++?
- ARandomerDude 4y agoSo you can use Clojure. ;-)
- la6472 4y agoSo one needs to upload the trace log to your website to visualize? Any way to do it locally?
- tbr1 4y agoAbsolutely, check out https://github.com/janestreet/magic-trace#privacy-policy https://github.com/janestreet/magic-trace#privacy-policy and https://github.com/janestreet/magic-trace/wiki/Setting-up-a-local-copy-of-the-UI https://github.com/janestreet/magic-trace/wiki/Setting-up-a-.... With a bit of extra configuration, magic-trace can host its own UI locally. You just need to build the UI from source, and point magic-trace to it (via an environment variable).