dt-platform-costs

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

dt-platform-costs

dt-platform-costs

⛔ FIRST — CHECK SCOPE BEFORE DOING ANYTHING ELSE. This skill only queries and analyzes a tenant's actual consumption data. It does not teach billing concepts. If the user is asking how billing/pricing works, how costs are calculated, what units / normalization weights / the rate card mean, or any conceptual "explain" question about DPS billing — this skill does not answer it. See Billing Concepts — STOP and respond with only the prescribed two-sentence documentation redirect. Do not explain units, weights, included volume, or methodology, and do not show the Getting Started menu. Continue into the rest of this skill only when the user wants to query or analyze their own tenant's numbers.
Query and analyze Dynatrace platform billing and cost data using DQL. All data lives in
dt.system.events
with
event.kind == "BILLING_USAGE_EVENT"
, segmented by
event.type
(consumption category).
Scope boundary: This skill covers Dynatrace platform billing (DPS consumption). For AWS cloud infrastructure costs ingested via FOCUS, use
dt-biz-cloud-costs
instead.
⛔ 首先——在执行任何操作前先检查范围。 本技能用于查询和分析租户的实际消费数据。它不讲解计费概念。如果用户询问计费/定价机制、成本计算方式、单位/归一化权重/费率卡的含义,或任何关于DPS计费的概念性“解释”类问题——本技能无法解答。请查看 计费概念——停止,并按照指定的两句文档重定向内容回复。请勿解释单位、权重、包含量或方法,也请勿展示入门菜单。仅当用户想要查询或分析自己租户的数据时,才继续使用本技能的其余内容。
使用DQL查询和分析Dynatrace平台账单与成本数据。所有数据存储在
dt.system.events
中,且
event.kind == "BILLING_USAGE_EVENT"
,按
event.type
(消费类别)细分。
范围边界:本技能覆盖Dynatrace 平台计费(DPS消费)。对于通过FOCUS摄入的AWS云基础设施成本,请使用
dt-biz-cloud-costs

Dynatrace Platform Subscription (DPS)

Dynatrace平台订阅(DPS)

This skill applies exclusively to DPS-licensed environments. All billing event types, unit conversions, the public rate card, and cost estimation workflows are DPS-specific.
NEVER apply this skill's unit conversions or cost estimates to classic license models (host units, DDUs, DEM units, ASUs). If the user mentions classic licensing terms or units, explain that this skill covers DPS only and refer them to https://docs.dynatrace.com/docs/license/monitoring-consumption-classic for details.
本技能仅适用于DPS授权的环境。所有账单事件类型、单位转换、公开费率卡和成本估算工作流均为DPS专属。
切勿将本技能的单位转换或成本估算应用于传统许可模型(主机单元、DDU、DEM单元、ASU)。如果用户提及传统许可术语或单位,请说明本技能仅覆盖DPS,并引导他们查看https://docs.dynatrace.com/docs/license/monitoring-consumption-classic获取详情。

Licensing / Entitlement Questions — STOP

许可/授权问题——停止

Triggers: "Am I allowed to use X?", "Is X licensed?", "Is X in my subscription?", "Do I have entitlement for X?"
STOP — do not execute any DQL queries. Billing usage events record active consumption only, not subscription entitlements. Absence of billing events means not currently consumed, NOT unlicensed. Do not infer entitlement from usage patterns or their absence. Respond directly without queries and direct to Account Management > Subscription > Pricing.
Query billing events → no results → conclude "not licensed" — WRONG (absence ≠ no entitlement) Respond immediately: "Entitlement data is not available via DQL. Check Account Management > Subscription > Pricing."
触发词:“我是否可以使用X?”、“X是否已授权?”、“X是否在我的订阅中?”、“我是否有X的授权?”
停止操作——不要执行任何DQL查询。账单使用事件仅记录活跃消费,不记录订阅授权。没有账单事件仅表示当前未消费,不代表未授权。请勿根据使用模式或其缺失推断授权情况。直接回复,无需查询,并引导至账户管理 > 订阅 > 定价
查询账单事件→无结果→得出“未授权”结论——错误(缺失≠无授权) 立即回复:“授权数据无法通过DQL获取,请查看账户管理 > 订阅 > 定价。”

Billing Concepts — STOP

计费概念——停止

