Kubernetes makes every APM evaluation a tradeoff between visibility and overhead. Pods are ephemeral and label cardinality explodes. Every instrumentation decision also multiplies across every node in the fleet. Platform engineers and SREs run these evaluations alongside engineering leaders because they own the clusters, the on-call rotation, and the invoice.
Application performance management APM tools collect traces and metrics from running services. They also collect errors, then turn that telemetry into alerts, root cause analysis, and remediation. Coinbase’s Datadog bill reached $65 million in a single year, while teams that sample or drop telemetry to control costs lose the exact traces they need during an incident. This guide works through that tension in order: fundamentals and core capabilities first, then the metrics, observability boundary, monitoring modes, AI-assisted investigation, and cloud-native constraints that shape a shortlist, then OpenTelemetry, a vendor-by-vendor comparison, the cost structures behind the list prices, a selection framework, and an FAQ.
What is application performance management? Monitoring vs management
APM is software that observes and analyzes application health, performance, and user experience. That is close to Gartner’s 2023 market definition, and Gartner’s own report titles trace how the category has moved. Gartner titled its September 19, 2011 report “Magic Quadrant for Application Performance Monitoring.” In 2022 the title added “and Observability”, and by 2024 it dropped APM entirely, becoming the “Magic Quadrant for Observability Platforms” with the note that “Most include application performance monitoring capabilities, but APM is not enough.”
The monitoring versus management distinction is a distinction of activity. Monitoring is passive collection: gathering telemetry and errors, then displaying them. Management adds the active layer through correlation and alerting. Root cause analysis and remediation follow. Forrester’s Carlos Casanova draws the line directly: “We believe the intention of observability was to be more active, whereas monitoring is more passive.”
Tools sit at different points on that spectrum. Prometheus with basic Grafana dashboards is monitoring. Dynatrace’s causal AI engine and groundcover’s AI Agent Mode, which investigates incidents autonomously, sit at the management end. That leaves the question of which capabilities do the work.
Core capabilities of APM tools
APM capabilities cluster into data collection and analysis. Alerting follows, and the differences between vendors show up in each area:
- Data collection: The collection method determines your instrumentation burden. Datadog and New Relic use per-host agents plus language SDKs; Dynatrace OneAgent auto-instruments supported runtimes through process injection; Splunk Observability Cloud relies primarily on OpenTelemetry SDKs. eBPF-based collection reads telemetry directly from the Linux kernel, which is how groundcover’s eBPF sensor and Grafana Beyla, donated to OpenTelemetry as OBI in 2025, capture signals without touching application code.
- Analysis and correlation: Distributed tracing follows a request across service boundaries. Dynatrace PurePath captures code-level context end to end for supported runtimes. Datadog APM includes 1 million indexed spans per APM host with 15-day default retention. Flora captures traces at the kernel with zero application instrumentation. Error tracking and service maps, including Dynatrace Smartscape and groundcover’s auto-generated service maps, turn the same data into failure context and topology.
- Alerting: Prometheus Alertmanager handles deduplication, grouping, and silencing across notification workflows. Dynatrace correlates events that share a root cause into a single trackable problem, which addresses the cascading-alert pattern where one failure fires alerts across metrics and logs as well as Kubernetes events, as if they were independent incidents.
Key metrics APM tools track
Response time and error rate are universal across every APM tool. Throughput completes the baseline set. The Google SRE book’s four golden signals formalize the set: “latency, traffic, errors, and saturation. If you can only measure four metrics of your user-facing system, focus on these four.”
- Latency: Latency measures the time to service a request, and you count successful and failed requests separately.
- Traffic: Traffic measures demand on the system, usually HTTP requests per second for a web service.
- Errors: Errors track the rate of requests that fail explicitly, implicitly, or by policy.
- Saturation: Saturation shows how “full” the service is, weighted toward the most constrained resource.
Apdex converts response times into a single user-satisfaction score. The Apdex Technical Specification defines a target threshold T and a frustration threshold F = 4T, then computes Apdex_T = (satisfied count + tolerating count / 2) / total samples, yielding a score between 0 and 1.
These metrics map directly to SLA and SLO work. Latency percentiles become latency SLOs, while error rates feed availability targets and error budgets. Saturation drives capacity alerts before a violation occurs.
APM and observability: how they differ and why you need both
Monitoring answers questions you predicted; observability answers questions you didn’t. Charity Majors put it in The New Stack: observability is “the ability to find the information you need to analyze or debug software, while monitoring requires predicting in advance what data will be useful.” In a Kubernetes environment where failure modes involve novel combinations of deployment rollouts, node pressure, and service dependencies, predicting the useful data in advance is the part that breaks.
APM sits inside observability rather than beside it. Martin Mao, writing in The New Stack, drew the boundary: “APM can alert engineers that there is a problem, but observability provides the detailed data in context for isolating root cause and fixing the problem.” You need both because an APM alert without correlated infrastructure metrics, logs, and Kubernetes events leaves you reconstructing the incident across three tools mid-outage.
That is why full-stack observability platforms bundle APM with infrastructure monitoring and log management. When a latency anomaly links directly to the pod’s logs, the node’s saturation, and the deployment that rolled out, nobody has to reconstruct the timeline by hand across separate tools.
Real user, synthetic, and digital experience monitoring
Real user monitoring (RUM) passively instruments actual user sessions; synthetic monitoring runs scripted checks on a schedule. Google’s web.dev frames it as lab data versus field data: lab data comes from “a controlled environment with predefined device and network settings,” while field data represents a distribution rather than one number. The New Stack states the operational consequence: synthetic tests show expected performance under controlled conditions, while RUM reveals actual performance across devices, networks, geographies, and release versions.
Synthetic monitoring is your proactive layer. Use it for uptime SLA enforcement, because a synthetic check catches the 3 AM outage before any user does. It also supports CI/CD deployment gates, critical transaction flows like checkout, and geographic coverage via distributed probes, including private locations behind firewalls.
RUM is your reactive truth. Use it for incident scope and real-world performance distributions. It also measures Core Web Vitals, which Google scores at the 75th percentile of field data; INP in particular requires real user interactions and therefore cannot be measured in a lab.
Session replay extends RUM into digital experience monitoring. It combines DOM replay with console logs and network timelines to show what happened during a user session. According to groundcover, its unified observability platform includes RUM and synthetic monitoring.
AI-powered APM: anomaly detection and root cause analysis
AIOps moves APM from reactive alerting toward automated root cause analysis. Dynatrace’s engine, long known as Davis AI, now sits under the umbrella name Dynatrace Intelligence; according to Dynatrace documentation, it applies deterministic, causation-based analysis across the Grail data lakehouse and the Smartscape dependency graph to collapse related events into a single problem. Datadog Watchdog remains current branding: Datadog describes Watchdog as its AI engine for automated alerts, insights, and root cause analyses across platform observability data, with Watchdog RCA generally available since January 2021 and newer Bits AI agents consuming Watchdog anomalies as inputs.
For security-conscious teams, the question is where the AI processing happens. CISA joint guidance is blunt: “Minimize risk by not sharing sensitive data with AI models, especially if the AI models are hosted in an environment hosted or controlled by external parties, such as public cloud infrastructure.” NIST AI 600-1 catalogs the underlying risks, including data leakage and training-data opacity, along with memorization and secondary use of organizational content sent to third-party AI services.
Vendors resolve this differently. According to groundcover, AI Agent Mode investigates logs and traces in natural language while incorporating metrics, events, and entities. For supported AWS deployments, groundcover states that AI Agent Mode runs on Amazon Bedrock inside the customer’s own AWS account, so AI processing stays inside the customer’s security boundary for that deployment model; bring-your-own-LLM controls extend the same principle.
APM in cloud-native and microservices environments
Kubernetes breaks the assumptions traditional APM was built on. Hosts were stable; pods churn constantly. Metrics had bounded cardinality; dynamic labels multiply series without limit. One documented case: a logistics SaaS company’s cardinality explosion (25 × 15 × 5,000 × 200 = 375 million metric series) pushed a ~$9,000/month Datadog baseline into the mid-$40,000s within one billing cycle. Datadog’s APM billing documentation confirms that in Kubernetes each node counts as an APM host.
Distributed tracing across microservice spans carries its own tax. SDK-based context propagation requires instrumenting every service in the request path, and it costs CPU: a Coroot benchmark reported by InfoQ measured full OTel SDK tracing raising application CPU from 2 to 2.7 cores at 10,000 requests per second, while eBPF-based collection stayed under 0.3 cores under the same load.
Agent sprawl is the next failure mode. OpenAI’s CNCF case study documents Fluent Bit and an OpenTelemetry Collector running alongside Datadog agents as separate DaemonSets on every node. Under load, Linux CFS throttling caused the logging DaemonSets to drop logs, and disabling inotify cut Fluent Bit CPU by 50% fleet-wide, reclaiming 30,000 CPU cores.
DaemonSet lifecycle mechanics add their own costs:
- The default
maxUnavailable=1rollout is slow on large fleets. maxSurgecannot be used withhostPort.- In 500+ node clusters stuck nodes can block a rollout entirely.
- Elastic Agent on AKS reached 973 MiB and OOMKilled against its 700 MiB default limit.
groundcover’s answer is one Flora eBPF sensor per node, deployed as a single DaemonSet. According to groundcover, Flora captures logs and metrics at the kernel together with traces, Kubernetes events, HTTP requests, and network calls. New services become visible the moment they run, with no SDK coordination between platform and application teams.
The New Stack covered a groundcover-sponsored benchmark reporting application CPU overhead of 249% for Datadog’s agent versus 9% for an eBPF-based agent relative to baseline; treat that figure as vendor-sponsored rather than independent. Collection architecture is one half of the instrumentation question; the standard that governs the other half is OpenTelemetry.
OpenTelemetry and instrumentation standards
OpenTelemetry is the vendor-neutral instrumentation layer for cloud-native telemetry. It graduated as a CNCF project in May 2026 as the second-highest-velocity CNCF project with more than 24,000 contributors. The CNCF 2025 Annual Survey (n=628) puts it at 49% production use with another 26% evaluating.
The portability argument is the point: instrument once with OTel SDKs, transmit over OTLP, and switching analysis backends does not require re-instrumenting every service. The specification status page lists tracing as fully stable with long-term support. Profiles remain in development and are not recommended for critical production workloads.
The workflow has two sides: collection and analysis. SDKs and receivers collect signals, OTLP transports them, and a backend performs the analysis. Each stage carries setup complexity that the project itself acknowledges; the OpenTelemetry Governance Committee has cited “complexity and lack of stability” as impediments to production deployments.
A CNCF engineering writeup provides concrete examples. A DaemonSet-deployed collector on a 14-node cluster multiplied metrics 20 to 40x because every collector scraped all cluster-wide targets. Collectors on 2 GB nodes also OOMed and hung entire nodes despite a configured memory_limiter.
Vendor OTLP support also varies in ways that matter for pipeline design. Dynatrace accepts OTLP over HTTP/Protocol Buffers only, with no gRPC support. Datadog maintains four ingestion paths, with direct OTLP ingest reaching GA in July 2026.
New Relic identifies native OTLP ingest as its preferred ingestion method. According to groundcover, the platform accepts OpenTelemetry as a first-class data source alongside Flora’s kernel-captured signals, so existing OTel SDK traces coexist with eBPF data in the same interface. OTel supplies business context, while Flora supplies coverage for everything nobody instrumented.
Top APM tools compared
All pricing below reflects vendor-stated list pricing in the supplied research dated August 23, 2026. Negotiated enterprise rates differ. Check these figures against each vendor’s current pricing page before making a decision. The comparison in brief:
| Tool | Collection method | Pricing model | Kubernetes fit |
|---|---|---|---|
| Datadog | Per-host Agent plus language SDKs; eBPF scoped to specific products | Per APM host plus meters for ingested spans, indexed spans, custom metrics, sessions | Operator, Helm, DaemonSet; each node bills as an APM host |
| Dynatrace | OneAgent process injection; OTLP over HTTP only | DPS consumption; separate meters per capability | Dynatrace prices Kubernetes platform monitoring by pod-hour in its documented example |
| New Relic | Language agents, Pixie eBPF, OTLP ingest | Per-GB ingest plus per-user fees, or compute-based (CCU) | Kubernetes integration plus Pixie; in-cluster data held under 24 hours |
| Splunk AppDynamics / Splunk Observability Cloud | AppD agents; combined agent adds Splunk OTel; OTel SDK primary on Obs Cloud | Per-host tiers; logs require separate Splunk subscription | Cisco and Splunk position AppDynamics for three-tier apps; Observability Cloud provides Kubernetes Navigator for microservices |
| groundcover | An eBPF sensor, single DaemonSet, zero application instrumentation | Flat per node: Free $0, Pro $30, Pro+/Enterprise $35, On-Premises $50 | Purpose-built; EKS, AKS, GKE; Kubernetes 1.21+, kernel 4.16+ |
Datadog uses a per-host collection and billing model that compounds with indexed and ingested spans. Its vendor-stated pricing list charges $31 per APM host per month on annual billing. The price includes 150 GB of ingested spans and 1 million indexed spans per host, with overages at $0.10/GB ingested and $1.70 per million indexed spans at 15-day retention.
Custom metrics run $5 per 100 per month, and Datadog bills hosts on the ninth-highest hourly count of the month. Datadog’s worked example prices APM Enterprise for a 20-node cluster at $840/month before logs or RUM. By comparison, Flora captures traces at the kernel without per-service SDKs, and groundcover’s vendor-stated flat per-node pricing introduces no span, metric, or session meters that pressure teams to limit collection.
Dynatrace auto-instruments supported runtimes through OneAgent process injection and bills through the consumption-based DPS model, where each capability meters separately. Its documented Kubernetes example prices 500 pods at $720/month at $0.002 per pod-hour. Flora instead collects telemetry at the kernel rather than inside application processes; according to groundcover, its per-node unit price remains independent of pod count, memory footprint, and paid capability usage.
New Relic combines language agents and Pixie eBPF with OTLP ingest. Its vendor-stated pricing charges $0.35/GB beyond 100 GB of free monthly ingest, plus per-user fees reaching $349 per full platform user on Pro annual terms. Per-seat pricing restricts who gets access.
According to groundcover, its per-node model has no per-user or per-GB fees, which allows teams to expand access without changing the seat count on the invoice. Afida expanded from 10 to approximately 100 users with no incremental per-user cost. The architectural consequence is broader access to production context rather than a telemetry view rationed by seats.
AppDynamics is now Splunk AppDynamics following Cisco’s March 2024 acquisition of Splunk. Cisco and Splunk position it for traditional application monitoring while steering microservices workloads to Splunk Observability Cloud; a combined agent introduced in September 2025 supports AppD, dual, and Splunk migration modes.
Splunk Observability Cloud’s vendor-stated list pricing is $15/host/month for infrastructure monitoring plus $55/host/month for APM, roughly $70/host combined, with log storage requiring a separate Splunk subscription. Splunk moved from Leader to Challenger in the 2026 Gartner Magic Quadrant for Observability Platforms. For groundcover, one Flora deployment captures multiple signal types, while the vendor states that one per-node price includes paid capability modules under the current packaging model.
groundcover deploys the eBPF sensor as a single DaemonSet, one pod per node, capturing signals at the kernel with zero application instrumentation. According to groundcover, the data plane uses ClickHouse for logs, traces, and events and VictoriaMetrics for metrics. It runs inside your cloud account under BYOC, meaning Bring Your Own Cloud, where your data plane runs in your own cloud account, and groundcover states that BYOC is the default across all tiers including free.
Scope limits are explicit: Kubernetes 1.21+ and Linux kernel 4.16+ on EKS, AKS, or GKE, with AWS Fargate and Docker Desktop unsupported. According to groundcover’s current vendor-stated pricing, Free costs $0, Pro costs $30, Pro+/Enterprise costs $35, and On-Premises costs $50 per monitored node or Linux host each month. Comparing list prices only tells part of the story; the structural cost behavior matters more.
Operational and financial overhead of running APM
Total cost of ownership has three components. The first is the license, the second is exposure to data growth, and the third is the engineering time the stack consumes. The pricing model determines exposure to data growth, and a bill that tracks ingest volume grows with the cluster rather than with the value of the data:
- Per-GB ingest (New Relic, Splunk, Elastic, Sumo Logic): the bill tracks log volume, so growth in telemetry is growth in spend. A CBTW client was spending $360,000 per quarter on Datadog, and log-retention tuning alone identified $112,000/year in savings, which shows how much slack volume-based bills carry.
- Per-host plus meters (Datadog): multiple dimensions compound, and the failure mode is a surprise rather than a trend line, as the cardinality incident in the cloud-native section showed.
- Consumption (Dynatrace DPS): every capability meters separately, which makes forecasting a project of its own.
- Free open source (Prometheus, Grafana LGTM): the license is $0 and the labor is not. The Grafana LGTM stack requires teams to coordinate multiple systems rather than one managed platform.
Volume-based pricing also creates the sampling problem. When spans cost money, teams sample, and sampling has documented failure modes: OpenTelemetry’s documentation states that head sampling “cannot ensure that all traces with an error within them are sampled with head sampling alone,” and at 1-in-10,000 sampling the chance of capturing a 99th-percentile trace is one in a million.
Tail sampling fixes error capture but requires all spans of a trace to reach the same stateful collector. Self-managed tail sampling typically requires a centralized collector that becomes a single point of failure. Capital One cut tracing volume 70% with tail sampling but hit a “tug of war” where low-rate applications get starved at ratios high-rate applications handle fine.
groundcover’s architecture aims to remove the pressure to ration telemetry. According to groundcover, its flat per-node model at $35/node/month for the Pro+/Enterprise tier keeps data volume, user count, and custom metric cardinality from changing the unit price. Trace sampling rates also do not affect that per-node price.
Because storage runs in your own ClickHouse and VictoriaMetrics under BYOC, retention becomes your infrastructure cost rather than a vendor meter. That combination supports comprehensive data access without making each additional signal a separate billing event.
groundcover’s published pricing analysis models a roughly 700-node Kubernetes environment with 5 TB of daily logs and 500,000 custom metrics at $2.54M/year on Datadog list prices versus $297K on flat per-node pricing, an 87% reduction. The figures are groundcover’s own vendor-sponsored modeling against Datadog’s published rates; groundcover did not base them on an audited bill.
How to choose an APM tool for Kubernetes
Weight the criteria by who has to live with the tool. Each stakeholder tests a different failure mode:
- SRE: investigation speed. Can you click from a metric anomaly to correlated traces and logs without switching tools? Does the tracing capture errors or sample them away, and does AI-assisted investigation stay inside your security boundary?
- Platform/DevOps engineer: operational surface area. How many agents run per node, and what kernel and Kubernetes versions do they require? What is the per-node CPU and memory footprint, and does deployment fit your GitOps workflow?
- IT Ops: coverage beyond the cluster. Datadog covers serverless and multiple operating systems; Dynatrace reaches mainframe z/OS. LogicMonitor handles SNMP and legacy infrastructure. groundcover covers Kubernetes and Linux workloads only, so a hybrid estate needs a plan for the rest.
- Product owner: digital experience depth, including session replay and funnels, and whether next quarter’s bill can be forecast from node count rather than traffic.
Across roles, four criteria separate the field. Deployment effort ranges from a groundcover POC in a single day with full-cluster visibility within hours to longer SDK-based instrumentation projects. Coverage splits between broad product catalogs and Kubernetes-native depth, where one kernel-level sensor captures multiple signal types.
Cost predictability favors flat models over multi-meter ones for high-cardinality clusters because flat pricing removes the incentive to sample or discard useful telemetry. Data residency also divides the market: groundcover states that it ships BYOC by default on every tier, keeping its data plane inside the customer’s cloud account.
FAQ
These answers summarize the operational, pricing, deployment, and metric questions Kubernetes teams raise most often during an APM evaluation.
What is the difference between APM monitoring and APM management?
Monitoring collects and displays telemetry, including metrics and traces alongside errors. Management acts on it through correlation and alerting. Root cause analysis and remediation follow. Forrester’s framing treats monitoring as passive and observability as active; in practice, Prometheus dashboards are monitoring, while causal AI engines like Dynatrace Intelligence and autonomous investigators like groundcover’s AI Agent Mode are management.
What features should I look for in an APM tool for Kubernetes?
Prioritize distributed tracing that does not require per-service instrumentation and error tracking with auto-generated service maps. Look for alert correlation that collapses cascades into single problems, plus AI root cause analysis that respects your security boundary. For Kubernetes specifically, check node-level collection footprint and kernel requirements, along with version compatibility and whether pricing punishes pod density and metric cardinality.
How do the leading vendors compare on pricing?
Datadog meters per APM host plus spans, custom metrics, and sessions; Dynatrace uses DPS consumption with separate meters per capability. New Relic bills per GB ingested plus per user, while Splunk Observability Cloud prices per host with logs on a separate subscription. groundcover’s vendor-stated model charges a flat per-node rate at every tier with no volume, seat, or cardinality charges, which removes the pricing pressure to ration telemetry. List prices shift, so date-stamp any figure against the vendor’s current pricing page.
How does AI-driven root cause analysis work?
Causal engines like Dynatrace Intelligence walk a live dependency graph to collapse correlated events into one problem, while Datadog Watchdog surfaces anomalies and outliers across platform data with automated RCA. Agentic approaches go further: according to groundcover, AI Agent Mode investigates logs and traces in natural language while incorporating metrics and events. For supported AWS deployments, groundcover states that it runs on Amazon Bedrock inside the customer’s AWS account, keeping the investigation inside that security boundary.
What metrics do APM tools track, and how do they map to SLAs?
All of them track response time and error rate. They also track throughput, formalized through the four golden signals: latency, traffic, errors, and saturation. Latency percentiles become latency SLOs, while error rates feed availability commitments and error budgets. Apdex condenses response times into a 0-to-1 satisfaction score using Apdex_T = (satisfied + tolerating/2) / total samples.
What deployment overhead should I expect?
Deployment overhead ranges from hours to weeks. According to groundcover, a single-DaemonSet Flora deployment reaches full-cluster visibility within hours with no code changes or restarts. SDK-based stacks require instrumenting each service, while multi-component open-source stacks require assembling and maintaining several systems. Budget for lifecycle costs too: DaemonSet rollout constraints and agent memory sizing recur alongside Kubernetes version compatibility checks with every upgrade.
To validate the architecture on your own cluster, groundcover’s free plan includes BYOC and no credit card, and Flora deploys on one cluster with full-cluster visibility within hours.





