GoogleCloudPlatform / transactional-microservice-examples
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 37 files with 2,185 lines of code.
    • 0 files changed more than 100 times (0 lines of code)
    • 0 files changed 51-100 times (0 lines of code)
    • 0 files changed 21-50 times (0 lines of code)
    • 0 files changed 6-20 times (0 lines of code)
    • 37 files changed 1-5 times (2,185 lines of code)
0% | 0% | 0% | 0% | 100%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 37 files with 2,185 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 0 files changed by 11-25 contributors (0 lines of code)
    • 0 files changed by 6-10 contributors (0 lines of code)
    • 31 files changed by 2-5 contributors (1,602 lines of code)
    • 6 files changed by 1 contributor (583 lines of code)
0% | 0% | 0% | 73% | 26%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
tsx, py, dockerignore, json, ts, js, md, yaml, gitignore, css, txt, html, eslintignore
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py0% | 0% | 0% | 0% | 100%
tsx0% | 0% | 0% | 0% | 100%
ts0% | 0% | 0% | 0% | 100%
js0% | 0% | 0% | 0% | 100%
html0% | 0% | 0% | 0% | 100%
yaml0% | 0% | 0% | 0% | 100%
css0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
frontend0% | 0% | 0% | 0% | 100%
services0% | 0% | 0% | 0% | 100%
cqrs0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 39)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
index.yaml
in cqrs/services/orderinfo
5 - 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
main.py
in services/event-publisher
51 3 2020-12-09 2020-12-29 2 2 enakai@google.com enakai0@gmail.com
main.py
in cqrs/services/order
71 3 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
main.py
in cqrs/services/product
77 4 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
main.py
in cqrs/services/orderinfo
167 5 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
index.css
in frontend/src
4 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
vite.config.ts
in frontend
5 1 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
index.yaml
in services/event-publisher
5 - 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
6 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
productType.ts
in frontend/src/types
6 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Footer.tsx
in frontend/src/components
6 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
10 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.tsx
in frontend/src
10 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
InvalidTokenError.tsx
in frontend/src/components
11 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Shop.tsx
in frontend/src/pages
13 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Products.tsx
in frontend/src/components
13 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
index.html
in frontend
13 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Cart.tsx
in frontend/src/components
17 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
App.tsx
in frontend/src
20 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
IdentityTokenContext.tsx
in frontend/src/context
34 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
CustomerContext.tsx
in frontend/src/context
34 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Navbar.tsx
in frontend/src/components
37 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Product.tsx
in frontend/src/components
38 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
OrdersContext.tsx
in frontend/src/context
57 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.py
in services/order-processor
62 4 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
CartContext.tsx
in frontend/src/context
64 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
RouterConfig.tsx
in frontend/src/components
72 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Profile.tsx
in frontend/src/pages
80 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
data.ts
in frontend/src
82 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.py
in services/order-sync
106 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in services/customer-sync
118 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
First.tsx
in frontend/src/pages
123 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Orders.tsx
in frontend/src/pages
136 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.py
in services/order-async
137 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in services/customer-async
155 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
apis.ts
in frontend/src/hooks
169 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Checkout.tsx
in frontend/src/pages
171 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
index.yaml
in cqrs/services/event-publisher
5 -
main.py
in cqrs/services/event-publisher
51 3
Files With Most Contributors (Top 39)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
main.py
in services/event-publisher
51 3 2020-12-09 2020-12-29 2 2 enakai@google.com enakai0@gmail.com
main.py
in cqrs/services/orderinfo
167 5 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
index.yaml
in cqrs/services/orderinfo
5 - 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
main.py
in cqrs/services/product
77 4 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
main.py
in cqrs/services/order
71 3 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
index.html
in frontend
13 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
index.css
in frontend/src
4 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Navbar.tsx
in frontend/src/components
37 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Product.tsx
in frontend/src/components
38 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Footer.tsx
in frontend/src/components
6 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
RouterConfig.tsx
in frontend/src/components
72 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Cart.tsx
in frontend/src/components
17 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
InvalidTokenError.tsx
in frontend/src/components
11 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Products.tsx
in frontend/src/components
13 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
App.tsx
in frontend/src
20 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
CustomerContext.tsx
in frontend/src/context
34 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
IdentityTokenContext.tsx
in frontend/src/context
34 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
CartContext.tsx
in frontend/src/context
64 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
OrdersContext.tsx
in frontend/src/context
57 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
productType.ts
in frontend/src/types
6 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
data.ts
in frontend/src
82 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.tsx
in frontend/src
10 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
apis.ts
in frontend/src/hooks
169 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Checkout.tsx
in frontend/src/pages
171 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Shop.tsx
in frontend/src/pages
13 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Profile.tsx
in frontend/src/pages
80 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Orders.tsx
in frontend/src/pages
136 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
First.tsx
in frontend/src/pages
123 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
6 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
10 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
vite.config.ts
in frontend
5 1 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.py
in services/order-sync
106 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in services/customer-async
155 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in services/customer-sync
118 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
index.yaml
in services/event-publisher
5 - 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in services/order-processor
62 4 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in services/order-async
137 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in cqrs/services/event-publisher
51 3
index.yaml
in cqrs/services/event-publisher
5 -
Files With Least Contributors (Top 39)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
main.py
in cqrs/services/event-publisher
51 3
index.yaml
in cqrs/services/event-publisher
5 -
main.py
in services/customer-async
155 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in services/order-async
137 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in services/customer-sync
118 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in services/order-sync
106 5 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
main.py
in services/order-processor
62 4 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
index.yaml
in services/event-publisher
5 - 2020-12-09 2020-12-09 1 1 enakai@google.com enakai@google.com
Checkout.tsx
in frontend/src/pages
171 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
apis.ts
in frontend/src/hooks
169 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.py
in cqrs/services/orderinfo
167 5 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
Orders.tsx
in frontend/src/pages
136 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
First.tsx
in frontend/src/pages
123 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
data.ts
in frontend/src
82 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Profile.tsx
in frontend/src/pages
80 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.py
in cqrs/services/product
77 4 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
RouterConfig.tsx
in frontend/src/components
72 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.py
in cqrs/services/order
71 3 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
CartContext.tsx
in frontend/src/context
64 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
OrdersContext.tsx
in frontend/src/context
57 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.py
in services/event-publisher
51 3 2020-12-09 2020-12-29 2 2 enakai@google.com enakai0@gmail.com
Product.tsx
in frontend/src/components
38 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Navbar.tsx
in frontend/src/components
37 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
CustomerContext.tsx
in frontend/src/context
34 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
IdentityTokenContext.tsx
in frontend/src/context
34 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
App.tsx
in frontend/src
20 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Cart.tsx
in frontend/src/components
17 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
index.html
in frontend
13 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Products.tsx
in frontend/src/components
13 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Shop.tsx
in frontend/src/pages
13 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
InvalidTokenError.tsx
in frontend/src/components
11 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
main.tsx
in frontend/src
10 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
10 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Footer.tsx
in frontend/src/components
6 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
productType.ts
in frontend/src/types
6 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
6 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
vite.config.ts
in frontend
5 1 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
index.yaml
in cqrs/services/orderinfo
5 - 2021-01-17 2021-01-30 2 2 enakai@google.com enakai0@gmail.com
index.css
in frontend/src
4 - 2022-07-26 2022-07-26 1 2 enakai0@gmail.com hasebe@google.com
Correlations

