Try it free

Convert topology

  • Latest Dynatrace
  • How-to guide
  • 10-min read
  • Published Jul 16, 2026

Extension entities and relationships utilizing classic topology are defined in the topology: section of the extension.yaml. The latest Dynatrace Platform represents this information as Smartscape nodes (the entities) and edges (the relationships between them), populated through OpenPipeline.

This guide shows how to use Dynatrace Extensions Dynatrace Extensions to convert your existing topology into the OpenPipeline files that populate the Smartscape automatically, review the result, and deploy it with your extension.

Make sure your workspace is connected to a Platform environment. If your tenant connection still uses a Classic URL or access token, follow the Update your tenant configuration guide first.

Prerequisites

  • Complete the first-time setup for your editor.

    This guide assumes you have already configured your editor and registered your workspace. If you're new to Dynatrace Extensions for VS Code, follow the Getting started guide first.

  • Have an Extension 2.0 project with a topology.

    Your extension.yaml must define a topology: section with at least one entry under types. Relationships under relationships are optional, and are converted into Smartscape edges when present.

What the command creates

The command reads your topology section and rebuilds it as OpenPipeline processors: your entity types become Smartscape node processors, and your relationships become Smartscape edge processors. These are grouped into pipelines by the data that feeds them—metrics, logs, or both.

Classic contentResult

A topology type

A Smartscape node, with an entity-extraction and a node-extraction processor

A topology relationship

A Smartscape edge between the two mapped node types

Metrics sources

Processors placed in the metrics pipeline and source

Logs sources

Processors placed in the logs pipeline and source

Source conditions and required dimensions

Converted into DQL matcher expressions that drive extraction

Node and edge names follow the Smartscape convention: uppercase, with : and - replaced by underscores. For example, cloudhub:org is suggested as CLOUDHUB_ORG. Relationship types are mapped to their platform equivalents:

Classic relationshipSmartscape edge

CHILD_OF

belongs_to

RUNS_ON

runs_on

INSTANCE_OF

instance_of

PART_OF

is_part_of

CALLS

calls

SAME_AS

same_as

Each node extracts an id_classic field that ties the Smartscape node back to its classic entity type. This mapping is what the Convert UA pages command later uses to attach your pages to the right node, so keep it in place if you edit the generated files.

Create the topology

  1. Open your registered workspace in VS Code.

  2. Press F1 and select the command Dynatrace extensions: Create Smartscape Topology.

  3. Choose how you want to configure the topology:

    • Input topology detail—you review and confirm each node name, edge type, and matcher as the command walks through your topology. Choose this to fine-tune the result.
    • Use calculated values—the command applies its suggested values without prompting. Choose this for a fast first pass.
  4. If you chose Input topology detail, work through the prompts. For each type and relationship, you're asked to confirm:

    • The new node or edge name.
    • The DQL matcher expressions that decide which incoming data extracts each node or edge. The command suggests these from your classic source conditions and required dimensions—for example, a $prefix(...) condition becomes a matchesValue(...) matcher.

The command writes the generated files to extension/openpipeline/:

  • metrics.pipeline.json and metrics.source.json—created when your topology has metrics sources
  • logs.pipeline.json and logs.source.json—created when your topology has logs sources

It then adds an openpipeline: section to your extension.yaml referencing these files, so no manual manifest edits are required. Your original topology: section is left untouched.

Review the result

Open the generated files under extension/openpipeline/ and review the node and edge processors, in particular the matcher expressions. Because the files are validated against the platform schema, VS Code flags any structural issues and offers completion suggestions inline as you edit.

Details to check and adjust:

  • Pay special attention to the extracted fields and ID components—these determine how uniquely each Smartscape node is identified
  • Adjust the matchers if extraction is too broad or too narrow for your data
  • Ensure the metrics matched for node extraction include all dimensions required for extracting them
    • The conversion picks the first metric it finds that matches your topology definition (for example, $prefix(server.) becomes server.<first_metric), but this may not always be the correct choice.
    • Ensuring that all node details are present on matched metrics also ensures that edges can be correctly extracted between these nodes.

Build and deploy

Once you're happy with the generated files, package them and ship them with your extension.

  1. Press F1 and select the command Dynatrace extensions: Build. The entire extension folder is bundled, so the new openpipeline/ files are included automatically.

  2. When prompted, choose to upload the package to Dynatrace, then activate the new version.

For the full packaging workflow, see the Build command reference.

Next steps

With your topology available as Smartscape nodes, you can convert your unified analysis pages so they render on the Platform. Continue with the Convert UA pages guide.

Troubleshooting

MessageWhat to do

Extension does not have a topology section

Add a topology: section with at least one types entry to your extension.yaml before running the command

No topology processors created

Your topology types have no metrics or logs sources to extract from—add sources to the rules in your topology: section

Related tags
ExtensionsExtensionsInfrastructure Observability