120 likes | 244 Views
Terracotta Dev -week Autumn 2013 NewRelic Plugin. Gary KEIM, Dhruv Kumar, Gaurav Mangalick , Satish. 8 ’th November 2013. Agenda. Problem Description Overview of New Relic New Relic Plugin Strategies Demo Challenges References. * To be deliver in 9.5 Service Pack 2.
E N D
TerracottaDev-week Autumn 2013 NewRelic Plugin Gary KEIM, Dhruv Kumar, GauravMangalick, Satish 8’th November 2013
Agenda • Problem Description • Overview of New Relic • New Relic Plugin • Strategies • Demo • Challenges • References * To be deliver in 9.5 Service Pack 2
Problem Description • Enterprise applications are built with various technologies like AppServers, DBs, In-Memory Grids etc. Performance of an application is dependent on each of these. So how do you find out how your app is doing? Web Browser Application Server JMS/HTTP/REST/SOAP DB Services
New Relic Overview • Software Analytics company founded in 2008 • Provides application performance monitoring –Saas, Hosted or Hybrid • Features • Real User Monitoring – time to load webpages, source of requests, type of browser • Server Monitoring – CPU, Memory, Disk I/O etc • Support for 5 programming languages (Ruby, Java, PHP, .NET, Python) • Architecture Mapping • Provides web based dashboards to view performance data • Plugins – extending New Relic
How to get started • Create a New Relic Account • Install the language specific agent • Update the license key • Restart your application • After few minutes the data is show up on New Relic webpage.
New Relic Plugin • Agents – observes the system and reports metrics about the system back to the New Relic data center • Dashboard – set of dashboards to visualize the metrics
New Relic Plugin contd. Source: http://blog.newrelic.com/2013/06/19/an-indepth-look-at-the-new-relic-platform/
Strategies • Gary created a plugin that runs standalone next to the TMS • It queries the TMS REST interface and publishes metrics gleaned from there • Gaurav created a plugin that runs standalone next the application • It queries the ehcache-management agent’s REST interface directly • Dhruv created a plugin that runs directly in the application • Application must be recompiled but you won’t have to manage a separate, standalone agent • Satish managed all of us and created this document
Challenges • Targeted at time-varying data • Not good for status info, such as UnreadOperatorEvents • Not good for any complicated system, such as a TSA/cluster • Can’t figure out how to show containment, such as the TSA topology • Since it persists all metrics, you need to gather everything at each poll period • During Development, all metrics hang around even if they’re never used again. • Expects nodes who’s addresses don’t change, unlike our L1 “RemoteAddress,” which changes each time the node reconnects to the TSA. • This leaves old data about the “old” L1 hanging around • When a plugin agent is incorrectly coded, the Runner doesn’t seem to log the agent-generated exception… the polling just doesn’t happen. • It’s suppose to poll once-a-minute but it seems to be going along happily then it just stops polling! • In summary: just like all one-size-fits-all solutions, it really doesn’t fit
References • New Relic : http://www.newrelic.com • New Relic Documentation: https://docs.newrelic.com/docs • Dev Week SVN location: https://svn.terracotta.org/repo/forge/projects/labs/newrelic/