Skip to content

Commit

Permalink
Merge pull request #7160 from newrelic/APM-intro-rewrite
Browse files Browse the repository at this point in the history
feat(apm): New intro and nav changes
  • Loading branch information
bradleycamacho committed May 27, 2022
2 parents f287d1d + 5c9a17f commit 4be8e09
Show file tree
Hide file tree
Showing 2 changed files with 148 additions and 128 deletions.
276 changes: 148 additions & 128 deletions src/content/docs/apm/new-relic-apm/getting-started/introduction-apm.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,150 +17,170 @@ redirects:
- /docs/apm
- /docs/apm/new-relic-apm
- /docs/apm
- /docs/apm/new-relic-apm/getting-started/introduction-apm
---

import apmScreenshot from 'images/apm-screenshot.png'
import apmOverview from 'images/apm-intro-overview.png'

Application performance monitoring (APM) is exactly what it sounds like: Monitoring of your web or non-web application's performance. APM supports apps for several programming languages, including [Go](/docs/agents/go-agent/get-started/introduction-new-relic-go), [Java](/docs/agents/java-agent/getting-started/introduction-new-relic-java), [.NET](/docs/agents/net-agent/getting-started/introduction-new-relic-net), [Node.js](/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs), [PHP](/docs/agents/php-agent/getting-started/introduction-new-relic-php), [Python](/docs/agents/python-agent/getting-started/introduction-new-relic-python), and [Ruby](/docs/agents/ruby-agent/getting-started/introduction-new-relic-ruby), as well as a [C SDK](/docs/agents/c-sdk/get-started/introduction-c-sdk).
import clogo from 'images/clogo.png'

import gologo from 'images/gologo.png'

import javalogo from 'images/javalogo.png'

import dotnetlogo from 'images/dotnetlogo.png'

import nodejslogo from 'images/nodejslogo.png'

import pythonlogo from 'images/pythonlogo.png'

import phplogo from 'images/phplogo.png'

import rubylogo from 'images/rubylogo.png'

New Relics' application performance monitoring (APM) provides a unified monitoring service for all your apps and microservices. Monitor everything from the hundreds of dependencies of a modern stack down to simple web-transaction times and throughput of an app. Keep track your app's health in real-time by monitoring your **metrics**, **events**, **logs**, and **transactions** (MELT) through pre-built and custom dashboards.

Our APM service provides the flexability to monitor the exact things you need from your app by automatically instrumenting your code when you install one of our agents.

- Is your early-access software still slightly unstable? Proactively monitor and solve those errors before they affect your users with errors inbox.
- What if your users always comment on how speedy your webapp is and you want to quantify that feedback? Measure their satisfaction by monitoring your Apdex in a glance.
- Need somewhere to store your logs? Our agents automatically ingest them.
- What if your modern stack has dozens or even hundreds of dependencies to keep track of? Easily track them with automap and external services.

Want to save time with a single unified monitoring solution? Click a logo to get started with APM. It takes just a few minutes!


<TechTileGrid>
<TechTile
name="C SDK"
icon="logo-c"
to="https://one.newrelic.com/nr1-core?state=af6becca-be1e-7436-bfaf-6d953ecb6d17"
/>

<TechTile
name="Go agent"
icon="logo-go"
to="https://one.newrelic.com/nr1-core?state=0545168b-2b10-a80e-e884-e4012df58a54"
/>

<TechTile
name="Java agent"
icon="logo-java"
to="https://one.newrelic.com/nr1-core?state=c64efd1c-9107-c4d0-21c0-2b1d859a2231"
/>

<TechTile
name=".NET agent"
icon="logo-dotnet"
to="https://one.newrelic.com/nr1-core?state=abd2b6e8-1742-cabf-ffab-f3bba2804149"
/>

<TechTile
name="Node.js agent"
icon="logo-nodejs"
to="https://one.newrelic.com/nr1-core?state=65cc8ebd-2c1f-2756-44c4-aed0a37d67c8"
/>

<TechTile
name="PHP agent"
icon="logo-php"
to="https://one.newrelic.com/nr1-core?state=ea8c1b2b-a8ab-b9e7-13b7-5f8db05848ff"
/>

<TechTile
name="Python agent"
icon="logo-python"
to="https://one.newrelic.com/nr1-core?state=754ab217-ad1d-a3d6-22a5-8d354c7709a5"
/>

<TechTile
name="Ruby agent"
icon="logo-ruby"
to="https://one.newrelic.com/nr1-core?state=bca86cc6-7cca-88e9-d4d6-1a3b7e0c1b78"
/>

</TechTileGrid>

<img
title="APM example"
title="APM overview"
alt="An image showing an example APM page."
src={apmScreenshot}
src={apmOverview}
/>

<figcaption>
View the status of all your services at a glance with APM.
</figcaption>

