Homeโ€บ๐ŸŽฏ Phase 0: Understand the Shiftโ€บModule 32 min read ยท 4/21

Smartscape & Entity Model

Tutorial

Smartscape โ€” Entity Model After Migration

The topology model stays the same after migration โ€” Dynatrace still auto-discovers infrastructure, services, and relationships. What changes is how to query it: Gen3 adds Smartscape DQL commands alongside the existing entity fetch syntax.

Entity Type Mapping

Classic entity queries still work, but Gen3 adds Smartscape commands for topology traversal:

Classic Query (still works)              Smartscape Command (new)
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
fetch dt.entity.host                    smartscapeNodes HOST
fetch dt.entity.service                 smartscapeNodes SERVICE
fetch dt.entity.process_group_instance  smartscapeNodes PROCESS
fetch dt.entity.application             smartscapeNodes APPLICATION
fetch dt.entity.kubernetes_cluster      smartscapeNodes K8S_CLUSTER
fetch dt.entity.kubernetes_node         smartscapeNodes K8S_NODE

๐Ÿ’ก fetch dt.entity.* returns entity properties. smartscapeNodes returns topology nodes with relationship traversal. Use fetch for entity data, smartscapeNodes + traverse for topology navigation.

โš ๏ธ Smartscape commands are in Preview. The fetch dt.entity.* syntax is stable and fully supported. Use Smartscape commands when you need relationship traversal.

Navigating Relationships

In Gen2, you used entity selectors with relationship filters. In Gen3, you use traverse:

Gen2: type(SERVICE),relatesTo(HOST-ABC123)
Gen3: smartscapeNodes HOST | filter id == "HOST-ABC123"
      | traverse runs_on, SERVICE, direction: backward

๐Ÿ›  Try it: Open a Notebook and run:
fetch dt.entity.host | fields entity.name, id | limit 5
Classic entity queries work perfectly in Gen3. Use smartscapeNodes when you need to traverse relationships.

Function Migration

Gen2 Function                    Gen3 Replacement
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
entityName(id)                   name field, or getNodeName(id)
entityAttr(id, "field")          direct node field, or getNodeField(id, "field")
classicEntitySelector(...)       node filters + traverse

Common Entity Queries

List all hosts

fetch dt.entity.host
| fields entity.name, osType, cpuCores, tags
| sort entity.name asc

List services on a host

fetch dt.entity.service
| fields entity.name, serviceType
| limit 20

๐Ÿ’ก Discovery tip: Run describe dt.entity.service to see all available fields for services. Works for any entity type.

Smartscape Views & Modals (New)

Gen3 Smartscape is now an interactive map powered by Grail:

  • Smartscape Views โ€” customized topology visualizations you can save and share
  • Smartscape Modals โ€” embed topology views inside any Dynatrace app
  • Clouds Overview โ€” unified view of AWS/Azure/GCP resources
  • Kubernetes โ€” full-stack visibility of clusters, namespaces, workloads

๐Ÿ›  Try it: Ctrl+K โ†’ "Smartscape" โ†’ Explore the topology โ†’ Click any entity โ†’ See relationships, metrics, and problems in context.

Required Permissions

Permission                          Purpose
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
storage:smartscape:read             Read Smartscape topology data
storage:entities:read               Read entity details
storage:metrics:read                Display entity metrics
storage:events:read                 Query problems on entities
storage:filter-segments:read        Apply segment filters