3 ms·
I totally agree on the demand, but on the effort side the dynamic nature of JS makes it really tricky to do right. Thanks for your comment & let me know how it
by HenriNext 7y ago
I totally agree on the demand, but on the effort side the dynamic nature of JS makes it really tricky to do right. Thanks for your comment & let me know how it goes!
- thu2111 7y agoTake a look at GraalJS/Truffle instrumentation. It lets you easily run JS and even NodeJS on the JVM with per statement instrumentation handled at the engine layer. So it should make it very easy to add the code you need and the compatibility with modern js is great.
- HenriNext 7y agoThe critical problem is not the instrumentation, but the way how BugJail works: it doesn't dumb the raw events to disk, instead it reconstructs relational model of the program execution. This requires resolving raw low level events against schema of types/methods/fields/etc. With JS the schema is dynamic, so now the already hard 'reverse-engineering' has moving target. Not impossible, just hard. And thanks for the pointer to GraalJS/Truffle, I'll have look and perhaps that provides great way for doing the instrumentation side.