效用子系统
效用子系统中的服务提供执行统计数据。通过使用此子系统中的服务,可获得下列信息:
服务完成执行所需的时间 (最短时间、最长时间和平均时间)
服务执行次数
由于超时而终止的 JavaScript 服务和订阅。请参阅下面的 有关因超时而终止脚本执行的统计数据
从上次重新启动服务器开始记录统计数据 (以毫秒为单位),但可以通过启用“启用统计数据持久化”选项对其进行持久化。通过使用 WriteStatisticsReport 服务,可以将包含这些统计数据的 CSV 文件写入 ThingworxStorage 文件夹。
* 
统计数据仅针对已完成的服务提供。如果服务的执行过程尚未完成,则不会将该服务纳入统计数据中。
参数
默认值
说明
“启用统计数据”
false
启用时,平台会收集统计数据。禁用时,服务不会返回统计数据。
“启用实体名称聚合”
true
如果多个实体使用相同的服务,则会显示服务的聚合统计数据。
* 
启用聚合可以节省内存。如果关闭,可能会影响性能。如果内存增加到不可接受的级别,请执行 ResetStatistics 服务。
“显示百分比”
false
在配置表中显示其他百分比统计数据。
“启用统计数据持久化”
false
启用此功能并重新启动服务器之后,会保留所有运行时统计数据。重新启动平台后会保留数据。
UtilizationStatistics 服务
服务
说明
GetAuthenticationStatistics
返回特定身份验证类型的发生次数及身份验证成功与否的相关数据。身份验证类型包括表单登录、HTTP 基本、应用程序密钥、SSO 和自定义身份验证器。
GetEntityServiceStatistics
返回每个实体的服务执行的最短时间、最长时间、平均时间和计数。
* 
如果启用聚合,它将为所有实体返回一个服务。
GetEntityStatistics
返回 GetEntityServiceStatisticsGetEntitySubscriptionStatistics 服务中统计数据的组合。
GetEntitySubscriptionStatistics
返回执行实体事件订阅的时间统计数据 (最短时间、最长时间、平均时间、总计时间)。
GetStatistics
返回 GetEntityServiceStatisticsGetEntitySubscriptionStatisticsGetAuthenticationStatistics 服务中的所有统计数据。包括每个已执行服务的最短时间、最长时间、平均时间和计数。
ResetAuthenticationStatistics
重置身份验证统计数据。
ResetEntityServiceStatistics
重置实体服务统计数据。
ResetEntityStatistics
重置实体统计数据。
ResetStatistics
重置所有统计数据。
ResetEntitySubscriptionStatistics
重置实体的订阅统计数据。
WriteAuthenticationStatisticsReport
将名称唯一的 CSV 文件写入到以下位置:ThingworxStorage/reports/UtilizationStatistics
WriteEntityServiceStatisticsReport
将名称唯一的 CSV 文件写入到以下位置:ThingworxStorage/reports/UtilizationStatistics
WriteEntityStatisticsReport
将名称唯一的 CSV 文件写入到以下位置:ThingworxStorage/reports/UtilizationStatistics
WriteEntitySubscriptionStatisticsReport
将名称唯一的 CSV 文件写入到以下位置:ThingworxStorage/reports/UtilizationStatistics
WriteStatisticsReport
将名称唯一的 CSV 文件写入到以下位置:ThingworxStorage/reports/UtilizationStatistics
统计数据的命名模式
命名模式如下所示:
收集的所有统计数据的前缀为 twx.stats
收集的身份验证统计数据的前缀为 twx.stats.authentication
收集的实体统计数据的前缀为 twx.stats.entity
收集的实体服务统计数据的前缀为 twx.stats.entity.<实体名称>.services.<服务名称>
收集的实体订阅统计数据的前缀为 twx.stats.entity.<实体名称>.subscriptions.<订阅事件的源>.<订阅类型>.<属性名称>
服务的 "naming" 参数数据类型包括:
前缀 - 添加到您想返回统计数据的服务的开头。例如,要仅查看身份验证统计信息,则需向 GetStatistics 服务提供 twx.stats.authentication 前缀,或使用无参数的 GetAuthententicationStatistics 便利服务。
正则表达式 - 可用于实体名称和服务。如果聚合选项已关闭,则可以选择查看遵循正则表达式模式的所有实体。您可以使用正则表达式显示某些以 Get 单词开头的服务。使用的正则表达式模式遵循记录在 https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html 中的 Java 正则表达式模式
有关因超时而终止脚本执行的统计数据
ThingWorx Platform 会终止长时间运行的脚本,并将此操作报告到平台日志。自 v.8.5.0 起,ThingWorx Platform 还会收集有关因超时而导致的任何脚本终止的统计数据。当执行时间超过配置的脚本超时值时,系统会记录该统计数据。平台会收集以 JavaScript 编写的服务和订阅的统计数据。
* 
默认情况下,ThingWorx 平台上的脚本超时设置为 30 秒。如果脚本运行时间超过此时间限制,则平台会终止执行。ThingWorx 管理员可以在 platform-settings.json 配置文件的“基本设置”部分配置脚本超时。另请参见 plateform-settings.json 配置详细信息
统计数据包括在效用子系统内下列服务的结果中:
GetStatistics
GetEntityStatistics
GetEntityServiceStatistics
GetEntitySubscriptionStatistics
WriteStatisticsReport
WriteEntityStatisticsReport
WriteEntityServiceStatisticsReport
WriteEntitySubscriptionStatisticsReport
可以为服务提供超时统计数据,使用的命名模式如下所示:

twx.stats.entity.<entity-name>.services.<service-name>.timedout
同样地,也可以为订阅提供超时统计数据,使用的命名模式如下所示:

twx.stats.entity.<entity-name>.subscriptions.<subscription-name>.timedout
当指定的脚本超时时,这些 timedout 统计数据会追踪发生次数和持续时间统计数据。