Share via


İşlem hattı görev süresi eğilim örneği raporu

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

Belirli bir işlem hattında görevlerin tamamlanması için geçen süreyi görselleştirmek için bir eğilim raporu oluşturabilirsiniz. Örneğin, aşağıdaki görüntüde 1 Eylül ile 15 Aralık 2022 arasında belirli bir işlem hattı için tamamlanan tüm görevlerin saniye cinsinden 80. yüzdebirliği gösterilmektedir.

Power BI İşlem Hatları görev süresi eğilim raporunun ekran görüntüsü.

Önemli

Power BI tümleştirmesi ve Analiz Hizmeti'nin OData akışına erişim genellikle Azure DevOps Services ve Azure DevOps Server 2020 ve sonraki sürümlerde kullanılabilir. Bu makalede sağlanan örnek sorgular yalnızca Azure DevOps Server 2020 ve sonraki sürümlerde geçerlidir ve v3.0 önizleme veya sonraki sürüme bağlıdır. Bu sorguları kullanmanızı ve bize geri bildirim sağlamanızı öneririz.

Önkoşullar

  • Analytics verilerini görüntülemek ve hizmeti sorgulamak için Temel erişim veya daha yüksek erişime sahip bir projenin üyesi olmanız gerekir. Varsayılan olarak, tüm proje üyelerine Analytics'i sorgulama ve Analiz görünümlerini tanımlama izinleri verilir.
  • Hizmet ve özellik etkinleştirme ve genel veri izleme etkinlikleriyle ilgili diğer önkoşullar hakkında bilgi edinmek için bkz . Analytics'e erişim izinleri ve önkoşulları.

Not

Bu makalede, OData Sorgularını kullanarak Örnek Raporlara Genel Bakış makalesini okuduğunuz ve Power BI hakkında temel bilgilere sahip olduğunuz varsayılır.

Örnek sorgular

Farklı ama benzer görev süresi eğilim raporları oluşturmak için varlık kümesinin PipelineRunActivityResults? aşağıdaki sorgularını kullanabilirsiniz.

Not

Filtre veya rapor amacıyla kullanılabilir özellikleri belirlemek için bkz . Azure Pipelines için meta veri başvurusu. sorgularınızı filtreleyebilir veya ile kullanılabilen EntitySetveya NavigationPropertyBinding Path değerlerinin Property altındaki EntityType değerlerden herhangi birini kullanarak özellikleri döndürebilirsiniz. Her EntitySet bir EntityTypeöğesine karşılık gelir. Her değerin veri türü hakkında daha fazla bilgi edinmek için ilgili EntityTypeiçin sağlanan meta verileri gözden geçirin.

Belirtilen işlem hattı adı için görev süresi eğilimi

Aşağıda listelenen Power BI sorgusunu doğrudan Veri Al-Boş> Sorgu penceresine yapıştırabilirsiniz. Daha fazla bilgi için OData sorgularını kullanarak örnek raporlara genel bakış sayfasını gözden geçirin.

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

Değiştirme dizeleri ve sorgu dökümü

Aşağıdaki dizeleri değerlerinizle kullanın. Değiştirmenize köşeli ayraç {} eklemeyin. Örneğin, kuruluşunuzun adı "Fabrikam" ise yerine {organization}Fabrikamyerine değerini {Fabrikam}yazın.

  • {organization} - Kuruluşunuzun adı
  • {project} - Ekip projenizin adı
  • {pipelinename} - İşlem hattı adınız. Örnek: Fabrikam hourly build pipeline
  • {startdate} - Raporunuzu başlatma tarihi. Biçim: YYYY-AA-GGZ. Örnek: 2021-09-01Z 1 Eylül 2021'i temsil eder. Tırnak veya köşeli ayraç içine almayın ve ay ve tarih için iki basamak kullanın.

Sorgu dökümü

Aşağıdaki tabloda sorgunun her bölümü açıklanmaktadır.

Sorgu bölümü

Açıklama


$apply=filter(

Start filter() yan tümcesi.

Pipeline/PipelineName eq '{pipelinename}'

Belirli bir işlem hattı için görev sonuçlarını döndürme.

and TaskDisplayName eq '{taskname}'

Belirli bir görevin görev sonuçlarını döndürür.

and PipelineRunCompletedOn/Date ge {startdate}

belirtilen tarihte veya sonrasında işlem hattı çalıştırmaları için görev sonuçlarını döndürür.

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

Yalnızca başarılı veya kısmen başarılı işlem hattı çalıştırmaları için görev sonuçlarını döndür.

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

İptal edilen, atlanan veya bırakılan işlem hattı çalıştırmalarını atlayın.

)

Close filter() yan tümcesi.

/compute(

Start compute() yan tümcesi.

percentile_cont(ActivityDurationSeconds, 0.8, PipelineRunCompletedDateSK) as TaskDuration80thPercentileInSeconds)

Her gün için, filtre ölçütleriyle eşleşen tüm görevlerin görev sürelerinin 80. yüzdebirlik değerini hesaplayabilirsiniz.

/groupby(

Start groupby() yan tümcesi.

(TaskDuration80thPercentileInSeconds, PipelineRunCompletedOn/Date))

İşlem hattı çalıştırmasının tamamlanma tarihine ve hesaplanan gün başına 80. yüzdebirlik görev süresine göre gruplandırma.

&$orderby=PipelineRunCompletedOn/Date asc

Yanıtı tamamlanma tarihine göre sırala.

