Last year our team released the IDE extension New Relic CodeStream, which allows you to enhance your IDE by providing real-time code reviews, feedback, comments, and instrumentation directly in your IDE. New Relic CodeStream is currently available for Visual Studio, Visual Studio Code, and JetBrains.
CodeStream also has an integration with New Relic that enables you to automatically filter your telemetry data in the context of your code. With this integration, you can see error data alongside the code open in your IDE, making it easier to monitor your code’s performance and resolve errors based on real-time data.
Today, we are announcing that the CodeStream integration with New Relic now includes code-level metrics, a new feature that provides rich data on the golden signals alongside your code.
Accessing code-level metrics in your IDE
Now you can dive deeper into the functions of your code by combining the powers of dashboard monitoring in New Relic and CodeStream IDE extensions. You get instant observability of your functions with code-level metrics.
With distributed tracing enabled, a few attributes attach automatically to your span data so your IDE can seamlessly present information on Google’s golden signals. For instrumented functions in your repository, you get this information directly in your IDE. This example shows response time, throughput, and error rate displayed as text, right above the function in the IDE:
This example shows the panel in your IDE where you can select the function and view details on response time, throughput, and error rate:
With these golden signals, you can identify opportunities in your code to improve your error rate, latency, traffic, and saturation. All of this comes with the added benefit of viewing this directly in your IDE, and you can add more important context about these signals in your codebase when communicating through CodeStream.
You don’t need to apply any special filters or parse through endless streams of data to uncover which bits of information are most relevant to the functions you are looking at. The CodeStream integration automatically filters your telemetry data, providing a window pane of insights in your IDE matching the functional code most recently selected.
Code-level metrics is just the start of our journey towards a seamless observability ecosystem that brings the power of New Relic directly to where you are coding.
Get started today with code-level metrics
1. Update your Python agent
To install or update the agent run the following command in your environment:
- To update your agent, run the command:
pip install --upgrade newrelic
- To install the agent, run the command:
pip install newrelic
- If you are running into issues building wheels during installation; use the flag
To validate that you have the correct Python Agent installed use these steps:
- In New Relic One, navigate to the Environment tab (under Settings in the left menu bar) for your APM service.
- Verify that the Agent Version is listed as 220.127.116.11 (or the latest version).
2. Install the CodeStream extension
You can install the CodeStream extension as you would any other extension for VS Code or a JetBrains IDE by going to the marketplace in your IDE. Make sure you’re running the latest version (v12.12 or later).
3. Sign up for CodeStream
If you aren’t already on CodeStream, you’ll need to sign up and create an account.
CodeStream offers a number of signup options, but we suggest that you select Sign up with New Relic. In one step, you’ll be signed up for CodeStream and connected to your New Relic One account.
If there are people from your company that are already on CodeStream, you should have someone invite you to the CodeStream organization they’ve already created rather than creating a new one.
It’s also possible that your company’s CodeStream admin allows anyone signing up with a work email address to join the existing organization without needing to be invited. In this case, you’ll see that organization listed for you to join after you sign up.
After selecting Sign up with New Relic, you are prompted to enter your user API key from New Relic. Click here to create a user API key.
4. Connect to New Relic
If you selected a signup option other than New Relic, you need to connect to New Relic after you complete the signup. Just look for the Connect to New Relic One button in the Observability section of the CodeStream pane.
5. Associate a repository with your Python service
The Observability section of the CodeStream pane should now list all of the repositories you have open in your IDE. Make sure that the repository you want to integrate is open. Assuming it’s in the list, you’ll be able to select the corresponding APM service from your New Relic One account. See the
hello-ny example in this screenshot:
If you have multiple services that correspond to this repo (such as different services for different environments), you can make additional
repo<>service associations by going to the Service Summary page in New Relic and looking for the Repositories section at the bottom right.
Note that after you make the
repo<>service association, you might start to see recent errors for that service appearing here in the Observability section.
6. Open a Python project
Next, open a Python project in your IDE that corresponds to an instrumented service in New Relic. Soon, you should see golden signals appear as a codelens above the instrumented methods (if you are using Visual Studio).
Select the golden signals to see more detail.
If the repository that's currently open in your IDE isn't associated with a service in New Relic One, you are prompted to connect your repository to New Relic One.
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.