forked from wangbo/easyai
test(deploy): 记录转换服务测试发布与浏览器验收
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"status": "prepared-awaiting-production-target",
|
||||
"status": "test-verified-awaiting-production-target",
|
||||
"productVersion": "3.23.0.20261003",
|
||||
"source": {
|
||||
"backend": "8a67a2f180e6c6af3fab760a32d6bcc78ca1cee2",
|
||||
@@ -110,9 +110,61 @@
|
||||
"basis": "No diff under apps/easyai-wsgateway or shared libraries compared with recorded backend source e3f12240; actual target still needs inspection."
|
||||
},
|
||||
"limitations": [
|
||||
"These are local candidate-image acceptance results, not production acceptance.",
|
||||
"M4 Max executes amd64 containers through emulation; reported conversion timing is not a production hardware benchmark.",
|
||||
"Customer original GLB is not available.",
|
||||
"Live customized Compose, ICE overrides and proxy access must be inspected on the confirmed target before update."
|
||||
]
|
||||
"Test deployment and acceptance passed; production has not been deployed and registry latest was not promoted by this release.",
|
||||
"Test host has 2 CPU cores, 3.576 GiB physical RAM and no swap; Worker limit is 2 CPU / 4 GiB. Saturation isolation, 20-cycle memory trends and capacity must be measured separately before production rollout.",
|
||||
"Remote conversion timings are individual functional runs including network upload/download, not a controlled A/B/C performance benchmark.",
|
||||
"Customer original GLB and additional real hardware remain unavailable for acceptance.",
|
||||
"Pixel-level editor/preview/image/video consistency and full legacy/template interactions were not repeated on this test host; earlier directed/local evidence remains scoped to its original environment.",
|
||||
"Browser end-to-end wall-clock duration was not recorded; successful browser phases, original HTTP evidence, actual transform readings, persisted resource data and screenshots are retained."
|
||||
],
|
||||
"testRelease": {
|
||||
"productVersion": "3.23.0.20261003.1",
|
||||
"verifiedAt": "2026-10-04",
|
||||
"domain": "demo.51easyai.com",
|
||||
"deploymentPath": "/root/easyai",
|
||||
"deploymentEntry": "update.sh",
|
||||
"deploymentImplementation": "2a1192eb7ec822773f55af96fa12e06bf96774a8",
|
||||
"source": {
|
||||
"backend": "be56a7e0ec79d1a1e7420d870709014ed4bf010a",
|
||||
"web": "965c417288c5f09260c6e28254cde62af7683854",
|
||||
"workerImageBuild": "83cefbfdf2bc909d11ace9f020b108145844051a"
|
||||
},
|
||||
"images": {
|
||||
"server": {
|
||||
"tag": "registry.cn-shanghai.aliyuncs.com/comfy-ai/comfy-server:3.23.0.20261003.1",
|
||||
"digest": "sha256:2b2d7e0cb8270d3540f3562e5debdb6a84a8cd2ae610c7c2f6a991cce1cc681c",
|
||||
"rebuilt": true
|
||||
},
|
||||
"web": {
|
||||
"tag": "registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai:3.23.0.20261003.1",
|
||||
"digest": "sha256:bb1ff1dc77518ca01b770d03317fbddb0e2bf8eda6c27b70d6dbec0944d8e78e",
|
||||
"reusedImage": true,
|
||||
"originalOciVersion": "3.23.0.20261003"
|
||||
},
|
||||
"webNoSsr": {
|
||||
"tag": "registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai:3.23.0.20261003.1-no-ssr",
|
||||
"digest": "sha256:d97c52ac76c462140827e8d9d9a1198f36dd2cc7d2c6defed60f9f7aee87cbaf",
|
||||
"reusedImage": true,
|
||||
"originalOciVersion": "3.23.0.20261003",
|
||||
"deployedInTest": false
|
||||
},
|
||||
"worker": {
|
||||
"tag": "registry.cn-shanghai.aliyuncs.com/easyaigc/model-conversion-worker:3.23.0.20261003.1",
|
||||
"digest": "sha256:085fa49d99a06562ce9634bfdd8567efdfe4e38754e9688de81288d2e2578526",
|
||||
"reusedImage": true,
|
||||
"originalOciVersion": "3.23.0.20261003"
|
||||
}
|
||||
},
|
||||
"floatingTagsPromoted": false,
|
||||
"evidence": "model-conversion-20261003/test/README.md",
|
||||
"browserEvidence": "model-conversion-20261003/test/browser/results.json",
|
||||
"uploadRegressionEvidence": "model-conversion-20261003/test/browser/upload-regression.json",
|
||||
"conversionEvidence": "model-conversion-20261003/test/patch-conversion/results.json",
|
||||
"runtimeEvidence": "model-conversion-20261003/test/patch-deployment.json",
|
||||
"nonTargetContainersPreserved": 13,
|
||||
"screenshots": [
|
||||
"model-conversion-20261003/test/browser/import.png",
|
||||
"model-conversion-20261003/test/browser/saved-reopened.png"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
# 模型转换服务测试环境发布验收
|
||||
|
||||
2026-10-04,`https://demo.51easyai.com`,主机 `8.218.158.189`,部署目录 `/root/easyai`。
|
||||
测试环境已发布并完成以下验收;生产未部署,本次仅推送固定版本镜像,没有推送 `latest`。
|
||||
|
||||
## 发布和兼容升级
|
||||
|
||||
- 部署实现:`2a1192eb7ec822773f55af96fa12e06bf96774a8`。后端补丁:`be56a7e0ec79d1a1e7420d870709014ed4bf010a`。
|
||||
- 初次从旧部署 `f04bb5e` 更新,实际复现了定制 Compose 和未跟踪配置阻断旧脚本拉取,以及 updater 占用 API 固定地址的问题。首次使用新版 `update.sh` 的旧配置迁移入口完成备份、语义合并和更新,再由同一脚本部署服务;没有手动修改数据库或替代脚本启动业务容器。
|
||||
- 最终更新命令:`UPDATE_MODE=image UPDATE_NON_INTERACTIVE=1 UPDATE_RELEASE_VERSION=3.23.0.20261003.1 UPDATE_SERVICES='easyai-server easyai-web model-conversion-worker' bash /root/easyai/update.sh`。
|
||||
- API 镜像重新构建。前端 SSR、no-SSR 和 Worker 发布 `.1` 版本别名,镜像摘要与原版本相同,其 OCI 构建版本仍为 `3.23.0.20261003`;测试主机运行 SSR。完整摘要见上级发布记录及 `patch-deployment.json`。
|
||||
- API、前端、Worker、updater 均健康;版本接口为 `3.23.0.20261003.1`,主页、健康及更新就绪接口均 HTTP 200。补丁更新中的 13 个非目标容器保留容器 ID 和启动时间,Nginx 及原鉴权、Mongo、Redis配置已核验保留。
|
||||
- 旧配置备份保存在主机受限目录 `data/deployment-backups/legacy-update-20261003-075918-g3q8cib5`;本机记录不含配置密钥。后续固定版本更新直接使用部署目录的 `update.sh`。
|
||||
|
||||
## 浏览器上传问题的复现和修复
|
||||
|
||||
实际进入普通 `/ai/canvas/:projectId`,从文件输入选择 OBJ,确认米、默认轻量副本和性能优先。修复前,上传计划返回 HTTP 201,但本地存储合法地省略了 `headers`;浏览器在 `Object.entries(upload.headers)` 抛出 `TypeError: Cannot convert undefined or null to object`,未发送文件 PUT,未进入转换。
|
||||
|
||||
修复仅在模型转换接口把省略的请求头变为 `{}`,保留云存储提供的签名头,通用存储行为不变。真实服务回归测试修复前 1 失败、1 通过;修复后转换协议 13 项和存储既有行为 27 项全部通过。证据为 `browser/upload-regression.json`,失败截图为 `browser/import-failed.png`。
|
||||
|
||||
修复后真实 Chrome 通过普通画布执行了文件 PUT、资源完成、CanvasTask、独立 Worker 转换及 WebGL 加载,原始网络证据保存在 `browser/uncached-import.json`。没有隐藏界面、替换真实加载器或强制点击。
|
||||
|
||||
## 实际结果
|
||||
|
||||
| 验收 | 结果 | 原始记录 |
|
||||
| --- | --- | --- |
|
||||
| 默认素体 | 站立身高 1.72 米 | `browser/results.json` |
|
||||
| OBJ 导入 | 20 × 0.2 × 20 米,默认轻量副本、性能优先 | `browser/uncached-import.json`、`browser/import.png` |
|
||||
| 实际缩放 | 0.05 → 1 × 0.01 × 1;10 → 200 × 2 × 200;20 → 400 × 4 × 400;恢复 1 → 20 × 0.2 × 20 米 | `browser/transform-save.json`,数值来自实际控件读数 |
|
||||
| 保存与全新浏览器重开 | 米制 `sceneState` 保留轻量版本、倍率 1、资源 ID;尺寸 20 × 0.2 × 20 米;场景 JSON 3239 字节,没有 Base64;页面无异常 | `browser/results.json`、`browser/saved-reopened.png` |
|
||||
| 约 80 万面 GLB,补丁环境重测 | 798848 → 100000 三角面;19203544 → 714896 字节;20 × 0.200000003 × 20 → 20 × 0.199977756 × 20 米;高度误差约 0.022 毫米;产物 SHA 校验通过 | `patch-conversion/results.json` |
|
||||
| 4K 贴图 | 4096² → 1024²;生成 KTX2 和 PNG 兼容产物;保留尺寸 | `texture-4096/results.json`,原版本实测,补丁复用同一 Worker 镜像 |
|
||||
| 骨骼和动画 | 100001 三角面不减面;3 个节点、1 套骨骼、1 个动画保留;尺寸保留 | `skin-animation/results.json`,原版本实测,补丁复用同一 Worker 镜像 |
|
||||
| Worker 专属接口与付费通道 | 匿名和普通登录 token 都不能调用产物管理接口,均 HTTP 403;混元通道关闭 | `patch-worker-access.json` |
|
||||
|
||||
验收分阶段执行:先完成真实导入、变换和普通保存,再以全新 Chrome 会话重开并检查。保存会自动关闭编辑器;已有图片输出的节点通过编辑按钮重开,双击图片按原契约打开图片预览。米制 fixture 使用正式 `sceneState` 字段。早期脚本对这些入口的错误假设已纠正,不计作业务失败或成功证据。
|
||||
|
||||
## 耗时和资源边界
|
||||
|
||||
- 转换协议定向 Nx:2.38 秒(13 项,Jest 0.84 秒);存储定向 Nx:1.87 秒(27 项,Jest 0.638 秒)。
|
||||
- Shared 构建 0.66 秒,API 定向 Nx 构建 20.83 秒。正式 Linux amd64 Dockerfile 构建、固定版本推送及实际部署均已完成;未记录本次 Docker 构建和浏览器全链路的完整墙钟耗时。
|
||||
- 最后一次 GLB 链路共 71.932 秒:上传 18.502 秒,转换、任务等待和产物下载共 52.444 秒。该数值包含网络与存储开销,是一次功能复验,不是受控 A/B/C benchmark,也不能单独解读为减面计算耗时。
|
||||
- 转换及下载期间的 12 个本机 API 可用性采样全部 HTTP 200,中位数约 2.17 毫秒,最大约 6.17 毫秒。见 `patch-runtime-samples.json`;这不能证明满载 P95 退化目标。
|
||||
- Worker 实际限制:2 CPU、4 GiB、并发 1、PID 64、只读根文件系统、无主机端口;共享内部鉴权配置匹配。见 `patch-deployment.json`。测试主机仅 2 CPU、3.576 GiB 实际内存、没有 swap,不能把本轮小规模通过当作生产容量结论。
|
||||
- 旧配置迁移、固定版本及 Bash/PowerShell 更新定向测试通过,分别约 1.28 秒、21.045 秒;测试主机的旧脚本冲突和新版脚本更新另外经过真实执行。没有用命令 mock 替代真实发布验收。
|
||||
|
||||
## 尚未覆盖
|
||||
|
||||
客户原始 GLB、其他实际硬件、Worker 满载时的 API 基线对照、20 次循环内存趋势,仍需独立验收。测试主机没有重新执行全部旧场景/模板交互,也没有完成编辑器、机位预览、图片与视频的逐像素对应点检查;先前定向/本地记录仅代表其原环境。不得据此声称视觉无损、全部性能目标或生产验收已通过。原质量记录中的国际化历史缺失项仍未改动。
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 232 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 185 KiB |
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"passed": true,
|
||||
"environment": "test",
|
||||
"url": "https://demo.51easyai.com/ai/canvas/6ac046133db0eda177a9896e",
|
||||
"projectId": "6ac046133db0eda177a9896e",
|
||||
"nodeId": "model-conversion-deployment-acceptance",
|
||||
"apiVersion": "3.23.0.20261003.1",
|
||||
"standingHeight": 1.72,
|
||||
"lightweight": true,
|
||||
"quality": "performance",
|
||||
"importedDimensions": {
|
||||
"width": "20.00",
|
||||
"height": "0.20",
|
||||
"depth": "20.00"
|
||||
},
|
||||
"uncachedUploadEvidence": "uncached-import.json",
|
||||
"scaleChecks": [
|
||||
{
|
||||
"scale": 0.05,
|
||||
"width": 1.0,
|
||||
"height": 0.01,
|
||||
"depth": 1.0
|
||||
},
|
||||
{
|
||||
"scale": 10.0,
|
||||
"width": 200.0,
|
||||
"height": 2.0,
|
||||
"depth": 200.0
|
||||
},
|
||||
{
|
||||
"scale": 20.0,
|
||||
"width": 400.0,
|
||||
"height": 4.0,
|
||||
"depth": 400.0
|
||||
},
|
||||
{
|
||||
"scale": 1.0,
|
||||
"width": 20.0,
|
||||
"height": 0.2,
|
||||
"depth": 20.0
|
||||
}
|
||||
],
|
||||
"scaleChecksEvidence": "transform-save.json",
|
||||
"savedResource": {
|
||||
"resourceId": "c459455a-7479-4310-8b66-3da706dfc513",
|
||||
"selected": "lightweight",
|
||||
"format": "obj",
|
||||
"sceneBytes": 3239,
|
||||
"containsBase64": false
|
||||
},
|
||||
"reopenedDimensions": {
|
||||
"width": 20,
|
||||
"height": 0.2,
|
||||
"depth": 20
|
||||
},
|
||||
"errors": [],
|
||||
"requests": [
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugins/runtime-manifest"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/runtime-snapshots"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/upload/files/2026-10-04%2F6937758647fc2fff48b99759%2Fupload%2Fdirector-3d-model-conversion-deployme-3sfggu.png"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/resource-actions"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 163 KiB |
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"passed": true,
|
||||
"source": "captured live Playwright import, scale and UI save run",
|
||||
"scaleChecks": [
|
||||
{
|
||||
"scale": 0.05,
|
||||
"width": 1.0,
|
||||
"height": 0.01,
|
||||
"depth": 1.0
|
||||
},
|
||||
{
|
||||
"scale": 10.0,
|
||||
"width": 200.0,
|
||||
"height": 2.0,
|
||||
"depth": 200.0
|
||||
},
|
||||
{
|
||||
"scale": 20.0,
|
||||
"width": 400.0,
|
||||
"height": 4.0,
|
||||
"depth": 400.0
|
||||
},
|
||||
{
|
||||
"scale": 1.0,
|
||||
"width": 20.0,
|
||||
"height": 0.2,
|
||||
"depth": 20.0
|
||||
}
|
||||
],
|
||||
"savedResourceId": "c459455a-7479-4310-8b66-3da706dfc513",
|
||||
"saveBehavior": "Save persists sceneState and closes editor; no extra Close click is needed",
|
||||
"logExcerpt": "stage: 'saved',\n scaleChecks: [\n { scale: 0.05, width: 1, height: 0.01, depth: 1 },\n { scale: 10, width: 200, height: 2, depth: 200 },\n { scale: 20, width: 400, height: 4, depth: 400 },\n { scale: 1, width: 20, height: 0.2, depth: 20 }\n ],\n resourceId: 'c459455a-7479-4310-8b66-3da706dfc513'"
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"passed": true,
|
||||
"standingHeight": "1.72",
|
||||
"lightweight": true,
|
||||
"quality": "performance",
|
||||
"dimensions": {
|
||||
"width": "20.00",
|
||||
"height": "0.20",
|
||||
"depth": "20.00"
|
||||
},
|
||||
"errors": [],
|
||||
"requests": [
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugins/runtime-manifest"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/runtime-snapshots"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/resource-actions"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"status": 201,
|
||||
"path": "https://demo.51easyai.com/api/model-conversion/resources/source-upload"
|
||||
},
|
||||
{
|
||||
"method": "PUT",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/file/upload/presigned"
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"status": 201,
|
||||
"path": "https://demo.51easyai.com/api/model-conversion/resources/complete"
|
||||
},
|
||||
{
|
||||
"method": "POST",
|
||||
"status": 201,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/execute"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/tasks/6ac1e6066b4e2617cabdafa5"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/plugin-installations/snapshot"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/tasks/6ac1e6066b4e2617cabdafa5"
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"status": 200,
|
||||
"path": "https://demo.51easyai.com/api/canvas-workflow/tasks/6ac1e6066b4e2617cabdafa5"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"environment": "test",
|
||||
"trigger": {
|
||||
"entry": "/ai/canvas/:projectId",
|
||||
"file": "stage-20m.obj",
|
||||
"sourceUnit": "m",
|
||||
"lightweight": true,
|
||||
"quality": "performance",
|
||||
"storage": "local presigned upload with optional headers omitted"
|
||||
},
|
||||
"before": {
|
||||
"sourceUploadHTTP": 201,
|
||||
"headersPresent": false,
|
||||
"putAttempted": false,
|
||||
"completeAttempted": false,
|
||||
"exception": "TypeError: Cannot convert undefined or null to object",
|
||||
"uiMessage": "模型未能加载,当前场景保持不变。请检查文件后重试。",
|
||||
"screenshot": "import-failed.png"
|
||||
},
|
||||
"cause": {
|
||||
"frontend": "Object.entries(upload.headers)",
|
||||
"api": "ModelConversionService.prepareSource returned optional storage headers without normalizing its required browser response field",
|
||||
"storageContract": "OssService.getPreSignedUrlS3 headers is optional; local storage intentionally omits it"
|
||||
},
|
||||
"fix": {
|
||||
"backendSource": "be56a7e0ec79d1a1e7420d870709014ed4bf010a",
|
||||
"apiVersion": "3.23.0.20261003.1",
|
||||
"change": "Return upload.headers ?? {} in model-conversion source-upload API; leave supplied signature headers unchanged",
|
||||
"scope": "Model conversion upload plan only; generic storage behavior unchanged"
|
||||
},
|
||||
"regression": {
|
||||
"before": {
|
||||
"tests": 2,
|
||||
"failed": 1,
|
||||
"passed": 1,
|
||||
"seconds": 0.579,
|
||||
"failure": "browserPlan.upload.headers expected {} but received undefined"
|
||||
},
|
||||
"after": {
|
||||
"modelConversionTests": 13,
|
||||
"modelConversionSeconds": 0.84,
|
||||
"nxElapsedSeconds": 2.38,
|
||||
"storageTests": 27,
|
||||
"storageSeconds": 0.638,
|
||||
"storageNxElapsedSeconds": 1.87
|
||||
},
|
||||
"sharedBuildSeconds": 0.66,
|
||||
"apiNxBuildSeconds": 20.83
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"passed": true,
|
||||
"apiOrigin": "https://demo.51easyai.com",
|
||||
"projectId": "6ac046133db0eda177a9896e",
|
||||
"nodeId": "model-conversion-deployment-acceptance",
|
||||
"taskId": "6ac0461a3db0eda177a989ab",
|
||||
"sourceHash": "f686ed16f4f90cc9b8ad9b5fc7d133d3768b1851620b107dd811fbd85a19f834",
|
||||
"sourceBytes": 19203544,
|
||||
"artifactHash": "889709b74d725388f3b225f7b158a0717d0c07fa0a8532fad8358cecf616f581",
|
||||
"artifactBytes": 714896,
|
||||
"originalDimensions": {
|
||||
"width": 20,
|
||||
"height": 0.20000000298023224,
|
||||
"depth": 20
|
||||
},
|
||||
"actualDimensions": {
|
||||
"width": 20,
|
||||
"height": 0.19997775554656982,
|
||||
"depth": 20
|
||||
},
|
||||
"loadingUnit": "meters",
|
||||
"converterVersion": "assimp6.0.5-gltf4.3.0-meshopt0.25.0-ktx4.4.2-recipe2",
|
||||
"statistics": {
|
||||
"before": {
|
||||
"triangles": 798848,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 19202712,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
},
|
||||
"after": {
|
||||
"triangles": 100000,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 1830360,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
},
|
||||
"primary": {
|
||||
"triangles": 100000,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 1830360,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
}
|
||||
},
|
||||
"uploadMs": 7038,
|
||||
"conversionAndDownloadMs": 32771,
|
||||
"elapsedMs": 40691
|
||||
}
|
||||
@@ -0,0 +1,337 @@
|
||||
{
|
||||
"host": "8.218.158.189",
|
||||
"domain": "demo.51easyai.com",
|
||||
"deploymentPath": "/root/easyai",
|
||||
"head": "2a1192eb7ec822773f55af96fa12e06bf96774a8",
|
||||
"before": {
|
||||
"head": "f04bb5e4fce8cf17430c2fc0ead77c1127f1d3b1",
|
||||
"configHashes": {
|
||||
"docker-compose.yml": "5841891777edbbcbf8aaeff1d3a9ab8288d3488cf1e62d309e62a44484cca801",
|
||||
".env": "f81f72ae94056ab0a0d5c685920406ad0cf52eafcd01f33a11ad5c78e43f7d29",
|
||||
"/etc/nginx/conf.d/51easyai-proxy.conf": "3ee233b6e120892a9b1569ea21fe59081b1b5a917377e6eda435086613315c9f"
|
||||
},
|
||||
"containers": [
|
||||
{
|
||||
"name": "/easyai-web",
|
||||
"id": "cb5f2943e428474adb4610e44fded3df4e79b0e8089c6aadd05024bc8917e40b",
|
||||
"imageId": "sha256:4161c653ff66e92e0f24f0b175bb9b3a447f095c0e55b238f480a12ddce2821f",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-10-02T12:40:16.569346711Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-server",
|
||||
"id": "b207b401ca01a3368340922d87678250481d1e95d3abb1c41831a97ae3fb029c",
|
||||
"imageId": "sha256:72ec514ed221c424422542f7922f3962b03de969a65e3ffec058fa7cd70e1fea",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/comfy-server:latest",
|
||||
"state": "created",
|
||||
"startedAt": "0001-01-01T00:00:00Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-updater",
|
||||
"id": "012bea8f8d5a99a67f55b464b7b6f9c3b404cbbf8b3d10faf0c39b81aaa62f19",
|
||||
"imageId": "sha256:275e9ff7fb453d16feabfb9b92e1cd603f49c434bf2daa80a9f5ad6f505bffcb",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/easyai-updater:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-10-02T12:40:15.160868359Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-watchtower-1",
|
||||
"id": "fa985a32d2b688d341ff92db280b9001685c425675703c083fbfa9503ff0144a",
|
||||
"imageId": "sha256:04f6afca616ae63c48c860250212b7406ba917b712f4b2ebff5d43ef45578b87",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/watchtower-aliyun:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-10-02T11:39:34.798099789Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-wsgateway",
|
||||
"id": "96ea991bfc5931beaeafdefb6ae22ac95e7e5e35d85aa34ee2daecdad3fc9f0c",
|
||||
"imageId": "sha256:821ed6a69be4771c57a7bf67084455a4c0c7e4c9e201b8e7bcb2dedf1fb229f5",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/wsgateway@sha256:a2b5fb67384c7f0eca7c7a768b5deacb4c0d2195dfbeb6e16ef40d6dc097bf25",
|
||||
"state": "running",
|
||||
"startedAt": "2026-10-02T11:36:12.54021925Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/agent-memory",
|
||||
"id": "36cff7dfc04d41bff432ab25d4e28eb618a8e3eb77b22b06b73379bf762b75a9",
|
||||
"imageId": "sha256:c660e243c9499f9a11a3875c8667692e44dd5fc5c96286f116569571bc41c84d",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/agent-memory:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-09-24T08:31:06.096138261Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-asg",
|
||||
"id": "8dd55099f03beeabe2eca98ea28f63f426282e781f8afbe56e4b3687a0d6dd66",
|
||||
"imageId": "sha256:49f6f61c60a742c3332a7f2848a5dc135adc3eb094f5db11c0e5039afd281b09",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/agent-governance:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-09-24T08:31:01.812221909Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/redis",
|
||||
"id": "fba236d5fbeef5fe788f95a2dbc1356a6e9aff5e380725f507b94b298ded63f9",
|
||||
"imageId": "sha256:d9f3c2aa7439bef41152d378fbd0f569f6c751db9b782fb63598cf23fd125c51",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/redis-aliyun:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-09-10T02:24:31.671562504Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-easyai-web-init-1",
|
||||
"id": "b0ef7b67e90fa287663c85b469fe701708761b64bbc20eca2ed92841ad57a488",
|
||||
"imageId": "sha256:adec17f19c7e2e63268a5cede2aa76bdbaccc5430806bf509a844807b0f10dae",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai@sha256:aa84dab8c88d57481e195be1b0633d79d83e43669d169214edfac3779f5cc271",
|
||||
"state": "exited",
|
||||
"startedAt": "2026-07-30T07:25:35.56821945Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/rabbitmq",
|
||||
"id": "dc02f6fb960a47e24e75e25f438c10552c2974e206ace60e91ad2e13c79fb351",
|
||||
"imageId": "sha256:45d1c8fe2d7bef670b67b19768218e34d66ef09c880d177541f34dedc6363535",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/mq:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-07-21T04:32:55.343273655Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/video-edit",
|
||||
"id": "1f7353e599205647770c4b170d3dc363cb589d9bbbd7a0788e9b400d980e4126",
|
||||
"imageId": "sha256:0864f11706bd1158ffd30a7c5c2b8e99673ba7d94df984d900add17e5a3004eb",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/videoedit:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-07-21T04:32:55.732336992Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-pgvector",
|
||||
"id": "c17b4bcfb926890bc13d4dbfeaf39ff30e4fa30bc904f21321392d9aa08c5724",
|
||||
"imageId": "sha256:cdc8b3de66a0fbffceef90077fde8845a2346034ad8f309f4022a84039fed955",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/pgvector:0.8.2-pg18-trixie",
|
||||
"state": "running",
|
||||
"startedAt": "2026-07-21T04:32:56.784729621Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/mongo",
|
||||
"id": "f5c560c65ea4c2203c69fd45e1c1093cbb9725bcf31c4b97eff205ef7a08690e",
|
||||
"imageId": "sha256:fb4debd652389d87df781cd0da313bef78f90ed1dca45f3409b58364503e32d0",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/mongo-aliyun:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-09-01T08:56:08.427872854Z",
|
||||
"restarts": 1
|
||||
},
|
||||
{
|
||||
"name": "/dozzle",
|
||||
"id": "ca61f6101524051530ee5cf78d075d72f4dbe20e111336567d8c7d60b702c5a9",
|
||||
"imageId": "sha256:14a70c19c34c366e364b992908d4f387e5d61cf1759d4c914bc4c69c2fa151a7",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/dozzle:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-07-21T04:32:55.175233142Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/sandbox",
|
||||
"id": "660f96b37109ccd13f62b3b58c7a7925d04acae24147d21aa694231c5105b287",
|
||||
"imageId": "sha256:167b0fa1056c295f32d45b3a3c5e36691dbf0ba165419de7134721847596df98",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/sandbox:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-07-21T04:32:57.369808773Z",
|
||||
"restarts": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"after": [
|
||||
{
|
||||
"name": "/easyai-model-conversion-worker",
|
||||
"id": "9637b09caee98617f8b842edb060d3c145ad6d26bbb560596a6203e99151f632",
|
||||
"imageId": "sha256:51738088956b41768a4c02dd89eeec746894d5c0becaa85875faa9f454caacf1",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/model-conversion-worker:3.23.0.20261003",
|
||||
"repoDigests": [
|
||||
"registry.cn-shanghai.aliyuncs.com/easyaigc/model-conversion-worker@sha256:085fa49d99a06562ce9634bfdd8567efdfe4e38754e9688de81288d2e2578526"
|
||||
],
|
||||
"revision": "83cefbfdf2bc909d11ace9f020b108145844051a",
|
||||
"health": "healthy",
|
||||
"restarts": 0,
|
||||
"ports": {},
|
||||
"networks": {
|
||||
"easyai_easyai": "172.21.0.7"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "/easyai-server",
|
||||
"id": "c1d517b4a096df06c08080633fc05863188dc7194b443ba4379f87996b3a0e00",
|
||||
"imageId": "sha256:fbdf5f37bb820287001cab126692d5abdffd911928831ba303f1d7ab1c40d85d",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/comfy-server:3.23.0.20261003",
|
||||
"repoDigests": [
|
||||
"registry.cn-shanghai.aliyuncs.com/comfy-ai/comfy-server@sha256:a21a59205ced431987dda6c72d4fe5c0ad00ced97311500b10d08a9c1237bbce"
|
||||
],
|
||||
"revision": "83cefbfdf2bc909d11ace9f020b108145844051a",
|
||||
"health": "healthy",
|
||||
"restarts": 0,
|
||||
"ports": {
|
||||
"3001/tcp": [
|
||||
{
|
||||
"HostIp": "127.0.0.1",
|
||||
"HostPort": "3001"
|
||||
}
|
||||
]
|
||||
},
|
||||
"networks": {
|
||||
"easyai_easyai": "172.21.0.6",
|
||||
"easyai_sandbox-network": "172.20.0.2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "/easyai-web",
|
||||
"id": "01688690a641bb177b1cf4fcf3f8b67cb2b920da3b75c34ce73f9909a4f86097",
|
||||
"imageId": "sha256:7518be1d633ff4316ac622523b7ea9f3d35ade61bcbec42ba7262200d181c805",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai:3.23.0.20261003",
|
||||
"repoDigests": [
|
||||
"registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai@sha256:bb1ff1dc77518ca01b770d03317fbddb0e2bf8eda6c27b70d6dbec0944d8e78e"
|
||||
],
|
||||
"revision": "965c417288c5f09260c6e28254cde62af7683854",
|
||||
"health": "healthy",
|
||||
"restarts": 0,
|
||||
"ports": {
|
||||
"3010/tcp": [
|
||||
{
|
||||
"HostIp": "127.0.0.1",
|
||||
"HostPort": "3010"
|
||||
}
|
||||
]
|
||||
},
|
||||
"networks": {
|
||||
"easyai_easyai": "172.21.0.8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "/easyai-updater",
|
||||
"id": "9fe7cc3b36405ec67909cfaf72abbae8b01abc51f9e38a8cab863f1dbe046cc8",
|
||||
"imageId": "sha256:275e9ff7fb453d16feabfb9b92e1cd603f49c434bf2daa80a9f5ad6f505bffcb",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/easyai-updater:latest",
|
||||
"repoDigests": [
|
||||
"registry.cn-shanghai.aliyuncs.com/easyaigc/easyai-updater@sha256:bbaddb598618ceaaf6696f6c5fe19daf564d983039b70d36a4196cc4aaca385a"
|
||||
],
|
||||
"revision": null,
|
||||
"health": "healthy",
|
||||
"restarts": 0,
|
||||
"ports": {},
|
||||
"networks": {
|
||||
"easyai_easyai": "172.21.0.31"
|
||||
}
|
||||
}
|
||||
],
|
||||
"unrelatedContainers": [
|
||||
{
|
||||
"name": "/easyai-watchtower-1",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-wsgateway",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/agent-memory",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-asg",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/redis",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-easyai-web-init-1",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/rabbitmq",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/video-edit",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-pgvector",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/mongo",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/dozzle",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/sandbox",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
}
|
||||
],
|
||||
"settingsPreserved": {
|
||||
"CONFIG_JWT_SECRET": true,
|
||||
"WS_AUTH_WS_TICKET_SECRET": true,
|
||||
"MONGO_INITDB_ROOT_USERNAME": true,
|
||||
"MONGO_INITDB_ROOT_PASSWORD": true,
|
||||
"SYSTEM_UPDATE_MODE": true,
|
||||
"NUXT_PUBLIC_BASE_APIURL": true,
|
||||
"CONFIG_COMFYUI_QUENE_REDIS_DB": true,
|
||||
"WATCHTOWER_UPDATE_TARGET": true
|
||||
},
|
||||
"nginxPreserved": true,
|
||||
"sharedWorkerTokenMatched": true,
|
||||
"health": {
|
||||
"/home": {
|
||||
"status": 200
|
||||
},
|
||||
"/api/app/version": {
|
||||
"status": 200,
|
||||
"body": {
|
||||
"status": "success",
|
||||
"data": {
|
||||
"version": "3.23.0.20261003"
|
||||
},
|
||||
"message": "success"
|
||||
}
|
||||
},
|
||||
"/api/health": {
|
||||
"status": 200
|
||||
},
|
||||
"/api/health/update-ready": {
|
||||
"status": 200
|
||||
}
|
||||
},
|
||||
"trackedDiff": [],
|
||||
"backupPath": "data/deployment-backups/legacy-update-20261003-075918-g3q8cib5",
|
||||
"legacyOverridePath": "data/deployment-config/legacy-compose.json",
|
||||
"workerLimits": {
|
||||
"Memory": 4294967296,
|
||||
"MemorySwap": 4294967296,
|
||||
"NanoCpus": 2000000000,
|
||||
"PidsLimit": 64,
|
||||
"ReadonlyRootfs": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"passed": true,
|
||||
"apiOrigin": "https://demo.51easyai.com",
|
||||
"projectId": "6ac1e7336b4e2617cabdba76",
|
||||
"nodeId": "model-conversion-deployment-acceptance",
|
||||
"taskId": "6ac1e7466b4e2617cabdbb06",
|
||||
"sourceHash": "f686ed16f4f90cc9b8ad9b5fc7d133d3768b1851620b107dd811fbd85a19f834",
|
||||
"sourceBytes": 19203544,
|
||||
"artifactHash": "889709b74d725388f3b225f7b158a0717d0c07fa0a8532fad8358cecf616f581",
|
||||
"artifactBytes": 714896,
|
||||
"originalDimensions": {
|
||||
"width": 20,
|
||||
"height": 0.20000000298023224,
|
||||
"depth": 20
|
||||
},
|
||||
"actualDimensions": {
|
||||
"width": 20,
|
||||
"height": 0.19997775554656982,
|
||||
"depth": 20
|
||||
},
|
||||
"loadingUnit": "meters",
|
||||
"converterVersion": "assimp6.0.5-gltf4.3.0-meshopt0.25.0-ktx4.4.2-recipe2",
|
||||
"statistics": {
|
||||
"before": {
|
||||
"triangles": 798848,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 19202712,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
},
|
||||
"after": {
|
||||
"triangles": 100000,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 1830360,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
},
|
||||
"primary": {
|
||||
"triangles": 100000,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 1830360,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
}
|
||||
},
|
||||
"uploadMs": 18502,
|
||||
"conversionAndDownloadMs": 52444,
|
||||
"elapsedMs": 71932
|
||||
}
|
||||
@@ -0,0 +1,337 @@
|
||||
{
|
||||
"host": "8.218.158.189",
|
||||
"domain": "demo.51easyai.com",
|
||||
"deploymentPath": "/root/easyai",
|
||||
"head": "2a1192eb7ec822773f55af96fa12e06bf96774a8",
|
||||
"before": {
|
||||
"head": "f04bb5e4fce8cf17430c2fc0ead77c1127f1d3b1",
|
||||
"configHashes": {
|
||||
"docker-compose.yml": "5841891777edbbcbf8aaeff1d3a9ab8288d3488cf1e62d309e62a44484cca801",
|
||||
".env": "f81f72ae94056ab0a0d5c685920406ad0cf52eafcd01f33a11ad5c78e43f7d29",
|
||||
"/etc/nginx/conf.d/51easyai-proxy.conf": "3ee233b6e120892a9b1569ea21fe59081b1b5a917377e6eda435086613315c9f"
|
||||
},
|
||||
"containers": [
|
||||
{
|
||||
"name": "/easyai-web",
|
||||
"id": "cb5f2943e428474adb4610e44fded3df4e79b0e8089c6aadd05024bc8917e40b",
|
||||
"imageId": "sha256:4161c653ff66e92e0f24f0b175bb9b3a447f095c0e55b238f480a12ddce2821f",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-10-02T12:40:16.569346711Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-server",
|
||||
"id": "b207b401ca01a3368340922d87678250481d1e95d3abb1c41831a97ae3fb029c",
|
||||
"imageId": "sha256:72ec514ed221c424422542f7922f3962b03de969a65e3ffec058fa7cd70e1fea",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/comfy-server:latest",
|
||||
"state": "created",
|
||||
"startedAt": "0001-01-01T00:00:00Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-updater",
|
||||
"id": "012bea8f8d5a99a67f55b464b7b6f9c3b404cbbf8b3d10faf0c39b81aaa62f19",
|
||||
"imageId": "sha256:275e9ff7fb453d16feabfb9b92e1cd603f49c434bf2daa80a9f5ad6f505bffcb",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/easyai-updater:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-10-02T12:40:15.160868359Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-watchtower-1",
|
||||
"id": "fa985a32d2b688d341ff92db280b9001685c425675703c083fbfa9503ff0144a",
|
||||
"imageId": "sha256:04f6afca616ae63c48c860250212b7406ba917b712f4b2ebff5d43ef45578b87",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/watchtower-aliyun:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-10-02T11:39:34.798099789Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-wsgateway",
|
||||
"id": "96ea991bfc5931beaeafdefb6ae22ac95e7e5e35d85aa34ee2daecdad3fc9f0c",
|
||||
"imageId": "sha256:821ed6a69be4771c57a7bf67084455a4c0c7e4c9e201b8e7bcb2dedf1fb229f5",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/wsgateway@sha256:a2b5fb67384c7f0eca7c7a768b5deacb4c0d2195dfbeb6e16ef40d6dc097bf25",
|
||||
"state": "running",
|
||||
"startedAt": "2026-10-02T11:36:12.54021925Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/agent-memory",
|
||||
"id": "36cff7dfc04d41bff432ab25d4e28eb618a8e3eb77b22b06b73379bf762b75a9",
|
||||
"imageId": "sha256:c660e243c9499f9a11a3875c8667692e44dd5fc5c96286f116569571bc41c84d",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/agent-memory:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-09-24T08:31:06.096138261Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-asg",
|
||||
"id": "8dd55099f03beeabe2eca98ea28f63f426282e781f8afbe56e4b3687a0d6dd66",
|
||||
"imageId": "sha256:49f6f61c60a742c3332a7f2848a5dc135adc3eb094f5db11c0e5039afd281b09",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/agent-governance:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-09-24T08:31:01.812221909Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/redis",
|
||||
"id": "fba236d5fbeef5fe788f95a2dbc1356a6e9aff5e380725f507b94b298ded63f9",
|
||||
"imageId": "sha256:d9f3c2aa7439bef41152d378fbd0f569f6c751db9b782fb63598cf23fd125c51",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/redis-aliyun:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-09-10T02:24:31.671562504Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-easyai-web-init-1",
|
||||
"id": "b0ef7b67e90fa287663c85b469fe701708761b64bbc20eca2ed92841ad57a488",
|
||||
"imageId": "sha256:adec17f19c7e2e63268a5cede2aa76bdbaccc5430806bf509a844807b0f10dae",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai@sha256:aa84dab8c88d57481e195be1b0633d79d83e43669d169214edfac3779f5cc271",
|
||||
"state": "exited",
|
||||
"startedAt": "2026-07-30T07:25:35.56821945Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/rabbitmq",
|
||||
"id": "dc02f6fb960a47e24e75e25f438c10552c2974e206ace60e91ad2e13c79fb351",
|
||||
"imageId": "sha256:45d1c8fe2d7bef670b67b19768218e34d66ef09c880d177541f34dedc6363535",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/mq:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-07-21T04:32:55.343273655Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/video-edit",
|
||||
"id": "1f7353e599205647770c4b170d3dc363cb589d9bbbd7a0788e9b400d980e4126",
|
||||
"imageId": "sha256:0864f11706bd1158ffd30a7c5c2b8e99673ba7d94df984d900add17e5a3004eb",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/videoedit:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-07-21T04:32:55.732336992Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/easyai-pgvector",
|
||||
"id": "c17b4bcfb926890bc13d4dbfeaf39ff30e4fa30bc904f21321392d9aa08c5724",
|
||||
"imageId": "sha256:cdc8b3de66a0fbffceef90077fde8845a2346034ad8f309f4022a84039fed955",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/pgvector:0.8.2-pg18-trixie",
|
||||
"state": "running",
|
||||
"startedAt": "2026-07-21T04:32:56.784729621Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/mongo",
|
||||
"id": "f5c560c65ea4c2203c69fd45e1c1093cbb9725bcf31c4b97eff205ef7a08690e",
|
||||
"imageId": "sha256:fb4debd652389d87df781cd0da313bef78f90ed1dca45f3409b58364503e32d0",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/mongo-aliyun:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-09-01T08:56:08.427872854Z",
|
||||
"restarts": 1
|
||||
},
|
||||
{
|
||||
"name": "/dozzle",
|
||||
"id": "ca61f6101524051530ee5cf78d075d72f4dbe20e111336567d8c7d60b702c5a9",
|
||||
"imageId": "sha256:14a70c19c34c366e364b992908d4f387e5d61cf1759d4c914bc4c69c2fa151a7",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/dozzle:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-07-21T04:32:55.175233142Z",
|
||||
"restarts": 0
|
||||
},
|
||||
{
|
||||
"name": "/sandbox",
|
||||
"id": "660f96b37109ccd13f62b3b58c7a7925d04acae24147d21aa694231c5105b287",
|
||||
"imageId": "sha256:167b0fa1056c295f32d45b3a3c5e36691dbf0ba165419de7134721847596df98",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/sandbox:latest",
|
||||
"state": "running",
|
||||
"startedAt": "2026-07-21T04:32:57.369808773Z",
|
||||
"restarts": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"after": [
|
||||
{
|
||||
"name": "/easyai-server",
|
||||
"id": "174c6a6f1021427fef3a7ccbea13f4a8e88d00b944bc997168b0c5146e276deb",
|
||||
"imageId": "sha256:34707434706bb4369e5c4c10ef02c4349e56b08e98a02db0a484c1c024c37606",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/comfy-server:3.23.0.20261003.1",
|
||||
"repoDigests": [
|
||||
"registry.cn-shanghai.aliyuncs.com/comfy-ai/comfy-server@sha256:2b2d7e0cb8270d3540f3562e5debdb6a84a8cd2ae610c7c2f6a991cce1cc681c"
|
||||
],
|
||||
"revision": "be56a7e0ec79d1a1e7420d870709014ed4bf010a",
|
||||
"health": "healthy",
|
||||
"restarts": 0,
|
||||
"ports": {
|
||||
"3001/tcp": [
|
||||
{
|
||||
"HostIp": "127.0.0.1",
|
||||
"HostPort": "3001"
|
||||
}
|
||||
]
|
||||
},
|
||||
"networks": {
|
||||
"easyai_easyai": "172.21.0.6",
|
||||
"easyai_sandbox-network": "172.20.0.2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "/easyai-model-conversion-worker",
|
||||
"id": "7f8bbdcddb05bafc9618e6fd23644b98a52fa48d9bc7ca8c47b9ef7dd4740903",
|
||||
"imageId": "sha256:51738088956b41768a4c02dd89eeec746894d5c0becaa85875faa9f454caacf1",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/model-conversion-worker:3.23.0.20261003.1",
|
||||
"repoDigests": [
|
||||
"registry.cn-shanghai.aliyuncs.com/easyaigc/model-conversion-worker@sha256:085fa49d99a06562ce9634bfdd8567efdfe4e38754e9688de81288d2e2578526"
|
||||
],
|
||||
"revision": "83cefbfdf2bc909d11ace9f020b108145844051a",
|
||||
"health": "healthy",
|
||||
"restarts": 0,
|
||||
"ports": {},
|
||||
"networks": {
|
||||
"easyai_easyai": "172.21.0.7"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "/easyai-web",
|
||||
"id": "d37dd74eebe36e1156567eb10501356003961a34cb285c3347b3c931c22225bc",
|
||||
"imageId": "sha256:7518be1d633ff4316ac622523b7ea9f3d35ade61bcbec42ba7262200d181c805",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai:3.23.0.20261003.1",
|
||||
"repoDigests": [
|
||||
"registry.cn-shanghai.aliyuncs.com/comfy-ai/one-ai@sha256:bb1ff1dc77518ca01b770d03317fbddb0e2bf8eda6c27b70d6dbec0944d8e78e"
|
||||
],
|
||||
"revision": "965c417288c5f09260c6e28254cde62af7683854",
|
||||
"health": "healthy",
|
||||
"restarts": 0,
|
||||
"ports": {
|
||||
"3010/tcp": [
|
||||
{
|
||||
"HostIp": "127.0.0.1",
|
||||
"HostPort": "3010"
|
||||
}
|
||||
]
|
||||
},
|
||||
"networks": {
|
||||
"easyai_easyai": "172.21.0.8"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "/easyai-updater",
|
||||
"id": "9fe7cc3b36405ec67909cfaf72abbae8b01abc51f9e38a8cab863f1dbe046cc8",
|
||||
"imageId": "sha256:275e9ff7fb453d16feabfb9b92e1cd603f49c434bf2daa80a9f5ad6f505bffcb",
|
||||
"image": "registry.cn-shanghai.aliyuncs.com/easyaigc/easyai-updater:latest",
|
||||
"repoDigests": [
|
||||
"registry.cn-shanghai.aliyuncs.com/easyaigc/easyai-updater@sha256:bbaddb598618ceaaf6696f6c5fe19daf564d983039b70d36a4196cc4aaca385a"
|
||||
],
|
||||
"revision": null,
|
||||
"health": "healthy",
|
||||
"restarts": 0,
|
||||
"ports": {},
|
||||
"networks": {
|
||||
"easyai_easyai": "172.21.0.31"
|
||||
}
|
||||
}
|
||||
],
|
||||
"unrelatedContainers": [
|
||||
{
|
||||
"name": "/easyai-watchtower-1",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-wsgateway",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/agent-memory",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-asg",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/redis",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-easyai-web-init-1",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/rabbitmq",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/video-edit",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-pgvector",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/mongo",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/dozzle",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/sandbox",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
}
|
||||
],
|
||||
"settingsPreserved": {
|
||||
"CONFIG_JWT_SECRET": true,
|
||||
"WS_AUTH_WS_TICKET_SECRET": true,
|
||||
"MONGO_INITDB_ROOT_USERNAME": true,
|
||||
"MONGO_INITDB_ROOT_PASSWORD": true,
|
||||
"SYSTEM_UPDATE_MODE": true,
|
||||
"NUXT_PUBLIC_BASE_APIURL": true,
|
||||
"CONFIG_COMFYUI_QUENE_REDIS_DB": true,
|
||||
"WATCHTOWER_UPDATE_TARGET": true
|
||||
},
|
||||
"nginxPreserved": true,
|
||||
"sharedWorkerTokenMatched": true,
|
||||
"health": {
|
||||
"/home": {
|
||||
"status": 200
|
||||
},
|
||||
"/api/app/version": {
|
||||
"status": 200,
|
||||
"body": {
|
||||
"status": "success",
|
||||
"data": {
|
||||
"version": "3.23.0.20261003.1"
|
||||
},
|
||||
"message": "success"
|
||||
}
|
||||
},
|
||||
"/api/health": {
|
||||
"status": 200
|
||||
},
|
||||
"/api/health/update-ready": {
|
||||
"status": 200
|
||||
}
|
||||
},
|
||||
"trackedDiff": [],
|
||||
"backupPath": "data/deployment-backups/legacy-update-20261003-075918-g3q8cib5",
|
||||
"legacyOverridePath": "data/deployment-config/legacy-compose.json",
|
||||
"workerLimits": {
|
||||
"Memory": 4294967296,
|
||||
"MemorySwap": 4294967296,
|
||||
"NanoCpus": 2000000000,
|
||||
"PidsLimit": 64,
|
||||
"ReadonlyRootfs": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"nonTargetContainers": [
|
||||
{
|
||||
"name": "/easyai-updater",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-watchtower-1",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-wsgateway",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/agent-memory",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-asg",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/redis",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-easyai-web-init-1",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/rabbitmq",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/video-edit",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/easyai-pgvector",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/mongo",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/dozzle",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
},
|
||||
{
|
||||
"name": "/sandbox",
|
||||
"sameId": true,
|
||||
"sameStartedAt": true
|
||||
}
|
||||
],
|
||||
"allPreserved": true
|
||||
}
|
||||
@@ -0,0 +1,353 @@
|
||||
{
|
||||
"scope": "availability samples during conversion, not a controlled saturation benchmark",
|
||||
"samples": [
|
||||
{
|
||||
"at": 1791092583.8174427,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 5.121792666614056,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "518MB / 23.1MB",
|
||||
"CPUPerc": "3.68%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.72%",
|
||||
"MemUsage": "419.2MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "83.9MB / 41.9MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "207MB / 0B",
|
||||
"CPUPerc": "1.81%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.17%",
|
||||
"MemUsage": "113.2MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "18.6MB / 632kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092585.826095,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.1822648122906685,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "518MB / 23.1MB",
|
||||
"CPUPerc": "2.32%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.35%",
|
||||
"MemUsage": "405.9MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "84MB / 42MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "106.69%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "6.90%",
|
||||
"MemUsage": "246.6MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "19.9MB / 658kB",
|
||||
"PIDs": "23"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092587.8342638,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 6.174998357892036,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "518MB / 23.1MB",
|
||||
"CPUPerc": "3.93%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.14%",
|
||||
"MemUsage": "398.5MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "84.9MB / 42MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "47.24%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.38%",
|
||||
"MemUsage": "120.9MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "20MB / 1.38MB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092589.841363,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.193288877606392,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "518MB / 23.1MB",
|
||||
"CPUPerc": "1.85%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.15%",
|
||||
"MemUsage": "398.8MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "85MB / 42.8MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "0.19%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.38%",
|
||||
"MemUsage": "120.9MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "20MB / 1.39MB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092591.8488362,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.141437493264675,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "524MB / 23.1MB",
|
||||
"CPUPerc": "7.53%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.47%",
|
||||
"MemUsage": "410.2MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "85.9MB / 42.8MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "0.05%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.38%",
|
||||
"MemUsage": "120.9MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "20MB / 1.39MB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092593.855171,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.094441093504429,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "524MB / 23.1MB",
|
||||
"CPUPerc": "1.96%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.47%",
|
||||
"MemUsage": "410.3MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "86.7MB / 42.9MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "0.01%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.38%",
|
||||
"MemUsage": "120.9MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "20MB / 1.39MB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092595.868484,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.0058071240782738,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "524MB / 23.1MB",
|
||||
"CPUPerc": "2.22%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.52%",
|
||||
"MemUsage": "412.1MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "87.1MB / 43MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "0.00%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.38%",
|
||||
"MemUsage": "120.9MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "20MB / 1.39MB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092597.8755522,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.7287527918815613,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "524MB / 23.1MB",
|
||||
"CPUPerc": "1.06%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.52%",
|
||||
"MemUsage": "412.1MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "87.1MB / 43MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "0.06%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.45%",
|
||||
"MemUsage": "123.5MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "20MB / 1.39MB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092599.8827128,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.218537963926792,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "524MB / 23.1MB",
|
||||
"CPUPerc": "0.79%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.52%",
|
||||
"MemUsage": "412MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "87.1MB / 43MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "0.33%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.45%",
|
||||
"MemUsage": "123.5MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "20MB / 1.39MB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092601.8916264,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.156815491616726,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "524MB / 23.1MB",
|
||||
"CPUPerc": "0.48%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.52%",
|
||||
"MemUsage": "412.1MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "87.1MB / 43MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "0.00%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.45%",
|
||||
"MemUsage": "123.5MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "20MB / 1.39MB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092603.8980048,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.1360013633966446,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "524MB / 23.1MB",
|
||||
"CPUPerc": "0.58%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.52%",
|
||||
"MemUsage": "412.1MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "87.1MB / 43MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "0.01%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.45%",
|
||||
"MemUsage": "123.5MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "20MB / 1.39MB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1791092605.9056575,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.106785774230957,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "524MB / 23.1MB",
|
||||
"CPUPerc": "2.49%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "174c6a6f1021",
|
||||
"MemPerc": "11.52%",
|
||||
"MemUsage": "412.1MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "87.2MB / 43MB",
|
||||
"PIDs": "22"
|
||||
},
|
||||
{
|
||||
"BlockIO": "228MB / 0B",
|
||||
"CPUPerc": "0.00%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "7f8bbdcddb05",
|
||||
"MemPerc": "3.45%",
|
||||
"MemUsage": "123.5MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "20MB / 1.39MB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"passed": true,
|
||||
"apiVersion": "3.23.0.20261003.1",
|
||||
"results": [
|
||||
{
|
||||
"normalUserToken": false,
|
||||
"status": 403
|
||||
},
|
||||
{
|
||||
"normalUserToken": true,
|
||||
"status": 403
|
||||
}
|
||||
],
|
||||
"paidChannelDisabled": true
|
||||
}
|
||||
@@ -0,0 +1,353 @@
|
||||
{
|
||||
"scope": "availability samples during conversion, not a controlled saturation benchmark",
|
||||
"samples": [
|
||||
{
|
||||
"at": 1790985749.6740324,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 9.280657395720482,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "947MB / 16.4kB",
|
||||
"CPUPerc": "1.35%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.88%",
|
||||
"MemUsage": "460.6MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "28.6MB / 4.45MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "198MB / 0B",
|
||||
"CPUPerc": "0.00%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "2.40%",
|
||||
"MemUsage": "85.68MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "41.8kB / 34kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985751.6805701,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.5081941857934,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "947MB / 16.4kB",
|
||||
"CPUPerc": "1.11%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.88%",
|
||||
"MemUsage": "460.7MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "28.6MB / 4.47MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "198MB / 0B",
|
||||
"CPUPerc": "0.36%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "2.39%",
|
||||
"MemUsage": "85.44MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "43kB / 35.5kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985753.689231,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.5477129966020584,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "947MB / 16.4kB",
|
||||
"CPUPerc": "0.64%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.84%",
|
||||
"MemUsage": "459.3MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "28.6MB / 4.47MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "198MB / 0B",
|
||||
"CPUPerc": "0.01%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "2.37%",
|
||||
"MemUsage": "84.81MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "43kB / 35.5kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985755.6954496,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.4261539801955223,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "948MB / 16.4kB",
|
||||
"CPUPerc": "63.81%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.96%",
|
||||
"MemUsage": "463.6MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "47.9MB / 22.9MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "207MB / 0B",
|
||||
"CPUPerc": "16.52%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "2.74%",
|
||||
"MemUsage": "98.05MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "1.29MB / 48.3kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985757.7105772,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.4948744103312492,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "948MB / 16.4kB",
|
||||
"CPUPerc": "3.27%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.91%",
|
||||
"MemUsage": "461.8MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "47.9MB / 23.9MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "207MB / 0B",
|
||||
"CPUPerc": "4.51%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "2.80%",
|
||||
"MemUsage": "100MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "2.8MB / 71.3kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985759.7175877,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.541431225836277,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "948MB / 13.7MB",
|
||||
"CPUPerc": "2.51%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.89%",
|
||||
"MemUsage": "461MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "48MB / 24MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "207MB / 0B",
|
||||
"CPUPerc": "4.63%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "2.83%",
|
||||
"MemUsage": "101.1MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "4.15MB / 96.6kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985761.7252448,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.9892660677433014,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "948MB / 19.2MB",
|
||||
"CPUPerc": "2.02%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.89%",
|
||||
"MemUsage": "461.1MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "48MB / 24MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "207MB / 0B",
|
||||
"CPUPerc": "2.86%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "2.86%",
|
||||
"MemUsage": "102.3MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "5.49MB / 122kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985763.7413735,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 3.0968794599175453,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "948MB / 19.2MB",
|
||||
"CPUPerc": "3.07%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.90%",
|
||||
"MemUsage": "461.2MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "48.1MB / 24MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "207MB / 0B",
|
||||
"CPUPerc": "4.77%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "2.91%",
|
||||
"MemUsage": "104.1MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "7.05MB / 154kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985765.749202,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.129429019987583,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "948MB / 19.2MB",
|
||||
"CPUPerc": "2.94%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.93%",
|
||||
"MemUsage": "462.5MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "48.2MB / 24.1MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "207MB / 0B",
|
||||
"CPUPerc": "3.13%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "2.94%",
|
||||
"MemUsage": "105.3MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "8.34MB / 188kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985767.7581704,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.7658026665449142,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "948MB / 19.2MB",
|
||||
"CPUPerc": "2.57%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.98%",
|
||||
"MemUsage": "464.4MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "48.2MB / 24.1MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "207MB / 0B",
|
||||
"CPUPerc": "2.61%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "2.98%",
|
||||
"MemUsage": "106.7MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "9.83MB / 222kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985769.769254,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 2.3818742483854294,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "948MB / 19.2MB",
|
||||
"CPUPerc": "5.82%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.99%",
|
||||
"MemUsage": "464.6MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "48.3MB / 24.1MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "207MB / 0B",
|
||||
"CPUPerc": "2.60%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "3.02%",
|
||||
"MemUsage": "108MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "11.2MB / 248kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"at": 1790985771.7755136,
|
||||
"apiStatus": 200,
|
||||
"apiMs": 1.9480856135487556,
|
||||
"stats": [
|
||||
{
|
||||
"BlockIO": "948MB / 19.2MB",
|
||||
"CPUPerc": "3.21%",
|
||||
"Container": "easyai-server",
|
||||
"ID": "c1d517b4a096",
|
||||
"MemPerc": "12.99%",
|
||||
"MemUsage": "464.5MiB / 3.493GiB",
|
||||
"Name": "easyai-server",
|
||||
"NetIO": "48.4MB / 24.2MB",
|
||||
"PIDs": "23"
|
||||
},
|
||||
{
|
||||
"BlockIO": "207MB / 0B",
|
||||
"CPUPerc": "3.36%",
|
||||
"Container": "easyai-model-conversion-worker",
|
||||
"ID": "9637b09caee9",
|
||||
"MemPerc": "3.06%",
|
||||
"MemUsage": "109.3MiB / 3.493GiB",
|
||||
"Name": "easyai-model-conversion-worker",
|
||||
"NetIO": "12.6MB / 277kB",
|
||||
"PIDs": "12"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"passed": true,
|
||||
"apiOrigin": "https://demo.51easyai.com",
|
||||
"projectId": "6ac046603db0eda177a98d3a",
|
||||
"nodeId": "model-conversion-deployment-acceptance",
|
||||
"taskId": "6ac046613db0eda177a98d63",
|
||||
"sourceHash": "a4725791b49a2be4cc6ca0a9cab0ad919d53d8364e181d4dabf099e80bcd83d1",
|
||||
"sourceBytes": 1201812,
|
||||
"artifactHash": "5ab980e9d3555ff4a51756ae8a9b71f5dc8b502d06fa2c726a11cc66cf93f60b",
|
||||
"artifactBytes": 203652,
|
||||
"originalDimensions": {
|
||||
"width": 2,
|
||||
"height": 2,
|
||||
"depth": 0
|
||||
},
|
||||
"actualDimensions": {
|
||||
"width": 2,
|
||||
"height": 2,
|
||||
"depth": 0
|
||||
},
|
||||
"loadingUnit": "meters",
|
||||
"converterVersion": "assimp6.0.5-gltf4.3.0-meshopt0.25.0-ktx4.4.2-recipe2",
|
||||
"statistics": {
|
||||
"before": {
|
||||
"triangles": 100001,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 3,
|
||||
"skins": 1,
|
||||
"animations": 1,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 1200380,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
},
|
||||
"after": {
|
||||
"triangles": 100001,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 3,
|
||||
"skins": 1,
|
||||
"animations": 1,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 1200380,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
},
|
||||
"primary": {
|
||||
"triangles": 100001,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 3,
|
||||
"skins": 1,
|
||||
"animations": 1,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 1200380,
|
||||
"textures": [],
|
||||
"estimatedTextureGpuBytes": 0
|
||||
}
|
||||
},
|
||||
"uploadMs": 1007,
|
||||
"conversionAndDownloadMs": 8241,
|
||||
"elapsedMs": 10060
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
{
|
||||
"passed": true,
|
||||
"apiOrigin": "https://demo.51easyai.com",
|
||||
"projectId": "6ac0465b3db0eda177a98cbe",
|
||||
"nodeId": "model-conversion-deployment-acceptance",
|
||||
"taskId": "6ac0465c3db0eda177a98ce1",
|
||||
"sourceHash": "eb2acf6548e5d9e56bb1d2a8c239d24322cb07d9e813b31ebdac3067b6b9ea5c",
|
||||
"sourceBytes": 354300,
|
||||
"artifactHash": "f23ff7bc9df4ffecf00a9b72dffaf6daa9066534374d8cb752a9b13f9b03ca05",
|
||||
"artifactBytes": 29320,
|
||||
"originalDimensions": {
|
||||
"width": 2,
|
||||
"height": 2,
|
||||
"depth": 0
|
||||
},
|
||||
"actualDimensions": {
|
||||
"width": 2,
|
||||
"height": 2,
|
||||
"depth": 0
|
||||
},
|
||||
"loadingUnit": "meters",
|
||||
"converterVersion": "assimp6.0.5-gltf4.3.0-meshopt0.25.0-ktx4.4.2-recipe2",
|
||||
"statistics": {
|
||||
"before": {
|
||||
"triangles": 2,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 192,
|
||||
"textures": [
|
||||
{
|
||||
"mimeType": "image/png",
|
||||
"dimensions": [
|
||||
4096,
|
||||
4096
|
||||
],
|
||||
"bytes": 353126
|
||||
}
|
||||
],
|
||||
"estimatedTextureGpuBytes": 89478485.33333333
|
||||
},
|
||||
"after": {
|
||||
"triangles": 2,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 192,
|
||||
"textures": [
|
||||
{
|
||||
"mimeType": "image/png",
|
||||
"dimensions": [
|
||||
1024,
|
||||
1024
|
||||
],
|
||||
"bytes": 27330
|
||||
}
|
||||
],
|
||||
"estimatedTextureGpuBytes": 5592405.333333333
|
||||
},
|
||||
"primary": {
|
||||
"triangles": 2,
|
||||
"meshes": 1,
|
||||
"primitives": 1,
|
||||
"nodes": 2,
|
||||
"skins": 0,
|
||||
"animations": 0,
|
||||
"morphPrimitives": 0,
|
||||
"geometryBytes": 192,
|
||||
"textures": [
|
||||
{
|
||||
"mimeType": "image/ktx2",
|
||||
"dimensions": [
|
||||
1024,
|
||||
1024
|
||||
],
|
||||
"bytes": 2643
|
||||
}
|
||||
],
|
||||
"estimatedTextureGpuBytes": 5592405.333333333
|
||||
}
|
||||
},
|
||||
"uploadMs": 868,
|
||||
"conversionAndDownloadMs": 3373,
|
||||
"elapsedMs": 5057
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"passed": true,
|
||||
"results": [
|
||||
{
|
||||
"normalUserToken": false,
|
||||
"status": 403
|
||||
},
|
||||
{
|
||||
"normalUserToken": true,
|
||||
"status": 403
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user