Sdílet prostřednictvím


Ukázková sestava trendu trvání potrubí

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

V tomto článku se dozvíte, jak vytvořit sestavu, která ukazuje, jak dlouho obvykle trvá úspěšné dokončení kanálu. Denní trend sestavy doby trvání kanálu je podobný grafu trendu rychlosti kanálu v sestavě úspěšnosti kanálu.

Následující obrázek ukazuje příklad sestavy časového trendu.

Snímek obrazovky se sestavou trendu doby trvání kanálů Power BI

Důležité

Integrace Power BI a přístup k kanálu OData služby Analytics jsou pro Azure DevOps Services a Azure DevOps Server 2020 a novější verze obecně dostupné. 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.

Kategorie Požadavky
úrovně přístupu - Člen projektu.
Alespoň základní přístup.
Oprávnění Ve výchozím nastavení mají členové projektu oprávnění provádět dotazy v Analytice a vytvářet 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 sestav trendu PipelineRuns 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é z hodnot Property, které jsou pod EntityType nebo NavigationPropertyBinding Path, dostupnými s EntitySet. 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í EntityTypehodnotu .

Získejte trend doby trvání v 80. percentilu pro zadaný pipeline

Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat data>Prázdný dotaz. 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.8,CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Náhradní řetězce a analýza dotazů

Nahraďte následující řetězce hodnotami. Nezahrnujte závorky {} do své náhrady. Pokud je například název vaší organizace "Fabrikam", nahraďte {organization} za Fabrikam a nikoli {Fabrikam}.

  • {organization} – Název vaší organizace
  • {project} - Název projektu vašeho týmu
  • {pipelinename} – Název vašeho pipeline. Příklad: Fabrikam hourly build pipeline
  • {startdate} - Datum zahájení reportu. 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(

Start filter() klauzule.

Pipeline/PipelineName eq '{pipelinename}'

Vrátit spuštění pro zadané potrubí.

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átit pouze úspěšná nebo částečně úspěšná spuštění.

)

Zavřít filter() klauzuli.

/compute(

Začněte compute() klauzulí.

percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds)

Vypočítat 80. percentil dob trvání potrubí u všech spuštění potrubí, která splňují kritéria filtru.

/groupby(

Spustit groupby()

(Duration80thPercentileInSeconds, CompletedOn/Date))

Seskupte podle data dokončení běhu pipeline a vypočítanou denní 80. percentilu doby trvání pipeline.

&$orderby=CompletedOn/Date asc

Seřadit odpověď podle data dokončení.

Filtrování podle ID kanálu místo názvu 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 raději ID kanálu než název 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 data>Prázdný dotaz. 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.8,CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Získejte 50. a 90. percentil spolu s trendem trvání na 80. percentilu

Můžete si zobrazit trend doby trvání vypočítaný pomocí jiné hodnoty percentilu. Následující dotazy poskytují dobu trvání pipeline na úrovni 50., 80. a 90. percentilu.

Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat data>Prázdný dotaz. Další informace viz 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,CompletedDateSK) as Duration50thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.8,CompletedDateSK) as Duration80thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.90,CompletedDateSK) as Duration90thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds, Duration90thPercentileInSeconds, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Filtrovat podle větve

Pokud chcete zobrazit trend doby trvání kanálu pouze pro určitou větev , použijte následující dotazy. Pokud chcete vytvořit sestavu, proveďte následující dodatečné kroky spolu s těmi, které jsou uvedeny v sekcích Změna datového typu sloupce a Vytvoření sestavy spojnicového grafu.

  • Rozbalit Branch do Branch.BranchName.
  • Vyberte vizualizaci Slicer v Power BI a přidejte Branch.BranchName do pole řezu.
  • Vyberte kanál z průřezu, pro který potřebujete zobrazit trend doby trvání kanálu.

Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat data>Prázdný dotaz. Další informace naleznete 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.8,BranchSK, CompletedDateSK) as Duration80thPercentileInSeconds) "
                &"/groupby( "
                &"(Duration80thPercentileInSeconds, Branch/BranchName, CompletedOn/Date)) "
            &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Trend doby trvání pro všechny kanály projektu

Můžete si zobrazit trend doby trvání pro všechna potrubí projektu v jedné zprávě. Pokud chcete vytvořit sestavu, proveďte následující dodatečné kroky spolu s tím, co je uvedeno v sekcích Změna datového typu sloupce a Vytvoření sestavy s liniovým grafem.

  • Rozbalit Pipeline do Pipeline.PipelineName.
  • Z podokna Vizualizace vyberte Slicer a přidejte Pipeline.PipelineNam do pole Průřezového filtru.
  • Vyberte kanál z průřezu, pro který potřebujete vidět trend rychlosti průchodu kanálu.

Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat data>Prázdný dotaz. 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.8,PipelineId, CompletedDateSK) as Duration80thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration80thPercentileInSeconds, Pipeline/PipelineName, CompletedOn/Date)) "
                &"&$orderby=CompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Rozšíření sloupců v Editoru Power Query

Před vytvořením sestavy budete muset rozbalit sloupce, které vracejí záznamy obsahující několik polí. V tomto případě budete chtít sloupec CompletedOn rozšířit, aby se zploštil na CompletedOn.Date.
Informace o tom, jak rozbalit pracovní položky, najdete v tématu Transformace analytických dat pro generování sestav Power BI.

Změna datového typu sloupce

V nabídce Transformace změňte datový typ pro Duration80thPercentileInSecondsdesetinné číslo. Postup najdete v tématu Transformace datového typu sloupce.

(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, zvolte Zavřít a použít v nabídce Domů, abyste uložili dotaz a vrátili se na kartu Sestava v Power BI.

Snímek obrazovky Editoru Power Query s možností Zavřít a Použít

Vytvořte sestavu spojnicového grafu

  1. V Power BI v části Vizualizace zvolte spojnicový graf.

    Snímek obrazovky s výběrem polí pro vizualizaci zprávy o trendu trvání běhu pipelin.

  2. Přidejte CompletedOn.Date na osu X, klikněte na něj pravým tlačítkem myši a vyberte CompletedOn.Date místo datumové hierarchie.

  3. Přidejte Duration80thPercentileInSeconds na osu Y, klikněte na ni pravým tlačítkem a ujistěte se, že je vybraná možnost Součet.

Zobrazená sestava by měla vypadat podobně jako na tom následujícím obrázku.

Snímek obrazovky se sestavou trendu trvání ukázkových kanálů Power BI