Live data from Hacker News

Magic-trace – High-resolution traces of what a process is doing

github.com

81–90 of 146 posts

Re: Magic-trace – High-resolution traces of what a process is doing

#81
post #2

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/ . 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 "ve…

So one needs to upload the trace log to your website to visualize? Any way to do it locally?

Re: Magic-trace – High-resolution traces of what a process is doing

#82
post #77
post #74

I wonder if there is some support for dumping pt-traces only on some condition? Would be useful for debugging spikes in busy-loops.

Absolutely! This is one of the main features of magic-trace, and in fact a primary use-case. You can select a trigger symbol for magic-trace to snapshot upon the next call of. This can be whatever you want, and you can imagine writing code like if (something_really_wonky_happened) { take_magic_trace(); } and asking magic-trace to take a snapshot of the past only when `take_magic_trace` is called.

Sounds great, thank you!

Re: Magic-trace – High-resolution traces of what a process is doing

#83
post #81
post #2

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/ . 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 "ve…

So one needs to upload the trace log to your website to visualize? Any way to do it locally?

Absolutely, check out https://github.com/janestreet/magic-trace#privacy-policy and 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).

Re: Magic-trace – High-resolution traces of what a process is doing

#84
post #22

Earlier quoted context omitted.

They are among the most notable users of OCaml in the world, and have taken significant stewardship of the language. They sponsor, attend, and publish at multiple academic conferences, especially in the realm of programming languages. I don't think I can say I support their company's primary mission, but their commitment to improving the world of software through various means (language influence, academic publicatio…

Yeah, quite impressive language to make the backbone of all your systems.

I doubt that it is used for actual trading. Maybe the OP can elaborate what the live infrastructure and backtesting setup look like?

Re: Magic-trace – High-resolution traces of what a process is doing

#85
post #20

Earlier quoted context omitted.

Partly because the cost of switching is impossible for them.

You think they are platinum-level sponsors at multiple conferences every year, sponsors of PLMW multiple times a year, sponsors for carbon-neutrality at ICFP each year, and continue investing in hiring PhDs and improving the OCaml ecosystem because... the... cost of switching away from OCaml is too great? I don't think that tracks. They like OCaml, and they are pretty adamant that it is a good tool for the job. Maybe…

I think they are mostly here to hire people. Not to educate.

Re: Magic-trace – High-resolution traces of what a process is doing

#86
post #78
post #6

Nice. And it satisfies my curiosity about whether trading firms are switching to AMD or not

For low-latency strategies, AMD's lack of DDIO [0] makes it a non-starter. The memory latency is a big gap to close. [0] https://www.intel.com/content/www/us/en/io/data-direct-i-o-t...

how do you access this DDIO feature if you are writing a C or C++ application? intrinsics?

Re: Magic-trace – High-resolution traces of what a process is doing

#87
post #32

Earlier quoted context omitted.

Do you take issue with the market maker business model?

I think just the idea of a company that does not directly produce things, and instead spends its efforts turning its money into more money via investment, is something that... doesn't entirely sit well with me. There is, of course, something to be said about the by-products of their work. Jane Street is far from an evil company, and I would not be entirely morally opposed to working for or with them. They do a lot of…

Fwiw, market makers sometimes say that by providing liquidity they benefit the whole market.

Re: Magic-trace – High-resolution traces of what a process is doing

#88

Earlier quoted context omitted.

Doesn't that pretty much characterise all for-profit companies?

I think for a lot of people there's a pretty big difference between these two business models: - We use cash to buy circuit boards, screens, enclosures, etc, write software, and sell mobile phones. - We use cash to rent a building, order pallets of inventory, and sell that inventory locally to walk-in customers. - We use cash to buy shares, hold onto them for a bit, and sell those same shares and make money off the s…

> - We use cash to rent a building, order pallets of inventory, and sell that inventory locally to walk-in customers.

> - We use cash to buy shares, hold onto them for a bit, and sell those same shares and make money off the spread.

Those two sound like pretty much the same thing.

Re: Magic-trace – High-resolution traces of what a process is doing

#89
post #49

"for Linux", just add that in the title. We shouldn't need to scroll through pages of text to figure that out.

I suppose it's easy to forget to mention, when doing open source development, and the target platform is also open source. Especially if it's Linux, which is the default.

Re: Magic-trace – High-resolution traces of what a process is doing

#90
post #86
post #78

Earlier quoted context omitted.

For low-latency strategies, AMD's lack of DDIO [0] makes it a non-starter. The memory latency is a big gap to close. [0] https://www.intel.com/content/www/us/en/io/data-direct-i-o-t...

how do you access this DDIO feature if you are writing a C or C++ application? intrinsics?

DDIO operates mostly transparently to software, with the I/O controller feeding DMAs into a slice of L3. Hardware can opt out by setting PCIe TLP header hints, and you have some system-wide configurability via MSRs, but it's not something a userspace application can take into its own hands.
Post reply on HN