scanAllDirs scans all configured directories for metric definitions.
()
| 130 | |
| 131 | // scanAllDirs scans all configured directories for metric definitions. |
| 132 | func scanAllDirs() ([]Metric, error) { |
| 133 | var allMetrics []Metric |
| 134 | |
| 135 | for _, dir := range scanDirs { |
| 136 | metrics, err := scanDirectory(dir) |
| 137 | if err != nil { |
| 138 | return nil, xerrors.Errorf("scanning %s: %w", dir, err) |
| 139 | } |
| 140 | |
| 141 | logf("scanning %s: found %d metrics", dir, len(metrics)) |
| 142 | allMetrics = append(allMetrics, metrics...) |
| 143 | } |
| 144 | |
| 145 | return allMetrics, nil |
| 146 | } |
| 147 | |
| 148 | // scanDirectory recursively walks a directory and extracts metrics from all Go files. |
| 149 | func scanDirectory(root string) ([]Metric, error) { |
no test coverage detected