in experimental/repository.go [329:371]
func (r *repositoryData) info(blobs blobsData, stream io.WriteCloser) {
var layersUsed, layersUnused int
var manifestsUsed, manifestsUnused int
var tagsVersions int
var layersUsedSize, layersUnusedSize int64
for digest, used := range r.layers {
if used > 0 {
layersUsed++
layersUsedSize += blobs.size(digest)
} else {
layersUnused++
layersUnusedSize += blobs.size(digest)
}
}
for _, used := range r.manifests {
if used > 0 {
manifestsUsed++
} else {
manifestsUnused++
}
}
for _, tag := range r.tags {
tagsVersions += len(tag.versions)
}
logrus.Println("REPOSITORY INFO:", r.name, ":",
"Tags/Versions:", len(r.tags), "/", tagsVersions,
"Manifests/Unused:", manifestsUsed, "/", manifestsUnused,
"Layers/Unused:", layersUsed, "/", layersUnused,
"Data/Unused:", humanize.Bytes(uint64(layersUsedSize)), "/", humanize.Bytes(uint64(layersUnusedSize)))
if stream != nil {
fmt.Fprintf(stream, "%s,%d,%d,%d,%d,%d,%d,%s,%s,%d,%d\n",
r.name, len(r.tags), tagsVersions,
manifestsUsed, manifestsUnused,
layersUsed, layersUnused,
humanize.Bytes(uint64(layersUsedSize)), humanize.Bytes(uint64(layersUnusedSize)),
layersUsedSize/1024/1024, layersUnusedSize/1024/1024)
}
}