diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 367d343..df1c574 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -56,7 +56,7 @@ jobs: -e SESSION_SECRET=dummy \ api:test "@org" - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} + if: always() with: name: playwright-report-docker-org path: test-results-docker-org/ @@ -89,7 +89,7 @@ jobs: -e SESSION_SECRET=dummy \ api:test "@ent" - uses: actions/upload-artifact@v4 - if: ${{ !cancelled() }} + if: always() with: name: playwright-report-docker-ent path: test-results-docker-ent/ diff --git a/README.md b/README.md index 4e3c9c1..a127e07 100644 --- a/README.md +++ b/README.md @@ -11,49 +11,51 @@ This application displays a set of charts with various metrics related to GitHub https://github.com/github-copilot-resources/copilot-metrics-viewer/assets/3329307/bc7e2a16-cc73-43c4-887a-b50809c08533 - ## Charts ## Key Metrics +>[!NOTE] +> Metrics details are described in detail in [GitHub API response schema](https://docs.github.com/en/rest/copilot/copilot-metrics?apiVersion=2022-11-28#get-copilot-metrics-for-an-organization) + Here are the key metrics visualized in these charts: -1. **Acceptance Rate:** This metric represents the ratio of accepted lines to the total lines suggested by GitHub Copilot. This rate is an indicator of the relevance and usefulness of Copilot's suggestions.
- +
-2. **Total Suggestions** This chart illustrates the total number of code suggestions made by GitHub Copilot. It offers a view of the tool's activity and its engagement with users over time. +1. **Acceptance Rate:** This metric represents the ratio of accepted lines and suggestions to the total suggested by GitHub Copilot. This rate is an indicator of the relevance and usefulness of Copilot's suggestions. However, as with any metric, it should be used with caution as developers use Copilot in many different ways (research, confirm, verify, etc., not always "inject"). ++ +
-3. **Total Acceptances:** This visualization focuses on the total number of suggestions accepted by users. +2. **Total Suggestions:** This chart illustrates the total number of code suggestions made by GitHub Copilot. It offers a view of the tool's activity and its engagement with users over time. +3. **Total Acceptances:** This visualization focuses on the total number of suggestions accepted by users.- +
4. **Total Lines Suggested:** Showcases the total number of lines of code suggested by GitHub Copilot. This gives an idea of the volume of code generation and assistance provided. -5. **Total Lines Accepted:** As the name says, the total lines of code accepted by users (full acceptances) offering insights into how much of the suggested code is actually being utilized incorporated to the codebase. - +5. **Total Lines Accepted:** As the name suggests, the total lines of code accepted by users (full acceptances) offering insights into how much of the suggested code is actually being utilized and incorporated into the codebase.- +
6. **Total Active Users:** Represents the number of active users engaging with GitHub Copilot. This helps in understanding the user base growth and adoption rate. -- +
## Languages Breakdown Analysis -Pie charts with the top 5 languages by accepted prompts and acceptance rate are displayed at the top. +Pie charts with the top 5 languages by accepted prompts and acceptance rate (by count/by lines) are displayed at the top.- +
The language breakdown analysis tab also displays a table showing the Accepted Prompts, Accepted Lines of Code, and Acceptance Rate (%) for each language over the past 28 days. The entries are sorted by the number of _accepted lines of code descending_. -- +
## Copilot Chat Metrics @@ -66,25 +68,24 @@ The language breakdown analysis tab also displays a table showing the Accepted P 2. **Cumulative Number of Acceptances:** This metric shows the total number of lines of code suggested by Copilot that have been accepted by users over the past 28 days. -3. **Total Turns | Total Acceptances Count:** This is a chart that displays the total number of turns and acceptances +3. **Total Turns | Total Acceptances Count:** This is a chart that displays the total number of turns and acceptances. -4. **Total Active Copilot Chat Users:** a bar chart that illustrates the total number of users who have actively interacted with Copilot over the past 28 days. +4. **Total Active Copilot Chat Users:** A bar chart that illustrates the total number of users who have actively interacted with Copilot over the past 28 days. ## Seat Analysis-1. **Total Assigned:** This metric represents the total number of Copilot seats assigned within current organization/enterprise. +1. **Total Assigned:** This metric represents the total number of Copilot seats assigned within the current organization/enterprise. 2. **Assigned But Never Used:** This metric shows seats that were assigned but never used within the current organization/enterprise. The assigned timestamp is also displayed in the chart. -3. **No Activity in the Last 7 days:** never used seats or seats used, but with no activity in the past 7 days. +3. **No Activity in the Last 7 Days:** Never used seats or seats used, but with no activity in the past 7 days. -4. **No Activity in the last 7 days (including never used seats):** a table to display seats that have had no activity in the past 7 days, ordered by the date of last activity. Seats that were used earlier are displayed at the top. +4. **No Activity in the Last 7 Days (including never used seats):** A table to display seats that have had no activity in the past 7 days, ordered by the date of last activity. Seats that were used earlier are displayed at the top. - -## Setup instructions +## Setup Instructions In the `.env` file, you can configure several environment variables that control the behavior of the application. @@ -100,10 +101,11 @@ For example, if you want to target the API calls to an organization, you would s ```` VUE_APP_SCOPE=organization -VUE_APP_GITHUB_ORG=
{{ JSON.stringify(metrics, null, 2) }}+
{{ JSON.stringify(originalMetrics, null, 2) }}
{{ JSON.stringify(seats, null, 2) }}-
{{ JSON.stringify(seats, null, 2) }}+