Share via


Folyamattevékenység időtartamának trendje – mintajelentés

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

Ha meg szeretné jeleníteni, hogy egy adott folyamathoz mennyi időbe telik a tevékenységek végrehajtása, létrehozhat egy trendjelentést. Az alábbi képen például egy adott folyamat 2022. szeptember 1. és 2022. december 15. közötti összes tevékenységének 80. percentilise látható másodpercben.

Képernyőkép a Power BI-folyamatok tevékenység-időtartamának trendjelentéséről.

Fontos

Az Elemzési szolgáltatás OData-hírcsatornájának Power BI-integrációja és hozzáférése általánosan elérhető az Azure DevOps Serviceshez, valamint az Azure DevOps Server 2020- és újabb verzióihoz. A cikkben szereplő minta lekérdezések csak az Azure DevOps Server 2020 és újabb verzióira érvényesek, és a 3.0-s vagy újabb verziótól függnek. Javasoljuk, hogy használja ezeket a lekérdezéseket, és küldjön nekünk visszajelzést.

Előfeltételek

  • Az Analytics-adatok megtekintéséhez és a szolgáltatás lekérdezéséhez egy alapszintű hozzáféréssel rendelkező vagy annál nagyobb hozzáférésű projekt tagjának kell lennie. Alapértelmezés szerint minden projekttag rendelkezik az Analytics lekérdezéséhez és az Analytics-nézetek meghatározásához szükséges engedélyekkel.
  • A szolgáltatás- és szolgáltatás-engedélyezéssel, valamint az általános adatkövetési tevékenységekkel kapcsolatos egyéb előfeltételekről az Analytics eléréséhez szükséges engedélyek és előfeltételek című témakörben olvashat.

Feljegyzés

Ez a cikk feltételezi, hogy OData-lekérdezésekkel olvasta a mintajelentések áttekintését, és alapszintű ismeretekkel rendelkezik a Power BI-ról.

Minta lekérdezések

Az entitáskészlet alábbi lekérdezéseivel PipelineRunActivityResults? különböző, de hasonló tevékenységhosszúságú trendjelentéseket hozhat létre.

Feljegyzés

A szűrési vagy jelentéskészítési célokra elérhető tulajdonságok meghatározásához tekintse meg az Azure Pipelines metaadat-referenciáit. Szűrheti a lekérdezéseket, vagy visszaadhatja a tulajdonságokat egy Property adott vagy egy adott értékkel elérhető értékek EntityTypeNavigationPropertyBinding Path bármelyikével EntitySet. Mindegyik EntitySet egy EntityType. Ha többet szeretne megtudni az egyes értékek adattípusáról, tekintse át a megfelelő EntityTypemetaadatokat.

Tevékenység időtartamának trendje a megadott folyamatnévhez

Az alábbi Power BI-lekérdezést közvetlenül az Adat-üres> lekérdezés lekérése ablakba illessze be. További információkért tekintse át a mintajelentések áttekintését OData-lekérdezésekkel.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and TaskDisplayName eq '{taskname}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
        &"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
            &"    ) "
                &"/compute( "
                &"percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
            &"/groupby( "
                &"(TaskDuration80thPercentileInSeconds, PipelineRunCompletedOn/Date)) "
            &"&$orderby=PipelineRunCompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Helyettesítési sztringek és lekérdezések lebontása

Cserélje le a következő sztringeket az értékekkel. Ne tartalmazzon szögletes zárójeleket {} a helyettesítéssel. Ha például a szervezet neve "Fabrikam", cserélje le a Fabrikamhelyére {organization} a nem {Fabrikam}.

  • {organization} - A szervezet neve
  • {project} – A csapat projektneve
  • {pipelinename} - A folyamat neve. Példa: Fabrikam hourly build pipeline
  • {startdate} - A jelentés indításának dátuma. Formátum: YYYYY-MM-DDZ. Példa: 2021-09-01Z 2021. szeptember 1. Ne foglaljon össze idézőjeleket vagy szögletes zárójeleket, és használjon két számjegyet mind a hónap, mind a dátum esetében.

Lekérdezések lebontása

Az alábbi táblázat a lekérdezés egyes részeit ismerteti.

