--- title: 'How to use Tracer with Dagster' sidebarTitle: 'Dagster' description: 'Execution insight beneath assets and jobs' --- Dagster orchestrates data and scientific workflows by defining assets, jobs, and execution graphs. It determines what runs, when it runs, and how results are materialized, but it does not observe how code behaves while executing inside processes, containers, or the operating system. Tracer complements Dagster by exposing execution behavior: CPU, memory, disk, and network usage, during asset and job execution, without modifying Dagster definitions or runtime configuration. For a conceptual overview, see [How Tracer fits in your stack](/comparisons/overview). ## What Dagster does well Dagster provides strong orchestration and structure for workflows, including: - Asset and job definitions - Dependency graphs and execution ordering - Materialization tracking and lineage - Run history, logs, and execution state These capabilities make Dagster effective for managing complex workflows and data dependencies. They focus on logical structure and execution state. ## What Dagster does not see at runtime Dagster tracks whether an asset or op ran and whether it succeeded, but it does not observe execution inside the runtime environment. It does not show: - CPU utilization during asset or op execution - Memory pressure or over-allocation - Disk and network I/O contention - Short-lived subprocesses invoked by ops - Idle time while code waits on I/O or external systems This behavior occurs below the orchestration layer and is not visible through asset metadata or run logs. ## Why this gap matters in practice Dagster assets often wrap complex computations, database operations, or external tools. Resource requirements are commonly estimated conservatively to ensure successful runs. Without execution-level visibility, teams struggle to answer: - Why an asset materialization is slower than expected - Whether allocated resources are actually used - Whether performance is limited by compute, I/O, or memory - Why costs increase even when workflows appear unchanged As a result, pipelines may be correct and reproducible, yet inefficient. ## What Tracer adds Tracer observes execution directly from the host and container runtime and adds: - Observed CPU, memory, disk, and network usage per run and op - Visibility into subprocesses and nested tools invoked by assets - Detection of stalls, idle execution, and contention - Attribution of resource usage by job, asset, and execution unit These insights are based on observed behavior, not on configuration, metadata, or assumptions.