Agent traces became product data, and the write pattern now picks your storage
The New Stack argues an agent run record is application data with a telemetry-shaped workload. Flatten one reported event rate and the daily average hides a burst about 19 times larger.
The Engineer · Build desk

What happened
- The New Stack makes the case that an agent run record is application data carrying a telemetry-shaped workload, and that this is what moves the storage decision.
- Its test for the boundary: a trace you can sample, expire or discard is telemetry, and it becomes product state when the product must retrieve, display or retain it.
- Trace volume tracks the execution graph inside a single task, where one request can fan out into model calls, file reads, searches, command runs, retries and branches.
- OpenTelemetry's GenAI semantic conventions, still in development, split inference, tool execution and retrieval spans, with message and argument capture left opt-in.
Why it matters
- constraint The three levers that make telemetry cheap stop applying to the retained subset, so its unit cost is set by retention policy rather than by ingest pricing.
- cost A prompt or retry-policy change can move the storage bill without moving completed-task counts, leaving capacity forecasts with no billable denominator to sit against.
- decision The real choice arrives at write time, per field, and it has to be settled before any vendor comparison is meaningful.
Two readers want opposite things from the same rows. A reviewer opens one run and needs the whole object: which files were inspected, which commands ran, what came back, in order [5][16]. The team shipping the agent wants thousands of those runs collapsed into whether a model or prompt change raised test success or just added tool calls and cost [17]. One is a point read of a wide, deep record; the other is a scan across a thin slice of a very large number of them. Engines that serve both well are not common, and the split is harder here than usual, because the aggregate people actually want includes content fields that exist only when content capture is turned on [11].
The write side has a shape too. Flatten the daily browser-event total Laminar reported in its case study and it lands near six events a second [1][12]. That figure is useless for sizing anything, because the same case study describes single sessions running past half an hour and producing hundreds of thousands of DOM diff events by themselves [1]. Two hundred thousand in that window is roughly 110 writes a second from one user [13], about nineteen times the flat daily rate [14]. Put two of those sessions side by side and the average stops describing the system. Bursty, fan-out driven ingest, landing somewhere that has to behave like product state.
What makes this a storage question rather than a vendor question is which cost levers survive the transition. Telemetry is affordable because you can sample it, let it expire, or throw it away [2]. Once a teammate can reopen a run later to see why the code changed, all three are unavailable for whatever subset the product renders [16][3]. That subset also inherits the application's authorization model, because prompts, retrieved documents, tool arguments and command output can carry tenant or user data [7], and where the record doubles as an audit trail, retention stops being an engineering preference [6].
The budgeting failure is the part worth planning against. Pull request counts and issue counts move with units of work at the workflow boundary [8]. Span counts move with what the agent did inside a unit of work [9], so a retry policy shipped on a Tuesday can lift stored volume with no additional completed tasks behind it [10]. The denominator a team forecasts that line against is not the denominator it invoices on.
The GenAI semantic conventions are still in development [11], which means the retained subset is not something the ecosystem hands you finished. It is a field-by-field decision about which spans are diagnostic and which are the user's record [4], written by someone on the team and then owned by them.
What to watch
- Whether the OpenTelemetry GenAI span types and content-capture policy stabilise enough to make the retained subset portable between stores instead of vendor-shaped.
- Any published per-run storage cost figures from teams keeping full traces at the event rates in the Laminar case study.
- Whether teams start splitting diagnostic spans from retained product spans at write time, or keep one store and absorb the retention cost.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence34
- Adoption22
- Hype gap+16
- Incentives
- Insufficient
- Confidence44
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
In a case study, Laminar reported more than 500,000 browser events per day, with a browser-agent session running more than 30 minutes and generating hundreds of thousands of DOM diff events, which Laminar used to reconstruct a video-like replay of what the agent saw.
- [2]
Not every agent trace counts as application data: an internal diagnostic trace that can be sampled, expired or discarded is still telemetry.
- [3]
The boundary moves once the product has to retrieve, display or retain a durable execution record.
- [4]
The telemetry/product-data boundary can sit inside a single trace: raw diagnostic fields stay internal while the fields needed to reconstruct the user's task move into product state, and internal diagnostic fields do not automatically belong in the product view just because they came from the same run.
- [5]
The product can render a projection of observable execution (model invocations, tool calls, file reads, command results, errors, timing, state transitions) without exposing a model's private chain of thought; a developer may need to see which files an agent inspected and a reviewer which commands ran and whether tests passed.
- [6]
In some workflows the execution record also becomes an audit record, which changes its access and retention requirements.
- [7]
Once the execution record becomes product state it must follow the application's access model, because code, prompts, retrieved documents, tool arguments and command output may carry tenant or user data, so the application must enforce the same authorization boundaries when storing and retrieving them.
- [8]
Pull request volume scales with the number of patches submitted for review and issue volume with the number of development tasks; both count units of work at the workflow boundary.
- [9]
Agent traces scale with the execution graph inside each task: one request to fix a failing test can trigger multiple model calls, file reads, searches, command executions, test retries and branches before a patch is proposed, and each step can produce its own span or event.
- [10]
Adding a new tool, a retry policy or a branch can increase data volume even though the number of completed tasks has not changed.
- [11]
OpenTelemetry GenAI semantic conventions, still in development, define separate span types for model inference, tool execution and retrieval; what is captured depends on span type and content-capture policy, with inference spans carrying model identifiers, token usage and opt-in input and output messages, and tool-execution spans carrying opt-in arguments and results.
- [12]
500,000 browser events per day is an average of about 5.8 events per second.
- [13]
A single session generating 200,000 DOM diff events over 30 minutes writes about 111 events per second.
- [14]
One such session's write rate is roughly 19 times the flat daily average rate implied by the reported daily total.
- [15]
The New Stack argues that for many agentic products the agent run record turns out to be application data with a telemetry-shaped workload, and that this combination is what changes the storage decision.
- [16]
Developers and reviewers want a durable version of the run available whenever they need it, and a teammate might reopen the same run later to see why the code changed.
- [17]
The team building the agent wants the same execution data aggregated across thousands of runs, to see whether a model or prompt update improved test success or just added more tool calls and cost, because agent behavior is nondeterministic and shifts over time.
Sources
1 independent publisher whose own reporting we read for this story.
- thenewstack.ioWhen AI agent traces become application data
1 article · August 26, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- Agent ObservabilityFollow
- OpenTelemetry GenAI ConventionsFollow
- Data Storage ArchitectureFollow
- Multi-Tenant AuthorizationFollow
- Telemetry vs. Product DataFollow
- Coding AgentsFollow