Lekérdezési rész

Leírás


$apply=filter(

Start filter() záradék.

Pipeline/PipelineName eq '{pipelinename}'

Adott folyamat tevékenységeredményeinek visszaadása.

and TaskDisplayName eq '{taskname}'

Adott tevékenység tevékenységeredményeinek visszaadása.

and PipelineRunCompletedOn/Date ge {startdate}

A megadott dátumon vagy után futó folyamatok tevékenységeredményeinek visszaadása.

and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded')

Csak a sikeres vagy részlegesen sikeres folyamatfuttatások tevékenységeredményét adja vissza.

and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1)

Kihagyhatja a megszakított, kihagyott vagy elhagyott folyamatfuttatásokat.

)

Zárja be filter() a záradékot.

/compute(

Start compute() záradék.

percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds)

Minden napra számítsa ki a szűrési feltételeknek megfelelő tevékenységek tevékenységhosszainak 80. percentilisét.

/groupby(

Start groupby() záradék.

(TaskDuration80thPercentileInSeconds, PipelineRunCompletedOn/Date))

Csoportosítsa a folyamatfuttatás befejezésének dátuma és a számított nap szerint a 80. percentilis tevékenység időtartamát.

&$orderby=PipelineRunCompletedOn/Date asc

A válasz megrendelése befejezett dátum szerint.

Folyamat tevékenység-időtartamának trendje, folyamatazonosító megadása

A folyamatok átnevezhetők. Annak érdekében, hogy a Power BI-jelentések ne szakadjanak meg a folyamatnév módosításakor, használja a folyamatazonosítót a folyamat neve helyett. A folyamatazonosítót a folyamatfuttatási oldal URL-címéről szerezheti be.

https://dev.azure.com/{organization}/{project}/_build?definitionId={pipelineid}

Az alábbi Power BI-lekérdezést közvetlenül az Adat-üres> lekérdezés lekérése ablakba illessze be. További információkért tekintse át a mintajelentések áttekintését OData-lekérdezésekkel.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineId eq {pipelineid} "
                &"and TaskDisplayName eq '{taskname}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
        &"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
            &") "
                &"/compute( "
                &"percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
            &"/groupby( "
                &"(TaskDuration80thPercentileInSeconds, PipelineRunCompletedOn/Date)) "
            &"&$orderby=PipelineRunCompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Folyamat 50., 80. és 90. percentilis tevékenységhossz-trendje

A tevékenység időtartamának más percentilisértékkel számított trendjének megtekintéséhez használja az alábbi lekérdezést, amely az 50. és a 95. percentilis tevékenység időtartamát és a 80. percentilist adja meg.

Az alábbi Power BI-lekérdezést közvetlenül az Adat-üres> lekérdezés lekérése ablakba illessze be. További információkért tekintse át a mintajelentések áttekintését OData-lekérdezésekkel.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and TaskDisplayName eq '{taskname}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
        &"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
            &") "
                &"/compute( "
                &"percentile_cont(ActivityDurationSeconds, 0.5, PipelineRunCompletedDateSK) as TaskDuration50thPercentileInSeconds, "
            &"percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds, "
                &"percentile_cont(ActivityDurationSeconds, 0.95, PipelineRunCompletedDateSK) as TaskDuration95thPercentileInSeconds) "
            &"/groupby( "
        &"(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds, TaskDuration95thPercentileInSeconds, PipelineRunCompletedOn/Date)) "
    &"&$orderby=PipelineRunCompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tevékenység időtartamának trendje egy ág szerint szűrt folyamathoz

Egy adott ág tevékenységének időtartam-trendjének megtekintéséhez használja az alábbi lekérdezést. A jelentés létrehozásához hajtsa végre a következő lépéseket:

