> For the complete documentation index, see [llms.txt](https://stephen-tsoi.gitbook.io/stephen-tsoi-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stephen-tsoi.gitbook.io/stephen-tsoi-docs/opentelemetry/from-missing-events-to-complete-visibility-tracing-enterprise-transactions-with-opentelemetry/day-7-34-control-your-trace-log-volume-and-size.md).

# Day 7/34 Control your Trace Log Volume and Size

After enabling OpenTelemetry, management, developers, and business users often share the same expectation:\
Log everything so incidents can be troubleshot quickly and easily.

What they may not realize is the significant challenge this creates—and eventually, the workaround everyone is forced to accept: cost.

Both infrastructure bandwidth and APM licensing fees can grow far beyond expectations.

Let’s put this into perspective.\
\*\*Assume one span log is \~3 KB\
\*\*The system handles 10,000 requests (traces) per second\
\*\*Each request flows through 5 systems\
\*\*One trace generates 20 OpenTelemetry spans\
That translates to \~585 MB of trace data per second, or more than 50 TB of trace logs per day. And this is only a baseline.

In reality, actual bandwidth usage and backend storage can be significantly higher, depending on system complexity, attributes, and metadata.

This is why controlling trace volume and data size from Day 1 is critical, rather than being forced to roll back your observability strategy once costs spiral out of control.

Some practical approaches:\
\*\*Prefer manual instrumentation over full auto‑instrumentation to better control what gets traced\
\*\*Use OpenTelemetry Collector filtering to remove unnecessary attributes\
\*\*Adopt a two‑tier collector architecture:\
\*\*Sample successful requests\
\*\*Retain 100% of failed traces\
\*\*Enable tracing only on critical paths, not every single service interaction\
\*\*Configure aggressive retention policies in the APM backend, e.g. purge successful traces after 30–60 minutes

Ultimately, trace volume control is a trade‑off. You can’t afford to put all of your budget into tracing and monitoring alone.

Be clear about what problems you want observability to solve—before you turn everything on.

<figure><img src="https://2617374589-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcQN1DZY6gJZPxlsQf9Re%2Fuploads%2FdD03pNTzwSHQRCg3KYsK%2Fimage.png?alt=media&amp;token=3ceb7088-efdf-4720-89a7-33f45f324bc8" alt=""><figcaption></figcaption></figure>

## 🚀 Let's Connect Beyond GitBook!

If you found this article helpful, you can find more of my technical insights, daily discussions, and deep dives across these platforms:

* **Read more of my work:** Check out my articles on [dev.to](https://dev.to/stephen_tsoi_5b2c4055f3a9) and [Hashnode](https://stephentsoi.hashnode.dev/).
* **Join the daily conversation:** Connect with me directly on [LinkedIn](https://www.linkedin.com/in/stephen-tsoi-16309730/).

***

#### 📬 Stay Ahead of the Curve

Enjoyed this piece? I break down complex technical topics into bite-sized, actionable insights every week.

👉 **Subscribe to my** [**LinkedIn Newsletter**](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7487299517642612736) to never miss an update and get the latest articles delivered straight to your feed!


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://stephen-tsoi.gitbook.io/stephen-tsoi-docs/opentelemetry/from-missing-events-to-complete-visibility-tracing-enterprise-transactions-with-opentelemetry/day-7-34-control-your-trace-log-volume-and-size.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
