Performance is a critical attribute of modern enterprise applications. Admins must track application performance as traffic levels and infrastructure demands shift. Poor performance affects customer satisfaction and business revenue, and even compromises compliance.
Application performance monitoring platforms, such as New Relic APM, follow the behaviors of web and non-web applications that run across the business. When admins watch the performance of an application over time, they can validate provisioned resources, ensure adherence to customer SLAs and troubleshoot potential issues effectively.
Editor's Note: The acronym APM is often used interchangeably to refer to either application performance management or application performance monitoring. New Relic APM uses the term to refer to the latter.
Let's look at how New Relic works, consider its features and installation requirements, and review essential uses for the platform.
New Relic APM features
New Relic APM software as a service has a feature set intended to collect data, analyze the data and report relevant performance metrics to IT administrators and other application stakeholders.
Metrics gathering. New Relic APM gathers metrics on web transactions, including response time on the web server side, throughput expressed in requests per minute and application errors over time, as well as metrics on individual HTTP requests. The tool also digs into the metrics of major database applications, such as SQL, to report response times and throughput, time per query, slow queries and other details that help pinpoint SQL statements that might bog down a website.
New Relic APM supports Java and external environments. It can collect Java virtual machine (JVM) metrics, such as heap and non-heap memory, garbage collection, class count, thread pools, HTTP sessions and transactions. Admins can define custom instrumentation for Java applications, which enables the business to look for specific performance attributes. External service metrics collect details about web services, cloud resources and other network-based request traffic.
Analytics. New Relic APM provides detailed error analytics that identify the exact error locations and classify the associated transactions and error types. Admins can filter results to tease out specific error details and attributes for each trace. A thread profiler shows the relative activity areas of the application to locate possible bottlenecks for remediation. Cross-application tracing enables the analysis of transactions between applications and helps identify bottlenecks or other performance problems when the monitored application calls an internal or external service. Deployment tracking capabilities capture before and after snapshots of application performance to help determine the effects of application or configuration changes.
Alerting and reporting. New Relic APM has transaction-level alerting and access to transaction dashboards, topology maps and SLA compliance reports. A key transactions monitor tracks and reports the most important business transactions related to the application. Users can configure weekly application performance reports to deliver to stakeholders, while SLA reports can deliver performance forecasts on a daily, weekly or monthly basis. Service maps provide visualization of the application architecture -- including those based on microservices -- that details the topology, connections, dependencies and health of each related element.
How New Relic works
New Relic APM collects and stores metrics and data from web-based and other associated applications within the enterprise. New Relic receives data over the network and then processes and analyzes it. Users view the data through a dashboard-type interface.
New Relic uses agents -- small segments of code installed into the application or application environment. Numerous agents handle a wide range of applications, and users can find agents in C (as an SDK), Go, Java, .NET, Node.js, PHP, Python and Ruby.
An example, using a web application, illustrates how New Relic works: an agent collects a range of performance details, such as the amount of time the code requires to build each webpage and page load time. Administrators can review these details, identify any factors that might delay performance, and determine the root of the delays. Dashboards point out issues in real time and track trends over time. When an issue is discovered, administrators and developers can take corrective action -- such as a code update -- and then compare the performance differences to objectively determine the effect of any changes.
As a SaaS offering, New Relic retains metrics and other data -- not the user. Organizations with demanding long-term analytics or sensitive compliance requirements might need to consider the data retention policies of a SaaS provider before adoption.
New Relic pricing
New Relic APM requires an account to use the SaaS offering. Paid subscription levels include The Essentials account -- which starts at $12.50 per month (per instance) -- and the Pro account -- which starts at $25 per month (per instance). Services vary by account level.
New Relic has numerous integrations to interoperate with tools across the enterprise. For example, the New Relic platform can integrate with alerting and collaboration tools such as PagerDuty, Campfire, HipChat and Slack. Ticketing and help desk integrations include Atlassian Jira, Lighthouse or Pivotal Tracker, and the tool can interoperate with a range of public cloud services from Amazon Web Services, Google and Microsoft Azure. Organizations can use APIs to create custom queries of metrics data and access data about error rates, application server performance and more.
Install New Relic APM agents
As noted above, agents play a key role in how New Relic works.
After establishing a New Relic APM account, download and install an appropriate agent to start to collect application performance data. For example, install the Java agent for an application written in Java. There are numerous agents suited to varied products and programming languages, so it's important to select the appropriate agent and then install it properly.
Review the requirements and suitable applications for the agent. For example, New Relic's Java agent requires a current version of JVM, such as OpenJDK JVM versions 7 to 13, for Linux, Windows, and OS X. The application server must also support SHA-2 (256-bit) encryption. Check if the agent provides native instrumentation for the associated workload. The Java agent natively supports an array of different web servers, such as Tomcat 7.0.0 and ColdFusion 10, as well as many web frameworks and libraries, messaging platforms, data stores and hosting services. The exact requirements and supported workloads are detailed in New Relic's documentation.
To obtain the desired agent easily, use the New Relic UI. For the Java agent, for example, select the agent and download both the agent components and a corresponding configuration file. Then, create a new directory on the application server, unpack the agent components into the new directory, make any necessary changes to the configuration file and pass a switch to the JVM with a command to load the agent, such as:
Finally, restart the application server. JVM will load and run the installed agent. It might take several minutes to collect data and display it in the New Relic APM interface.
Agents do not usually need detailed configuration, however, administrators can customize or alter the agent's configuration file. To continue the Java agent, the .yml file enables changes to test, development, staging and production settings.
Use New Relic APM
Once the agent starts to report data to the UI successfully, admins can use that data to monitor and enhance application performance.
First, check the overview of a selected application. Log in to the New Relic site and view the portal, which provides an index of monitored applications. Select the desired application to view an array of charts, tables and reports about the application's performance.
One noteworthy overview entry is the application's user satisfaction -- or Apdex -- score, which measures the ratio of satisfactory and unsatisfactory response times. The ratio is presented graphically between zero -- completely unsatisfactory -- and one -- completely satisfactory. Use the application and browser graphs to learn more about user satisfaction details, or drill down along the application graph to learn more about transactions that might affect the application's performance.
Administrators can also use New Relic for application alerting and reporting. Implement policies that detail the reason, criteria, thresholds and responses for an alert condition.
Alerts usually start with the creation of a new alert policy. Access alerts through the alerts UI; select "Alerts policies;" choose "Add a policy;" and then follow the wizard to finish the creation. Then, access the UI to set conditions and thresholds for the selected alert.
To aid troubleshooting, New Relic APM captures detailed performance data, which enables administrators to access and view transaction traces. This feature can associate Apdex problems with application behaviors. In the Transactions page for the desired application from the New Relic APM Overview page, opt to see transactions associated with the lowest Apdex transactions.
New Relic competitors
New Relic competitors include AppDynamics, Datadog, Dynatrace, SignalFx and Splunk Technology. An APM tool can be part of the IT toolset for years, so evaluate each prospective tool carefully -- compare features, benefits and costs -- prior to a final decision.