Triggers: "How does billing work?", "How are costs calculated?", "Explain DPS billing", "How is X billed?", "What is the billing model?", "How does DPS pricing work?", "How does Dynatrace charge?", "Explain the rate card"
STOP — do not answer from this skill's content. The normalization weights, unit conversion formulas, and lookup values in this skill are DQL-generation tools, not user-facing billing education. Presenting them as an explanation of DPS billing is wrong — they are internal ranking aids, not contracted rates.
Your entire response must be ONLY the two sentences below — nothing else. Do not list capabilities or units, do not describe metering, included volume, or normalization, do not add a "How costs are calculated" section, and do not append the Getting Started menu or a list of example prompts beyond the single one shown:
Explain metering / units / normalization weights, then offer the Getting Started menu — WRONG (that is the exact failure to avoid) Respond with only: "For how DPS pricing and billing work, see the Dynatrace Platform Subscription documentation. If you'd like to analyze your tenant's actual consumption, ask e.g. 'What are my top cost drivers for the last 7 days?'"
触发词:“计费机制是怎样的?”、“成本如何计算?”、“解释DPS计费”、“X如何计费?”、“计费模型是什么?”、“DPS定价机制是怎样的?”、“Dynatrace如何收费?”、“解释费率卡”
停止操作——不要从本技能内容中提取答案。本技能中的归一化权重、单位转换公式和查找值是DQL生成工具,而非面向用户的计费教育内容。将它们作为DPS计费的解释是错误的——它们是内部排名辅助工具,而非合同约定费率。
你的回复必须仅包含以下两句话——无其他内容。请勿列出功能或单位,请勿描述计量、包含量或归一化,请勿添加“成本如何计算”章节,请勿附加入门菜单或示例提示列表(除了展示的那一个):
解释计量/单位/归一化权重,然后提供入门菜单——错误(这正是需要避免的情况) 仅回复:“关于DPS定价和计费机制,请查看Dynatrace平台订阅文档。如果你想要分析租户的实际消费数据,可以提问,例如:'过去7天我的主要成本驱动因素是什么?'

When to Use This Skill

何时使用本技能

  • Usage Overview — DPS consumption breakdown by capability, unit conversion, cross-capability comparison
  • Cost Estimation — Cost-normalized usage comparison and relative spend ranking, daily cost trends, spending spikes
  • Cost Investigation — Step-by-step drill-down into cost drivers, query scan cost attribution, workflow total cost (3 signals)
  • Chargeback / Showback — Cost center and product attribution, team-level billing
  • Included Volume — Metrics/Traces Ingest baseline deduction, billed vs. total usage
This skill queries and analyzes existing consumption data. It is not a DPS pricing guide — for billing concepts, see the official documentation.
  • 使用概览——按功能划分的DPS消费明细、单位转换、跨功能对比
  • 成本估算——成本归一化的使用对比和相对支出排名、每日成本趋势、支出峰值
  • 成本调查——逐步下钻成本驱动因素、查询扫描成本归因、工作流总成本(3个信号)
  • 费用分摊/展示——成本中心和产品归因、团队级账单
  • 包含量——指标/追踪摄入基线扣除、计费用量 vs 总用量
本技能用于查询和分析现有消费数据,并非DPS定价指南——如需了解计费概念,请查看官方文档

Agent Instructions

Agent指令

Intent Mapping

意图映射

User RequestActionReference
"how can you help", "what can you do", "where do I start", "help me understand my costs", "what can I analyze", "show me what's possible", "what is this skill", "help", "capabilities", "getting started", "tell me what you can do", "what are your capabilities"Present Getting Started menu — 5 use cases with one suggested prompt each. Do not run any queries yet.Getting Started
"am I allowed to use X", "is X licensed", "is X in my subscription", "entitlement for X", "can I use X from licensing perspective"STOP — do not query. Respond directly: entitlement data is not available via DQL. Direct to Account Management > Subscription > Pricing.Entitlement — STOP
"how does billing work", "how are costs calculated", "explain DPS billing", "how is X billed", "what is the billing model", "how does DPS pricing work", "how does Dynatrace charge", "explain the rate card"STOP — do not answer from skill content. Respond directly: redirect to official documentation.Billing Concepts — STOP
"usage overview", "usage per capability", "what am I using", "how much usage"Cross-capability usage with unit conversion (no cost)billing-capabilities.md -> Cross-Capability Usage (4 Queries)
"cost drivers", "what costs most", "top spenders", "where is spend going"Run Combined Query + Full Inline Lookup, sort by
cost_weight desc
in DQL
cost-estimations.md -> Estimated Cost by Capability
"save money", "reduce costs", "billed costs", "actual bill"Usage with included volume deduction, then cost estimationbilling-capabilities.md -> Cross-Capability Usage (4 Queries), then cost-estimations.md
"cost by team", "chargeback", "showback"Cost center attributioncost-allocation.md
"metrics ingest by cost center", "metrics chargeback", "billable data points per team"Metrics Ingest billable volume per cost center (with included volume deduction)cost-allocation.md -> Metrics Ingest — Billable Volume per Cost Center
"how much log ingest", "trace volume" (single category)Single-category usage querybilling-event-types.md, billing-capabilities.md
"cost trend", "spending spike", "budget forecast"Daily cost trendcost-estimations.md -> Daily Cost Trend
"compare this week to last", "week over week", "WoW", "MoM", "month over month", "how did costs change", "cost change vs last week", "cost change vs last month", "period comparison", "what grew", "what shrank", "usage trend", "notable changes in usage"Period Comparison — two explicit UTC windows, compare
capability_usage
per capability, sort by largest absolute cost-weight delta
cost-estimations.md -> Period Comparison (WoW / MoM)
"detector costs", "anomaly detector query cost", "ALERTING pool costs"Cross-reference detector -> query costquery-cost-attribution.md
"workflow cost", "what does this workflow cost", "workflow spending"Composite workflow cost (3 signals)workflow-total-cost.md
"what's driving costs", "cost investigation", "cost spike"Step-by-step cost investigationquery-cost-attribution.md, workflow-total-cost.md, entity-cost-drilldown.md
"which app", "which host", "which monitor", "drill down", "break down by application/host/cluster"Entity-based drill-down with sample-first stepentity-cost-drilldown.md
"what's driving RUM/Full-Stack/Synthetic/K8s cost"Entity drill-down for specific capabilityentity-cost-drilldown.md
"optimize metrics ingest", "reduce data points", "high cardinality metrics", "which metrics cost most", "metrics cost optimization"Run analysis (Steps 1–3), present data and explain optimization levers, then wait for user to choose what to optimize — NEVER recommend specific metrics to drop/reducemetrics-ingest-optimization.md
"drop metric", "remove metric from ingestion", "stop ingesting metric"Drop metric strategy via OpenPipeline or OTel Collectormetrics-ingest-optimization.md -> Strategy 1 — Drop Metric
"reduce cardinality", "remove dimension", "drop dimension from metric"Reduce cardinality strategy via OpenPipeline or OTel Collectormetrics-ingest-optimization.md -> Strategy 2 — Reduce Cardinality
"change ingest interval", "reduce collection frequency", "scrape interval"Change ingest interval at sourcemetrics-ingest-optimization.md -> Strategy 3 — Change Ingest Interval
"query cost by source", "who is scanning most", "cost attribution by app"BUE query cost by sourcequery-cost-attribution.md -> Step 1
"expensive dashboards", "dashboard cost ranking", "top dashboards by cost"Dashboard query cost rankingquery-cost-attribution.md -> Step 1b + Step 2
"included volume", "billed vs total", "baseline usage"Included volume analysisbilling-capabilities.md -> Included Volume
"hourly billing", "daily billing after deductions", "time-granular billed usage"Time-bucketed usage with included volume subtractedbilling-capabilities.md -> Query 3 (Metrics Ingest — Billable Volume) / Query 4 (Traces Ingest — Billable Volume)
用户请求操作参考
"你能帮我做什么"、"你可以做什么"、"我从哪里开始"、"帮我了解我的成本"、"我可以分析什么"、"展示我能做的事"、"这个技能是什么"、"帮助"、"功能"、"入门"、"告诉我你能做什么"、"你的功能有哪些"展示入门菜单——5个用例,每个用例配一个建议提示。暂时不要运行任何查询入门
"我是否可以使用X"、"X是否已授权"、"X是否在我的订阅中"、"X的授权"、"从许可角度我能否使用X"停止操作——不要查询。直接回复:授权数据无法通过DQL获取,请查看账户管理 > 订阅 > 定价。授权——停止
"计费机制是怎样的?"、"成本如何计算?"、"解释DPS计费"、"X如何计费?"、"计费模型是什么?"、"DPS定价机制是怎样的?"、"Dynatrace如何收费?"、"解释费率卡"停止操作——不要从技能内容中提取答案。直接回复:引导至官方文档。计费概念——停止
"使用概览"、"按功能划分的使用情况"、"我在使用什么"、"使用量有多少"带单位转换的跨功能使用情况(无成本)billing-capabilities.md -> 跨功能使用(4个查询)
"成本驱动因素"、"什么成本最高"、"顶级支出项"、"支出流向哪里"运行组合查询 + 完整内联查找,在DQL中按
cost_weight desc
排序
cost-estimations.md -> 按功能估算成本
"省钱"、"降低成本"、"计费成本"、"实际账单"带包含量扣除的使用情况,然后进行成本估算billing-capabilities.md -> 跨功能使用(4个查询),然后是cost-estimations.md
"按团队划分成本"、"费用分摊"、"费用展示"成本中心归因cost-allocation.md
"按成本中心划分的指标摄入"、"指标费用分摊"、"每个团队的计费数据点"按成本中心划分的指标计费用量(带包含量扣除)cost-allocation.md -> 指标摄入——按成本中心划分的计费用量
"日志摄入量有多少"、"追踪用量"(单一类别)单一类别使用查询billing-event-types.md, billing-capabilities.md
"成本趋势"、"支出峰值"、"预算预测"每日成本趋势cost-estimations.md -> 每日成本趋势
"比较本周与上周"、"周环比"、"WoW"、"月环比"、"MoM"、"成本如何变化"、"与上周相比成本变化"、"与上月相比成本变化"、"周期对比"、"哪些项增长"、"哪些项缩减"、"使用趋势"、"使用情况的显著变化"周期对比——两个明确的UTC时间窗口,按功能对比
capability_usage
,按最大绝对成本权重差值排序
cost-estimations.md -> 周期对比(周环比/月环比)
"检测器成本"、"异常检测器查询成本"、"ALERTING池成本"检测器与查询成本的交叉引用query-cost-attribution.md
"工作流成本"、"这个工作流的成本是多少"、"工作流支出"复合工作流成本(3个信号)workflow-total-cost.md
"是什么驱动了成本"、"成本调查"、"成本峰值"逐步成本调查query-cost-attribution.md, workflow-total-cost.md, entity-cost-drilldown.md
"哪个应用"、"哪个主机"、"哪个监控器"、"下钻"、"按应用/主机/集群细分"基于实体的下钻,附示例第一步entity-cost-drilldown.md
"是什么驱动了RUM/全栈监控/合成监控/K8s成本"特定功能的实体下钻entity-cost-drilldown.md
"优化指标摄入"、"减少数据点"、"高基数指标"、"哪些指标成本最高"、"指标成本优化"运行分析(步骤1–3),展示数据并解释优化手段,然后等待用户选择优化方向——切勿建议删除/减少特定指标metrics-ingest-optimization.md
"删除指标"、"从摄入中移除指标"、"停止摄入指标"通过OpenPipeline或OTel Collector删除指标的策略metrics-ingest-optimization.md -> 策略1——删除指标
"降低基数"、"移除维度"、"从指标中删除维度"通过OpenPipeline或OTel Collector降低基数的策略metrics-ingest-optimization.md -> 策略2——降低基数
"更改摄入间隔"、"减少采集频率"、"扫描间隔"在数据源处更改摄入间隔metrics-ingest-optimization.md -> 策略3——更改摄入间隔
"按来源划分的查询成本"、"谁的扫描量最大"、"按应用划分的成本归因"按来源划分的BUE查询成本query-cost-attribution.md -> 步骤1
"高成本仪表板"、"仪表板成本排名"、"成本最高的顶级仪表板"仪表板查询成本排名query-cost-attribution.md -> 步骤1b + 步骤2
"包含量"、"计费用量 vs 总用量"、"基线使用量"包含量分析billing-capabilities.md -> 包含量
"小时级计费"、"扣除后的每日计费"、"时间粒度的计费用量"带包含量扣除的时间分桶使用情况billing-capabilities.md -> 查询3(指标摄入——计费用量)/ 查询4(追踪摄入——计费用量)

Usage vs Cost Distinction

使用量与成本的区别

  • "Usage" → Unit conversion only, no cost estimates. Label with unit from Cost Normalization Weights (or billing-event-types.md for preview types).
  • "Cost" → Unit conversion + compute
    cost_weight
    in DQL (via the Full Inline Lookup) for internal ordering/aggregation only. Never display
    cost_weight
    as a dollar amount.
    Omit from rankings for types not in the normalization table.
  • "Cost drivers" → Ranked list sorted by
    cost_weight
    (computed in DQL via the Full Inline Lookup). Output columns: rank, capability name, usage in native units. Drop
    cost_weight
    before presenting — it never appears in any column, label, or sentence.
  • "Cost share / percentage" → Compute share-of-total using normalized weights (usage × Normalization Weight per capability). Present as a percentage table. Use the standard ℹ️ disclaimer from Cost Ranking Rules step 3 — do not add any additional caveat or note.
  • "User-provided rate" → If the user supplies a contracted rate (e.g. "$0.15/GiB for Log Ingest"), use that rate for that capability and display actual USD for it. All other capabilities show usage-only (no cost). Disclaimer: ⚠️ Calculated using your provided rate of $X/unit. For all capabilities without a provided rate, only usage is shown. For authoritative totals, refer to Account Management > Subscription. Never infer or assume rates — only accept them when the user explicitly states them.
Only add cost information when the user explicitly asks for it. Units are incomparable across categories — cost normalization is the only way to rank or sum them.
Preview types: Only capabilities explicitly marked as preview in cost-estimations.md are preview — never infer preview status from zero usage.
  • “使用量” → 仅进行单位转换,无成本估算。使用成本归一化权重(或预览类型使用billing-event-types.md)中的单位标注。
  • “成本” → 单位转换 + 在DQL中计算
    cost_weight
    (通过完整内联查找),仅用于内部排序/聚合。切勿将
    cost_weight
    显示为美元金额
    。对于归一化表中未包含的类型,请勿在排名中纳入。
  • “成本驱动因素” → 按
    cost_weight
    排序的排名列表(通过完整内联查找在DQL中计算)。输出列:排名、功能名称、原生单位的使用量。展示前删除
    cost_weight
    ——它永远不会出现在任何列、标签或句子中。
  • “成本占比/百分比” → 使用归一化权重(使用量 × 每个功能的归一化权重)计算占总比例。以百分比表格形式展示。使用成本排名规则步骤3中的标准ℹ️免责声明——请勿添加任何额外说明或注释。
  • “用户提供的费率” → 如果用户提供了合同约定费率(例如:“日志摄入为$0.15/GiB”),则对该功能使用该费率,并显示实际美元金额。其他所有功能仅展示使用量(无成本)。免责声明:⚠️ 计算使用了你提供的$X/单位费率。对于未提供费率的所有功能,仅展示使用量。如需权威总计,请查看账户管理 > 订阅。切勿推断或假设费率——仅在用户明确说明时接受。
仅当用户明确询问时才添加成本信息。不同类别的单位不可比较——成本归一化是对其进行排名或求和的唯一方式。
预览类型:仅cost-estimations.md中明确标记为预览的功能才是预览类型——切勿从使用量为零推断预览状态。

Cost Ranking Rules

成本排名规则

When any intent involves cost ranking or cost drivers (cost drivers, cost trend, workflow cost, query cost attribution, cost investigation, cost spike):
  1. Compute
    cost_weight
    in DQL
    — run the base usage queries (Queries 1–4 from billing-capabilities.md) up through the
    | summarize billable_usage
    step, then immediately append the Full Inline Lookup for Cost Rankings. The Full Inline Lookup handles unit conversion and cost weighting in one step — do not also apply the Unit Conversion Lookup from
    billing-capabilities.md
    ; it is redundant and a chained
    lookup
    replaces all existing
    lookup.*
    fields, which breaks the cost-weight computation. Finish the query with
    | filter isNotNull(cost_weight) | sort cost_weight desc | fields event.type, capability_usage, cost_weight
    . NEVER multiply normalization weights mentally — values span orders of magnitude where silent arithmetic errors are undetectable.
  2. Present rankings, not dollar amounts — the DQL results arrive pre-sorted. Drop the
    cost_weight
    column and present only: rank number, capability name, usage in native units (e.g. GiB, GiB-hours, sessions, data points — whatever unit that capability measures in). Never include a cost, weight, or dollar column. Example output for "top 5 cost drivers":
    1. Log Management & Analytics - Ingest & Process  62.3 TiB
    2. Full-Stack Monitoring                           2,366,800 GiB-hours
    3. Real User Monitoring                            51.5M sessions
    4. Infrastructure Monitoring                       847,200 host-hours
    5. Metrics - Ingest & Process                      18.2B data points
    For percentage questions, output a share-of-total table (see Cost share / percentage above). Never show raw USD estimates unless the user has provided their own contracted rate.
  3. Disclaimer BEFORE results — applies to multi-capability results only (2+ capabilities, rankings, or percentage table). Copy this text verbatim — do not paraphrase or rephrase it:
    ℹ️ Rankings show relative spend — for actual dollar figures, see Account Management > Subscription > Overview > Cost and usage details.
    For single-capability results (exactly one capability, no cross-capability comparison): omit the disclaimer entirely — the result is straightforward billing data with no normalization involved.
    Exception: if the response is in user-provided rate mode, include the warning required for that mode even for single-capability results. The single-capability omission applies only to the standard multi-capability ranking disclaimer above.
  4. No supplementary rate-card notes — the prescribed disclaimer above is the only place normalization methodology may be referenced. Never add sentences like "These numbers are based on the public DPS rate card" or "based on public list prices" anywhere else in the response. This does not suppress the required warning for user-provided rate mode.
当任何意图涉及成本排名或成本驱动因素(成本驱动因素、成本趋势、工作流成本、查询成本归因、成本调查、成本峰值)时:
  1. 在DQL中计算
    cost_weight
    —— 运行基础使用查询(来自billing-capabilities.md的查询1–4)直至
    | summarize billable_usage
    步骤,然后立即附加成本排名的完整内联查找。完整内联查找可一步处理单位转换成本加权——请勿同时应用
    billing-capabilities.md
    中的单位转换查找;这是冗余操作,链式
    lookup
    会替换所有现有
    lookup.*
    字段,从而破坏成本权重计算。查询结尾添加
    | filter isNotNull(cost_weight) | sort cost_weight desc | fields event.type, capability_usage, cost_weight
    切勿手动乘以归一化权重——数值跨度达数个数量级,无声的算术错误难以察觉。
  2. 展示排名,而非美元金额 —— DQL结果已预先排序。删除
    cost_weight
    列,仅展示:排名序号、功能名称、原生单位的使用量(例如:GiB、GiB小时、会话、数据点——该功能测量所用的任何单位)。切勿包含成本、权重或美元列。“前5个成本驱动因素”的示例输出:
    1. Log Management & Analytics - Ingest & Process  62.3 TiB
    2. Full-Stack Monitoring                           2,366,800 GiB-hours
    3. Real User Monitoring                            51.5M sessions
    4. Infrastructure Monitoring                       847,200 host-hours
    5. Metrics - Ingest & Process                      18.2B data points
    对于百分比问题,输出总占比表格(见上文成本占比/百分比部分)。除非用户提供了自己的合同约定费率,否则切勿显示原始美元估算值。
  3. 结果前添加免责声明 —— 仅适用于多功能结果(2个及以上功能、排名或百分比表格)。逐字复制以下文本——请勿改写或重述:
    ℹ️ 排名展示相对支出情况——如需实际美元金额,请查看账户管理 > 订阅 > 概览 > 成本和使用详情
    对于单一功能结果(恰好一个功能,无跨功能对比):完全省略免责声明——结果是直接的账单数据,不涉及归一化。
    例外情况:如果回复处于用户提供的费率模式,即使是单一功能结果,也需包含该模式要求的警告。单一功能省略规则仅适用于上述标准多功能排名免责声明。
  4. 无补充费率卡说明 —— 上述规定的免责声明是唯一可提及归一化方法的地方。切勿在回复的其他位置添加类似“这些数字基于公开DPS费率卡”或“基于公开标价”的句子。这会抑制用户提供的费率模式要求的警告。

Getting Started

入门

When a user asks a generic or open-ended question about costs, usage, or what the skill can do, respond with the menu below. Do not run any DQL queries yet — wait for the user to choose a direction.
Here's what you can explore:
  1. Cost breakdown — See which capabilities are driving spend, ranked by relative cost.
    "What are my top cost drivers for the last 7 days?"
  2. Usage overview — Full picture of DPS consumption across all capabilities, in native units.
    "Give me an overview of our platform usage across all capabilities."
  3. Spike investigation — Attribute a cost spike to its source (dashboard, workflow, detector).
    "My log query cost spiked last week — which source is causing it?"
  4. Chargeback / showback — Break down cost by team, product, or cost center.
    "Show me a cost breakdown by cost center for the last 30 days."
  5. Metrics optimization — If metrics ingest is a top cost driver, drill into which metric keys are billable and reduce the highest-cost ones.
    "Which metrics are driving our ingest cost? Help me optimize."
