美文网首页收藏
第二十九章 使用系统监视器 - 应用程序监视器指标

第二十九章 使用系统监视器 - 应用程序监视器指标

作者: Cache技术分享 | 来源:发表于2022-12-30 09:08 被阅读0次

    第二十九章 使用系统监视器 - 应用程序监视器指标

    Application Monitor自带的系统监控类调用各种示例类,如下表所示:

    Sample Classes Application Monitor System Classes
    Audit metrics %Monitor.System.Sample.AuditCount and %Monitor.System.Sample.AuditEvents
    Client metrics %Monitor.System.Sample.Clients
    Web Gateway metrics %Monitor.System.Sample.CSPGateway
    Disk space metrics %Monitor.System.Sample.Diskspace
    Free space metrics %Monitor.System.Sample.Freespace
    Global metrics %Monitor.System.Sample.Global
    History database metrics %Monitor.System.Sample.HistoryPerf , %Monitor.System.Sample.HistorySys, %Monitor.System.Sample.HistoryUser
    Journal metrics %Monitor.System.Sample.Journals
    License metrics %Monitor.System.Sample.License
    Lock table metrics %Monitor.System.Sample.LockTable
    Process metrics %Monitor.System.Sample.Processes
    Routine metrics %Monitor.System.Sample.Routines
    Server metrics %Monitor.System.Sample.Servers
    System activity metrics %Monitor.System.Sample.SystemMetrics

    控制 MONITOR 的类似功能可通过 %Monitor.System 包中的类获得,它还允许将数据保存为持久对象格式的命名集合。

    生成指标

    %Monitor.SampleAgent 类执行实际采样,调用指标类的 Initialize()GetSample() 方法。

    %Monitor.SampleAgent.%New() 构造函数接受一个参数:要运行的指标类的名称。它创建该类的实例,并调用该类的 Startup() 方法。然后,每次调用 %Monitor.SampleAgent.Collect() 方法时,Sample Agent 都会调用该类的 Initialize() 方法,然后重复调用该类的 GetSample() 方法。每次调用 GetSample() 时,%Monitor.SampleAgent 都会为指标类创建一个样本类。这些操作的伪代码是:

    set sampler = ##class(%Monitor.SampleAgent).%New("MyMetrics.Freespace")
    /* at this point, the sampler has created an instance of MyMetrics.Freespace,
    and invoked its Startup method */
    for I=1:1:10 { do sampler.Collect() hang 10 }
    /* at each iteration, sampler calls MyMetrics.Freespace.Initialize(), then loops
    on GetSample().  Whenever GetSample() returns $$$OK, sampler creates a new
    MyMetrics.Sample.Freespace instance, with the sample data. When GetSample()
    returns an error value, no sample is created, and sampler.Collect() returns. */
    

    查看指标数据

    所有指标类都支持 CSP;生成示例类时会自动生成 CSP 代码。因此,查看指标的最简单方法是使用网络浏览器;例如,基于生成指标中的示例并假设超级服务器端口为 52773CSP URLhttp://<instance-host>:52773/csp/user/MyMetrics.Sample.Freespace.cls,它显示类似的输出至:

    Monitor - Freespace c:\InterSystems\IRIS51\ 
                Name of dataset:  c:\InterSystems\IRIS51\
    Current amount of Freespace:  8.2MB
    
    Monitor - Freespace c:\InterSystems\IRIS51\mgr\ 
                Name of dataset:  c:\InterSystems\IRIS51\mgr\
    Current amount of Freespace:  6.4MB
    

    或者,可以类中使用 %Monitor.ViewDisplay(metric_class) 方法;例如:

    %SYS>set mclass="Monitor.Test.Freespace"
    
    %SYS>set col=##class(%Monitor.SampleAgent).%New(mclass)
    
    %SYS>write col.Collect()
    1
    %SYS>write ##class(%Monitor.View).Display(mclass)
    
    Monitor - Freespace    c:\InterSystems\IRIS51\
                    Name of dataset:  c:\InterSystems\IRIS51\
        Current amount of Freespace:  8.2MB
    
    Monitor - Freespace    c:\InterSystems\IRIS51\mgr\
                    Name of dataset:  c:\InterSystems\IRIS51\mgr\
        Current amount of Freespace:  6.4MB
    

    注: 名称中带有%(百分号)的类的URL必须使用%25。例如,对于%monitor or.System.Freesspace类,使用 Http://localhost:52773/csp/sys/%25Monitor.System.Freespace.cls CLS

    相关文章

      网友评论

        本文标题:第二十九章 使用系统监视器 - 应用程序监视器指标

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