File Size vs. Number of Changes: 37 points

frontend/index.html x: 13 lines of code y: 1 # changes frontend/postcss.config.js x: 6 lines of code y: 1 # changes frontend/src/App.tsx x: 20 lines of code y: 1 # changes frontend/src/components/Cart.tsx x: 17 lines of code y: 1 # changes frontend/src/components/InvalidTokenError.tsx x: 11 lines of code y: 1 # changes frontend/src/components/Navbar.tsx x: 37 lines of code y: 1 # changes frontend/src/components/Product.tsx x: 38 lines of code y: 1 # changes frontend/src/components/RouterConfig.tsx x: 72 lines of code y: 1 # changes frontend/src/context/CartContext.tsx x: 64 lines of code y: 1 # changes frontend/src/context/CustomerContext.tsx x: 34 lines of code y: 1 # changes frontend/src/context/OrdersContext.tsx x: 57 lines of code y: 1 # changes frontend/src/data.ts x: 82 lines of code y: 1 # changes frontend/src/hooks/apis.ts x: 169 lines of code y: 1 # changes frontend/src/index.css x: 4 lines of code y: 1 # changes frontend/src/main.tsx x: 10 lines of code y: 1 # changes frontend/src/pages/Checkout.tsx x: 171 lines of code y: 1 # changes frontend/src/pages/First.tsx x: 123 lines of code y: 1 # changes frontend/src/pages/Orders.tsx x: 136 lines of code y: 1 # changes frontend/src/pages/Profile.tsx x: 80 lines of code y: 1 # changes frontend/vite.config.ts x: 5 lines of code y: 1 # changes cqrs/services/order/main.py x: 71 lines of code y: 2 # changes cqrs/services/orderinfo/index.yaml x: 5 lines of code y: 2 # changes cqrs/services/orderinfo/main.py x: 167 lines of code y: 2 # changes cqrs/services/product/main.py x: 77 lines of code y: 2 # changes services/event-publisher/main.py x: 51 lines of code y: 2 # changes services/customer-async/main.py x: 155 lines of code y: 1 # changes services/customer-sync/main.py x: 118 lines of code y: 1 # changes services/order-async/main.py x: 137 lines of code y: 1 # changes services/order-processor/main.py x: 62 lines of code y: 1 # changes services/order-sync/main.py x: 106 lines of code y: 1 # changes
2.0
# changes
  min: 1.0
  average: 1.14
  25th percentile: 1.0
  median: 1.0
  75th percentile: 1.0
  max: 2.0
