GoogleCloudPlatform / psearch
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 2 files with 347 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)
    • 2 files changed 1-5 times (347 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 2 files with 347 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)
    • 0 files changed by 2-5 contributors (0 lines of code)
    • 2 files changed by 1 contributor (347 lines of code)
0% | 0% | 0% | 0% | 100%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
tf, js, py, go, md, json, txt, yaml, dockerignore, sh, css, gitignore, sql, html
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
js0% | 0% | 0% | 0% | 100%
py0% | 0% | 0% | 0% | 0%
yaml0% | 0% | 0% | 0% | 0%
go0% | 0% | 0% | 0% | 0%
html0% | 0% | 0% | 0% | 0%
css0% | 0% | 0% | 0% | 0%
tf0% | 0% | 0% | 0% | 0%
sql0% | 0% | 0% | 0% | 0%
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
src0% | 0% | 0% | 0% | 100%
tooling0% | 0% | 0% | 0% | 0%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
ruleService.js
in src/application/ui/src/services
64 5 2025-04-24 2025-04-24 1 1 andersonduboc@gmail.com andersonduboc@gmail.com
RuleManager.js
in src/application/ui/src/components
283 2 2025-04-24 2025-04-24 1 1 andersonduboc@gmail.com andersonduboc@gmail.com
__init__.py
in src/psearch/events
1 -
__init__.py
in src/analytics
1 -
outputs.tf
in src/iac/modules/iam
8 -
variables.tf
in src/iac/modules/iam
8 -
config.js
in src/application/ui/src
11 -
outputs.tf
in src/iac/modules/spanner
12 -
schema.sql
in src/iac/modules/spanner
13 -
setupProxy.js
in src/application/ui/src
15 1
index.html
in src/application/ui/public
15 -
variables.tf
in src/iac
17 -
cloudbuild.yaml
in src/psearch/gen_ai
17 -
cloudbuild.yaml
in src/psearch/ingestion
17 -
bigquery_service.py
in src/psearch/ingestion/services
19 2
outputs.tf
in src/iac/modules/gen_ai
20 -
outputs.tf
in src/iac/modules/search_api
20 -
outputs.tf
in src/iac/modules/ui
20 -
outputs.tf
in src/iac/modules/ingestion
20 -
middleware.go
in src/psearch/serving/internal/api
21 1
routes.go
in src/psearch/serving/internal/api
23 1
cloudbuild.yaml
in src/application/ui
24 -
mockAiEnhancements.js
in src/application/ui/src
25 -
imagen_client.py
in tooling/enrichment
26 2
variables.tf
in src/iac/modules/spanner
27 -
cloudbuild.yaml
in src/psearch/serving
27 -
main.tf
in src/iac/modules/spanner
32 -
variables.tf
in src/iac/modules/gen_ai
37 -
variables.tf
in src/iac/modules/ingestion
40 -
variables.tf
in src/iac/modules/search_api
45 -
gemini_client.py
in tooling/enrichment
47 2
main.go
in src/psearch/serving/cmd/server
48 1
variables.tf
in src/iac/modules/ui
55 -
SearchInput.js
in src/application/ui/src/components
55 -
models.go
in src/psearch/serving/internal/models
59 -
main.tf
in src/iac/modules/iam
63 -
handlers.go
in src/psearch/serving/internal/api
68 3
config.go
in src/psearch/serving/internal/config
70 2
Filters.js
in src/application/ui/src/components
76 -
index.js
in src/application/ui/src
82 -
gemini_service.py
in src/psearch/ingestion/services
86 3
Filters.css
in src/application/ui/src/components
90 -
firestore_client.py
in tooling/enrichment
94 8
main.tf
in src/iac/modules/gen_ai
94 -
main.tf
in src/iac/modules/ingestion
95 -
ConfirmationDialog.js
in src/application/ui/src/components
99 -
main.py
in tooling/enrichment
100 4
main.tf
in src/iac/modules/search_api
103 -
main.tf
in src/iac/modules/ui
103 -
embedding_service.go
in src/psearch/serving/internal/services
106 2
Files With Most Contributors (Top 50)
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
ruleService.js
in src/application/ui/src/services
64 5 2025-04-24 2025-04-24 1 1 andersonduboc@gmail.com andersonduboc@gmail.com
RuleManager.js
in src/application/ui/src/components
283 2 2025-04-24 2025-04-24 1 1 andersonduboc@gmail.com andersonduboc@gmail.com
__init__.py
in src/analytics
1 -
spanner_service.py
in src/psearch/ingestion/services
127 4
bigquery_service.py
in src/psearch/ingestion/services
19 2
gemini_service.py
in src/psearch/ingestion/services
86 3
cloudbuild.yaml
in src/psearch/ingestion
17 -
main.py
in src/psearch/ingestion
126 7
cloudbuild.yaml
in src/psearch/serving
27 -
embedding_service.go
in src/psearch/serving/internal/services
106 2
spanner_service.go
in src/psearch/serving/internal/services
332 6
routes.go
in src/psearch/serving/internal/api
23 1
middleware.go
in src/psearch/serving/internal/api
21 1
handlers.go
in src/psearch/serving/internal/api
68 3
models.go
in src/psearch/serving/internal/models
59 -
config.go
in src/psearch/serving/internal/config
70 2
main.go
in src/psearch/serving/cmd/server
48 1
conversational_search_service.py
in src/psearch/gen_ai/services
244 6
imagen_service.py
in src/psearch/gen_ai/services
147 3
marketing_service.py
in src/psearch/gen_ai/services
178 5
enrichiment_service.py
in src/psearch/gen_ai/services
277 5
cloudbuild.yaml
in src/psearch/gen_ai
17 -
main.py
in src/psearch/gen_ai
200 -
__init__.py
in src/psearch/events
1 -
index.html
in src/application/ui/public
15 -
mockData.js
in src/application/ui/src
188 -
genAiService.js
in src/application/ui/src/services
149 -
ConfirmationDialog.js
in src/application/ui/src/components
99 -
Filters.css
in src/application/ui/src/components
90 -
ProductDetails.js
in src/application/ui/src/components
743 1
SearchInput.js
in src/application/ui/src/components
55 -
ContentDiff.js
in src/application/ui/src/components
172 1
ProductImage.js
in src/application/ui/src/components
235 14
Filters.js
in src/application/ui/src/components
76 -
AIFilterSuggestion.js
in src/application/ui/src/components
498 1
MarketingCampaignDialog.js
in src/application/ui/src/components
339 -
EnhanceableContent.js
in src/application/ui/src/components
177 -
ProductImageEnhancerDialog.js
in src/application/ui/src/components
207 -
setupProxy.js
in src/application/ui/src
15 1
App.js
in src/application/ui/src
721 2
mockAiEnhancements.js
in src/application/ui/src
25 -
index.js
in src/application/ui/src
82 -
config.js
in src/application/ui/src
11 -
cloudbuild.yaml
in src/application/ui
24 -
main.tf
in src/iac/modules/ingestion
95 -
variables.tf
in src/iac/modules/ingestion
40 -
outputs.tf
in src/iac/modules/ingestion
20 -
main.tf
in src/iac/modules/spanner
32 -
variables.tf
in src/iac/modules/spanner
27 -
outputs.tf
in src/iac/modules/spanner
12 -
Files With Least Contributors (Top 50)
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
ProductDetails.js
in src/application/ui/src/components
743 1
App.js
in src/application/ui/src
721 2
AIFilterSuggestion.js
in src/application/ui/src/components
498 1
MarketingCampaignDialog.js
in src/application/ui/src/components
339 -
spanner_service.go
in src/psearch/serving/internal/services
332 6
enrichiment_service.py
in src/psearch/gen_ai/services
277 5
conversational_search_service.py
in src/psearch/gen_ai/services
244 6
ProductImage.js
in src/application/ui/src/components
235 14
ProductImageEnhancerDialog.js
in src/application/ui/src/components
207 -
main.py
in src/psearch/gen_ai
200 -
mockData.js
in src/application/ui/src
188 -
marketing_service.py
in src/psearch/gen_ai/services
178 5
EnhanceableContent.js
in src/application/ui/src/components
177 -
ContentDiff.js
in src/application/ui/src/components
172 1
consolidate_results.py
in tooling/enrichment
164 6
genAiService.js
in src/application/ui/src/services
149 -
imagen_service.py
in src/psearch/gen_ai/services
147 3
spanner_service.py
in src/psearch/ingestion/services
127 4
main.py
in src/psearch/ingestion
126 7
main.tf
in src/iac
109 -
embedding_service.go
in src/psearch/serving/internal/services
106 2
main.tf
in src/iac/modules/ui
103 -
main.tf
in src/iac/modules/search_api
103 -
main.py
in tooling/enrichment
100 4
ConfirmationDialog.js
in src/application/ui/src/components
99 -
main.tf
in src/iac/modules/ingestion
95 -
main.tf
in src/iac/modules/gen_ai
94 -
firestore_client.py
in tooling/enrichment
94 8
Filters.css
in src/application/ui/src/components
90 -
gemini_service.py
in src/psearch/ingestion/services
86 3
index.js
in src/application/ui/src
82 -
Filters.js
in src/application/ui/src/components
76 -
config.go
in src/psearch/serving/internal/config
70 2
handlers.go
in src/psearch/serving/internal/api
68 3
main.tf
in src/iac/modules/iam
63 -
models.go
in src/psearch/serving/internal/models
59 -
SearchInput.js
in src/application/ui/src/components
55 -
variables.tf
in src/iac/modules/ui
55 -
main.go
in src/psearch/serving/cmd/server
48 1
gemini_client.py
in tooling/enrichment
47 2
variables.tf
in src/iac/modules/search_api
45 -
variables.tf
in src/iac/modules/ingestion
40 -
variables.tf
in src/iac/modules/gen_ai
37 -
main.tf
in src/iac/modules/spanner
32 -
cloudbuild.yaml
in src/psearch/serving
27 -
variables.tf
in src/iac/modules/spanner
27 -
imagen_client.py
in tooling/enrichment
26 2
mockAiEnhancements.js
in src/application/ui/src
25 -
cloudbuild.yaml
in src/application/ui
24 -
routes.go
in src/psearch/serving/internal/api
23 1
Correlations

File Size vs. Number of Changes: 2 points

src/application/ui/src/components/RuleManager.js x: 283 lines of code y: 1 # changes src/application/ui/src/services/ruleService.js x: 64 lines of code y: 1 # changes
1.0
# changes
  min: 1.0
  average: 1.0
  25th percentile: 1.0
  median: 1.0
  75th percentile: 1.0
  max: 1.0
0 283.0
lines of code
min: 64.0 | average: 173.5 | 25th percentile: 64.0 | median: 173.5 | 75th percentile: 283.0 | max: 283.0

Number of Contributors vs. Number of Changes: 2 points

src/application/ui/src/components/RuleManager.js x: 1 # contributors y: 1 # changes
1.0
# changes
  min: 1.0
  average: 1.0
  25th percentile: 1.0
  median: 1.0
  75th percentile: 1.0
  max: 1.0
0 1.0
# contributors
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0

Number of Contributors vs. File Size: 2 points

src/application/ui/src/components/RuleManager.js x: 1 # contributors y: 283 lines of code src/application/ui/src/services/ruleService.js x: 1 # contributors y: 64 lines of code
283.0
lines of code
  min: 64.0
  average: 173.5
  25th percentile: 64.0
  median: 173.5
  75th percentile: 283.0
  max: 283.0
0 1.0
# contributors
min: 1.0 | average: 1.0 | 25th percentile: 1.0 | median: 1.0 | 75th percentile: 1.0 | max: 1.0