Bagikan melalui


Laporan sampel durasi alur

Layanan Azure DevOps | Azure DevOps Server 2022 | Azure DevOps Server 2020

Artikel ini memperlihatkan kepada Anda cara mendapatkan durasi alur, atau waktu yang diperlukan untuk menjalankan alur. Laporan ini mirip dengan metrik ringkasan durasi dalam bagan 'Durasi alur' dari laporan durasi Alur.

Gambar berikut menunjukkan contoh laporan durasi untuk alur tertentu untuk semua eksekusi alur dari September 2022 hingga 15 Desember 2022.

Cuplikan layar laporan kolom berkluster Durasi Alur Power BI.

Penting

Integrasi dan akses Power BI ke umpan OData Dari Layanan Analitik umumnya tersedia untuk Azure DevOps Services dan Azure DevOps Server 2020 dan versi yang lebih baru. Kueri sampel yang disediakan dalam artikel ini hanya valid terhadap Azure DevOps Server 2020 dan versi yang lebih baru, dan bergantung pada pratinjau v3.0 atau versi yang lebih baru. Kami mendorong Anda untuk menggunakan kueri ini dan memberi kami umpan balik.

Prasyarat

  • Akses: Menjadi anggota proyek dengan setidaknya akses Dasar .
  • Izin: Secara default, anggota proyek memiliki izin untuk mengkueri Analitik dan membuat tampilan.
  • Untuk informasi selengkapnya tentang prasyarat lain mengenai pengaktifan layanan dan fitur serta aktivitas pelacakan data umum, lihat Izin dan prasyarat untuk mengakses Analitik.

Catatan

Artikel ini mengasumsikan Anda membaca Gambaran Umum Laporan Sampel menggunakan Kueri OData dan memiliki pemahaman dasar tentang Power BI.

Contoh kueri

Anda dapat menggunakan kueri berikut dari PipelineRuns kumpulan entitas untuk membuat laporan durasi alur yang berbeda tetapi serupa.

Catatan

Untuk menentukan properti yang tersedia untuk tujuan filter atau laporan, lihat Referensi metadata untuk Azure Pipelines. Anda dapat memfilter kueri atau mengembalikan properti menggunakan salah satu nilai di Property bawah nilai atau NavigationPropertyBinding Path yang EntityType tersedia dengan EntitySet. Masing-masing EntitySet sesuai dengan EntityType. Untuk informasi selengkapnya tentang jenis data dari setiap nilai, tinjau metadata yang disediakan untuk yang sesuai EntityType.

Mengembalikan durasi persentil untuk alur tertentu

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, lihat Gambaran umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and CompletedDate ge {startdate} "
                &"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

String substitusi dan perincian kueri

Ganti string berikut dengan nilai Anda. Jangan sertakan {} tanda kurung dengan pengganti Anda. Misalnya jika nama organisasi Anda adalah "Fabrikam", ganti {organization} dengan Fabrikam, bukan {Fabrikam}.

  • {organization} - Nama organisasi Anda
  • {project} - Nama proyek tim Anda
  • {pipelinename} - Nama alur Anda. Contoh: Fabrikam hourly build pipeline
  • {startdate} - Tanggal untuk memulai laporan Anda. Format: YYYY-MM-DDZ. Contoh: 2021-09-01Z mewakili 1 September 2021. Jangan sertakan dalam tanda kutip atau tanda kurung siku dan gunakan dua digit untuk, bulan dan tanggal.

Perincian kueri

Tabel berikut ini menjelaskan setiap bagian kueri.

Bagian kueri

Keterangan


$apply=filter(

Mulai filter() klausa.

Pipeline/PipelineName eq '{pipelinename}'

Mengembalikan eksekusi alur untuk alur yang ditentukan.

and CompletedDate ge {startdate}

Mengembalikan eksekusi alur pada atau setelah tanggal yang ditentukan.

and (SucceededCount eq 1 or PartiallySucceededCount eq 1)

Mengembalikan hanya eksekusi yang berhasil atau berhasil sebagian.

)

Tutup filter() klausa.

/compute(

Mulai compute() klausa.

percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds,

Komputasi persentil ke-50 durasi alur dari semua eksekusi alur yang cocok dengan kriteria filter.

percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds,

Komputasi persentil ke-80 durasi alur dari semua eksekusi alur yang cocok dengan kriteria filter.

percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds)

Komputasi persentil ke-95 durasi alur dari semua eksekusi alur yang cocok dengan kriteria filter.

/groupby(

Mulai groupby() klausa.

(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds))

Kelompokkan respons menurut Duration50thPercentileInSeconds, Duration80thPercentileInSeconds, dan Duration95thPercentileInSeconds akhiri groupby klausa.

Mengembalikan durasi persentil untuk ID alur tertentu

