效用子系统
效用子系统中的服务提供执行统计数据。通过使用此子系统中的服务,可获得下列信息:
服务完成执行所需的时间 (最短时间、最长时间和平均时间 - 单位为毫秒)
服务执行次数
由于超时而终止的 JavaScript 服务和订阅。请参阅下面的有关因超时而终止脚本执行的统计数据
事物订阅完成执行所需的时间 (最短时间、最长时间和平均时间)。
如果使用 thisSub.JSONState,则为事物订阅的内存大小 (单位为字节)。
从上次重新启动服务器开始记录统计数据,但可通过启用“启用统计数据持久化”选项对其进行持久化。通过使用 WriteStatisticsReport 服务,可以将包含这些统计数据的 CSV 文件写入 ThingworxStorage 文件夹。
* 
统计数据仅针对已完成的服务提供。执行过程尚未完成的服务不会纳入统计数据。
参数
默认值
说明
“启用时间统计数据”
false
启用时,平台会收集统计数据。禁用时,服务不会返回统计数据。
“启用内存大小统计数据”
false
启用后,平台会收集内存大小统计数据。禁用时,服务不会返回统计数据。
“启用统计数据持久化”
false
启用此参数并重新启动服务器后,会保留所有运行时统计数据。平台重新启动后会保留数据。
* 
最佳做法是,对于不经常更改 (例如一天仅更改几次) 且无需历史值的数据 使用“启用统计数据持久化”。但过度使用“启用统计数据持久化”可能会导致性能下降。
“显示时间统计数据”
true
显示时间统计数据。
“显示内存大小统计数据”
false
显示内存大小统计数据。
“启用实体名称聚合”
true
如果多个实体使用相同的服务,则会显示服务的聚合统计数据。
* 
启用聚合可以节省内存。如果关闭,可能会影响性能。如果内存增加到不可接受的级别,请执行 ResetStatistics 服务。
“显示百分比”
false
在配置表中显示其他百分比统计数据。
UtilizationStatistics 服务
服务
说明
GetAuthenticationStatistics
返回特定身份验证类型的发生次数及身份验证成功与否的相关数据。身份验证类型包括表单登录、HTTP 基本、应用程序密钥、SSO 和自定义身份验证器。
GetEntityServiceStatistics
返回每个实体的服务执行的最短时间、最长时间、平均时间和计数。
* 
如果启用聚合,它将为所有实体返回一个服务。
GetEntityStatistics
返回 GetEntityServiceStatisticsGetEntitySubscriptionStatistics 服务中统计数据的组合。
GetEntitySubscriptionStatistics
返回执行实体事件订阅的时间和/或内存大小统计数据 (最小值、最大值、平均值、计数)。
GetPropertyVTQCount
返回通过查询条件指定的属性计数。有关详细信息,请参阅使用 GetPropertyVTQCount 服务
GetQueryStatistics
返回查询统计数据。有关详细信息,请参阅查询统计数据
GetStatistics
返回 GetEntityServiceStatisticsGetEntitySubscriptionStatisticsGetAuthenticationStatistics 服务中的所有统计数据。包括每个已执行服务的最短时间、最长时间、平均时间和计数。订阅也可能包含内存统计数据。
ResetAuthenticationStatistics
重置身份验证统计数据。
ResetEntityServiceStatistics
重置实体服务统计数据。
ResetEntityStatistics
重置实体统计数据。
ResetQueryStatistics
重置查询统计数据。有关详细信息,请参阅查询统计数据
ResetStatistics
重置所有统计数据。
ResetEntitySubscriptionStatistics
重置实体的订阅统计数据。
WriteAuthenticationStatisticsReport
将名称唯一的 CSV 文件写入到以下位置:ThingworxStorage/reports/UtilizationStatistics
WriteEntityServiceStatisticsReport
将名称唯一的 CSV 文件写入到以下位置:ThingworxStorage/reports/UtilizationStatistics
WriteEntityStatisticsReport
将名称唯一的 CSV 文件写入到以下位置:ThingworxStorage/reports/UtilizationStatistics
WriteEntitySubscriptionStatisticsReport
将名称唯一的 CSV 文件写入到以下位置:ThingworxStorage/reports/UtilizationStatistics
WriteQueryStatisticsReport
写入查询统计数据。有关详细信息,请参阅查询统计数据
WriteStatisticsReport
将名称唯一的 CSV 文件写入到以下位置:ThingworxStorage/reports/UtilizationStatistics
统计数据的命名模式
命名模式如下所示:
收集的所有统计数据的前缀为 twx.stats
收集的身份验证统计数据的前缀为 twx.stats.authentication
收集的实体统计数据的前缀为 twx.stats.entity
收集的实体服务统计数据的前缀为 twx.stats.entity.<实体名称>.services.<服务名称>
收集的实体订阅统计信息位于以下路径:twx.stats.entity.<实体名称>.subscriptions.<订阅名称>
查询统计数据收集在 twx.stats.query 下。
服务的 "naming" 参数数据类型包括:
前缀 - 添加到您想返回统计数据的服务的开头。例如,要仅查看身份验证统计数据,则需向 GetStatistics 服务提供 twx.stats.authentication 前缀,或使用无参数的 GetAuthententicationStatistics 便利服务。
正则表达式 - 可用于实体名称和服务。如果聚合选项已关闭,则可以选择查看遵循正则表达式模式的所有实体。您可以使用正则表达式显示某些以 Get 单词开头的服务。使用的正则表达式模式遵循记录在 https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html 中的 Java 正则表达式模式。
有关因超时而终止脚本执行的统计数据
ThingWorx Platform 会终止长时间运行的脚本,并将此操作报告到平台日志。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 统计数据会追踪发生次数和持续时间统计数据。
这对您有帮助吗?