<Callout variant="tip">
This doc gives you detailed information about why APM matters to your business. But if you want to skip ahead, just [sign up for a New Relic account](https://newrelic.com/signup)... it's free, forever! Then, after you [install the agent](/docs/using-new-relic/cross-product-functions/install-configure/install-new-relic), you can start [working with your data](/docs/data-apis/get-started/nrdb-horsepower-under-hood).
</Callout>
## How it all works [#how-works]

## Ready to get started? [#get-started]
New Relic instruments your application at a code level through the use of one of our many language agents. These agents gather metrics from your application and send them to New Relic APM so you can monitor your app through pre-built dashboards.

Start benefiting from APM in five simple steps (and just a few minutes!).

1. [Sign up](https://newrelic.com/signup/) for a New Relic account.
2. [Install and customize the language agent](/docs/agents/manage-apm-agents/installation/install-agent#apm-install) for your app.
3. Generate some traffic for your app.
4. Wait a few minutes for New Relic to start receiving your data.
5. Log in to your account, and [start exploring New Relic](/docs/new-relic-one/use-new-relic-one/get-started/introduction-new-relic-one)!
## Install APM [#get-started]

Use the [Explorer](/docs/new-relic-one/use-new-relic-one/core-concepts/new-relic-explorer-view-performance-across-apps-services-hosts/) to access and observe the full stack of your software, including your apps, see performance data and alerting status at a glance, and check relationships. We provide you with a simple, yet powerful visual tool to monitor all your [entities](/docs/new-relic-one/use-new-relic-one/core-concepts/what-entity-new-relic/), that is, anything we can identify that reports data. In the New Relic ecosystem, entities include basic components like applications, hosts, containers, or database services, but it can also refer to custom groupings of such elements. You can also [create your own entities](https://github.com/newrelic/entity-definitions#entity-definitions).
Get started with APM in just a few short steps:


1. [Sign up](https://newrelic.com/signup/) for a New Relic account.
2. Install the language agent for your app:

<TechTileGrid>
<TechTile
name="C SDK"
icon="logo-c"
to="https://one.newrelic.com/nr1-core?state=af6becca-be1e-7436-bfaf-6d953ecb6d17"
/>

<TechTile
name="Go agent"
icon="logo-go"
to="https://one.newrelic.com/nr1-core?state=0545168b-2b10-a80e-e884-e4012df58a54"
/>

<TechTile
name="Java agent"
icon="logo-java"
to="https://one.newrelic.com/nr1-core?state=c64efd1c-9107-c4d0-21c0-2b1d859a2231"
/>

<TechTile
name=".NET agent"
icon="logo-dotnet"
to="https://one.newrelic.com/nr1-core?state=abd2b6e8-1742-cabf-ffab-f3bba2804149"
/>

<TechTile
name="Node.js agent"
icon="logo-nodejs"
to="https://one.newrelic.com/nr1-core?state=65cc8ebd-2c1f-2756-44c4-aed0a37d67c8"
/>

<TechTile
name="PHP agent"
icon="logo-php"
to="https://one.newrelic.com/nr1-core?state=ea8c1b2b-a8ab-b9e7-13b7-5f8db05848ff"
/>

<TechTile
name="Python agent"
icon="logo-python"
to="https://one.newrelic.com/nr1-core?state=754ab217-ad1d-a3d6-22a5-8d354c7709a5"
/>

<TechTile
name="Ruby agent"
icon="logo-ruby"
to="https://one.newrelic.com/nr1-core?state=bca86cc6-7cca-88e9-d4d6-1a3b7e0c1b78"
/>

</TechTileGrid>

Now all you need to do is generate some traffic to your applicaton and log into your account. You should start seeing data flow in within a few minutes!

If data does not appear after waiting a few minutes, follow the [troubleshooting tips](/docs/agents/manage-apm-agents/troubleshooting/not-seeing-data) for your APM agent.

## Identify problems before your users do [#why-matters]

Our APM agents report and store the state of your application so you can quickly identify potential problems before they affect your end users. With APM, your DevOps teams don't need to guess whether a performance blocker comes from the app itself, CPU availability, database loads, or something entirely unexpected.

Use our APM solutions to gather both current and historical information about memory usage, CPU utilization, database query performance, web browser rendering performance, app availability, error analysis, external services, and other useful metrics.

## Monitor all aspects of your business [#monitor-business]

Take advantage of these APM features, and more:

<table>
<thead>
<tr>
<th style={{ width: "200px" }}>
**Features**
</th>

<th>
**Description**
</th>
</tr>
</thead>

<tbody>
<tr>
<td>
**App performance at a glance**
</td>

<td>
When you sign in to [APM](/docs/apm/applications-menu/monitoring/apm-overview-page) and select an app for your account, use the **Summary** page to quickly examine relationships across different aspects of your environment; for example:

* [Web transactions response time:](/docs/apm/applications-menu/monitoring/apm-overview-page#charts) Where is the most time being spent? In the request queue, during different stages of page rendering and execution, from external services, or something else?
* [Transaction traces:](/docs/apm/transactions/transaction-traces/viewing-transaction-traces) Which transactions are the slowest, and why?
* [Error rate](/docs/apm/applications-menu/events/view-apm-error-analytics) and throughput: What relationship is there between a spike in errors or slower throughput for a particular time period? Was there a deployment or outage at that time?
* [Hosts:](/docs/infrastructure/new-relic-infrastructure/infrastructure-ui-pages/infrastructure-compute-page-measure-resource-usage) What kind of impact does this have on CPU usage, memory, etc.?
* [Apdex:](/docs/apm/new-relic-apm/apdex/apdex-measuring-user-satisfaction) How are these events affecting customers' satisfaction with the site?
</td>
</tr>

<tr>
<td>
**Web and non-web transactions**
</td>

<td>
Start by comparing the top twenty [web transactions](/docs/apm/transactions/intro-transactions/transactions-new-relic-apm) or [non-web transactions](/docs/apm/transactions/intro-transactions/monitor-background-processes-other-non-web-transactions) in terms of most time consuming, slowest average response time, highest throughput, or worst Apdex. From there, drill down into deeper trace levels for individual transactions, which in turn break down into smaller segments and components, from HTTPS requests on down to SQL queries.

Want to explore even deeper?

* Set up [distributed tracing](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) to see how requests move across a distributed system.
* Select the transactions that are most important to your business ([key transactions](/docs/apm/transactions/key-transactions/key-transactions-tracking-important-transactions-or-events)).
</td>
</tr>

<tr>
<td>
**APM and Infrastructure**
</td>

<td>
When your APM and [Infrastructure](/docs/infrastructure/new-relic-infrastructure/get-started/introduction-new-relic-infrastructure) accounts [are linked](/docs/infrastructure/new-relic-infrastructure/data-instrumentation/new-relic-apm-data-infrastructure), you will have access to APM data charts on these Infrastructure UI pages: Hosts, Network, Storage, and Processes.
</td>
</tr>

<tr>
<td>
**Distributed tracing**
</td>

<td>
[Distributed tracing](/docs/apm/distributed-tracing/getting-started/introduction-distributed-tracing) gives you visibility across distributed systems, showing you the path of a request as it travels between services. This feature is especially valuable for large, distributed systems that rely on many small services and microservices.
</td>
</tr>

<tr>
<td>
**Logs**
</td>

<td>
Bring your logs and application's data together to make troubleshooting easier and faster. With [logs in context](/docs/logs/logs-context/configure-logs-context-apm-agents/), you can see log messages related to your errors and traces directly in your app's UI. You can also see logs in context of your [infrastructure data](/docs/logs/forward-logs/forward-your-logs-using-infrastructure-agent/), such as Kubernetes clusters. No need to switch to another UI page.
</td>
</tr>

<tr>
<td>
**Service maps**
</td>

<td>
APM's [service maps](/docs/understand-dependencies/understand-system-dependencies/service-maps/introduction-service-maps) show your app's connections and dependencies, including databases and external services. Health indicators and performance metrics show you the current operational status for every part of your architecture. You can create and customize service maps to visualize and monitor your complex architectures.
</td>
</tr>

<tr>
<td>
**Query your data**
</td>

<td>
You can [query and visualize your data](/docs/using-new-relic/data/understand-data/query-new-relic-data):

* Sample and search [APM transaction and error data](/docs/insights/insights-data-sources/default-events-attributes/apm-default-event-attributes) to gain full understanding of the data being collected.
* Browse your data visually with the [data explorer](/docs/query-your-data/explore-query-data/data-explorer/introduction-data-explorer).
* Create custom SQL-like queries of your data using the [New Relic Query Language (NRQL)](/docs/insights/nrql-new-relic-query-language/using-nrql/introduction-nrql), or using our PromQL-style queries.
* Use [dashboards](/docs/dashboards/new-relic-one-dashboards/get-started/introduction-new-relic-one-dashboards) to build advanced data visualizations, contextualize data, and understand what's going on in your system, real-time.
</td>
</tr>
</tbody>
</table>

These are just a few of APM's features. To find out more, see the [table of contents for APM](/docs/apm).
## How to use your data [#use-case]

Monitor the basic health of your app the second New Relic receives data from your app. You will see basic dashboards on the **APM Summary** page in the New Relic UI which you can use to quickly understand how your app is performning without any customization.

Use the [Explorer](/docs/new-relic-one/use-new-relic-one/core-concepts/new-relic-explorer-view-performance-across-apps-services-hosts/) to access and observe the full stack of your software, including your apps, see performance data and alerting status at a glance, and check relationships. We provide you with a simple, yet powerful visual tool to monitor all your [entities](/docs/new-relic-one/use-new-relic-one/core-concepts/what-entity-new-relic/), that is, anything we can identify that reports data. In the New Relic ecosystem, entities include basic components like applications, hosts, containers, or database services, but it can also refer to custom groupings of such elements. You can also [create your own entities](https://github.com/newrelic/entity-definitions#entity-definitions).
Binary file added src/images/apm-intro-overview.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 4be8e09

Please sign in to comment.