{"id":"8a9c82ed-e046-42b2-a5cb-d7394ca37b83","shortId":"WtvrYS","kind":"skill","title":"dt-obs-services","tagline":">-","description":"# Application Services Skill\n\nMonitor application service performance, health, and runtime-specific metrics using DQL.\n\n---\n\n## Core Capabilities\n\n### 1. Service Performance (RED Metrics)\n\nMonitor service **Rate, Errors, Duration** using metrics-based timeseries queries.\n\n**Key Metrics:**\n- `dt.service.request.response_time` - Response time (microseconds)\n- `dt.service.request.count` - Request count\n- `dt.service.request.failure_count` - Failed request count\n\n**Common Use Cases:**\n- Response time monitoring (avg, p50, p95, p99)\n- Error rate tracking and spike detection\n- Traffic analysis (throughput, peaks, growth)\n- Performance degradation detection\n- Multi-cluster comparison\n\n**Quick Example:**\n```dql\ntimeseries {\n  p95 = percentile(dt.service.request.response_time, 95),\n  total_requests = sum(dt.service.request.count),\n  failures = sum(dt.service.request.failure_count)\n}, by: {dt.service.name}\n| fieldsAdd p95_ms = p95[] / 1000, error_rate_pct = (failures[] * 100.0) / total_requests[]\n```\n\n→ **For detailed queries:** See [references/service-metrics.md](references/service-metrics.md)\n\n### 2. Advanced Service Analysis\n\nSpan-based queries for complex scenarios requiring flexible filtering and custom aggregations.\n\n**Use Cases:**\n- SLA compliance tracking with custom thresholds\n- Service health scoring (multi-dimensional)\n- Operation/endpoint-level performance analysis\n- Custom error classification\n- Failure pattern detection with error details\n\n**Quick Example:**\n```dql\nfetch spans, from: now() - 1h | filter request.is_root_span == true\n| fieldsAdd meets_sla = if(request.is_failed == false AND duration < 3s, 1, else: 0)\n| summarize total = count(), sla_compliant = sum(meets_sla), by: {dt.service.name}\n| fieldsAdd sla_compliance_pct = (sla_compliant * 100.0) / total\n```\n\n→ **For detailed queries:** See [references/service-metrics.md](references/service-metrics.md)\n\n### 3. Service Messaging Metrics\n\nMonitor message-based service communication (queues, topics).\n\n**Key Metrics:**\n- `dt.service.messaging.publish.count` - Messages sent to queues or topics\n- `dt.service.messaging.receive.count` - Messages received from queues or topics\n- `dt.service.messaging.process.count` - Messages successfully processed\n- `dt.service.messaging.process.failure_count` - Messages that failed processing\n\n**Use Cases:**\n- Message throughput monitoring (publish/receive rates)\n- Message processing failure tracking\n- Queue/topic health analysis\n- Consumer lag detection (publish vs receive rate comparison)\n\n**Quick Example:**\n```dql\ntimeseries {\n  published = sum(dt.service.messaging.publish.count),\n  received = sum(dt.service.messaging.receive.count),\n  processed = sum(dt.service.messaging.process.count),\n  failed = sum(dt.service.messaging.process.failure_count)\n}, by: {dt.service.name}\n```\n\n→ **For detailed queries:** See [references/service-metrics.md](references/service-metrics.md)\n\n### 4. Service Mesh Monitoring\n\nMonitor service mesh ingress performance and overhead.\n\n**Key Metrics:**\n- `dt.service.request.service_mesh.response_time` - Mesh response time (microseconds)\n- `dt.service.request.service_mesh.count` - Mesh request count\n- `dt.service.request.service_mesh.failure_count` - Mesh failure count\n\n**Use Cases:**\n- Mesh vs direct performance comparison\n- Mesh overhead calculation\n- Mesh failure analysis\n- gRPC traffic monitoring\n- Multi-cluster mesh performance\n\n**Quick Example:**\n```dql\ntimeseries {\n  direct_p95 = percentile(dt.service.request.response_time, 95),\n  mesh_p95 = percentile(dt.service.request.service_mesh.response_time, 95)\n}, by: {dt.service.name}\n| fieldsAdd mesh_overhead_ms = (mesh_p95[] - direct_p95[]) / 1000\n```\n\n→ **For detailed queries:** See [references/service-metrics.md](references/service-metrics.md)\n\n### 5. Runtime-Specific Monitoring\n\nTechnology-specific runtime performance and resource usage metrics.\n\n**Java/JVM** - [references/java.md](references/java.md)\n- Memory: heap, pools, metaspace\n- GC: impact, suspension, frequency, pause time\n- Threads: count monitoring, leak detection\n- Classes: loading, unloading, growth\n\n**Node.js** - [references/nodejs.md](references/nodejs.md)\n- Event loop: utilization, active handles\n- V8 heap: memory used, total\n- GC: collection time, suspension\n- Process: RSS memory\n\n**.NET CLR** - [references/dotnet.md](references/dotnet.md)\n- Memory: consumption by generation\n- GC: collection count, suspension time\n- Thread pool: threads, queued work\n- JIT: compilation time\n\n**Python** - [references/python.md](references/python.md)\n- Threads: active thread count\n- Heap: allocated blocks\n- GC: collection by generation, pause time\n- Objects: collected, uncollectable\n\n**PHP** - [references/php.md](references/php.md)\n- OPcache: hit ratio, memory, restarts\n- GC: effectiveness, duration\n- JIT: buffer usage\n- Interned strings: usage, buffer\n\n**Go** - [references/go.md](references/go.md)\n- Goroutines: count, leak detection\n- GC: suspension, collection time\n- Memory: heap by state, committed\n- Scheduler: worker threads, queue size\n- CGo: call frequency\n\n---\n\n## When to Use This Skill\n\n✅ **Use for:**\n- Monitoring service performance (response time, errors, traffic)\n- Calculating SLA compliance\n- Analyzing service mesh performance\n- Monitoring messaging throughput and processing failures\n- Troubleshooting runtime-specific issues (GC, memory, threads)\n- Multi-cluster service comparison\n- Operation/endpoint-level analysis\n\n❌ **Don't use for:**\n- Infrastructure metrics (use infrastructure skills)\n- Log analysis (use logs skills)\n- Distributed tracing workflows (use traces/spans skills)\n- Database performance (use database skills)\n- Product documentation or how-to configuration questions → use `ask-dynatrace-docs`\n\n---\n\n## Agent Instructions\n\n### Act First, Refine Later\n\nWhen a user asks for analysis — threshold checks, anomaly detection, performance\ncomparisons — **proceed immediately** with sensible defaults. Do not ask the user\nfor parameter values you can reasonably assume.\n\nWhy this matters: analysis tools (e.g., `static-threshold-analyzer`) require specific\ninputs like threshold values and service scope. The user expects results, not a\nparameter interview. Pick reasonable defaults, state them clearly in the response,\nand let the user refine.\n\n**Default values when not specified:**\n\n| Parameter | Default | Rationale |\n|-----------|---------|-----------|\n| Response time threshold | 1000 ms (= 1,000,000 µs in the metric's base unit) | Common SLA boundary |\n| Service scope | All services | Show the most relevant violations |\n| Timeframe | From the request, or last 30 min for threshold checks, 2h for general analysis | Matches typical operational windows |\n\n**Example: threshold violation request**\n1. Use `create-dql` to build a timeseries query for `avg(dt.service.request.response_time)` grouped by `dt.smartscape.service`\n2. Pass the query to `static-threshold-analyzer` with threshold = 1000000 (µs), alertCondition = ABOVE\n3. Resolve entity IDs to names using `get-entity-name`\n4. Present violations with service names, timestamps, values, and duration\n\n**Reading user phrasing:** Phrases like \"the fixed threshold\", \"a threshold\", or \"the limit\"\nname the *type of analysis* — static threshold check — not a specific number the user expects\nyou to already know. \"Fixed\" distinguishes a static cutoff from a dynamic or seasonal baseline.\nWhen you see these phrases, apply the 1000 ms default from the table above and present\nresults — the user can then refine if the default doesn't match their intent.\n\n### Scope Boundary\n\nThis skill covers **service performance metrics and runtime monitoring only**. If the\nuser asks a product documentation or configuration question (e.g., \"How do I add custom\nsensors?\", \"How do I configure service detection?\"), use `ask-dynatrace-docs` instead —\nthis skill does not contain configuration how-tos.\n\n### Understanding User Intent\n\n**Map user questions to capabilities:**\n\n| User Request | Use Capability | Key Files |\n|--------------|----------------|-----------|\n| \"service performance\", \"response time\", \"error rate\" | Service Performance (RED) | service-metrics.md |\n| \"SLA tracking\", \"health scoring\" | Advanced Service Analysis | service-metrics.md |\n| \"service mesh\", \"Istio\", \"Linkerd\", \"mesh overhead\" | Service Mesh Monitoring | service-metrics.md |\n| \"messaging\", \"queue\", \"topic\", \"publish\", \"consumer\" | Service Messaging Metrics | service-metrics.md |\n| \"JVM GC\", \"Java memory\", \"heap\" | Runtime-Specific (Java) | java.md |\n| \"Node.js event loop\", \"V8 heap\" | Runtime-Specific (Node.js) | nodejs.md |\n| \".NET CLR\", \"GC generation\" | Runtime-Specific (.NET) | dotnet.md |\n| \"Python GC\", \"thread count\" | Runtime-Specific (Python) | python.md |\n| \"OPcache\", \"PHP GC\" | Runtime-Specific (PHP) | php.md |\n| \"goroutines\", \"Go GC\", \"scheduler\" | Runtime-Specific (Go) | go.md |\n\n### Query Construction Patterns\n\n**1. Metrics-based (timeseries)**\n- **Use for:** Standard monitoring, dashboards, alerting\n- **Pattern:** `timeseries <metric> = <aggregation>(<metric_name>), by: {dimensions}`\n- **Files:** service-metrics.md, all runtime-specific files\n\n**2. Span-based (fetch spans)**\n- **Use for:** Complex filtering, custom logic, detailed analysis\n- **Pattern:** `fetch spans | filter request.is_root_span == true | fieldsAdd ... | summarize ...`\n- **Files:** service-metrics.md (Advanced Service Analysis section)\n\n**3. Comparison queries**\n- Use `append` for baseline comparison\n- Use `shift: -15m` for time-shifted baselines\n- **Example:** Performance degradation detection\n\n### Response Construction Guidelines\n\n**Always include:**\n1. **Metric name(s)** - Clear metric identifiers\n2. **Aggregation** - How data is aggregated (avg, sum, percentile)\n3. **Grouping** - Dimensions used (`dt.service.name`, `k8s.workload.name`, etc.)\n4. **Unit conversion** - Convert microseconds to milliseconds where appropriate\n5. **Filtering** - Relevant thresholds or conditions\n\n**When referencing runtime-specific content:**\n- **Check** user's technology stack first\n- **Provide** only relevant runtime queries (don't overwhelm with all 6 runtimes)\n- **Explain** runtime-specific metrics (e.g., \"OPcache hit ratio\" measures PHP opcode cache efficiency)\n\n---\n\n## Common Workflows\n\n### Workflow: Service Health Check\n```\n1. Check response time (RED metrics)\n2. Check error rate (RED metrics)\n3. Check traffic patterns (RED metrics)\n4. If runtime-specific issues suspected → Load runtime-specific reference\n```\n\n### Workflow: SLA Monitoring\n```\n1. Define SLA criteria (e.g., < 3s response time AND < 1% error rate)\n2. Use span-based query for custom SLA logic\n3. Calculate compliance percentage\n4. Filter non-compliant services\n```\n\n### Workflow: Service Mesh Analysis\n```\n1. Check mesh response time\n2. Compare mesh vs direct performance\n3. Calculate mesh overhead\n4. Analyze mesh failure rates\n```\n\n### Workflow: Runtime Troubleshooting\n1. Identify technology stack → Load runtime-specific reference\n2. Check memory/GC metrics → threads/goroutines → runtime features\n\n---\n\n## Troubleshooting\n\n| Problem | Cause | Solution |\n|---------|-------|----------|\n| Response time values look too large | Metric is in microseconds | Divide by 1000 to convert to milliseconds |\n| No data for service mesh metrics | Service mesh not configured | Verify mesh sidecar injection is enabled |\n| Runtime metrics missing | Wrong technology or no OneAgent | Confirm the runtime is supported and OneAgent is active |\n| `dt.smartscape.service` returns SmartscapeId, not name | Need entity name resolution | Use `getNodeName(dt.smartscape.service)` |\n| Error rate always zero | Using wrong failure metric | Use `dt.service.request.failure_count`, not custom fields |\n\n---\n\n## References\n\n**Core Service Monitoring:**\n- [references/service-metrics.md](references/service-metrics.md) - Complete RED metrics, SLA tracking, service mesh queries\n\n**Runtime-Specific Monitoring:**\n- [references/java.md](references/java.md) - Java/JVM monitoring\n- [references/nodejs.md](references/nodejs.md) - Node.js monitoring  \n- [references/dotnet.md](references/dotnet.md) - .NET CLR monitoring\n- [references/python.md](references/python.md) - Python monitoring\n- [references/php.md](references/php.md) - PHP monitoring\n- [references/go.md](references/go.md) - Go runtime monitoring","tags":["obs","services","dynatrace","for","agent-skills","ai-agents","claude-code","devops","dql","mcp","observability"],"capabilities":["skill","source-dynatrace","skill-dt-obs-services","topic-agent-skills","topic-ai-agents","topic-claude-code","topic-devops","topic-dql","topic-dynatrace","topic-mcp","topic-observability"],"categories":["dynatrace-for-ai"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Dynatrace/dynatrace-for-ai/dt-obs-services","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Dynatrace/dynatrace-for-ai","source_repo":"https://github.com/Dynatrace/dynatrace-for-ai","install_from":"skills.sh"}},"qualityScore":"0.489","qualityRationale":"deterministic score 0.49 from registry signals: · indexed on github topic:agent-skills · 78 github stars · SKILL.md body (12,321 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:56:48.849Z","embedding":null,"createdAt":"2026-05-11T18:57:14.849Z","updatedAt":"2026-05-18T18:56:48.849Z","lastSeenAt":"2026-05-18T18:56:48.849Z","tsv":"'-15':1077 '0':186 '000':686,687 '1':22,184,685,730,1015,1093,1175,1208,1217,1244,1267 '100.0':109,203 '1000':104,371,683,833,1299 '1000000':758 '1h':168 '2':118,747,1037,1100,1181,1220,1249,1276 '2h':718 '3':211,762,1067,1109,1187,1230,1255 '30':713 '3s':183,1213 '4':296,773,1116,1193,1234,1259 '5':378,1125 '6':1153 '95':89,354,360 'act':598 'activ':420,459,1336 'add':882 'advanc':119,934,1063 'agent':596 'aggreg':134,1101,1105 'alert':1025 'alertcondit':760 'alloc':463 'alreadi':813 'alway':1091,1351 'analysi':70,121,151,262,336,557,568,607,634,721,800,936,1050,1065,1243 'analyz':533,640,755,1260 'anomali':610 'append':1071 'appli':831 'applic':5,9 'appropri':1124 'ask':593,605,621,871,893 'ask-dynatrace-doc':592,892 'assum':630 'avg':59,741,1106 'base':35,124,218,693,1018,1040,1224 'baselin':825,1073,1083 'block':464 'boundari':697,857 'buffer':486,491 'build':736 'cach':1167 'calcul':333,530,1231,1256 'call':514 'capabl':21,913,917 'case':55,136,250,325 'caus':1285 'cgo':513 'check':609,717,803,1137,1174,1176,1182,1188,1245,1277 'class':410 'classif':154 'clear':663,1097 'clr':435,978,1392 'cluster':79,342,553 'collect':428,443,466,472,501 'commit':507 'common':53,695,1169 'communic':220 'compar':1250 'comparison':80,270,330,555,613,1068,1074 'compil':453 'complet':1369 'complex':127,1045 'complianc':138,199,532,1232 'compliant':191,202,1238 'condit':1130 'configur':589,876,888,902,1313 'confirm':1328 'construct':1013,1089 'consum':263,952 'consumpt':439 'contain':901 'content':1136 'convers':1118 'convert':1119,1301 'core':20,1364 'count':47,49,52,97,189,244,287,318,320,323,406,444,461,496,989,1359 'cover':860 'creat':733 'create-dql':732 'criteria':1211 'custom':133,141,152,883,1047,1227,1361 'cutoff':819 'dashboard':1024 'data':1103,1305 'databas':578,581 'default':618,660,672,678,835,850 'defin':1209 'degrad':75,1086 'detail':113,160,206,291,373,1049 'detect':68,76,157,265,409,498,611,890,1087 'dimens':1029,1111 'dimension':148 'direct':328,349,369,1253 'distinguish':816 'distribut':572 'divid':1297 'doc':595,895 'document':584,874 'doesn':851 'dotnet.md':985 'dql':19,83,163,273,347,734 'dt':2 'dt-obs-servic':1 'dt.service.messaging.process.count':239,283 'dt.service.messaging.process.failure':243,286 'dt.service.messaging.publish.count':225,277 'dt.service.messaging.receive.count':232,280 'dt.service.name':99,196,289,362,1113 'dt.service.request.count':45,93 'dt.service.request.failure':48,96,1358 'dt.service.request.response':40,87,352,742 'dt.service.request.service_mesh.count':315 'dt.service.request.service_mesh.failure':319 'dt.service.request.service_mesh.response':309,358 'dt.smartscape.service':746,1337,1348 'durat':31,182,484,782 'dynam':822 'dynatrac':594,894 'e.g':636,878,1160,1212 'effect':483 'effici':1168 'els':185 'enabl':1319 'entiti':764,771,1343 'error':30,63,105,153,159,528,924,1183,1218,1349 'etc':1115 'event':417,968 'exampl':82,162,272,346,726,1084 'expect':652,810 'explain':1155 'fail':50,179,247,284 'failur':94,108,155,258,322,335,542,1262,1355 'fals':180 'featur':1282 'fetch':164,1041,1052 'field':1362 'fieldsadd':100,174,197,363,1059 'file':919,1030,1036,1061 'filter':131,169,1046,1054,1126,1235 'first':599,1142 'fix':789,815 'flexibl':130 'frequenc':402,515 'gc':399,427,442,465,482,499,548,958,979,987,997,1005 'general':720 'generat':441,468,980 'get':770 'get-entity-nam':769 'getnodenam':1347 'go':492,1004,1010,1404 'go.md':1011 'goroutin':495,1003 'group':744,1110 'growth':73,413 'grpc':337 'guidelin':1090 'handl':421 'health':12,144,261,932,1173 'heap':396,423,462,504,961,971 'hit':478,1162 'how-to':586,903 'id':765 'identifi':1099,1268 'immedi':615 'impact':400 'includ':1092 'infrastructur':562,565 'ingress':303 'inject':1317 'input':643 'instead':896 'instruct':597 'intent':855,908 'intern':488 'interview':657 'issu':547,1198 'istio':940 'java':959,965 'java.md':966 'java/jvm':392,1383 'jit':452,485 'jvm':957 'k8s.workload.name':1114 'key':38,223,307,918 'know':814 'lag':264 'larg':1292 'last':712 'later':601 'leak':408,497 'let':668 'like':644,787 'limit':795 'linkerd':941 'load':411,1200,1271 'log':567,570 'logic':1048,1229 'look':1290 'loop':418,969 'm':1078 'map':909 'match':722,853 'matter':633 'measur':1164 'meet':175,193 'memori':395,424,433,438,480,503,549,960 'memory/gc':1278 'mesh':298,302,311,316,321,326,331,334,343,355,364,367,535,939,942,945,1242,1246,1251,1257,1261,1308,1311,1315,1375 'messag':213,217,226,233,240,245,251,256,538,948,954 'message-bas':216 'metaspac':398 'metric':17,26,34,39,214,224,308,391,563,691,863,955,1017,1094,1098,1159,1180,1186,1192,1279,1293,1309,1321,1356,1371 'metrics-bas':33,1016 'microsecond':44,314,1120,1296 'millisecond':1122,1303 'min':714 'miss':1322 'monitor':8,27,58,215,253,299,300,339,382,407,523,537,866,946,1023,1207,1366,1380,1384,1388,1393,1397,1401,1406 'ms':102,366,684,834 'multi':78,147,341,552 'multi-clust':77,340,551 'multi-dimension':146 'name':767,772,778,796,1095,1341,1344 'need':1342 'net':434,977,984,1391 'node.js':414,967,975,1387 'nodejs.md':976 'non':1237 'non-compli':1236 'number':807 'ob':3 'object':471 'oneag':1327,1334 'opcach':477,995,1161 'opcod':1166 'oper':724 'operation/endpoint-level':149,556 'overhead':306,332,365,943,1258 'overwhelm':1150 'p50':60 'p95':61,85,101,103,350,356,368,370 'p99':62 'paramet':625,656,677 'pass':748 'pattern':156,1014,1026,1051,1190 'paus':403,469 'pct':107,200 'peak':72 'percentag':1233 'percentil':86,351,357,1108 'perform':11,24,74,150,304,329,344,387,525,536,579,612,862,921,927,1085,1254 'php':474,996,1001,1165,1400 'php.md':1002 'phrase':785,786,830 'pick':658 'pool':397,448 'present':774,841 'problem':1284 'proceed':614 'process':242,248,257,281,431,541 'product':583,873 'provid':1143 'publish':266,275,951 'publish/receive':254 'python':455,986,993,1396 'python.md':994 'queri':37,114,125,207,292,374,739,750,1012,1069,1147,1225,1376 'question':590,877,911 'queu':450 'queue':221,229,236,511,949 'queue/topic':260 'quick':81,161,271,345 'rate':29,64,106,255,269,925,1184,1219,1263,1350 'ratio':479,1163 'rational':679 'read':783 'reason':629,659 'receiv':234,268,278 'red':25,928,1179,1185,1191,1370 'refer':1204,1275,1363 'referenc':1132 'references/dotnet.md':436,437,1389,1390 'references/go.md':493,494,1402,1403 'references/java.md':393,394,1381,1382 'references/nodejs.md':415,416,1385,1386 'references/php.md':475,476,1398,1399 'references/python.md':456,457,1394,1395 'references/service-metrics.md':116,117,209,210,294,295,376,377,1367,1368 'refin':600,671,847 'relev':705,1127,1145 'request':46,51,91,111,317,710,729,915 'request.is':170,178,1055 'requir':129,641 'resolut':1345 'resolv':763 'resourc':389 'respons':42,56,312,526,666,680,922,1088,1177,1214,1247,1287 'restart':481 'result':653,842 'return':1338 'root':171,1056 'rss':432 'runtim':15,380,386,545,865,963,973,982,991,999,1008,1034,1134,1146,1154,1157,1196,1202,1265,1273,1281,1320,1330,1378,1405 'runtime-specif':14,379,544,962,972,981,990,998,1007,1033,1133,1156,1195,1201,1272,1377 'scenario':128 'schedul':508,1006 'scope':649,699,856 'score':145,933 'season':824 'section':1066 'see':115,208,293,375,828 'sensibl':617 'sensor':884 'sent':227 'servic':4,6,10,23,28,120,143,212,219,297,301,524,534,554,648,698,701,777,861,889,920,926,935,938,944,953,1064,1172,1239,1241,1307,1310,1365,1374 'service-metrics.md':929,937,947,956,1031,1062 'shift':1076,1082 'show':702 'sidecar':1316 'size':512 'skill':7,520,566,571,577,582,859,898 'skill-dt-obs-services' 'sla':137,176,190,194,198,201,531,696,930,1206,1210,1228,1372 'smartscapeid':1339 'solut':1286 'source-dynatrace' 'span':123,165,172,1039,1042,1053,1057,1223 'span-bas':122,1038,1222 'specif':16,381,385,546,642,806,964,974,983,992,1000,1009,1035,1135,1158,1197,1203,1274,1379 'specifi':676 'spike':67 'stack':1141,1270 'standard':1022 'state':506,661 'static':638,753,801,818 'static-threshold-analyz':637,752 'string':489 'success':241 'sum':92,95,192,276,279,282,285,1107 'summar':187,1060 'support':1332 'suspect':1199 'suspens':401,430,445,500 'tabl':838 'technolog':384,1140,1269,1324 'technology-specif':383 'thread':405,447,449,458,460,510,550,988 'threads/goroutines':1280 'threshold':142,608,639,645,682,716,727,754,757,790,792,802,1128 'throughput':71,252,539 'time':41,43,57,88,310,313,353,359,404,429,446,454,470,502,527,681,743,923,1081,1178,1215,1248,1288 'time-shift':1080 'timefram':707 'timeseri':36,84,274,348,738,1019,1027 'timestamp':779 'tool':635 'topic':222,231,238,950 'topic-agent-skills' 'topic-ai-agents' 'topic-claude-code' 'topic-devops' 'topic-dql' 'topic-dynatrace' 'topic-mcp' 'topic-observability' 'tos':905 'total':90,110,188,204,426 'trace':573 'traces/spans':576 'track':65,139,259,931,1373 'traffic':69,338,529,1189 'troubleshoot':543,1266,1283 'true':173,1058 'type':798 'typic':723 'uncollect':473 'understand':906 'unit':694,1117 'unload':412 'usag':390,487,490 'use':18,32,54,135,249,324,425,518,521,560,564,569,575,580,591,731,768,891,916,1020,1043,1070,1075,1112,1221,1346,1353,1357 'user':604,623,651,670,784,809,844,870,907,910,914,1138 'util':419 'v8':422,970 'valu':626,646,673,780,1289 'verifi':1314 'violat':706,728,775 'vs':267,327,1252 'window':725 'work':451 'worker':509 'workflow':574,1170,1171,1205,1240,1264 'wrong':1323,1354 'zero':1352 'µs':688,759","prices":[{"id":"9cd8ae32-a277-409f-80f7-a1ebc38a8cc3","listingId":"8a9c82ed-e046-42b2-a5cb-d7394ca37b83","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Dynatrace","category":"dynatrace-for-ai","install_from":"skills.sh"},"createdAt":"2026-05-11T18:57:14.849Z"}],"sources":[{"listingId":"8a9c82ed-e046-42b2-a5cb-d7394ca37b83","source":"github","sourceId":"Dynatrace/dynatrace-for-ai/dt-obs-services","sourceUrl":"https://github.com/Dynatrace/dynatrace-for-ai/tree/main/skills/dt-obs-services","isPrimary":false,"firstSeenAt":"2026-05-11T18:57:14.849Z","lastSeenAt":"2026-05-18T18:56:48.849Z"}],"details":{"listingId":"8a9c82ed-e046-42b2-a5cb-d7394ca37b83","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Dynatrace","slug":"dt-obs-services","github":{"repo":"Dynatrace/dynatrace-for-ai","stars":78,"topics":["agent-skills","ai-agents","claude-code","devops","dql","dynatrace","mcp","observability"],"license":"apache-2.0","html_url":"https://github.com/Dynatrace/dynatrace-for-ai","pushed_at":"2026-05-15T16:06:09Z","description":"Skills, prompts, and instructions for building AI agents on top of Dynatrace production context","skill_md_sha":"b08701d84a9d1bf4fad1f6da1b558c7c3c752065","skill_md_path":"skills/dt-obs-services/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Dynatrace/dynatrace-for-ai/tree/main/skills/dt-obs-services"},"layout":"multi","source":"github","category":"dynatrace-for-ai","frontmatter":{"name":"dt-obs-services","license":"Apache-2.0","description":">-"},"skills_sh_url":"https://skills.sh/Dynatrace/dynatrace-for-ai/dt-obs-services"},"updatedAt":"2026-05-18T18:56:48.849Z"}}