需依层级启用对应采集机制:一、启用内置prometheus端点;二、配置opentelemetry扩展指标;三、调用trajectorymetrics压缩统计;四、集成cadvisor容器指标;五、手动注入cprofile分析函数耗时。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您正在运行Hermes Agent并希望获取其运行时的性能表现数据,则需依据不同层级和用途启用对应的数据采集机制。以下是收集Hermes Agent性能指标的具体方法:
一、启用内置Prometheus指标端点
该方法通过Hermes Agent原生支持的指标暴露功能,快速获取标准化、可集成的实时性能数据。它依赖vLLM等底层模块提供的/metrics接口,适用于大多数生产监控场景。
1、在启动Hermes Agent服务时,向命令行添加--enable-metrics --metrics-port 9090参数;
2、确保服务成功启动后,执行curl http://localhost:9090/metrics验证端点可用性;
3、确认返回内容中包含hermes_request_count、vllm_gpu_cache_hit_ratio、hermes_task_completion_time_seconds等关键指标条目;
4、将该地址配置为Prometheus的target,完成自动拉取与持久化存储。
二、配置OpenTelemetry指标收集
该方式提供更灵活的指标扩展能力,支持自定义业务维度埋点,并兼容多种后端监控系统(如Grafana Cloud、Datadog),适合需要深度追踪任务链路或跨服务关联分析的场景。
1、编辑Hermes Agent的主配置文件,在telemetry节区下添加以下YAML配置:
use_otel_metrics: true
otel_metrics_host: 0.0.0.0
otel_metrics_port: 8000
2、确保opentelemetry-exporter-prometheus或对应Exporter已安装并启用;
3、重启服务后,访问http://localhost:8000/metrics确认OpenTelemetry指标已就绪;
4、在配置中新增自定义字段,例如business_workflow_success_rate,通过meter.create_gauge()注册并周期性更新。
三、调用TrajectoryMetrics聚合轨迹压缩指标
该方法专用于评估对话上下文管理效能,直接读取trajectory_compressor.py中定义的结构化压缩统计,适用于关注内存优化与长程交互质量的调试阶段。
1、确认agent/trajectory_compressor.py中TrajectoryMetrics类已启用;
2、在轨迹处理流程末尾调用add_trajectory_metrics(original_tokens=..., compressed_tokens=...);
3、通过get_compression_summary()方法提取compression_ratio、tokens_saved等字段;
4、将返回的字典对象序列化为JSON,写入本地日志或转发至日志收集服务。
四、集成cAdvisor与容器运行时指标
该方式从基础设施层捕获资源使用真实值,规避应用内指标可能存在的采样偏差,特别适用于Kubernetes或Docker部署环境下的容量规划与异常定位。
1、在运行Hermes Agent的容器宿主机上部署cAdvisor,监听默认端口8080;
2、验证http://<strong><font color="green">宿主机IP</font></strong>:8080/metrics可返回容器级CPU、内存、网络I/O原始数据;
3、在Prometheus配置中添加cAdvisor为独立job,设置metrics_path: '/metrics';
4、使用标签匹配(如container_label_io_kubernetes_container_name=~"hermes-agent")筛选目标容器指标。
五、手动注入profiling工具采集函数级耗时
该方法用于深度诊断性能瓶颈,生成调用栈火焰图与热点函数列表,适用于开发阶段的定向优化或疑难延迟问题复现。
1、在入口脚本顶部插入import cProfile与import pstats;
2、在主事件循环前启动profiler:pr = cProfile.Profile(); pr.enable();
3、在服务退出前停止并保存:pr.disable(); pr.dump_stats("hermes_profile.prof");
4、使用pstats加载分析:python -m pstats hermes_profile.prof,执行sort cumulative与top 20定位耗时最长函数。











