如何获取AnyLogic中Service块的队列统计数据(大小、等待时间)
AnyLogic Service块指标获取解决方案
你收到报错的核心原因是调用的字段拼写错误,正确拼写为seize而非sieze。同时AnyLogic提供了更简洁的公开API来获取Service块的相关统计指标,无需直接访问内部嵌套的seize对象。
平均排队数量获取
两种可行调用方式:
- 直接调用Service块公开队列的统计值:
myService.queue.statsSize.mean(),该方法兼容性更高,为官方推荐写法 - 访问内部seize对象的队列统计(注意拼写正确):
myService.seize.queue.statsSize.mean()
平均等待时间获取
这里的平均等待时间指代理在队列中等待服务的平均时长,调用方法为:myService.queue.statsWaitTime.mean()
如果你需要获取代理从进入Service块到离开的总平均停留时长(包含服务时间),可调用:myService.statsTotalTime.mean()
注意事项
- 你目前使用的
myService.queueSize()获取的是队列当前瞬时长度,不属于统计均值指标 - 请确认Service块的「收集统计数据」配置项处于勾选状态,否则统计对象未初始化,调用相关方法会报错
内容的提问来源于stack exchange,提问作者elias temponi
相关产品推荐
相关产品推荐

