Hacker News new | past | comments | ask | show | jobs | submit login

Was just thinking of something like this last night. Now, wonder if I can compile JS and automatically wire up apm for all spans.



I do have some experimental code working with QuickJS that does this. Feel free to reach out of if you're interested in trying it out or start a discussion https://github.com/dylibso/observe-sdk/discussions


I’ll be reviewing.

Question: are you wiring it up like how APM is wired up in JVM applications or what exactly are you doing? Does it effect stack trace outputs or leave those alone?


I have an instrumented version of QuickJS that can be used in the javy toolchain: https://github.com/bytecodealliance/javy

There are two primary goals:

1. Emit metrics directly about the QuickJS runtime similar to node metrics 2. Expose the Observe API as js bindings

With the Observe API exposed to JS, you can do manual instrumentation. I have also instrumented the pieces of QuickJS that invoke JS functions in order to automatically emit spans and it works, but still trying to fill some information gaps to make it more usable than manual instrumentation.

> are you wiring it up like how APM is wired up in JVM applications or what exactly are you doing? Does it effect stack trace outputs or leave those alone?

I can't speak to how JVM does it, but no this does not effect the call stack.


Awesome work and looking forward to checking it out.

One thing I’m also thinking about for node and friends is looking into is using v8 profiling and seeing if I can hook up something from that.

But yeah, great stuff




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: