服务块中的 Anylogic 测量时间

问题描述 投票:0回答:2

有谁知道如何测量服务块中的时间,特别是服务块队列中的平均时间? 谢谢!

time service average anylogic measure
2个回答
1
投票

不能直接

  • 使用“进入时”操作在代理中记录队列进入时间(通过

    time()
    函数)(这将需要使用自定义代理类型和
    double
    变量称为
    serviceEntryTime
    或类似)

  • 通过

    time() - serviceEntryTime
    使用'on seize'动作测量持续时间直到它离开队列(通过占用它需要的资源)并将此值添加到统计对象,然后它将为您提供各种统计数据(包括平均值)通过它提供的功能。

或者将你的服务块拆分成一个TimeMeasureStart——Seize——TimeMeasureEnd——Delay——Release序列。 TimeMeasureEnd 块有一个内置的直方图数据对象,它将通过

blockName.distribution.mean()
.

为您提供平均值

0
投票

所以“进入”动作,我插入代码:

double queueStartTime = time()
,然后“抓住”动作,我插入代码
double queueTime = time() - queueStartTime
;但它说 queueStartTime 不能解析为变量。你知道如何解决这个问题

© www.soinside.com 2019 - 2024. All rights reserved.