使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息。
适用于:✅ Azure Data Explorer
.show commands 返回具有已完成 管理命令的表。 这些命令可用于查询 30 天。
注释
此命令可用于调查性能问题,因为它显示每个管理命令消耗的资源。 请参阅 示例。
Permissions
database 管理员或数据库监视器可以看到对其数据库调用的任何命令。 其他用户只能查看其命令。
Syntax
.show
commands
退货
返回表包含两列,其中包含每个已完成命令的资源消耗详细信息。
-
TotalCpu- 此命令消耗的总 CPU 时钟时间(用户模式 + 内核模式)。 -
ResourceUtilization- 包含与该命令相关的所有资源使用信息,包括 TotalCpu。
跟踪的资源消耗包括数据更新,以及与当前管理员命令关联的任何查询。
目前,命令表(.ingest、、.set、.append.set-or-replace、.set-or-append)只涵盖一些管理命令。 逐步将更多命令添加到命令表中。
示例输出
| ClientActivityId | 命令类型 | 文本 | 数据库 | StartedOn | LastUpdatedOn | 持续时间 | State | RootActivityId | 用户 | 失败原因 | Application | 校长 | TotalCpu | ResourceUtilization | WorkloadGroup |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| KD2RunCommand;a069f9e3-6062-4a0e-aa82-75a1b5e16fb4 | ExtentsMerge | .merge async Operations... | DB1 | 2017-09-05 11:08:07.5738569 | 2017-09-05 11:08:09.1051161 | 00:00:01.5312592 | 已完成 | b965d809-3f3e-4f44-bd2b-5e1f49ac46c5 | AAD 应用 ID=5ba8cec2-9a70-e92c98cad651 | Kusto。Azure。DM.Svc | aadapp=5ba8cec2-9a70-e92c98cad651 | 00:00:03.5781250 | { “ScannedExtentsStatistics”: { “MinDataScannedTime”: null, “MaxDataScannedTime”: null }, “CacheStatistics”: { Memory“: { ”Misses“: 2, ”Hits“: 20 }, ”Disk“: { ”Misses“: 2, ”Hits“: 0 } } , ”MemoryPeak“: 159620640, ”TotalCpu“: ”00:00:03.5781250“ } | 内部 | |
| 科。RunCommand;710e08ca-2cd3-4d2d-b7bd-2738d335aa50 | DataIngestPull | .ingest into MyTableName... | TestDB | 2017-09-04 16:00:37.0915452 | 2017-09-04 16:04:37.2834555 | 00:04:00.1919103 | 已失败 | a8986e9e-943f-81b0270d6fae4 | cooper@fabrikam.com | 套接字连接已释放。 | Kusto.Explorer | aaduser=... | 00:00:00 | { “ScannedExtentsStatistics”: { “MinDataScannedTime”: null, “MaxDataScannedTime”: null }, “CacheStatistics”: { “Memory”: { “Misses”: 0, Hits“: 0 }, ”Disk“: { ”Misses“: 0, ”Hits“: 0 } } , ”MemoryPeak“: 0, ”TotalCpu“: ”00:00:00“} | 默认 |
| KD2RunCommand;97db47e6-93e2-4306-8b7d-670f2c3307ff | ExtentsRebuild | .merge async Operations... | DB2 | 2017-09-18 13:29:38.5945531 | 2017-09-18 13:29:39.9451163 | 00:00:01.3505632 | 已完成 | d5ebb755-d5df-4e94-b240-9accdf06c2d1 | AAD 应用 ID=5ba8cec2-9a70-e92c98cad651 | Kusto。Azure。DM.Svc | aadapp=5ba8cec2-9a70-e92c98cad651 | 00:00:00.8906250 | { “ScannedExtentsStatistics”: { “MinDataScannedTime”: null, “MaxDataScannedTime”: null }, “CacheStatistics”: { Memory“: { ”Misses“: 0, ”Hits“: 1 }, ”Disk“: { ”Misses“: 0, ”Hits“: 0 } } , ”MemoryPeak“: 88828560, ”TotalCpu“: ”00:00:00.8906250“} | 内部 |
例子
从 ResourceUtilization 列中提取数据
若要在 ResourceUtilization 列中access其中一个属性,请调用 ResourcesUtilization.PropertyName。
注释
ResourceUtilization 是动态列。 若要使用其值,应首先将其转换为特定的数据类型。 使用转换函数,例如tolong, tointtotimespan。
例如:
.show commands
| where CommandType == "TableAppend"
| where StartedOn > ago(1h)
| extend MemoryPeak = tolong(ResourcesUtilization.MemoryPeak)
| top 3 by MemoryPeak desc
| project StartedOn, MemoryPeak, TotalCpu, Text
输出
| StartedOn | MemoryPeak | TotalCpu | 文本 |
|---|---|---|---|
| 2017-09-28 12:11:27.8155381 | 800396032 | 00:00:04.5312500 | .append Server_Boots <| 让 bootStartsSourceTable = SessionStarts; ... |
| 2017-09-28 11:21:26.7304547 | 750063056 | 00:00:03.8218750 | .set-or-append WebUsage <|database('CuratedDB')。WebUsage_v2 |summarize ... |project... |
| 2017-09-28 12:16:17.4762522 | 676289120 | 00:00:00.0625000 | .set-or-append AtlasClusterEventStats with(...) <|Atlas_Temp(datetime(2017-09-28 12:13:28.7621737), datetime(2017-09-28 12:14:28.8168492)) |
TotalCpu查询列
前 10 个 CPU 消耗查询在过去一天。
.show commands
| where StartedOn > ago(1d)
| top 10 by TotalCpu
| project StartedOn, CommandType, ClientActivityId, TotalCpu
过去 10 小时内,TotalCpu 已超过 3 分钟的所有查询。
.show commands
| where StartedOn > ago(10h) and TotalCpu > 3m
| project StartedOn, CommandType, ClientActivityId, TotalCpu
| order by TotalCpu
过去 24 小时内,TotalCpu 通过 5 分钟的所有查询,按用户和主体分组。
.show commands
| where StartedOn > ago(24h)
| summarize TotalCount=count(), CountAboveThreshold=countif(TotalCpu > 2m), AverageCpu = avg(TotalCpu), MaxTotalCpu=max(TotalCpu), (50th_Percentile_TotalCpu, 95th_Percentile_TotalCpu)=percentiles(TotalCpu, 50, 95) by User, Principal
| extend PercentageAboveThreshold = strcat(substring(CountAboveThreshold * 100 / TotalCount, 0, 5), "%")
| order by CountAboveThreshold desc
| project User, Principal, CountAboveThreshold, TotalCount, PercentageAboveThreshold, MaxTotalCpu, AverageCpu, 50th_Percentile_TotalCpu, 95th_Percentile_TotalCpu
时间图:平均 CPU 与第 95 百分位与最大 CPU。
.show commands
| where StartedOn > ago(1d)
| summarize MaxCpu_Minutes=max(TotalCpu)/1m, 95th_Percentile_TotalCpu_Minutes=percentile(TotalCpu, 95)/1m, AverageCpu_Minutes=avg(TotalCpu)/1m by bin(StartedOn, 1m)
| render timechart
MemoryPeak查询列
最后一天的前 10 个查询具有最高 MemoryPeak 值。
.show commands
| where StartedOn > ago(1d)
| extend MemoryPeak = tolong(ResourcesUtilization.MemoryPeak)
| project StartedOn, CommandType, ClientActivityId, TotalCpu, MemoryPeak
| top 10 by MemoryPeak
平均 MemoryPeak 的时间图与第 95 百分位与 Max MemoryPeak。
.show commands
| where StartedOn > ago(1d)
| project MemoryPeak = tolong(ResourcesUtilization.MemoryPeak), StartedOn
| summarize Max_MemoryPeak=max(MemoryPeak), 95th_Percentile_MemoryPeak=percentile(MemoryPeak, 95), Average_MemoryPeak=avg(MemoryPeak) by bin(StartedOn, 1m)
| render timechart