🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

运行时可观测 tianjiqx/dsh-runtime-observability

DeepSeek 客户端
tianjiqx59 天前有提交已提供中文文档扫描:未发现敏感能力兼容 / 相关生态

采集事件循环与内存指标,守护遥测链路稳定

29.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/tianjiqx/dsh-runtime-observability.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
该类项目属生态应用(桌面端 / Web 外壳),不以 dsh plugin add 方式安装,请按仓库说明部署
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 59 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/9/25) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-runtime-observability(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^18.19.0 || >=20.6.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 17:51:42

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 采集事件循环指标
  • 采集内存与CPU指标
  • 断路器与ELU降级联动

DeepSeek Harness 运行时观测插件。基于 OpenTelemetry 采集事件循环、内存、CPU、工作负载和子代理生命周期指标;支持断路器、ELU 降级联动,以及可选的 Pyroscope 持续性能分析。

README

由 DeepSeek 最新模型翻译生成
dsh-runtime-observability DSH 的运行时性能指标插件。它补足 CPU、内存、event loop、活跃资源和观测导出质量;不替换 @loongsuite/dsh-plugin 的业务 Trace。 提供的信号 - dsh.runtime.event_loop.delay{quantile}(秒)与 dsh.runtime.event_loop.utilization - dsh.runtime.memory{area}:RSS、heap、external、array buffers - dsh.runtime.active_resources{type}:最多 32 种资源类型 - process.cpu.time{cpu.mode}、process.uptime:进程累计 CPU 时间与启动时长 - dsh.telemetry.export.:attempt/failure/skipped 累计量与 consecutive failure 当前值 - dsh.telemetry.degradation.{reason}:ELU 暂停/断路器的事件、累计时长和当前状态;恢复后补账 - dsh.workload.active{kind}:Agent Run、LLM、Tool、MCP 的显式在途数量
展开完整文档(README 剩余 1 节)
dsh-runtime-observability

DSH 的运行时性能指标插件。它补足 CPU、内存、event loop、活跃资源和观测导出质量;不替换 @loongsuite/dsh-plugin 的业务 Trace。

提供的信号

- dsh.runtime.event_loop.delay{quantile}(秒)与 dsh.runtime.event_loop.utilization
- dsh.runtime.memory{area}:RSS、heap、external、array buffers
- dsh.runtime.active_resources{type}:最多 32 种资源类型
- process.cpu.time{cpu.mode}、process.uptime:进程累计 CPU 时间与启动时长
- dsh.telemetry.export.:attempt/failure/skipped 累计量与 consecutive failure 当前值
- dsh.telemetry.degradation.{reason}:ELU 暂停/断路器的事件、累计时长和当前状态;恢复后补账
- dsh.workload.active{kind}:Agent Run、LLM、Tool、MCP 的显式在途数量
- dsh.workload.queue.{depth,oldest_age}{kind}:固定工作类型的排队深度与最老等待时长
- dsh.workload.recovery.backlog{kind}:session、task、ledger 三类恢复积压
- dsh.subagent.activations{state} 与 dsh.subagent.activation.oldest_age{state}:continuable Activation 的 running、waiting、settled_pending 数量与状态滞留时长
- dsh.subagent.orphans 与 dsh.subagent.orphan.oldest_age:父 Agent 已 dispose 但仍驻留的 continuable Activation
- dsh.subagent.lifecycle.events{event}:Activation started/disposed/orphaned 的低基数累计账本
- dsh.telemetry.export{outcome}:保留的兼容指标;新查询优先使用上述类型明确的 counter/gauge

ELU(event_loop.utilization)的定义、与 CPU% 的区别、判读分级、与延迟分位联读、现场Remediation Playbook 见 docs/elu-event-loop-utilization.md。

指标判读文档

| 文档 | 覆盖信号 | 核心内容 |
| docs/elu-event-loop-utilization.md | event_loop.utilization | ELU 定义、与 CPU% 区别、饱和分级、插件自保联动、Remediation Playbook |
| docs/event-loop-delay.md | event_loop.delay{quantile} + dsh_nodejs_eventloop_delay_ | 延迟分位两实现视角、p99 判读线、与 GC/ELU 联动鉴别阻塞源 |
| docs/memory-gc.md | memory{area} + dsh_v8js_memory_/gc_ | RSS/堆/space 分层、泄漏判型(堆内 vs 堆外)、GC 停顿与延迟代价 |
| docs/active-resources.md | active_resources{type} | 句柄类型速查、泄漏判读(趋势+对账)、与 GC/内存交叉验证 |
| docs/workload-integration.md | workload.{kind} | 显式生命周期接入 API、固定标签集合及当前宿主集成边界 |
| docs/subagent-lifecycle.md | subagent. + ELU/active resources/heap/GC | continuable Activation 状态、orphan 判定与任务结束后衰减实验 |
| docs/telemetry-export-quality.md | telemetry.export{outcome} | 五态账本、故障Diagnosis Flow、断路器/节流语义、与巡检职责边界 |

未设置 endpoint 时,插件仍可加载,但不会创建网络 exporter 或发送遥测。部署阶段以同名 Cordis patch 覆盖 endpoint;填写 Collector 基础地址后插件会自动补全 /v1/metrics。

连续 Profiling(默认关闭)

配置 profiling.enabled: true + profiling.serverAddress(Pyroscope 服务端地址)后,插件经 @pyroscope/nodejs 上报 wall/heap profile:

- 关闭时不加载原生代码(动态 import),生产路径零原生依赖
- 启动延迟 profiling.bootDelayMs(默认 30s),不阻塞 DSH boot;旧字段 sampleRateMs 保留兼容但已废弃,采样频率由 Pyroscope SDK 控制
- fail-open:SDK 加载失败/上传失败只写本地 warning;event loop 利用率 ≥ profiling.eluStopThreshold(默认 0.9)自动停止采集并记录原因
- appName 缺省取 serviceName;flushIntervalMs 默认 60s 查询:Grafana Explore → Pyroscope 数据源,或 Pyroscope API /querier.v1.QuerierService/。

导出韧性(Resilience)

当 OTLP endpoint 不可达或 event loop 饱和时,插件通过以下机制避免日志洪水和资源恶性循环:

- 日志节流:resilience.logThrottlePerMinute(默认 5)— 每分钟最多打印 N 条 export 失败日志,超出部分静默计数(可通过 dsh.telemetry.export{outcome="log_suppressed"} 观测)
- 断路器:resilience.circuitBreakerThreshold(默认 10)— 连续 N 次 export 失败后暂停导出,resilience.circuitBreakerCooldownMs(默认 5 分钟)后发送单次探测请求,成功则恢复
- ELU 降级联动:resilience.eluPauseThreshold(默认 0.95)— event loop 利用率超过此阈值时,停止 metric exporter 的网络发送并停止 profiling;低于阈值减滞后后恢复 exporter

所有阈值均可通过配置覆盖;设为 0 禁用对应机制。

开发验证

pnpm install
pnpm run check

工作区还有本地 e2e 冒烟(mock OTLP/HTTP endpoint,验证真实网络导出与 fail-open):

在工作区根目录执行
node scripts/runtime-observability-smoke.mjs
预览分享卡片长什么样 ↓tianjiqx/dsh-runtime-observability
分享 · DeepSeek Harness Hub
tianjiqx/dsh-runtime-observability

采集事件循环与内存指标,守护遥测链路稳定

这是你的仓库?认领条目

回到顶部