---
title: Manage and Map Dependencies
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > Internal Developer Portal > Use Cases > Manage and Map Dependencies
---

# Manage and Map Dependencies

{% callout %}
# Important note for users on the following Datadog sites: app.ddog-gov.com

{% alert level="danger" %}
This product is not supported for your selected [Datadog site](https://docs.datadoghq.com/getting_started/site.md). ().
{% /alert %}

{% /callout %}

Datadog's Software Catalog offers powerful dependency mapping capabilities to help teams document, track, and assess upstream and downstream relationships. These features support both automatic discovery and manual definition so you can flexibly and accurately define your system architecture.

## Automatic dependency mapping and entity discovery{% #automatic-dependency-mapping-and-entity-discovery %}

- **Automatic discovery:** By default, Software Catalog includes all discovered entities from APM, USM, and RUM. When you instrument additional applications across your environments, their dependencies are automatically added to the Catalog.

- **Telemetry integration:** Software Catalog auto-detects dependency relationships using application telemetry collected by APM, USM, and RUM, providing teams with real-time insights into service relationships and performance impacts.

{% image
   source="https://docs.dd-static.net/images/tracing/software_catalog/dependency-mgmt-use-case-auto-discovery.9722f3a252b937543ac25657389d86ec.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/software_catalog/dependency-mgmt-use-case-auto-discovery.9722f3a252b937543ac25657389d86ec.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="The Dependencies tab in the side panel for a service, showing a flow chart of service dependencies." /%}

## Manual dependency definition in Software Catalog schema v3.0{% #manual-dependency-definition-in-software-catalog-schema-v30 %}

In [Software Catalog schema v3.0](https://docs.datadoghq.com/software_catalog/service_definitions/v3-0.md), teams can manually define relationships to supplement auto-detected topologies. This features is particularly helpful for defining dependencies that reflect institutional knowledge and team collaboration, ensuring a more complete view of system relationships.

{% image
   source="https://docs.dd-static.net/images/tracing/software_catalog/dependency-mgmt-use-case-relationship-mapping.e1914a7a80a68f8ade89994a2b86c4e6.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/software_catalog/dependency-mgmt-use-case-relationship-mapping.e1914a7a80a68f8ade89994a2b86c4e6.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="A hierarchical relationships diagram showing a service's dependencies." /%}

### Configure a manual dependency{% #configure-a-manual-dependency %}

To define a manual dependency, update the `spec` section of the relevant entity definition using the following keys:

- `dependsOn`: Specifies dependencies (for example, Service A depends on Service B).
- `ownedBy`: Assigns ownership to a team or group (for example, Service A is owned by Team A).
- `partOf`: Groups components under a system (for example, Service A is part of System A).

Example YAML configuration:

```yaml
apiVersion: v3
kind: service
metadata:
  name: web-store
spec:
  dependsOn: 
    - service: cws-webapp
```

### View manual dependencies{% #view-manual-dependencies %}

To view manual dependencies in the Datadog app:

1. Navigate to [Software Catalog](https://app.datadoghq.com/services).
1. Select your service to open the side panel.
1. Find the Performance tab, then select the Dependencies sub-tab.

You can also open the full Service Page for a particular service and select the Dependencies section in the left-hand navigation.

All dependencies, including manual dependencies, are shown. You can use the "Include Detected" feature to modify your view:

- When **Include Detected** is disabled: Only manually defined dependencies are shown.
- When **Include Detected** is enabled: Manually added dependencies are shown above auto-detected ones to create a clear distinction.

{% image
   source="https://docs.dd-static.net/images/tracing/software_catalog/dependency-mgmt-use-case-include-detected.c2a398b95a023251001d50ac2f6b2357.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/tracing/software_catalog/dependency-mgmt-use-case-include-detected.c2a398b95a023251001d50ac2f6b2357.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="A diagram showing the dependencies of a service, where 'Include Detected' is disabled." /%}

### Benefits of manual dependency definitions{% #benefits-of-manual-dependency-definitions %}

- Improved accuracy: By defining dependencies manually, teams can incorporate their specific understanding and insights into the Software Catalog, ensuring it accurately represents architectures of real-world systems that automated tools might miss.
- Enhanced collaboration: Manually defined dependencies support better communication and coordination by making relationships explicit, aiding in incident response efforts and strategic architecture planning.
- Contextual knowledge: Providing manual definitions helps developers and new team members quickly understand the complexities of system dependencies and architectures, facilitating smoother onboarding and knowledge transfer.

## Further reading{% #further-reading %}

- [Datadog Application Performance Monitoring](https://docs.datadoghq.com/tracing.md)
- [Datadog Universal Service Monitoring](https://docs.datadoghq.com/universal_service_monitoring.md)
- [Datadog Real User Monitoring](https://docs.datadoghq.com/real_user_monitoring.md)
