For a conceptual overview, see How Tracer fits in your stack.
What Prefect does well
Prefect provides orchestration and state management for workflows, including:- Flow and task definitions
- Scheduling and triggering of runs
- Task retries, caching, and failure handling
- Task logs, states, and execution history
What Prefect does not see at runtime
While Prefect tracks task state, it does not observe execution inside tasks. It does not show:- CPU usage versus requested or available capacity
- Memory pressure or over-allocation during task execution
- Disk and network I/O contention
- Short-lived subprocesses spawned within tasks
- Idle time while tasks wait on I/O or external systems
Why this gap matters in practice
Prefect tasks often wrap complex tools, scripts, or libraries. Resource requirements are typically estimated conservatively to avoid failures. Without execution-level visibility, teams struggle to answer:- Why a task runs slower than expected
- Whether allocated resources are actively used
- Whether performance is limited by CPU, memory, disk, or network
- Whether tasks are idle while still consuming infrastructure
What Tracer adds
Tracer observes execution directly from the host and container runtime and adds:- Observed CPU, memory, disk, and network usage per task
- Visibility into subprocesses and nested tools invoked by tasks
- Detection of stalls, idle execution, and contention
- Attribution of resource usage by flow run, task, and execution unit
Example: diagnosing slow Prefect tasks
A Prefect task reports a long runtime but no errors. Tracer shows:- Low CPU utilization
- Frequent blocking on disk or network I/O
- Subprocesses that run briefly but repeatedly
Using execution insight to tune workflows
With execution-level data, teams can make informed adjustments, such as:- Reducing CPU or memory allocations for underutilized tasks
- Isolating I/O-heavy tasks onto appropriate instance types
- Separating compute-heavy and coordination-heavy tasks
- Identifying tasks that block on external systems
Observability comparison
This comparison highlights the difference between task-state visibility and execution-level observation.
What Tracer does not replace
Tracer is not a workflow orchestrator.- It does not replace Prefect
- It does not schedule, retry, or manage task state
- It does not modify flow definitions or task logic
When to use Tracer with Prefect
Tracer is most useful when teams need to:- Explain slow or inconsistent task runtimes
- Identify idle or inefficient task execution
- Diagnose performance issues beyond logs and task states
- Attribute resource usage and cost to specific flows or tasks

