developermetrics / devopsmetrics Goto Github PK
View Code? Open in Web Editor NEWA project to extract and process high performing DevOps metrics (DORA) from GitHub and Azure DevOps
License: MIT License
A project to extract and process high performing DevOps metrics (DORA) from GitHub and Azure DevOps
License: MIT License
Vertical: Show all settings for a single metric (current implementation)
Horizontal: for a setting, show all of the metrics
Metric | Value |
---|---|
Deployments Per Day Metric | 0.5333 |
Deployments times per week | 3.7331 |
buildNumber | startTime | endTime | buildDurationInMinutesAndSeconds | status |
---|---|---|---|---|
482 | 01-Jul-2020, 2:17:57 am | 01-Jul-2020, 2:27:20 am | 9:23 | completed |
484 | 02-Jul-2020, 12:49:34 pm | 02-Jul-2020, 12:58:29 pm | 8:55 | completed |
487 | 03-Jul-2020, 10:49:13 am | 03-Jul-2020, 10:58:05 am | 8:52 | completed |
499 | 06-Jul-2020, 12:20:09 pm | 06-Jul-2020, 12:29:17 pm | 9:08 | completed |
501 | 14-Jul-2020, 12:04:34 pm | 14-Jul-2020, 12:13:56 pm | 9:22 | completed |
504 | 15-Jul-2020, 4:41:40 pm | 15-Jul-2020, 4:52:02 pm | 10:22 | completed |
506 | 15-Jul-2020, 6:34:25 pm | 15-Jul-2020, 6:43:40 pm | 9:15 | completed |
517 | 19-Jul-2020, 9:33:56 pm | 19-Jul-2020, 9:47:26 pm | 13:30 | completed |
519 | 25-Jul-2020, 3:48:14 pm | 25-Jul-2020, 4:02:56 pm | 14:42 | completed |
521 | 25-Jul-2020, 7:48:38 pm | 25-Jul-2020, 8:02:55 pm | 14:17 | completed |
525 | 27-Jul-2020, 6:54:08 pm | 27-Jul-2020, 7:07:59 pm | 13:51 | completed |
530 | 27-Jul-2020, 8:03:33 pm | 27-Jul-2020, 8:19:12 pm | 15:39 | completed |
534 | 28-Jul-2020, 2:10:00 pm | 28-Jul-2020, 2:25:36 pm | 15:36 | completed |
536 | 28-Jul-2020, 2:44:37 pm | 28-Jul-2020, 2:59:14 pm | 14:37 | completed |
541 | 28-Jul-2020, 4:01:00 pm | 28-Jul-2020, 4:20:02 pm | 19:02 | completed |
542 | 28-Jul-2020, 4:01:51 pm | 28-Jul-2020, 4:13:29 pm | 11:38 | completed |
By caching the data, I'll have a longer list of data to build a real picture.
Metric | Value |
---|---|
Deployments Per Day Metric | 0.5333 |
Deployments times per week | 3.7331 |
buildNumber | startTime | endTime | buildDurationInMinutesAndSeconds | status |
---|---|---|---|---|
482 | 01-Jul-2020, 2:17:57 am | 01-Jul-2020, 2:27:20 am | 9:23 | completed |
484 | 02-Jul-2020, 12:49:34 pm | 02-Jul-2020, 12:58:29 pm | 8:55 | completed |
487 | 03-Jul-2020, 10:49:13 am | 03-Jul-2020, 10:58:05 am | 8:52 | completed |
499 | 06-Jul-2020, 12:20:09 pm | 06-Jul-2020, 12:29:17 pm | 9:08 | completed |
501 | 14-Jul-2020, 12:04:34 pm | 14-Jul-2020, 12:13:56 pm | 9:22 | completed |
504 | 15-Jul-2020, 4:41:40 pm | 15-Jul-2020, 4:52:02 pm | 10:22 | completed |
506 | 15-Jul-2020, 6:34:25 pm | 15-Jul-2020, 6:43:40 pm | 9:15 | completed |
517 | 19-Jul-2020, 9:33:56 pm | 19-Jul-2020, 9:47:26 pm | 13:30 | completed |
519 | 25-Jul-2020, 3:48:14 pm | 25-Jul-2020, 4:02:56 pm | 14:42 | completed |
521 | 25-Jul-2020, 7:48:38 pm | 25-Jul-2020, 8:02:55 pm | 14:17 | completed |
525 | 27-Jul-2020, 6:54:08 pm | 27-Jul-2020, 7:07:59 pm | 13:51 | completed |
530 | 27-Jul-2020, 8:03:33 pm | 27-Jul-2020, 8:19:12 pm | 15:39 | completed |
534 | 28-Jul-2020, 2:10:00 pm | 28-Jul-2020, 2:25:36 pm | 15:36 | completed |
536 | 28-Jul-2020, 2:44:37 pm | 28-Jul-2020, 2:59:14 pm | 14:37 | completed |
541 | 28-Jul-2020, 4:01:00 pm | 28-Jul-2020, 4:20:02 pm | 19:02 | completed |
542 | 28-Jul-2020, 4:01:51 pm | 28-Jul-2020, 4:13:29 pm | 11:38 | completed |
Metric | Value |
---|---|
Deployments Per Day Metric | 0.5333 |
Deployments times per week | 3.7331 |
buildNumber | startTime | endTime | buildDurationInMinutesAndSeconds | status |
---|---|---|---|---|
482 | 01-Jul-2020, 2:17:57 am | 01-Jul-2020, 2:27:20 am | 9:23 | completed |
484 | 02-Jul-2020, 12:49:34 pm | 02-Jul-2020, 12:58:29 pm | 8:55 | completed |
487 | 03-Jul-2020, 10:49:13 am | 03-Jul-2020, 10:58:05 am | 8:52 | completed |
499 | 06-Jul-2020, 12:20:09 pm | 06-Jul-2020, 12:29:17 pm | 9:08 | completed |
501 | 14-Jul-2020, 12:04:34 pm | 14-Jul-2020, 12:13:56 pm | 9:22 | completed |
504 | 15-Jul-2020, 4:41:40 pm | 15-Jul-2020, 4:52:02 pm | 10:22 | completed |
506 | 15-Jul-2020, 6:34:25 pm | 15-Jul-2020, 6:43:40 pm | 9:15 | completed |
517 | 19-Jul-2020, 9:33:56 pm | 19-Jul-2020, 9:47:26 pm | 13:30 | completed |
519 | 25-Jul-2020, 3:48:14 pm | 25-Jul-2020, 4:02:56 pm | 14:42 | completed |
521 | 25-Jul-2020, 7:48:38 pm | 25-Jul-2020, 8:02:55 pm | 14:17 | completed |
525 | 27-Jul-2020, 6:54:08 pm | 27-Jul-2020, 7:07:59 pm | 13:51 | completed |
530 | 27-Jul-2020, 8:03:33 pm | 27-Jul-2020, 8:19:12 pm | 15:39 | completed |
534 | 28-Jul-2020, 2:10:00 pm | 28-Jul-2020, 2:25:36 pm | 15:36 | completed |
536 | 28-Jul-2020, 2:44:37 pm | 28-Jul-2020, 2:59:14 pm | 14:37 | completed |
541 | 28-Jul-2020, 4:01:00 pm | 28-Jul-2020, 4:20:02 pm | 19:02 | completed |
542 | 28-Jul-2020, 4:01:51 pm | 28-Jul-2020, 4:13:29 pm | 11:38 | completed |
Probot needs to do
Metric | Value |
---|---|
Deployments Per Day Metric | 0.5333 |
Deployments times per week | 3.7331 |
buildNumber | startTime | endTime | buildDurationInMinutesAndSeconds | status |
---|---|---|---|---|
482 | 01-Jul-2020, 2:17:57 am | 01-Jul-2020, 2:27:20 am | 9:23 | completed |
484 | 02-Jul-2020, 12:49:34 pm | 02-Jul-2020, 12:58:29 pm | 8:55 | completed |
487 | 03-Jul-2020, 10:49:13 am | 03-Jul-2020, 10:58:05 am | 8:52 | completed |
499 | 06-Jul-2020, 12:20:09 pm | 06-Jul-2020, 12:29:17 pm | 9:08 | completed |
501 | 14-Jul-2020, 12:04:34 pm | 14-Jul-2020, 12:13:56 pm | 9:22 | completed |
504 | 15-Jul-2020, 4:41:40 pm | 15-Jul-2020, 4:52:02 pm | 10:22 | completed |
506 | 15-Jul-2020, 6:34:25 pm | 15-Jul-2020, 6:43:40 pm | 9:15 | completed |
517 | 19-Jul-2020, 9:33:56 pm | 19-Jul-2020, 9:47:26 pm | 13:30 | completed |
519 | 25-Jul-2020, 3:48:14 pm | 25-Jul-2020, 4:02:56 pm | 14:42 | completed |
521 | 25-Jul-2020, 7:48:38 pm | 25-Jul-2020, 8:02:55 pm | 14:17 | completed |
525 | 27-Jul-2020, 6:54:08 pm | 27-Jul-2020, 7:07:59 pm | 13:51 | completed |
530 | 27-Jul-2020, 8:03:33 pm | 27-Jul-2020, 8:19:12 pm | 15:39 | completed |
534 | 28-Jul-2020, 2:10:00 pm | 28-Jul-2020, 2:25:36 pm | 15:36 | completed |
536 | 28-Jul-2020, 2:44:37 pm | 28-Jul-2020, 2:59:14 pm | 14:37 | completed |
541 | 28-Jul-2020, 4:01:00 pm | 28-Jul-2020, 4:20:02 pm | 19:02 | completed |
542 | 28-Jul-2020, 4:01:51 pm | 28-Jul-2020, 4:13:29 pm | 11:38 | completed |
While all secrets in the POC are managed with User Secrets and injecting secrets into the web app on deployment, there could be some benefit to refactoring PAT Token and Client Secrets into a key vault.
Currently we only support multi-stage builds
When it's less than 1, it can't be "per day". That doesn't make sense. It should be per week (1/7), and per month (1/30).
From a scale perspective, this is just one table storage container, can it handle 10, 100, 1000 users? We certainly don't want to be managing other users data.
Therefore, from a data perspective, users need confidence that their data is protected - hence, the current solution with a central azure data store is not ideal. There should be some way for users to easily configure and deploy this to their own tenants.
Metric | Value |
---|---|
Deployments Per Day Metric | 0.5333 |
Deployments times per week | 3.7331 |
buildNumber | startTime | endTime | buildDurationInMinutesAndSeconds | status |
---|---|---|---|---|
482 | 01-Jul-2020, 2:17:57 am | 01-Jul-2020, 2:27:20 am | 9:23 | completed |
484 | 02-Jul-2020, 12:49:34 pm | 02-Jul-2020, 12:58:29 pm | 8:55 | completed |
487 | 03-Jul-2020, 10:49:13 am | 03-Jul-2020, 10:58:05 am | 8:52 | completed |
499 | 06-Jul-2020, 12:20:09 pm | 06-Jul-2020, 12:29:17 pm | 9:08 | completed |
501 | 14-Jul-2020, 12:04:34 pm | 14-Jul-2020, 12:13:56 pm | 9:22 | completed |
504 | 15-Jul-2020, 4:41:40 pm | 15-Jul-2020, 4:52:02 pm | 10:22 | completed |
506 | 15-Jul-2020, 6:34:25 pm | 15-Jul-2020, 6:43:40 pm | 9:15 | completed |
517 | 19-Jul-2020, 9:33:56 pm | 19-Jul-2020, 9:47:26 pm | 13:30 | completed |
519 | 25-Jul-2020, 3:48:14 pm | 25-Jul-2020, 4:02:56 pm | 14:42 | completed |
521 | 25-Jul-2020, 7:48:38 pm | 25-Jul-2020, 8:02:55 pm | 14:17 | completed |
525 | 27-Jul-2020, 6:54:08 pm | 27-Jul-2020, 7:07:59 pm | 13:51 | completed |
530 | 27-Jul-2020, 8:03:33 pm | 27-Jul-2020, 8:19:12 pm | 15:39 | completed |
534 | 28-Jul-2020, 2:10:00 pm | 28-Jul-2020, 2:25:36 pm | 15:36 | completed |
536 | 28-Jul-2020, 2:44:37 pm | 28-Jul-2020, 2:59:14 pm | 14:37 | completed |
541 | 28-Jul-2020, 4:01:00 pm | 28-Jul-2020, 4:20:02 pm | 19:02 | completed |
542 | 28-Jul-2020, 4:01:51 pm | 28-Jul-2020, 4:13:29 pm | 11:38 | completed |
Have a page with UI controls
They should be the same (for example SamLearnsAzure)
Unknown = 0
AzureDevOps = 1
GitHub = 2
Couple options here:
Put the pat tokens into a key vault
Use database/settings table with key to identify it
exchange with a code that extracts the PAT token from the settings table (and therefore isn't passed around like candy).
Basic Authentication:
Advantages:
Disadvantages:
Other...?
Is this too many options?
7 days, 14 days, 21 days, 30 days, 60 days, 90 days
Should it be a GitHub app or oAuth app?
https://docs.github.com/en/developers/apps/about-apps
https://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps
GitHub Apps | OAuth Apps |
---|---|
You must be an organization owner or have admin permissions in a repository to install a GitHub App on an organization. If a GitHub App is installed in a repository and requires organization permissions, the organization owner must approve the application. | You can authorize an OAuth app to have access to resources. |
You can install a GitHub App on your personal repository. | You can authorize an OAuth app to have access to resources. |
You must be an organization owner, personal repository owner, or have admin permissions in a repository to uninstall a GitHub App and remove its access. | You can delete an OAuth access token to remove access. |
You must be an organization owner or have admin permissions in a repository to request a GitHub App installation. | If an organization application policy is active, any organization member can request to install an OAuth App on an organization. An organization owner must approve or deny the request. |
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.