> ## Documentation Index
> Fetch the complete documentation index at: https://namespace.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Docker Build Observability

export const CenteredImage = ({src, alt, width, caption, className}) => {
  const [basePath, setBasePath] = useState("");
  useEffect(() => {
    const path = window.location.pathname;
    setBasePath(path === "/docs" || path.startsWith("/docs/") ? "/docs" : "");
  }, []);
  return <Frame caption={caption} className={className} style={{
    maxWidth: width,
    marginInline: "auto"
  }}>
			<OptimizedImage src={`${basePath}${src}`} alt={alt} />
		</Frame>;
};

Gain comprehensive insights into build failures and your build performance with detailed traces, step logs, and attributions.

## Debugging build failures

For any build failure, Namespace extracts and highlights the cause directly in the build dashboard.

<CenteredImage width={600} alt="build failure extraction" src="/docs/images/docker-builders/failure.png" />

To dive into the failing step, navigate to the logs view.
You can find detailed logs for each step allowing you to understand the context of the failure.

<CenteredImage width={600} alt="build step logs" src="/docs/images/docker-builders/logs.png" />

To understand the full context of a build failure, Namespace also highlights which commit was used as a base for the build and which build machine executed the build.

<CenteredImage width={600} alt="build attribution" src="/docs/images/docker-builders/attribution.png" />

This contextual information is crucial for debugging because build failures often stem from recent code changes.
You can quickly determine if the failure is related to a specific code change that needs to be reverted, or if environmental factors may play a role.

## Performance Analysis

Moving your builds to Namespace already speeds them up significantly.
The build dashboard also makes it trivial to identify bottlenecks and unlock further performance gains.
To get started, take a look a the slowest recent builds.

<CenteredImage width={600} alt="slow builds" src="/docs/images/docker-builders/slow-builds.png" />

When selecting a build, you can see at a glance which steps were cached.

<CenteredImage width={600} alt="cached build steps" src="/docs/images/docker-builders/cached-steps.png" />

When you frequently find surprising cache misses, this may be indicative of a suboptimal build definition.
Sign up for a [consultation session](mailto:support@namespace.so) to talk to one of our engineers.

When investigating the performance of non-cached steps, the build trace view allows a deeper analysis.
It visualizes the critical path of your build execution and highlights which steps ran in parallel.
This view is ideal to spot which steps dominate the overall build time.

<CenteredImage width={600} alt="build layer performance tracing" src="/docs/images/docker-builders/tracing.png" caption="Critical path analysis for Docker builds" />

## Build Connections

If your build was requested from within Namespace compute, the connection is recorded and explained in the dashboard.
This allows you to easily go back and understand the context of a build.
When using GitHub Actions, you can jump directly to the run that issued the build.

<CenteredImage width={600} alt="build attribution" src="/docs/images/docker-builders/attribution.png" />

The connection is symmetric. When [debugging GitHub actions](/docs/solutions/github-actions/debugging), you can inspect any associated build with a single click.

<div className="flex flex-wrap items-center justify-center gap-8 my-8">
  <CenteredImage width={290} alt="Container Builds" src="/docs/images/github-actions/container-builds.png" className="m-0" />

  <CenteredImage width={400} alt="Build Tracing" src="/docs/images/github-actions/buildtrace.png" className="m-0" />
</div>

## Hands-on Support

Got stuck? Need help with debugging one of your workflows? Our team is here to assist:

* **Technical Support**: Reach out to [support@namespace.so](mailto:support@namespace.so) to talk to one of our engineers.
* **Community**: Join our community [Discord](https://discord.gg/DqMzDFR6Hc) to learn about tips and best practices.