0 171.0
lines of code
min: 4.0 | average: 59.05 | 25th percentile: 10.5 | median: 38.0 | 75th percentile: 94.0 | max: 171.0

Number of Contributors vs. Number of Changes: 37 points

frontend/index.html x: 2 # contributors y: 1 # changes cqrs/services/order/main.py x: 2 # contributors y: 2 # changes services/customer-async/main.py x: 1 # contributors y: 1 # changes
2.0
# changes
  min: 1.0
  average: 1.14
  25th percentile: 1.0
  median: 1.0
  75th percentile: 1.0
  max: 2.0
0 2.0
# contributors
min: 1.0 | average: 1.84 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.0 | max: 2.0

Number of Contributors vs. File Size: 37 points

frontend/index.html x: 2 # contributors y: 13 lines of code frontend/postcss.config.js x: 2 # contributors y: 6 lines of code frontend/src/App.tsx x: 2 # contributors y: 20 lines of code frontend/src/components/Cart.tsx x: 2 # contributors y: 17 lines of code frontend/src/components/InvalidTokenError.tsx x: 2 # contributors y: 11 lines of code frontend/src/components/Navbar.tsx x: 2 # contributors y: 37 lines of code frontend/src/components/Product.tsx x: 2 # contributors y: 38 lines of code frontend/src/components/RouterConfig.tsx x: 2 # contributors y: 72 lines of code frontend/src/context/CartContext.tsx x: 2 # contributors y: 64 lines of code frontend/src/context/CustomerContext.tsx x: 2 # contributors y: 34 lines of code frontend/src/context/OrdersContext.tsx x: 2 # contributors y: 57 lines of code frontend/src/data.ts x: 2 # contributors y: 82 lines of code frontend/src/hooks/apis.ts x: 2 # contributors y: 169 lines of code frontend/src/index.css x: 2 # contributors y: 4 lines of code frontend/src/main.tsx x: 2 # contributors y: 10 lines of code frontend/src/pages/Checkout.tsx x: 2 # contributors y: 171 lines of code frontend/src/pages/First.tsx x: 2 # contributors y: 123 lines of code frontend/src/pages/Orders.tsx x: 2 # contributors y: 136 lines of code frontend/src/pages/Profile.tsx x: 2 # contributors y: 80 lines of code frontend/vite.config.ts x: 2 # contributors y: 5 lines of code cqrs/services/order/main.py x: 2 # contributors y: 71 lines of code cqrs/services/orderinfo/main.py x: 2 # contributors y: 167 lines of code cqrs/services/product/main.py x: 2 # contributors y: 77 lines of code services/event-publisher/main.py x: 2 # contributors y: 51 lines of code services/customer-async/main.py x: 1 # contributors y: 155 lines of code services/customer-sync/main.py x: 1 # contributors y: 118 lines of code services/event-publisher/index.yaml x: 1 # contributors y: 5 lines of code services/order-async/main.py x: 1 # contributors y: 137 lines of code services/order-processor/main.py x: 1 # contributors y: 62 lines of code services/order-sync/main.py x: 1 # contributors y: 106 lines of code
171.0
lines of code
  min: 4.0
  average: 59.05
  25th percentile: 10.5
  median: 38.0
  75th percentile: 94.0
  max: 171.0
0 2.0
# contributors
min: 1.0 | average: 1.84 | 25th percentile: 2.0 | median: 2.0 | 75th percentile: 2.0 | max: 2.0