Voorbeeldrapport voor duur van pijplijntaak
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Hoe lang duurt het om verschillende taken te voltooien? Dit artikel bevat de query's waaruit u een rapport voor een specifieke pijplijn en de bijbehorende taken kunt genereren. In de volgende afbeelding ziet u bijvoorbeeld het 50e, 80e en 95e percentiel in seconden voor alle taken die zijn voltooid voor een specifieke pijplijn van 1 september tot en met 15 december 2022.
Belangrijk
Power BI-integratie en -toegang tot de OData-feed van de Analytics-service zijn algemeen beschikbaar voor Azure DevOps Services en Azure DevOps Server 2020 en latere versies. De voorbeeldquery's in dit artikel zijn alleen geldig voor Azure DevOps Server 2020 en latere versies en zijn afhankelijk van versie v3.0 of hoger. We raden u aan deze query's te gebruiken en ons feedback te geven.
Vereisten
- Toegang: Wees lid van een project met ten minste basistoegang .
- Machtigingen: projectleden zijn standaard gemachtigd om query's uit te voeren op Analytics en weergaven te maken.
- Zie Machtigingen en vereisten voor toegang tot Analyse voor meer informatie over andere vereisten met betrekking tot het inschakelen van services en functies en algemene activiteiten voor het bijhouden van gegevens.
Notitie
In dit artikel wordt ervan uitgegaan dat u overzicht van voorbeeldrapporten leest met behulp van OData-query's en basiskennis hebt van Power BI.
Voorbeeldquery's
U voert een query uit op de PipelineRunActivityResults?
entiteit die is ingesteld om informatie over de taakduur te retourneren.
Notitie
Als u de beschikbare eigenschappen voor filter- of rapportdoeleinden wilt bepalen, raadpleegt u de naslaginformatie over metagegevens voor Azure Pipelines. U kunt uw query's filteren of eigenschappen retourneren met behulp van een van de Property
waarden onder een EntityType
of NavigationPropertyBinding Path
waarden die beschikbaar zijn met een EntitySet
. Elk EntitySet
komt overeen met een EntityType
. Raadpleeg voor meer informatie over het gegevenstype van elke waarde de metagegevens die voor de bijbehorende EntityType
waarde zijn opgegeven.
Kopieer en plak de volgende Power BI-query rechtstreeks in het venster Lege query ophalen>. Zie Overzicht van voorbeeldrapporten met behulp van OData-query's voor meer informatie.
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.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds, "
&"percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds, "
&"percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds) "
&"/groupby( "
&"(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName)) "
&"&$orderby=TaskDuration50thPercentileInSeconds desc "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Uitsplitsing van tekenreeksen en query's vervangen
Vervang de volgende tekenreeksen door uw waarden. Neem geen vierkante haken {} op bij uw vervanging. Als de naam van uw organisatie bijvoorbeeld Fabrikam is, vervangt u door {organization}
Fabrikam
, niet {Fabrikam}
.
{organization}
- Naam van uw organisatie{project}
- De naam van uw teamproject{pipelinename}
- De naam van uw pijplijn. Voorbeeld:Fabrikam hourly build pipeline
{startdate}
- De datum waarop het rapport moet worden gestart. Indeling: JJJJ-MM-DDZ. Voorbeeld:2021-09-01Z
vertegenwoordigt 1 september 2021. Plaats geen aanhalingstekens of vierkante haken en gebruik twee cijfers voor zowel maand als datum.
Uitsplitsing van query's
In de volgende tabel wordt elk deel van de query beschreven.
Queryonderdeel
Beschrijving
$apply=filter(
Begincomponent filter()
.
Pipeline/PipelineName eq '{pipelinename}'
Retourpijplijnuitvoeringen voor de opgegeven pijplijn.
and PipelineRunCompletedOn/Date ge {startdate}
Retourneer taakresultaten voor een pijplijnuitvoering op of na de opgegeven datum.
and (PipelineRunOutcome eq 'Succeed' or PipelineRunOutcome eq 'PartiallySucceeded')
Retourneer taakresultaten voor alleen geslaagde of gedeeltelijk geslaagde pijplijnuitvoeringen.
and (CanceledCount ne 1 and SkippedCount ne 1 and AbandonedCount ne 1)
Laat pijplijnuitvoeringen weg die zijn geannuleerd, overgeslagen of afgeslagen.
)
Sluit de filter()
component.
/compute(
Begincomponent compute()
.
percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds,
Voor elke taak berekent u het 50e percentiel van de taakduur voor alle taken die voldoen aan de filtercriteria.
percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds,
Voor elke taak berekent u het 80e percentiel van de taakduur voor alle taken die voldoen aan de filtercriteria.
percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds)
Voor elke taak berekent u het 95e percentiel van de taakduur voor alle taken die voldoen aan de filtercriteria.
/groupby(
Start de groupby()
component.
(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName))
Groeperen op taak van pijplijnuitvoering en berekend op dag 50e percentieltaakduur, duur van 80e percentieltaak en 95e percentieltaakduur.
&$orderby=TaskDuration50thPercentileInSeconds desc
Bestel het antwoord op taak met de hoogste duur van het 50e percentiel.
(Optioneel) Naam van query wijzigen
U kunt de naam van het standaardquerylabel Query1 wijzigen in iets zinvoller. Voer gewoon een nieuwe naam in het deelvenster Queryinstellingen in.
Kolomgegevenstype wijzigen
Wijzig in het menu Transformeren het gegevenstype voor de volgende kolommen voor Decimal Number**.
meer informatie. Zie Een kolomgegevenstype transformeren.
- TaskDuration80thPercentileInSeconds
- TaskDuration80thPercentileInSeconds
- TaskDuration95thPercentileInSeconds
.
(Optioneel) Kolomvelden een andere naam geven
U kunt de naam van kolomvelden wijzigen. U kunt bijvoorbeeld de naam van de volgende kolommen wijzigen, zodat ze beter worden weergegeven. Zie Kolomvelden een andere naam geven.
Oorspronkelijke veldnaam | Hernoemd veld |
---|---|
TaskDisplayName |
Naam van de taak |
TaskDuration50thPercentileInSeconds |
50e percentiel |
TaskDuration80thPercentileInSeconds |
80e percentiel |
TaskDuration95thPercentileInSeconds |
95e percentiel |
Sluit de query en pas uw wijzigingen toe
Zodra u al uw gegevenstransformaties hebt voltooid, kiest u Sluiten en toepassen in het menu Start om de query op te slaan en terug te keren naar het tabblad Rapport in Power BI.
Het tabelrapport maken
Kies in Power BI onder Visualisaties het tabelrapport . De naam van velden is gewijzigd zoals aangegeven in de sectie Kolomvelden wijzigen.
Voeg de volgende velden toe aan de kolommen in de opgegeven volgorde.
- Taaknaam
- 50e percentiel
- 80e percentiel
- 95e percentiel
Als u de rapporttitel wilt wijzigen, selecteert u het pictogram Uw visuele verfborstel opmaken in het deelvenster Visualisaties, selecteert u Algemeen, vouwt u Titel uit en vervangt u de bestaande tekst.
In de volgende afbeelding ziet u een deel van het resulterende rapport.