tradusai/view_data.sh
2025-12-02 22:54:03 +08:00

49 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# 查看实时采集的数据
echo "════════════════════════════════════════════════════════════════"
echo " 📡 实时数据监控 "
echo "════════════════════════════════════════════════════════════════"
echo ""
# 获取当前价格
echo "📊 当前 BTC 价格:"
docker compose exec ingestion python3 -c "
import redis, orjson
r = redis.Redis(host='redis', port=6379, decode_responses=False)
messages = r.xrevrange('binance:raw:kline:5m', count=1)
if messages:
msg_id, fields = messages[0]
data = orjson.loads(fields[b'data'])
k = data['k']
print(f\" \${float(k['c']):>12,.2f} (最新)\")
print(f\" \${float(k['h']):>12,.2f} (5分钟最高)\")
print(f\" \${float(k['l']):>12,.2f} (5分钟最低)\")
print(f\" 成交量: {float(k['v']):.2f} BTC\")
else:
print(' 数据加载中...')
" 2>/dev/null
echo ""
echo "─────────────────────────────────────────────────────────────────"
echo ""
# 数据流状态
echo "📈 数据流状态:"
for stream in "binance:raw:kline:5m" "binance:raw:kline:15m" "binance:raw:kline:1h" "binance:raw:trade" "binance:raw:depth:20"; do
count=$(docker exec tradus-redis redis-cli XLEN $stream)
name=$(echo $stream | cut -d: -f3-)
printf " %-15s: %'6d 条消息\n" "$name" "$count"
done
echo ""
echo "─────────────────────────────────────────────────────────────────"
echo ""
# 服务状态
echo "🚀 服务状态:"
docker compose ps | grep -E "(tradus-redis|tradus-ingestion)" | awk '{print " "$1": "$6}'
echo ""
echo "════════════════════════════════════════════════════════════════"