Aracılığıyla paylaş


İşlem hattı görev süresi örnek raporu

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

Farklı görevlerin tamamlanması ne kadar sürer? Bu makalede, belirli bir işlem hattı ve görevleri için rapor oluşturabileceğiniz sorgular sağlanır. Örneğin, aşağıdaki görüntüde belirli bir işlem hattı için 1 Eylül ile 15 Aralık 2022 arasında tamamlanan tüm görevler için saniye cinsinden 50. , 80. ve 95. yüzdebirlik dilim listelenir.

Power BI İşlem Hatları görev süresi tablosu 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

  • Erişim: En az Temel erişimi olan bir projenin üyesi olun.
  • İzinler: Varsayılan olarak, proje üyeleri Analytics'i sorgulama ve görünüm oluşturma iznine sahiptir.
  • Hizmet ve özellik etkinleştirme ve genel veri izleme etkinlikleriyle ilgili diğer önkoşullar hakkında daha fazla bilgi için bkz . Analytics'e erişim izinleri ve önkoşulları.

Not

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

Örnek sorgular

Görev süresi bilgilerini döndürmek için varlık kümesini sorgularsınız PipelineRunActivityResults? .

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 için ilgili EntityTypeiçin sağlanan meta verileri gözden geçirin.

Aşağıdaki Power BI sorgusunu kopyalayıp doğrudan Veri>Al Boş Sorgu penceresine yapıştırın. Daha fazla bilgi için bkz . OData sorgularını kullanan örnek raporlara genel bakış.

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

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}'

Belirtilen işlem hattı için dönüş işlem hattı çalışır.

and PipelineRunCompletedOn/Date ge {startdate}

Belirtilen tarihte veya sonrasında bir işlem hattı çalıştırması 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.

)

Yan tümcesini filter() kapatın.

/compute(

Start compute() yan tümcesi.

percentile_cont(ActivityDurationSeconds, 0.5, TaskDisplayName) as TaskDuration50thPercentileInSeconds,

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

percentile_cont(ActivityDurationSeconds, 0.8, TaskDisplayName) as TaskDuration80thPercentileInSeconds,

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

percentile_cont(ActivityDurationSeconds, 0.95, TaskDisplayName) as TaskDuration95thPercentileInSeconds)

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

/groupby(

Yan tümcesini groupby() başlatın.

(TaskDuration50thPercentileInSeconds, TaskDuration80thPercentileInSeconds,TaskDuration95thPercentileInSeconds, TaskDisplayName))

İşlem hattı çalıştırma ve hesaplanan gün başına 50. yüzdebirlik görev süresi, 80. yüzdebirlik görev süresi ve 95. yüzdebirlik görev süresi görevine göre gruplandırma.

&$orderby=TaskDuration50thPercentileInSeconds desc

En yüksek 50. yüzdebirlik süreye sahip göreve göre yanıtı sırala.

(İ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.

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

Dönüştür menüsünden aşağıdaki sütunların Decimal Number**. veri türünü olarak değiştirin. Nasıl yapılacağını öğrenmek için bkz. Sütun veri türünü dönüştürme.
- TaskDuration80thPercentileInSeconds - TaskDuration80thPercentileInSeconds - TaskDuration95thPercentileInSeconds.

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

Sütun alanlarını yeniden adlandırabilirsiniz. Örneğin, aşağıdaki sütunları daha kolay görüntülenebilmeleri için yeniden adlandırabilirsiniz. Nasıl yapılacağını öğrenmek için bkz . Sütun alanlarını yeniden adlandırma.

Özgün alan adı Yeniden adlandırılan alan
TaskDisplayName Görev Adı
TaskDuration50thPercentileInSeconds 50. Yüzdebirlik
TaskDuration80thPercentileInSeconds 80. Yüzdebirlik
TaskDuration95thPercentileInSeconds 95. Yüzdebirlik

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ü.

Tablo raporunu oluşturma

  1. Power BI'da Görselleştirmeler'in altında Tablo raporunu seçin. Alanlar, Sütun alanlarını yeniden adlandırma bölümünde gösterildiği gibi yeniden adlandırıldı.

    Görev süresi tablo raporu için görselleştirme alanları seçimlerinin ekran görüntüsü.

  2. Sütunlar'a aşağıdaki alanları belirtilen sırada ekleyin.

    • Görev Adı
    • 50. Yüzdebirlik
    • 80. Yüzdebirlik
    • 95. Yüzdebirlik
  3. 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 raporun bir bölümü gösterilmektedir.

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