# Why Manual Instrumentation Leaves Gaps in Application Tracing

DevFeed: [Why Manual Instrumentation Leaves Gaps in Application Tracing](<https://devfeed.tech/articles/stop-writing-instrumentation-code-17844.md>)

Original publisher: [Read original article](<https://encore.dev/blog/stop-writing-instrumentation-code>)

Author: Ivan Cernja

Published: 2026-03-05T00:00:00Z

Content type: opinion

Language: en

Sources: [Encore Updates](<https://devfeed.tech/sources/encore-updates.md>)

Topics: [Instrumentation](<https://devfeed.tech/topics/instrumentation.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Express](<https://devfeed.tech/topics/express.md>), [Fastify](<https://devfeed.tech/topics/fastify.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [express](<https://devfeed.tech/tags/express.md>), [http](<https://devfeed.tech/tags/http.md>), [instrumentation](<https://devfeed.tech/tags/instrumentation.md>), [observability](<https://devfeed.tech/tags/observability.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [redis](<https://devfeed.tech/tags/redis.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [telemetry](<https://devfeed.tech/tags/telemetry.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

## AI overview

The article argues that manual tracing duplicates application structure already available to a compiler and creates incomplete observability when developers omit spans or context propagation. It explains that OpenTelemetry provides standardized protocols and SDKs, while common auto-instrumentation captures only surface-level operations and misses application-specific relationships.

## Source excerpt

Your tracing code is a second description of your application's structure. The compiler already has that information.