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 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.
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.
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 content | Result |
|---|---|
A topology | A Smartscape node, with an entity-extraction and a node-extraction processor |
A topology | 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 relationship | Smartscape edge |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
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.
Open your registered workspace in VS Code.
Press F1 and select the command Dynatrace extensions: Create Smartscape Topology.
Choose how you want to configure the topology:
If you chose Input topology detail, work through the prompts. For each type and relationship, you're asked to confirm:
$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 sourceslogs.pipeline.json and logs.source.json—created when your topology has logs sourcesIt 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.
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:
$prefix(server.) becomes server.<first_metric), but this may not always be the correct choice.Once you're happy with the generated files, package them and ship them with your extension.
Press F1 and select the command Dynatrace extensions: Build. The entire extension folder is bundled, so the new openpipeline/ files are included automatically.
When prompted, choose to upload the package to Dynatrace, then activate the new version.
For the full packaging workflow, see the Build command reference.
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.
| Message | What to do |
|---|---|
Extension does not have a topology section | Add a |
No topology processors created | Your topology types have no metrics or logs sources to extract from—add sources to the rules in your |
ExtensionsInfrastructure Observability