vx 0.4.1

Universal Development Tool Manager
Documentation
# vx stats - 统计信息

显示 vx 系统的统计信息和磁盘使用情况。

## 语法

```bash
vx stats [OPTIONS]
```

## 描述

`vx stats` 命令显示 vx 系统的详细统计信息,包括已安装工具、磁盘使用情况、虚拟环境统计等。

## 选项

- `--detailed` - 显示详细统计信息
- `--by-tool` - 按工具分组显示统计
- `--by-category` - 按类别分组显示统计
- `--format <FORMAT>` - 输出格式 (table, json, yaml)
- `--sort-by <FIELD>` - 排序字段 (size, count, name)
- `-v, --verbose` - 显示详细输出

## 示例

### 基本统计
```bash
# 显示基本统计信息
vx stats

# 显示详细统计
vx stats --detailed
```

### 分组统计
```bash
# 按工具分组
vx stats --by-tool

# 按类别分组
vx stats --by-category

# 按大小排序
vx stats --by-tool --sort-by size
```

### 输出格式
```bash
# JSON 格式
vx stats --format json

# YAML 格式
vx stats --format yaml

# 详细表格格式
vx stats --detailed --format table
```

## 输出示例

### 基本统计
```bash
$ vx stats
VX 系统统计信息

总览:
  已安装工具: 8 个
  工具版本: 15 个
  虚拟环境: 3 个
  总磁盘使用: 1.2 GB

磁盘使用:
  工具文件: 987.5 MB (82.3%)
  缓存文件: 156.2 MB (13.0%)
  配置文件: 2.1 MB (0.2%)
  日志文件: 54.2 MB (4.5%)

最近活动:
  最后安装: node@20.10.0 (2 天前)
  最后更新: uv@0.1.5 (1 天前)
  最后清理: 5 天前
```

### 详细统计
```bash
$ vx stats --detailed
VX 系统详细统计信息

工具统计:
┌──────────┬────────┬─────────┬──────────┬─────────────┐
│ 工具     │ 版本数 │ 大小    │ 最新版本 │ 最后使用    │
├──────────┼────────┼─────────┼──────────┼─────────────┤
│ node     │ 3      │ 456.2MB │ 20.10.0  │ 2 小时前    │
│ python   │ 2      │ 234.5MB │ 3.12.1   │ 1 天前      │
│ uv       │ 2      │ 89.3MB  │ 0.1.5    │ 3 小时前    │
│ go       │ 1      │ 123.4MB │ 1.21.6   │ 1 周前      │
│ rust     │ 1      │ 67.8MB  │ 1.75.0   │ 2 周前      │
└──────────┴────────┴─────────┴──────────┴─────────────┘

虚拟环境统计:
┌─────────────┬────────┬─────────┬─────────────┐
│ 环境名      │ 工具数 │ 大小    │ 最后使用    │
├─────────────┼────────┼─────────┼─────────────┤
│ myproject   │ 3      │ 45.2MB  │ 1 小时前    │
│ webapp      │ 2      │ 23.1MB  │ 2 天前      │
│ api-server  │ 4      │ 67.8MB  │ 1 周前      │
└─────────────┴────────┴─────────┴─────────────┘

缓存统计:
  版本缓存: 45.2 MB (289 个文件)
  下载缓存: 89.3 MB (12 个文件)
  元数据缓存: 21.7 MB (156 个文件)
```

### 按工具分组
```bash
$ vx stats --by-tool --sort-by size
按工具分组的统计信息 (按大小排序)

node:
  版本: 18.17.0, 20.10.0, 21.5.0
  总大小: 456.2 MB
  平均大小: 152.1 MB
  使用频率: 高 (每天)

python:
  版本: 3.11.7, 3.12.1
  总大小: 234.5 MB
  平均大小: 117.3 MB
  使用频率: 中 (每周)

go:
  版本: 1.21.6
  总大小: 123.4 MB
  平均大小: 123.4 MB
  使用频率: 低 (每月)
```

### 按类别分组
```bash
$ vx stats --by-category
按类别分组的统计信息

JavaScript:
  工具: node, npm, yarn
  版本总数: 6
  总大小: 567.8 MB
  虚拟环境使用: 2

Python:
  工具: python, uv, poetry
  版本总数: 5
  总大小: 345.6 MB
  虚拟环境使用: 3

系统工具:
  工具: git, curl
  版本总数: 2
  总大小: 89.2 MB
  虚拟环境使用: 1
```

## 统计指标

### 工具统计
- 已安装工具数量
- 工具版本总数
- 每个工具的版本数量
- 磁盘使用情况
- 使用频率

### 虚拟环境统计
- 虚拟环境数量
- 每个环境的工具数量
- 环境大小
- 最后使用时间

### 缓存统计
- 缓存文件大小
- 缓存文件数量
- 缓存命中率
- 过期缓存数量

### 系统统计
- 总磁盘使用量
- 文件分布
- 最近活动
- 清理建议

## JSON 输出示例

```bash
$ vx stats --format json
{
  "summary": {
    "total_tools": 8,
    "total_versions": 15,
    "total_venvs": 3,
    "total_size": "1.2GB"
  },
  "tools": [
    {
      "name": "node",
      "versions": ["18.17.0", "20.10.0", "21.5.0"],
      "size": "456.2MB",
      "last_used": "2024-06-15T10:30:00Z"
    }
  ],
  "disk_usage": {
    "tools": "987.5MB",
    "cache": "156.2MB",
    "config": "2.1MB",
    "logs": "54.2MB"
  }
}
```

## 性能分析

### 使用频率
- 每日使用的工具
- 每周使用的工具
- 很少使用的工具
- 未使用的工具版本

### 空间优化建议
- 可清理的缓存
- 孤立的工具版本
- 重复的工具版本
- 大型未使用工具

## 注意事项

1. **实时数据**: 统计信息是实时计算的
2. **磁盘扫描**: 详细统计可能需要一些时间
3. **缓存机制**: 某些统计信息会被缓存以提高性能
4. **权限要求**: 需要读取 vx 目录的权限

## 相关命令

- [`vx cleanup`]./cleanup.md - 清理未使用的文件
- [`vx list`]./list.md - 列出已安装的工具
- [`vx global list`]./global.md - 列出全局工具
- [`vx venv list`]./venv.md - 列出虚拟环境