İş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.
Ö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 EntitySet
veya 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 EntityType
iç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}
Fabrikam
yerine 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.
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.
Tablo raporunu oluşturma
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ı.
Sütunlar'a aşağıdaki alanları belirtilen sırada ekleyin.
- Görev Adı
- 50. Yüzdebirlik
- 80. Yüzdebirlik
- 95. Yüzdebirlik
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.