A Spring Boot app plus a 90-minute curriculum on the Service Detection v1 → v2 migration for OneAgent-monitored workloads. SDv2 for OneAgent is available only on Latest Dynatrace tenants; the course assumes a Latest tenant. Labs run against your own tenant.
View on GitHub Setup guide Curriculum
Entity-first → attribute-first. Workload as the unit. Three transport families. SDv1 fragmentation vs. the SDv2 UNIFIED entity.
Where service names come from, metric-first queries, the service.name workaround for SDv1 services today, pipeline-side naming that's coming.
Every endpoint baselined, the http.route gap, downstreams as tabs not entities, SERVICE_DEPLOYMENT for per-environment views.
Twelve labs and two forward-looking readings. Each lab is a Dynatrace notebook that queries against your own tenant. A companion Spring Boot app fills in when the tenant doesn't already have a workload with the right shape.
| Component | What it is |
|---|---|
app/ | Spring Boot monolith — two controllers, a Kafka consumer, a JDBC client |
k8s/ | Manifests: two namespaces, Postgres + Redpanda per side, two app deployments in Classic + one in Latest, two loadgens |
curriculum/ | Thirteen modules (markdown narrative + lab notebook YAML + per-module Marp slides) plus a single consolidated editable PPTX |
scripts/up.sh | Brings up the whole stack on GKE in one command |
scripts/load-curriculum.sh | Loads every lab into your tenant with an environment share |
# After you've set the required env vars (see SETUP.md):
./scripts/up.sh
./scripts/load-curriculum.sh
Full prerequisites — GKE, Dynatrace tokens, dtctl — in the setup guide.
Each tagged release bundles the curriculum as three downloadable artifacts on the releases page: slides (single PPTX, all 13 modules), notebooks (YAML), and the full teaching tree (tarball).