İşlem hattı için görev süresi eğilimi, işlem hattı kimliğini belirtme

İşlem hatları yeniden adlandırılabilir. İşlem hattı adı değiştirildiğinde Power BI raporlarının kesilmediğinden emin olmak için işlem hattı adı yerine işlem hattı kimliğini kullanın. İşlem hattı kimliğini işlem hatları çalıştırmaları sayfasının URL'sinden alabilirsiniz.

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

Aşağıda listelenen Power BI sorgusunu doğrudan Veri Al-Boş> Sorgu penceresine yapıştırabilirsiniz. Daha fazla bilgi için OData sorgularını kullanarak örnek raporlara genel bakış sayfasını gözden geçirin.

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

İşlem hattı için 50., 80. ve 90. yüzdebirlik görev süresi eğilimi

Diğer yüzdebirlik değer kullanılarak hesaplanan görev süresi eğilimini görüntülemek için, 50. ve 95. yüzdebirlik görev süresinin yanı sıra 80. yüzdebirlik değer veren aşağıdaki sorguyu kullanın.

Aşağıda listelenen Power BI sorgusunu doğrudan Veri Al-Boş> Sorgu penceresine yapıştırabilirsiniz. Daha fazla bilgi için OData sorgularını kullanarak örnek raporlara genel bakış sayfasını gözden geçirin.

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

Dallara göre filtrelenmiş bir işlem hattı için görev süresi eğilimi

Belirli bir dal için görevin süre eğilimini görüntülemek için aşağıdaki sorguyu kullanın. Raporu oluşturmak için aşağıdaki adımları uygulayın:

Aşağıda listelenen Power BI sorgusunu doğrudan Veri Al-Boş> Sorgu penceresine yapıştırabilirsiniz. Daha fazla bilgi için OData sorgularını kullanarak örnek raporlara genel bakış sayfasını gözden geçirin.

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

Tüm işlem hattı görevleri için görev süresi eğilimi

Tek bir rapordaki tüm işlem hattı görevlerinin görev süresi eğilimini görüntülemek için aşağıdaki sorguyu kullanın. Raporu oluşturmak için aşağıdaki adımları uygulayın:

Aşağıda listelenen Power BI sorgusunu doğrudan Veri Al-Boş> Sorgu penceresine yapıştırabilirsiniz. Daha fazla bilgi için OData sorgularını kullanarak örnek raporlara genel bakış sayfasını gözden geçirin.

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

(İsteğe bağlı) Sorguyu yeniden adlandırma

Varsayılan sorgu etiketi olan Query1'i daha anlamlı bir şekilde yeniden adlandırabilirsiniz. Sorgu Ayarlar bölmesinden yeni bir ad girmeniz yeterlidir.

Power BI sorgu menüsü seçeneklerinin ekran görüntüsü, sorguyu yeniden adlandırma.

Power Query Düzenleyicisi sütunlarını genişletme

Raporu oluşturmadan önce, birkaç alan içeren kayıtları döndüren sütunları genişletmeniz gerekir. Bu örnekte sütunu düzleştirmek PipelineRunCompletedOn.Dateiçin genişletmek PipelineRunCompletedOn isteyeceksiniz.
İş öğelerini genişletmeyi öğrenmek için bkz . Power BI raporları oluşturmak için Analiz verilerini dönüştürme.

Sütun veri türünü değiştirme

Dönüştür menüsünde sütunun veri türünü TaskDuration80thPercentileInSeconds Ondalık Sayı olarak değiştirin. Nasıl yapılacağını öğrenmek için bkz . Sütun veri türünü dönüştürme.

(İsteğe bağlı) Sütun alanlarını yeniden adlandırma

Sütun alanlarını yeniden adlandırabilirsiniz. Örneğin, sütunu TaskDuration80thPercentileInSeconds80th Percentileolarak yeniden adlandırabilirsiniz. Nasıl yapılacağını öğrenmek için bkz . Sütun alanlarını yeniden adlandırma.

Sorguyu kapatma ve değişikliklerinizi uygulama

Tüm veri dönüşümlerinizi tamamladıktan sonra, sorguyu kaydetmek ve Power BI'daki Rapor sekmesine dönmek için Giriş menüsünden Kapat ve Uygula'yı seçin.

Kapat ve Uygula seçeneğinin Power Query Düzenleyicisi ekran görüntüsü.

Çizgi grafik raporu oluşturma

  1. Power BI'da Görselleştirmeler'in altında Çizgi grafik raporunu seçin.

    Görev süresi eğilim çizgisi grafik raporu için görselleştirme alanları seçimlerinin ekran görüntüsü.

  2. X Ekseni'ne ekleyinPipelineRunCompletedOn.Date. Alana sağ tıklayın ve Tarih Hiyerarşisi yerine PipelineRunCompletedOn.Date öğesini seçin.

  3. Y Ekseni'ne ekleyin ve Topla'nın seçili olduğundan emin olmak için sağ tıklayın.TaskDuration80thPercentileInSeconds

  4. Rapor başlığını değiştirmek için Görsel Öğeler bölmesinde Görsel boya fırçanızı biçimlendir simgesini seçin, Genel'i seçin, Başlık'ı genişletin ve var olan metni değiştirin.

Aşağıdaki görüntüde, sonuçta elde edilen rapor gösterilmektedir.

Power BI İşlem Hatları örnek görev süresi eğilim raporunun ekran görüntüsü.