New Relic
APM & Distributed Tracing
Auto-instrument services to get golden signals and end-to-end traces.
New Relic APM drops a language agent into your application (Java, .NET, Node, Python, Go, Ruby, PHP) that auto-instruments common frameworks, web servers, and datastore clients. Out of the box you get the golden signals per service — throughput, response time, and error rate — plus transaction traces, database query analysis, and an automatically built service map showing dependencies.
A fitness tracker for each service that records every move automatically, plus a shared GPS trail showing the whole relay race so you can see which runner lost the time.
Key Concepts
1
Distributed tracing connects those per-service views into the full request path. The agent propagates a trace context across HTTP and messaging boundaries, so a trace stitches spans from every service a request touched, with a flame-graph-style waterfall to localise the slow or failing hop. Errors are grouped into the errors inbox, and because traces and metrics share NRDB, you can pivot from an Apdex/latency chart to the exact slow traces and their logs in context.
2
What the interviewer is probing.
What the interviewer is probing.
3
1. "How is an application instrumented?" *Probing:* the mechanics. *Stalls:* "Manually." *Moves
up:* a language agent providing automatic instrumentation for common frameworks, with a custom API
for business spans.
1. "How is an application instrumented?"
4
2. "What is Apdex?" *Probing:* the vocabulary. *Stalls:* "A score." *Moves up:* a satisfaction
score from a response-time threshold, giving one number for user experience — useful as a signal,
crude as a target.
2. "What is Apdex?"
5
3. "What is infinite tracing for?" *Probing:* the capability. *Stalls:* "Everything." *Moves
up:* tail-based sampling on all spans so slow and failing traces are kept, rather than a head-based
random fraction.
3. "What is infinite tracing for?"
6
4. "What is the first thing you look at for a slow transaction?" *Probing:* the method.
*Stalls:* "The code." *Moves up:* the transaction trace breakdown by segment, which separates
database, external calls and application time.
4. "What is the first thing you look at for a slow transaction?"