支持子系统
“支持子系统”使得您所使用的工具能够诊断 ThingWorx 环境中的问题。您可使用此子系统在您的环境中配置堆栈跟踪和堆转储的运行。在 ThingWorx 9.0.11、9.1.6、9.2.2 及更高版本中,支持子系统默认情况下处于启用状态,且无法停止或禁用。
此子系统替换了不再受支持的 PTC 支持工具扩展。
服务
特定于支持子系统的服务
说明
DeleteStacktraceFiles
删除 SupportRepository 中具有与支持子系统所生成的堆栈跟踪文件格式相同的所有文件。您可以使用此服务来移除多余的先前堆栈跟踪文件,以便可以执行新的堆栈跟踪。
DisableHeapDumps
“监测程序设置”配置表中的“启用堆转储”复选框设置为 false。当将“启用堆转储”设置为 false 时,DumpHeapDumpHeapAndAllThreads 服务将无法执行。
DumpAllThreads
在执行服务的平台上收集所有线程的堆栈跟踪。在群集环境中,只有接收请求的平台才会收集堆栈跟踪。收集完堆栈跟踪后,会在 SupportRepository 中生成一个名为 stacktrace_<platform-id> 的文件,其中 <platform-id> 为该平台 platform-settings.json 文件中的平台 ID。如果在同一平台上再次调用该服务,则会收集新的堆栈跟踪,并将其附加到现有文件的末尾。如果 SupportRepository 中的硬盘空间少于 5%,则 DumpAllThreads 将无法运行。
DumpHeap
在执行服务的平台上收集堆转储。如果将“监测程序设置”配置中的“启用堆转储”复选框设置为 false (默认值) 或未调用 EnableHeapDumps 服务,则不会执行任何堆转储。
在群集环境中,只有接收服务调用的平台才会收集堆转储。收集完堆转储后,会在 SupportRepository 中生成一个名为 heapdump_<platform-id>_<timestamp>.hprof 的文件,其中 <platform-id> 为在该平台 platform-settings.json 文件中分配给该平台的平台 ID,<timestamp> 为当前的系统时间 (以毫秒为单位)。每次调用此服务时,DumpHeap 都会生成一个新的堆转储文件。如果 SupportRepository 中的硬盘空间少于 5%,则 DumpHeap 将无法运行。
用于从运行的平台中转储堆的机制依赖于可能不存在或不受每个 JVM 支持的特定 JVM 技术。如果 JVM 无法执行堆转储,则会显示一条错误消息。
DumpHeapAndAllThreads
在单个服务调用中执行 DumpHeapDumpAllThreads 服务。结果将在调用该服务的平台上生成具有唯一时间戳的堆转储文件以及任何现有堆栈跟踪文件中的其他堆栈跟踪信息。如果不存在任何堆栈跟踪文件,则系统将予以创建。如果将“启用堆转储”配置复选框设置为 false,则此服务将无法执行堆转储或堆栈跟踪。
EnableHeapDumps
“监测程序设置”配置表中的“启用堆转储”复选框设置为 true。默认值为 false。
启用后,DumpHeapDumpHeapAndAllThreads 可进行任意次数的调用。
GetRepositoryFreePercent
返回一个表示 SupportRepository 中可用磁盘空间百分比的 NUMBER。其他服务使用此服务来确定是否继续执行堆转储和堆栈跟踪,或是否存在足够的剩余磁盘空间。
GetSupportFileLinks
返回一个包含所有堆转储和堆栈跟踪相关信息的信息表,其中还包括从信息库下载所生成文件的链接。此服务的功能与 GetFileListingWithLinks 完全相同,其中,所提供的名称掩码将检索每个堆转储和堆栈跟踪文件。
GetWatchdogInterval
检索“监测程序间隔”配置值,该值为 1 或 1 秒以上的 INTEGER 基本类型。
SetWatchdogInterval
更改“监测程序设置”配置表中的“监测程序间隔”配置值。此配置值可更改运行 DiagnosticWatchdog 时执行堆栈跟踪的间隔。间隔值可以为 1 或 1 秒以上的 INTEGER 基本类型。
StartDiagnosticWatchdog
在群集中的每个平台上开始后台进程。进程会以指定时间间隔持续为每个平台生成堆栈跟踪。文件在 SupportRepository 中生成,并且命名为 watchdog-stacktrace_<platform-id>,其中 <platform-id> 是在其 platform-settings.json 文件中分配给该平台的平台 ID。DiagnosticWatchdog 在每个平台上运行,或不在任何平台上运行。
您可在“监测程序间隔”字段中或通过使用 SetWatchdogInterval 服务来以秒为单位设置堆栈跟踪间隔。
StartDiagnosticWatchdog 服务还会在 SupportRepository 中生成 runstacktrace 文件。只要该文件存在,DiagnosticWatchdog 便会收集堆栈跟踪。如果该文件已重命名或移除,则 DiagnosticWatchdog 将保持空闲。如果在启用 DiagnosticWatchdog 时重新引入 runstacktrace 文件,则堆栈跟踪将在其设定的时间间隔内恢复。DiagnosticWatchdog 禁用后,runstacktrace 文件将被删除。此外,如果 SupportRepository 中剩余的硬盘空间少于 5%,则 DiagnosticWatchdog 将无法收集堆转储或堆栈跟踪。
如果平台或群集无法启动,且支持子系统不可访问,则可在平台启动或第一个进入群集的平台启动时强制启用 DiagnosticWatchdog。要执行此操作,请在 ThingworxStorage/repositories 目录中创建 SupportRepository 目录 (如果其尚不存在)。然后,创建一个名为 runstacktrace 且无需任何扩展名和内容的新文件。然后启动平台。平台应检测文件、自动将“启用监测程序”复选框设置为 true 并运行 DiagnosticWatchdog
* 
在 ThingWorx 9.0.10、9.1.5、9.2.1 以及更早版本中,可通过将“监测程序设置”配置表中的“启用监测程序”复选框设置为 true 来启用 DiagnosticWatchdog
StopDiagnosticWatchdog
“监测程序设置”配置表中,将“启用监测程序”复选框设置为 false。如果此设置为 false,则 DiagnosticWatchdog 将会关闭,此时所有自动进行的堆栈跟踪收集都将停止。此外还会移除 runwatchdog 文件。但不会删除任何现有堆转储或堆栈跟踪文件。
CreateRunStackTraceFile
在支持子系统文件信息库中创建 runstacktrace 文件。
* 
此服务仅在 ThingWorx 9.0.11、9.1.6、9.2.2 及更高版本中可用。
RemoveRunStackTraceFile
移除支持子系统文件信息库中的 runstacktrace 文件。
* 
此服务仅在 ThingWorx 9.0.11、9.1.6、9.2.2 及更高版本中可用。
配置
监测程序设置
基本类型
默认
注解
“启用监测程序”
BOOLEAN
True
默认情况下,它将处于启用状态。
* 
在 ThingWorx 9.0.10、9.1.5、9.2.1 及更早版本中,此设置默认为 false。
“监测程序间隔”
INTEGER
30
间隔值可设置为一秒或一秒以上。
“启用堆转储”
BOOLEAN
false
默认情况下,它将处于禁用状态。
这对您有帮助吗?