Ukázková sestava doby trvání kanálu
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
V tomto článku se dozvíte, jak získat dobu trvání kanálu nebo čas potřebný ke spuštění kanálu. Tato sestava se podobá souhrnné metrikě doby trvání v grafu Doba trvání kanálu v sestavě doby trvání kanálu.
Následující obrázek ukazuje příklad sestavy doby trvání pro konkrétní kanál pro všechna spuštění kanálu od září 2022 do 15. prosince 2022.
Důležité
Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou obecně dostupné pro Azure DevOps Services a Azure DevOps Server 2020 a novější verze. Ukázkové dotazy uvedené v tomto článku jsou platné pouze pro Azure DevOps Server 2020 a novější verze a závisí na verzi v3.0-Preview nebo novější. Doporučujeme, abyste tyto dotazy používali a poskytli nám zpětnou vazbu.
Požadavky
- Přístup: Buďte členem projektu s alespoň základním přístupem.
- Oprávnění: Ve výchozím nastavení mají členové projektu oprávnění k dotazování na Analýzy a vytváření zobrazení.
- Další informace o dalších požadavcích týkajících se povolení služeb a funkcí a obecných aktivit sledování dat najdete v tématu Oprávnění a požadavky pro přístup k Analýzám.
Poznámka:
Tento článek předpokládá, že si přečtete přehled ukázkových sestav pomocí dotazů OData a máte základní znalosti o Power BI.
Vzorové dotazy
Následující dotazy sady entit můžete použít k vytvoření různých, ale podobných PipelineRuns
sestav doby trvání kanálu.
Poznámka:
Informace o dostupných vlastnostech pro účely filtru nebo sestavy najdete v referenčních informacích k metadatům pro Azure Pipelines. Dotazy můžete filtrovat nebo vracet vlastnosti pomocí libovolné hodnoty Property
pod hodnotami nebo NavigationPropertyBinding Path
hodnotami dostupnými v objektu EntitySet
EntityType
. Každý EntitySet
odpovídá hodnotě EntityType
. Další informace o datovém typu každé hodnoty najdete v metadatech zadaných pro odpovídající EntityType
hodnotu .
Vrácení doby trvání percentilu pro zadaný kanál
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů OData.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelinename}' "
&"and CompletedDate ge {startdate} "
&"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
&") "
&"/compute( "
&"percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds) "
&"/groupby( "
&"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds)) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Náhradní řetězce a rozpis dotazů
Nahraďte následující řetězce hodnotami. Nezahrnujte do náhradních závorek {} . Pokud je například název vaší organizace "Fabrikam", nahraďte {organization}
ho Fabrikam
, nikoli {Fabrikam}
.
{organization}
– Název vaší organizace{project}
- Název projektu vašeho týmu{pipelinename}
– Název vašeho kanálu. Příklad:Fabrikam hourly build pipeline
{startdate}
- Datum zahájení sestavy. Formát: RRRR-MM-DDZ. Příklad:2021-09-01Z
představuje 1. září 2021. Nepoužívejte uvozovky ani hranaté závorky a pro oba měsíce a datum použijte dvě číslice.
Rozpis dotazů
Následující tabulka popisuje jednotlivé části dotazu.
Část dotazování
Popis
$apply=filter(
Klauzule Start filter()
.
Pipeline/PipelineName eq '{pipelinename}'
Návratová spuštění kanálu pro zadaný kanál.
and CompletedDate ge {startdate}
Vrácení spuštění kanálu v zadaném datu nebo po zadaném datu.
and (SucceededCount eq 1 or PartiallySucceededCount eq 1)
Vrátí pouze úspěšná nebo částečně úspěšná spuštění.
)
Klauzule Close filter()
/compute(
Klauzule Start compute()
.
percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds,
Výpočet 50. percentilu doby trvání kanálu pro všechna spuštění kanálu, která odpovídají kritériím filtru.
percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds,
Výpočet 80. percentilu doby trvání kanálu pro všechna spuštění kanálu, která odpovídají kritériím filtru.
percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds)
Výpočet 95. percentilu doby trvání kanálu všech spuštění kanálu, která odpovídají kritériím filtru.
/groupby(
Klauzule Start groupby()
.
(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds))
Seskupte odpověď podle Duration50thPercentileInSeconds
, Duration80thPercentileInSeconds
a Duration95thPercentileInSeconds
ukončete klauzuli groupby
.
Vrácení doby trvání percentilu pro zadané ID kanálu
Kanály je možné přejmenovat. Pokud chcete zajistit, aby se sestavy Power BI při změně názvu kanálu nepřerušily, použijte MÍSTO názvu kanálu ID kanálu. ID kanálu můžete získat z adresy URL stránky spuštění kanálu.
https://dev.azure.com/{organization}/{project}/_build?definitionId= {pipelineid}
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů OData.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
&"$apply=filter( "
&"PipelineId eq {pipelineid} "
&"and CompletedDate ge {startdate} "
&"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
&") "
&"/compute( "
&"percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds) "
&"/groupby( "
&"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds)) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Vrácení doby trvání percentilu pro zadaný kanál, filtrování podle větve
Pokud chcete zobrazit dobu trvání kanálu jenom pro určitou větev , použijte následující dotazy. Pokud chcete vytvořit sestavu, proveďte následující kroky navíc spolu s tím, co je uvedeno v datovém typu Změnit sloupec, a vytvořte oddíly sestavy skupinového sloupcového grafu.
- Rozbalit
Branch
doBranch.BranchName
. - Přidejte pole Branch.BranchName do osy X.
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů OData.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
&"$apply=filter( "
&"Pipeline/PipelineName eq '{pipelinename}' "
&"and CompletedDate ge {startdate} "
&"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
&") "
&"/compute( "
&"percentile_cont(TotalDurationSeconds, 0.5, BranchSK) as Duration50thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.8, BranchSK) as Duration80thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.95, BranchSK) as Duration95thPercentileInSeconds) "
&"/groupby( "
&"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds, Branch/BranchName)) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Vrácení doby trvání percentilu pro všechny kanály projektu
Pokud chcete zobrazit dobu trvání všech kanálů projektu v jedné sestavě, použijte následující dotazy. Pokud chcete vytvořit sestavu, proveďte následující kroky navíc spolu s tím, co je uvedeno v datovém typu Změnit sloupec, a vytvořte oddíly sestavy skupinového sloupcového grafu.
- Rozbalit
Pipeline
doPipeline.PipelineName
. - Přidejte pole PIpeline.PipelineName do osy X.
Podívejte se také na souhrn výsledků pro všechny kanály ukázkové sestavy , která obsahuje podrobné podobné kroky, jak je zde potřeba.
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů OData.
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
&"$apply=filter( "
&"CompletedDate ge {startdate} "
&"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
&" ) "
&"/compute( "
&"percentile_cont(TotalDurationSeconds, 0.5, PipelineId) as Duration50thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.8, PipelineId) as Duration80thPercentileInSeconds, "
&"percentile_cont(TotalDurationSeconds, 0.95, PipelineId) as Duration95thPercentileInSeconds) "
&"/groupby( "
&"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds, Pipeline/PipelineName)) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Změna datového typu sloupce
V nabídce Transformace změňte datový typ pro následující sloupce na Desetinné číslo. Postup najdete v tématu Transformace datového typu sloupce.
Duration50thPercentileInSeconds
Duration80thPercentileInSeconds
Duration95thPercentileInSeconds
(Volitelné) Přejmenování polí sloupců
Pole sloupců můžete přejmenovat. Můžete například přejmenovat sloupec Pipeline.PipelineName
na Pipeline Name
, nebo TotalCount
na Total Count
. Postup najdete v tématu Přejmenování polí sloupců.
Zavřete dotaz a použijte změny.
Jakmile dokončíte všechny transformace dat, v nabídce Domů zvolte Zavřít a použít dotaz a vraťte se na kartu Sestava v Power BI.
Vytvoření sestavy skupinového sloupcového grafu
V Power BI v části Vizualizace zvolte sestavu skupinového sloupcového grafu . Příklad předpokládá, že nebyly přejmenovány žádné sloupce.
Na osu Y přidejte následující pole, klikněte pravým tlačítkem myši na každé pole a ujistěte se, že je vybrán součet.
Duration50thPercentileInSeconds
Duration80thPercentileInSeconds
Duration95thPercentileInSeconds
Pokud chcete změnit název sestavy, legendu nebo jiné vizuály sestavy, vyberte v podokně Vizualizace ikonu Formát vizuálního malířského štětce a upravte jedno nebo více nastavení.
Sestava by měla vypadat podobně jako na následujícím obrázku.