Add bp2build metrics per module type

For example, new metrics at HEAD highlight that 99 of 1379 total
cc_library_static modules are converted.

Test: m bp2build, printproto
Change-Id: I6cc4227124e9a130b75911f3e40e6585d731d00a
This commit is contained in:
Chris Parsons
2022-01-20 12:55:05 -05:00
parent e7421c15dd
commit 492bd91a51
4 changed files with 97 additions and 29 deletions

View File

@@ -259,7 +259,9 @@ func GenerateBazelTargets(ctx *CodegenContext, generateFilegroups bool) (convers
// Simple metrics tracking for bp2build
metrics := CodegenMetrics{
ruleClassCount: make(map[string]uint64),
ruleClassCount: make(map[string]uint64),
convertedModuleTypeCount: make(map[string]uint64),
totalModuleTypeCount: make(map[string]uint64),
}
dirs := make(map[string]bool)
@@ -269,6 +271,7 @@ func GenerateBazelTargets(ctx *CodegenContext, generateFilegroups bool) (convers
bpCtx := ctx.Context()
bpCtx.VisitAllModules(func(m blueprint.Module) {
dir := bpCtx.ModuleDir(m)
moduleType := bpCtx.ModuleType(m)
dirs[dir] = true
var targets []BazelTarget
@@ -292,7 +295,7 @@ func GenerateBazelTargets(ctx *CodegenContext, generateFilegroups bool) (convers
// targets in the same BUILD file (or package).
// Log the module.
metrics.AddConvertedModule(m.Name(), Handcrafted)
metrics.AddConvertedModule(m, moduleType, Handcrafted)
pathToBuildFile := getBazelPackagePath(b)
if _, exists := buildFileToAppend[pathToBuildFile]; exists {
@@ -312,7 +315,7 @@ func GenerateBazelTargets(ctx *CodegenContext, generateFilegroups bool) (convers
// Handle modules converted to generated targets.
// Log the module.
metrics.AddConvertedModule(m.Name(), Generated)
metrics.AddConvertedModule(aModule, moduleType, Generated)
// Handle modules with unconverted deps. By default, emit a warning.
if unconvertedDeps := aModule.GetUnconvertedBp2buildDeps(); len(unconvertedDeps) > 0 {
@@ -340,7 +343,7 @@ func GenerateBazelTargets(ctx *CodegenContext, generateFilegroups bool) (convers
metrics.IncrementRuleClassCount(t.ruleClass)
}
} else {
metrics.IncrementUnconvertedCount()
metrics.AddUnconvertedModule(moduleType)
return
}
case QueryView: