美文网首页
第三十九章 ObjectScript Productions -

第三十九章 ObjectScript Productions -

作者: Cache技术分享 | 来源:发表于2023-06-25 08:39 被阅读0次

    第三十九章 开发Productions - ObjectScript Productions - Defining Business Metrics - 以编程方式设置和获取值

    以编程方式设置和获取值

    在某些情况下,可能需要以编程方式访问指标属性。例如,可能希望业务流程直接读取或设置度量属性。为此,请在新选项卡中使用 Ens.BusinessMetricOpensGetMetric()SetMetric() 类方法。

    使用 GetMetric() 方法

    GetMetric() 类方法从业务指标缓存中读取指定指标属性的当前值。按如下方式调用此方法:

      Set value = ##class(Ens.BusinessMetric).GetMetric(metric,property)
    

    其中 metric 是业务指标的名称(配置名称,而不是类名),property 是指标属性的名称。如果 GetMetric() 无法读取指定值,它会返回一个空字符串。

    要从多维指标属性中读取值,有第三个可选参数,用于指定要读取属性的哪个子节点。例如:

      Set value(1) = ##class(Ens.BusinessMetric).GetMetric(metric,property,1)
    

    使用 SetMetric() 方法

    SetMetric() 类方法设置业务指标缓存中指定指标属性的值。按如下方式调用此方法:

      Set tSC = ##class(Ens.BusinessMetric).SetMetric(metric,property,value)
    

    其中 metric 是业务指标的名称(配置名称,不是类名),property 是指标属性的名称,value 是指标属性应设置的值。

    SetMetric() 在代码中返回一个 %Status指示成功或失败。 SetMetric() 可能无法获取业务指标的锁,并可能因此失败。

    要设置多维指标属性的所有值,请创建值数组,然后通过引用传递该数组。例如:

      For i=1:1:20 {
        Set data(i) = i*i
      }
      Set tSC = ##class(Ens.BusinessMetric).SetMetric("MyMetric","MyGraph",.data)
    

    关于业务指标缓存

    为了尽可能高效地检索指标值, IRIS 将这些值存储在缓存中。此缓存是全局 ^IRIS.Temp.EnsMetrics,其结构如下:

     ^IRIS.Temp.EnsMetrics(Namespace,BusinessMetric,Instance,Property) = value
    
    • Namespace 命名空间是运行带有指标的生产的命名空间。
    • BusinessMetric 是业务指标的生产配置名称。
    • Instance 实例是实例编号。实例按照它们被定义的顺序编号。
    • Property 属性是业务度量属性的名称。

    相关文章

      网友评论

          本文标题:第三十九章 ObjectScript Productions -

          本文链接:https://www.haomeiwen.com/subject/wcdiydtx.html