The New Relic application performance monitoring (APM) suite is primarily used in Web software development. It allows users to follow the performance of critical transactions across a service-oriented architecture (SOA), and supports code-level visibility to assess the performance effect of particular code segments and SQL statements. New Relic APM has dedicated agents designed to track dedicated coding languages including Python, Ruby, Java, Node.js, .NET and PHP. It is supported on several Web frameworks, including Bottle, CherryPy, Django, Pylons, Web2py and Flask.
New Relic APM offers six main features: application monitoring, database monitoring, availability and error monitoring, reports, team collaboration, and security. New Relic APM has a centralized graphical user interface that tracks application performance trends including page load times, error rates, slow transactions and a list of servers running the app. Users can see detailed breakdowns of response time in specific layers like request queuing, database, caching, application codes and external calls presented with statistical tools like histograms and percentiles that graphically represent data. Time-consuming transactions are tracked and sorted, enabling users to drill down into details. A separate dashboard captures calls to out-of-process services such as Web services, resources in the cloud and any other network calls. These captures are charted, with a list of the top five external services sorted by response time and external calls per minute.
Cross Application Tracing enables users to monitor highly distributed and service-oriented applications. New Relic APM traces transactions across services to provide end-to-end visibility and automatically maps each tier service in the Application Topology Map, which visualizes the relationship between tiers. Thread profiles allow users to identify hot spots in their apps; stack traces are collected over a specified duration, then aggregated and displayed in a detailed call tree. Finally, users are given access to performance data API and development analysis, history and comparison.
Database monitoring is a feature that provides a detailed overview of database performance. Database overview provides a stack ranking of the most time-consuming database calls along with aggregated metrics around response times and throughput and slow SQL traces. Users can drill into an individual database call and view specific details to that call around response time and throughput, time consumption by caller and slow SQL traces all specific to that individual call. They can also get samples of the worst-performing SQL and stack traces to understand exactly where the SQL is used in the code, and how to fix it. Along with the SQL, the database monitoring feature in New Relic APM collects the context and diagnostic information enterprises need to fix their database performance issues. Finally, users are able to filter specific database/cache types and see or search all database/cache operations.
Alert policies can be created in New Relic APM that set thresholds for groups of applications that have similar alerting needs. Users can manage application policies' alert channels by creating specified notification groups, or leverage New Relics' integrated alerting tools such as HipChat, JIRA, PagerDuty, and Campfire. New Relic also uses an external ping sweep to verify customers can reach a particular site. The pinger service verifies requests, records errors and sends downtime alerts when an application is down.
The report suite of features lets users create and receive customized data summaries in a variety of dashboards. The deployment dashboard lists recent deployments and their impact on the end user and app server's response times, throughput and errors. The Availability report uses the aforementioned pinger to measure a site's uptime and downtime. The primary report chart compares calls per minute and errors per minute for the selected time period.
New Relic APM also provides a scalability analysis report which shows response time, database utilization and CPU utilization as scatter plot charts. This can help in analyzing performance and potential hardware needs as an app grows. The APM also features a capacity analysis report that shows how many instances of an app are running and how busy they are. Daily, weekly or monthly service-level agreement reports are available -- in dashboard or as downloaded files -- that visualize trends over a select time period. Finally, the APM host usage report provides a view into the New Relic-connected hosts and applications. Users can access details and data on which application and accounts each host was used by on an hourly basis. Custom dashboards allow users to monitor and track any combination of data in any context they wish.
New Relic's APM tool has several features that facilitate team collaboration. The notes and comments function allows users to collaborate with each other over a report by adding communiques and replying inline. New Relic integrates with collaboration tools like JIRA, PageDuty, HipChat and others. Tickets related to performance problems can be filed directly into a ticketing system. New Relic APM supports the Atlassian JIRA, Lighthouse and Pivotal Tracker ticketing systems.
New Relic APM has several components that contribute to application and data security. Customer data is backed up regularly in in a Tier III, SSAE-16 certified data center. Also, New Relic operates under a "secure by default" policy, meaning that users must explicitly enable settings to authorize the release of sensitive data. It can be configured to operate in regulated environments such as PCI, HIPAA and SOX, or customized entirely to the user's unique situation and desire. Finally, for users with very high security needs, New Relic's Enterprise Security Mode allows for the lockdown of available security options so employees can't accidentally enable the transmission of sensitive data.
New Relic APM offers a two-tiered pricing system. APM Lite is free but extremely limited. Users are able to access only basic application metrics and data, and not any analytics tools. With a one-year commitment, APM Pro is $149 per host, per month. If you pay monthly, the cost is $199 per host, per month. This includes unlimited data retention; unlimited users; throughput, response time, and error rate metrics; detailed transaction, error, and SQL traces; analytics filtering capabilities; and high-security mode. Pro also includes premium support, which guarantees minimum response time of one hour on critical issues and 24 hours on standard issues. All accounts have a 14-day free trial period.
Here's a primer on APM and APM software.
APM is more than just metrics.
Don't forget to monitor your mobile performance.