How New Relic Develops Language Agents [FutureStack16]
1. How New Relic
Builds Language Agents
Belinda Runkle, VP of Engineering, APM
@BelindaRunkle
2. This document and the information herein (including any information that may be incorporated by reference) is provided
for informational purposes only and should not be construed as an offer, commitment, promise or obligation on behalf
of New Relic, Inc. (“New Relic”) to sell securities or deliver any product, material, code, functionality, or other feature.
Any information provided hereby is proprietary to New Relic and may not be replicated or disclosed without New Relic’s
express written permission.
Such information may contain forward-looking statements within the meaning of federal securities laws. Any statement
that is not a historical fact or refers to expectations, projections, future plans, objectives, estimates, goals, or other
characterizations of future events is a forward-looking statement. These forward-looking statements can often be
identified as such because the context of the statement will include words such as “believes,” “anticipates,”, “expects”
or words of similar import.
Actual results may differ materially from those expressed in these forward-looking statements, which speak only as of
the date hereof, and are subject to change at any time without notice. Existing and prospective investors, customers
and other third parties transacting business with New Relic are cautioned not to place undue reliance on this forward-
looking information. The achievement or success of the matters covered by such forward-looking statements are based
on New Relic’s current assumptions, expectations, and beliefs and are subject to substantial risks, uncertainties,
assumptions, and changes in circumstances that may cause the actual results, performance, or achievements to differ
materially from those expressed or implied in any forward-looking statement. Further information on factors that could
affect such forward-looking statements is included in the filings New Relic makes with the SEC from time to time.
Copies of these documents may be obtained by visiting New Relic’s Investor Relations website at ir.newrelic.com or the
SEC’s website at www.sec.gov.
New Relic assumes no obligation and does not intend to update these forward-looking statements, except as required
by law. New Relic makes no warranties, expressed or implied, in this document or otherwise, with respect to the
information provided.
3. VP of Engineering, APM
4+ years product engineering for agents
Launched Go, Node.js agents
@belindarunkle
Hi, I’m Belinda
4. Agents
gopher by Renee French is licensed under CC3.0
Java image licensed under Apache
elephant licensed by El Rubio under GPL
Node.js is a trademark of Joyent, Inc. and is used with its permission
Ruby logo by Yukihiro Matsumoto is licensed under CC-SA-2.5
Python logo licensed under CC-SA-3.0
8. gopher by Renee French is licensed under CC3.0
Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein
9. new PHP daemon in Go
▪ Version 5.0 in released over a year ago included a
new Go-based daemon
▪ Daemon was re-architected to allow for better
performance, easier cross-platform compatibility,
and overall maintenance simplicity
▪ Developers loved writing Go (vs. C)
15. First Go agent(s)
▪ Dev teams <3 Go.
▪ Build an agent to make their Go service
acceptable in production.
▪ These new agents and plugins become future
products in some cases.
▪ We had at least 3 engineers try writing a
lightweight Go agent.
gopher by Renee French is licensed under CC3.0
17. All it takes is
one curious
engineerCurious Cat by Captain Pancakes is licensed under CC2.0
18. “What's the
simplest thing
that could
possibly work?”
by Carrigg Photography for the Wikimedia Foundation – Own work, CC BY-SA 3.0.
– Ward Cunningham
25. Whatever happened to
that HHVM agent?
▪ HHVM promising early start
▪ Radically faster performance than PHP5+
▪ Wordpress, Drupal, others adopting
▪ But HHVM was massive reworking of PHP internals,
and thus broke our PHP agent in some fundamental places
▪ And eventually… PHP7 launched!
With similar performance gains!
▪ Building in support for PHP7 was much easier
26. #7 - Time with
customers is worth 10x
coding time.
27.
28. How engineers typically
engage with customers
▪ our forums
▪ requests made via our account teams
▪ support tickets
▪ user interviews and ride-alongs
▪ meetups and conferences
▪ open-source and community events
▪ Github
29. Go Agent beta in Slack
Real-time feedback
from Go Agent beta
customers straight to
the engineering team
40. What our developers talk about
New Relic
developers
talk about
Elixir, Rust,
Kotlin
Microsoft has
done major
work with
CoreCLR
Deeper
insight into
Node
internals
More
extensible
agents –
Improved
Agent APIs
Cloud
service
integration