Which of these matches what you're trying to do?
当用户询问关于成本、使用情况或技能功能的通用或开放式问题时,请回复以下菜单。暂时不要运行任何DQL查询——等待用户选择方向。
你可以探索以下内容:
  1. 成本细分——查看哪些功能是支出的主要驱动因素,按相对成本排名。
    "过去7天我的主要成本驱动因素是什么?"
  2. 使用概览——所有功能的DPS消费全景,以原生单位展示。
    "给我展示我们平台所有功能的使用概览。"
  3. 峰值调查——将成本峰值归因到来源(仪表板、工作流、检测器)。
    "我的日志查询成本上周出现峰值——是哪个来源导致的?"
  4. 费用分摊/展示——按团队、产品或成本中心细分成本。
    "给我展示过去30天按成本中心划分的成本明细。"
  5. 指标优化——如果指标摄入是主要成本驱动因素,下钻哪些指标键是计费项,并降低成本最高的指标。
    "哪些指标驱动了我们的摄入成本?帮我优化。"
哪一项符合你的需求?

Prerequisites

前提条件

  • Access to a Dynatrace environment
  • DQL query permissions on
    dt.system.events
  • Load
    dt-dql-essentials
    before writing queries — covers DQL syntax, type handling, and field discovery via
    dt.semantic_dictionary.fields
  • 拥有Dynatrace环境访问权限
  • 拥有
    dt.system.events
    的DQL查询权限
  • 编写查询前加载
    dt-dql-essentials
    ——涵盖DQL语法、类型处理和通过
    dt.semantic_dictionary.fields
    进行字段发现

Knowledge Base Structure

知识库结构

#ReferenceContent
1billing-event-types.mdBilling event type catalog — fields, metering intervals, per-type tables
2billing-capabilities.mdBUE-to-capability mapping, unit conversion, cross-category usage queries, included volume deduction
3cost-estimations.mdCost normalization weights, unit conversion lookup, cost estimation queries, full inline lookup for dashboards
4cost-allocation.mdCost center/product attribution, chargeback queries
5query-cost-attribution.mdQuery scan cost attribution — BUE by source, per-detector breakdown (ALERTING pool), QEE drill-down
6workflow-total-cost.mdWorkflow total cost — three billing signals (query scan, AppEngine, workflow-hours)
7entity-cost-drilldown.mdEntity-based cost drill-down — RUM/Host/Synthetic/K8s/Security/Automation by entity
8metrics-ingest-optimization.mdPer-metric-key cost drill-down — cardinality analysis, timeseries verification, optimization target identification
#参考内容
1billing-event-types.md账单事件类型目录——字段、计量间隔、按类型划分的表格
2billing-capabilities.mdBUE到功能的映射、单位转换、跨类别使用查询、包含量扣除
3cost-estimations.md成本归一化权重、单位转换查找、成本估算查询、仪表板的完整内联查找
4cost-allocation.md成本中心/产品归因、费用分摊查询
5query-cost-attribution.md查询扫描成本归因——按来源划分的BUE、按检测器细分(ALERTING池)、QEE下钻
6workflow-total-cost.md工作流总成本——三个账单信号(查询扫描、AppEngine、工作流小时数)
7entity-cost-drilldown.md基于实体的成本下钻——按实体划分的RUM/主机/合成监控/K8s/安全/自动化
8metrics-ingest-optimization.md按指标键划分的成本下钻——基数分析、时间序列验证、优化目标识别

Quick Start

快速开始

dql
fetch dt.system.events, from: -7d
| filter event.kind == "BILLING_USAGE_EVENT"
| summarize event_count = count(), by: {event.type}
| sort event_count desc
dql
fetch dt.system.events, from: -7d
| filter event.kind == "BILLING_USAGE_EVENT"
| summarize event_count = count(), by: {event.type}
| sort event_count desc

Best Practices