Az alábbi Power BI-lekérdezést közvetlenül az Adat-üres> lekérdezés lekérése ablakba illessze be. További információkért tekintse át a mintajelentések áttekintését OData-lekérdezésekkel.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &" Pipeline/PipelineName eq '{pipelinename}' "
                &" and TaskDisplayName eq '{taskname}' "
                &" and PipelineRunCompletedOn/Date ge {startdate} "
        &" and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &" and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
            &" ) "
                &"/compute( "
                &" percentile_cont(ActivityDurationSeconds, 0.8, BranchSK, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
            &"/groupby( "
                &" (TaskDuration80thPercentileInSeconds, Branch/BranchName, PipelineRunCompletedOn/Date)) "
            &"&$orderby=PipelineRunCompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tevékenység időtartamának trendje az összes folyamattevékenységhez

Ha egyetlen jelentésben szeretné megtekinteni az összes folyamattevékenység tevékenység-időtartamának trendét, használja az alábbi lekérdezést. A jelentés létrehozásához hajtsa végre a következő lépéseket:

Az alábbi Power BI-lekérdezést közvetlenül az Adat-üres> lekérdezés lekérése ablakba illessze be. További információkért tekintse át a mintajelentések áttekintését OData-lekérdezésekkel.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRunActivityResults?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and PipelineRunCompletedOn/Date ge {startdate} "
                &"and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded') "
        &"and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1) "
        &") "
            &"/compute( "
                &"percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds) "
                &"/groupby( "
            &"(TaskDuration80thPercentileInSeconds, TaskDisplayName, PipelineRunCompletedOn/Date)) "
                &"&$orderby=PipelineRunCompletedOn/Date asc "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

(Nem kötelező) Lekérdezés átnevezése

Az alapértelmezett lekérdezéscímkét (Query1) átnevezheti valami értelmesebbre. Egyszerűen adjon meg egy új nevet a Lekérdezés Gépház panelen.

Képernyőkép a Power BI lekérdezési menüjének beállításairól, a lekérdezés átnevezéséről.

Oszlopok kibontása Power Query-szerkesztő

A jelentés létrehozása előtt ki kell bontania azokat az oszlopokat, amelyek több mezőt tartalmazó rekordokat ad vissza. Ebben a példában ki kell bontani az PipelineRunCompletedOn oszlopot, hogy az összesimuljon PipelineRunCompletedOn.Date.
A munkaelemek kibontásával kapcsolatos további információkért tekintse meg a Power BI-jelentések létrehozásához használható Transform Analytics-adatokat.

Oszlop adattípusának módosítása

Az Átalakítás menüben módosítsa az oszlop adattípusát TaskDuration80thPercentileInSeconds decimális számra. A cikkből megtudhatja, hogyan alakíthatja át az oszlop adattípusát.

(Nem kötelező) Oszlopmezők átnevezése

Átnevezheti az oszlopmezőket. Átnevezheti például az oszlopot TaskDuration80thPercentileInSeconds a következőre 80th Percentile: . További információ: Oszlopmezők átnevezése.

Zárja be a lekérdezést, és alkalmazza a módosításokat

Miután elvégezte az összes adatátalakítást, válassza a Kezdőlap menü Bezárás &alkalmaz elemét a lekérdezés mentéséhez és a Power BI Jelentés lapjára való visszatéréshez.

Képernyőkép a Power Query-szerkesztő Bezárás és alkalmazás lehetőségről.

A Vonaldiagram jelentés létrehozása

  1. A Power BI Vizualizációk területén válassza a Vonaldiagram jelentést.

    Képernyőkép a vizualizációs mezők kijelöléséről a tevékenység időtartamának trendvonaldiagram-jelentéséhez.

  2. Hozzáadás PipelineRunCompletedOn.Date az X tengelyhez. Kattintson a jobb gombbal a mezőre, és válassza a PipelineRunCompletedOn.Date parancsot a Dátumhierarchia helyett.

  3. Adja hozzá TaskDuration80thPercentileInSeconds az Y tengelyhez, és kattintson rá a jobb gombbal, hogy az Összeg ki legyen jelölve.

  4. A jelentés címének módosításához válassza a Vizualizációk panelen a Vizualizációk panelen a vizualizációk ecsetének formázása ikont, válassza az Általános lehetőséget, bontsa ki a Cím elemet, és cserélje le a meglévő szöveget.

Az alábbi képen az eredményként kapott jelentés látható.

Képernyőkép a Power BI-folyamatok mintául szolgáló tevékenység időtartamának trendjelentéséről.