Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Today I'm launching PM2 DevTools, a browser extension that allows you to manage PM2 processes and logs from your browser. This has been a fun side project for me, and while I realize the demographic for a tool like this is likely pretty narrow I'm still excited to show it off.
Today I'm launching PM2 DevTools, a browser extension that allows you to manage PM2 processes and logs from your browser. This has been a fun side project for me, and while I realize the demographic for a tool like this is likely pretty narrow I'm still excited to show it off.
PM2 DevTools was born out of a desire to interact and do something with the logs FxA produced without needing to leave the browser. Specifically, when you sign up for a new account you need to enter an account verification code in the browser, and locally this is printed in one of the process logs.
You can go download it from Firefox Add-ons right now and try it out. I even put together a little example PM2 project you can use.
As soon as you run PM2 DevTools it starts a background script that attempts to connect to the PM2 WebSocket server. The WebSocket is responsible for delivering all the data used by the extension, such as listing processes and streaming log data. Once that connection is made it is maintained until the browser is closed. If configured, logs may start flowing in and the script evaluates each log event against any of the tabs you have open with any Log Scripts you have saved (more on this later). Otherwise, the background script lies in wait for a connection to be made from the part of the extension that you'll interact with: the panel.