最佳实践

  1. Always filter by
    event.kind
    first
    — avoids scanning irrelevant events.
  2. Start with 7d time ranges — platform data is high volume.
  3. Use explicit UTC midnight boundaries for billing totals — see billing-capabilities.md § Billing Timeframe Boundaries.
  4. Never use
    ~
    for approximation
    — use
    or "approximately" (bare
    ~
    creates Markdown strikethrough).
  5. Empty results? — Run the discovery query above to verify available event types.
  6. count()
    fans out — confirm one-row-per-thing before counting
    — both
    QUERY_EXECUTION_EVENT
    (one row per bucket touched per DQL statement) and
    WORKFLOW_EVENT
    WORKFLOW_EXECUTION
    (≈2 rows per run: start + completion) over-count when you
    count()
    them. For DQL-statement volume use
    countDistinct(query_id)
    ; for workflow run count and frequency use
    countDistinct(dt.automation_engine.workflow_execution.id)
    on
    WORKFLOW_EXECUTION
    — never bare
    count()
    . Never write "ran N times" or compute a per-second/per-minute rate from any raw
    count()
    . See query-cost-attribution.md § Step 3 and workflow-total-cost.md § How Often Did the Workflow Run.
  7. Never use entity-model functions
    entityName()
    (and any function that takes a
    dt.entity.*
    field to resolve entity metadata) is deprecated. Present raw
    dt.entity.*
    IDs (e.g.
    HOST-1A2B3C
    ) in results. Grouping or counting on the ID (
    by: {dt.entity.host}
    ,
    countDistinct(dt.entity.host)
    ) is fine — that uses the ID as a plain value. See entity-cost-drilldown.md § Entity IDs in Results.
  1. 始终先按
    event.kind
    过滤
    ——避免扫描无关事件。
  2. 从7天时间范围开始——平台数据量较大。
  3. 对账单总计使用明确的UTC午夜边界——查看billing-capabilities.md § 账单时间范围边界
  4. 切勿使用
    ~
    表示近似
    ——使用
    或“大约”(单独的
    ~
    会创建Markdown删除线)。
  5. 无结果?——运行上述发现查询以验证可用事件类型。
  6. count()
    会扩散——计数前确认每行对应一个对象
    ——
    QUERY_EXECUTION_EVENT
    (每个DQL语句每个触及的桶对应一行)和
    WORKFLOW_EVENT
    WORKFLOW_EXECUTION
    (每次运行≈2行:开始+完成)在使用
    count()
    时会计数过多。对于DQL语句用量,使用
    countDistinct(query_id)
    ;对于工作流运行次数和频率,在
    WORKFLOW_EXECUTION
    上使用
    countDistinct(dt.automation_engine.workflow_execution.id)
    ——切勿使用单纯的
    count()
    。切勿写“运行了N次”或从任何原始
    count()
    计算每秒/每分钟的速率。查看query-cost-attribution.md § 步骤3workflow-total-cost.md § 工作流运行频率
  7. 切勿使用实体模型函数——
    entityName()
    (以及任何接受
    dt.entity.*
    字段以解析元数据的函数)已弃用。在结果中展示原始
    dt.entity.*
    ID(例如:
    HOST-1A2B3C
    )。按ID分组或计数(
    by: {dt.entity.host}
    countDistinct(dt.entity.host)
    )是可行的——这将ID作为普通值使用。查看entity-cost-drilldown.md § 结果中的实体ID

Limitations

局限性

  • No universal usage field — each event type uses a different billed unit. Cannot sum across categories without cost normalization.
  • Normalization weights ≠ contract rates — see Cost Ranking Rules. Rankings are relative; for authoritative figures use Account Management.
  • Included volume — Metrics/Traces Ingest include a host baseline (≈14 days max). See billing-capabilities.md § Included Volume.
  • Cost attribution is optional — only populated when configured; Retention events often lack entity references.
  • Zero-rated queries — Certain queries may be zero-rated based on execution context (user, apps, queried data). These produce QEE records but no corresponding BUE. A gap between QEE
    scanned_bytes
    and BUE
    billed_bytes
    totals indicates zero-rated usage, not a pipeline issue. See query-cost-attribution.md § Investigating QEE↔BUE Mismatches.
  • 无通用使用量字段——每个事件类型使用不同的计费单位。不进行成本归一化无法跨类别求和。
  • 归一化权重≠合同费率——查看成本排名规则。排名是相对的;如需权威数据,请使用账户管理。
  • 包含量——指标/追踪摄入包含主机基线(最多≈14天)。查看billing-capabilities.md § 包含量
  • 成本归因是可选的——仅在配置后才会填充;保留事件通常缺少实体引用。
  • 零费率查询——某些查询可能根据执行上下文(用户、应用、查询的数据)享受零费率。这些查询会生成QEE记录,但无对应的BUE。QEE
    scanned_bytes
    与BUE
    billed_bytes
    总计之间的差距表示零费率使用,而非管道问题。查看query-cost-attribution.md § 调查QEE↔BUE不匹配