Alur dapat diganti namanya. Untuk memastikan bahwa laporan Power BI tidak rusak saat nama alur diubah, gunakan ID alur daripada nama alur. Anda bisa mendapatkan ID alur dari URL halaman eksekusi alur.

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

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, lihat Gambaran umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"PipelineId  eq {pipelineid} "
                &"and CompletedDate ge {startdate} "
                &"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.5) as Duration50thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.8) as Duration80thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.95) as Duration95thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Mengembalikan durasi persentil untuk alur tertentu, filter menurut cabang

Untuk melihat durasi alur untuk cabang tertentu saja, gunakan kueri berikut. Untuk membuat laporan, lakukan langkah tambahan berikut bersama dengan apa yang diuraikan di bagian Ubah tipe data kolom dan Buat laporan bagan kolom terkluster.

  • Perluas Branch ke .Branch.BranchName
  • Tambahkan bidang Branch.BranchName ke Sumbu-X.

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, lihat Gambaran umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"Pipeline/PipelineName eq '{pipelinename}' "
                &"and CompletedDate ge {startdate} "
                &"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
        &") "
        &"/compute( "
            &"percentile_cont(TotalDurationSeconds, 0.5, BranchSK) as Duration50thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.8, BranchSK) as Duration80thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.95, BranchSK) as Duration95thPercentileInSeconds) "
            &"/groupby( "
                &"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds, Branch/BranchName)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Mengembalikan durasi persentil untuk semua alur proyek

Untuk melihat durasi semua alur proyek dalam satu laporan, gunakan kueri berikut. Untuk membuat laporan, lakukan langkah tambahan berikut bersama dengan apa yang diuraikan di bagian Ubah tipe data kolom dan Buat laporan bagan kolom terkluster.

  • Perluas Pipeline ke .Pipeline.PipelineName
  • Tambahkan bidang PIpeline.PipelineName ke Sumbu-X.

Lihat juga Ringkasan hasil untuk semua alur untuk laporan sampel yang telah merinci langkah serupa seperti yang diperlukan di sini.

Salin dan tempel kueri Power BI berikut ini langsung ke jendela Dapatkan Kueri Kosong Data>. Untuk informasi selengkapnya, lihat Gambaran umum laporan sampel menggunakan kueri OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/PipelineRuns?"
        &"$apply=filter( "
                &"CompletedDate ge {startdate} "
                &"and (SucceededCount eq 1 or PartiallySucceededCount eq 1) "
                &"    ) "
        &"/compute( "
        &"percentile_cont(TotalDurationSeconds, 0.5, PipelineId) as Duration50thPercentileInSeconds, "
            &"percentile_cont(TotalDurationSeconds, 0.8, PipelineId) as Duration80thPercentileInSeconds, "
                &"percentile_cont(TotalDurationSeconds, 0.95, PipelineId) as Duration95thPercentileInSeconds) "
                &"/groupby( "
            &"(Duration50thPercentileInSeconds, Duration80thPercentileInSeconds,Duration95thPercentileInSeconds, Pipeline/PipelineName)) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Mengubah tipe data kolom

Dari menu Transformasi, ubah tipe data untuk kolom berikut menjadi Angka Desimal. Untuk mempelajari caranya, lihat Mengubah jenis data kolom.

  • Duration50thPercentileInSeconds
  • Duration80thPercentileInSeconds
  • Duration95thPercentileInSeconds

(Opsional) Mengganti nama bidang kolom

Anda dapat mengganti nama bidang kolom. Misalnya, Anda dapat mengganti nama kolom Pipeline.PipelineName menjadi Pipeline Name, atau TotalCount menjadi Total Count. Untuk mempelajari caranya, lihat Mengganti nama bidang kolom.

Tutup kueri dan terapkan perubahan Anda

Setelah Anda menyelesaikan semua transformasi data, pilih Tutup & Terapkan dari menu Beranda untuk menyimpan kueri dan kembali ke tab Laporan di Power BI.

Cuplikan layar opsi Editor Power Query Tutup dan Terapkan.

Membuat laporan bagan kolom terkluster

  1. Di Power BI, di bawah Visualisasi, pilih laporan bagan kolom Berkluster. Contoh mengasumsikan bahwa tidak ada kolom yang diganti namanya.

    Cuplikan layar Visualisasi kolom berkluster Alur Power BI dan pilihan bidang.

  2. Tambahkan bidang berikut ke Sumbu-Y, klik kanan setiap bidang dan pastikan Jumlah dipilih.

    • Duration50thPercentileInSeconds
    • Duration80thPercentileInSeconds
    • Duration95thPercentileInSeconds
  3. Untuk mengubah judul laporan, legenda, atau visual laporan lainnya, pilih ikon Format kuas cat visual Anda dari panel Visualisasi dan sesuaikan satu atau beberapa pengaturan.

Laporan Anda akan terlihat mirip dengan gambar berikut.

Cuplikan layar laporan kolom berkluster Durasi Alur Sampel Power BI.