Polecenie .show
.show commands
Zwraca tabelę z ukończonymi poleceniami zarządzania. Te polecenia są dostępne do wykonywania zapytań przez 30 dni.
Uwaga
To polecenie jest przydatne do badania problemów z wydajnością, ponieważ pokazuje zasoby używane przez każde polecenie zarządzania. Zobacz Przykłady.
Uprawnienia
Administrator bazy danych lub monitor bazy danych może wyświetlić dowolne polecenie, które zostało wywołane w bazie danych. Inni użytkownicy mogą wyświetlać tylko swoje polecenia.
Składnia
.show
commands
Zwraca
Tabela zwracana zawiera dwie kolumny ze szczegółami użycia zasobów dla każdego ukończonego polecenia.
TotalCpu
— Łączny czas zegara procesora CPU (tryb użytkownika i tryb jądra) używany przez to polecenie.ResourceUtilization
— Zawiera wszystkie informacje o użyciu zasobów związane z tym poleceniem, w tym TotalCpu.
Śledzone użycie zasobów obejmuje aktualizacje danych i dowolne zapytanie skojarzone z bieżącym poleceniem administratora.
Obecnie tylko niektóre polecenia zarządzania są objęte tabelą poleceń (.ingest
, .set
, .append
, .set-or-replace
, ). .set-or-append
Stopniowo do tabeli poleceń jest dodawanych więcej poleceń.
Przykładowe dane wyjściowe
ClientActivityId | Typ polecenia | Text | baza danych | Rozpoczęto | LastUpdatedOn | Czas trwania | Stan | RootActivityId | User | FailureReason | Aplikacja | Główne | TotalCpu | Zasób | Grupa obciążeń |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | Ukończone | b965d809-3f3e-4f44-bd2b-5e1f49ac46c5 | Identyfikator aplikacji usługi AAD=5ba8cec2-9a70-e92c98cad651 | Kusto.Azure.DM.Svc | aadapp=5ba8cec2-9a70-e92c98cad651 | 00:00:03.5781250 | { "ScanedExtentsStatistics": { "MinDataScannedTime": null, "MaxDataScannedTime": null }, "CacheStatistics": { Memory": { "Misses": 2, "Hits": 20 }, "Disk": { "Misses": 2, "Hits": 0 } } , "MemoryPeak": 159620640, "TotalCpu": "00:00:03.5781250" } | internal | |
KE. 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 | Niepowodzenie | a8986e9e-943f-81b0270d6fae4 | cooper@fabrikam.com | Połączenie gniazda zostało usunięte. | Kusto.Explorer | aaduser=... | 00:00:00 | { "ScanedExtentsStatistics": { "MinDataScannedTime": null, "MaxDataScannedTime": null }, "CacheStatistics": { "Memory": { "Misses": 0, Hits": 0 }, "Disk": { "Misses": 0, "Hits": 0 }, "MemoryPeak": 0, "TotalCpu": "00:00:00"} | domyślna |
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 | Ukończone | d5ebb755-d5df-4e94-b240-9accdf06c2d1 | Identyfikator aplikacji usługi AAD=5ba8cec2-9a70-e92c98cad651 | Kusto.Azure.DM.Svc | aadapp=5ba8cec2-9a70-e92c98cad651 | 00:00:00.8906250 | { "ScanedExtentsStatistics": { "MinDataScannedTime": null, "MaxDataScannedTime": null }, "CacheStatistics": { Memory": { "Misses": 0, "Hits": 1 }, "Disk": { "Misses": 0, "Hits": 0 }, "MemoryPeak": 88828560, "TotalCpu": "00:00:00.8906250"} | internal |
Przykłady
Wyodrębnianie danych z kolumny ResourceUtilization
Aby uzyskać dostęp do jednej z właściwości w kolumnieResourceUtilization
, wywołaj metodę .ResourcesUtilization
PropertyName.
Uwaga
ResourceUtilization
jest kolumną dynamiczną. Aby pracować z jego wartościami, należy najpierw przekonwertować go na określony typ danych. Użyj funkcji konwersji, takiej jak tolong
, , toint
totimespan
.
Na przykład:
.show commands
| where CommandType == "TableAppend"
| where StartedOn > ago(1h)
| extend MemoryPeak = tolong(ResourcesUtilization.MemoryPeak)
| top 3 by MemoryPeak desc
| project StartedOn, MemoryPeak, TotalCpu, Text
Wyjście
Rozpoczęto | MemoryPeak | TotalCpu | Text |
---|---|---|---|
2017-09-28 12:11:27.8155381 | 800396032 | 00:00:04.5312500 | .append Server_Boots <| let bootStartsSourceTable = SessionStarts; ... |
2017-09-28 11:21:26.7304547 | 750063056 | 00:00:03.8218750 | .set-or-append WebUsage <| database('CuratedDB'). WebUsage_v2 | summarize ... | projekt... |
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)) |
Wykonywanie zapytań względem kolumny TotalCpu
10 najważniejszych zapytań zużywających procesor CPU w ciągu ostatniego dnia.
.show commands
| where StartedOn > ago(1d)
| top 10 by TotalCpu
| project StartedOn, CommandType, ClientActivityId, TotalCpu
Wszystkie zapytania w ciągu ostatnich 10 godzin, których wartość TotalCpu minęła 3 minuty.
.show commands
| where StartedOn > ago(10h) and TotalCpu > 3m
| project StartedOn, CommandType, ClientActivityId, TotalCpu
| order by TotalCpu
Wszystkie zapytania w ciągu ostatnich 24 godzin, których totalCpu minęło 5 minut, pogrupowane według użytkownika i podmiotu zabezpieczeń.
.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
Wykres czasowy: średni procesor CPU a 95. percentyl a maksymalny procesor 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
Wykonywanie zapytań względem kolumny MemoryPeak
10 pierwszych zapytań w ciągu ostatniego dnia z najwyższymi MemoryPeak
wartościami.
.show commands
| where StartedOn > ago(1d)
| extend MemoryPeak = tolong(ResourcesUtilization.MemoryPeak)
| project StartedOn, CommandType, ClientActivityId, TotalCpu, MemoryPeak
| top 10 by MemoryPeak
Wykres czasowy średniego limitu pamięci względem 95. percentyla i maksymalnego elementu 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
Powiązana zawartość
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla