npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@newrelic/introspector-node

v1.0.0

Published

newrelic-introspector-node

Downloads

236

Readme

newrelic-introspector-node

npm status badge Introspector CI codecov

This is a CLI tool for discovering instrumentable Node.js applications on a system, retrieving contextual information about them, and automating the install of the New Relic Node agent.

Currently the instrument command only discovers and instruments processes hosted with the PM2 process manager. Support for other process managers will be explored in the future.

Getting Started

> npm i -g @newrelic/introspector-node
> newrelic-introspector-node list
[ 12345 ]

> newrelic-introspector-node introspect --pid 12345
{
  pid: 12345,
  pm_id: 0,
  name: 'server',
  pm_exec_path: '/Users/myuser/node-app/src/server.js',
  pm_cwd: '/Users/myuser/node-app'
}

> newrelic-introspector-node instrument --pid 12345 --licenseKey $NEW_RELIC_LICENSE_KEY --appName "My Node Application"
...
Process instrumented successfully

Instrumenting processes

The instrument command automates several installation steps:

  1. Executes npm install newrelic --save in the working directory of the running application, as provided by PM2.
  2. Sets the NEW_RELIC_APP_NAME and NEW_RELIC_LICENSE_KEY environment variables.
  3. Restarts the application using PM2's restart command, adding -r newrelic to the interpreter args and injecting the newly set environment variables with the --update-env flag.

Instrumentation will survive further restarts with PM2, but may be lost if the application is redeployed or any other actions are taken that revert the changes above.

Support

New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other customers to get help and share best practices. Like all official New Relic open source projects, there's a related Community topic in the New Relic Explorers Hub. You can find this project's topic/threads here.

Contribute

We encourage your contributions to improve newrelic-introspector-node! Keep in mind that when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. You only have to sign the CLA one time per project.

If you have any questions, or to execute our corporate CLA (which is required if your contribution is on behalf of a company), drop us an email at [email protected].

A note about vulnerabilities

As noted in our security policy, New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals.

If you believe you have found a security vulnerability in this project or any of New Relic's products or websites, we welcome and greatly appreciate you reporting it to New Relic through our bug bounty program.

If you would like to contribute to this project, review these guidelines.

License

newrelic-introspector-node is licensed under the Apache 2.0 License.

[The newrelic-introspector-node also uses source code from third-party libraries. You can find full details on which libraries are used and the terms under which they are licensed in the third-party notices document.]