Hello Whiskers,

I am working  on an integrated IDE & Debugger for OpenWhisk using the 
ActionLoop runtime, the standalone OpenWhisk and Eclipse Theia. This would be 
complementary to the existing wskdebug for Javascript and Java, as this works 
now for Typescript and I plan to add to other actionloop based runtimes.

You can see a demo here: https://www.youtube.com/watch?v=FhtGsm4Vnu4

I am using the standalone Openwhisk and Eclipse Theia, the in-browser 
vscode-like editor that can be deployed as a docker container.

The mechanic is simple: when I deploy an action I pass an additional 
environment variable __OW_DEBUG_PORT
The runtime when it sees this environment variable starts under a debugger.
I can then ask to the runtime the parameters to connect to the debugger and I 
use this to connect to the debugger,  as you can see in the demo.

I adapted the upcoming typescript runtime to do this,  but I plan to do similar 
changes also for other action loop based runtimes, like go and python. Also I 
am using a Makefile to start the environment but I am working on a standalone 
openwhisk-ide launcher. Unless we add the feature “ide" to the wsk cli 🙂, if 
you like the idea...

I have a couple of problems to solve and I am asking for help. The first 
problem is that I need to invoke an action twice as the first time the debugger 
does not attach. I guess it is because the image is paused. So I wonder if it 
is possible to enable an option that does not pause the container while running 
using the standalone openwhisk. And the second  problem is that sometimes I get 
more than one instance of an action. This happens when I redeploy. I wonder if 
it is possible to force the Lean Balancer to use only one instance of an action.

All of this of course are options only for development purposes but I think in 
this way OpenWhisk would be the ONLY serverless to include also an IDE with 
debugger ready to go. No more “serverless actions are hard to debug”.

-- 
  Michele Sciabarra
  mich...@sciabarra.com

Reply via email to