跳转到主要内容

监控、调试和性能分析在Cloud TPU上运行的作业。

项目描述

Cloud TPU Diagnostics

这是一个全面的库,用于监控、调试和性能分析在Cloud TPU上运行的作业。要了解Cloud TPU,请参阅完整文档

特性

1. 调试

1.1 收集堆栈跟踪

当程序中出现段错误、浮点异常、非法操作异常等故障时,此模块将输出Python跟踪信息。此外,它还会定期收集堆栈跟踪,以帮助调试在Cloud TPU上运行的程序卡住或挂起的情况。

安装

要安装包,请在TPU VM上运行以下命令

pip install cloud-tpu-diagnostics

使用方法

要使用此包,首先导入模块

from cloud_tpu_diagnostics import diagnostic
from cloud_tpu_diagnostics.configuration import debug_configuration
from cloud_tpu_diagnostics.configuration import diagnostic_configuration
from cloud_tpu_diagnostics.configuration import stack_trace_configuration

然后,为堆栈跟踪创建配置对象。当collect_stack_trace参数设置为True时,模块才会收集堆栈跟踪。目前支持以下场景

场景1:在故障时不收集堆栈跟踪
stack_trace_config = stack_trace_configuration.StackTraceConfig(
                      collect_stack_trace=False)

此配置将防止您在故障或进程挂起时收集堆栈跟踪。

场景2:在故障时收集堆栈跟踪并在控制台显示
stack_trace_config = stack_trace_configuration.StackTraceConfig(
                      collect_stack_trace=True,
                      stack_trace_to_cloud=False)

如果出现故障或进程挂起,此配置将在控制台(stderr)上显示堆栈跟踪。

场景 3:在故障时收集堆栈跟踪并上传到云端
stack_trace_config = stack_trace_configuration.StackTraceConfig(
                      collect_stack_trace=True,
                      stack_trace_to_cloud=True)

如果有故障或进程挂起,此配置将暂时在 TPU 主机上的 /tmp/debugging 目录中收集堆栈跟踪。此外,收集到的 TPU 主机内存中的跟踪将被上传到 Google Cloud Logging,这将使问题调试和修复更容易。您可以使用以下查询在 日志探索器 中查看跟踪

logName="projects/<project_name>/logs/tpu.googleapis.com%2Fruntime_monitor"
jsonPayload.verb="stacktraceanalyzer"

默认情况下,堆栈跟踪将每 10 分钟收集一次。要更改两次堆栈跟踪收集事件之间的持续时间,请添加以下配置

stack_trace_config = stack_trace_configuration.StackTraceConfig(
                      collect_stack_trace=True,
                      stack_trace_to_cloud=True,
                      stack_trace_interval_seconds=300)

此配置将在每 5 分钟后收集云上的堆栈跟踪。

然后,创建用于调试的配置对象。

debug_config = debug_configuration.DebugConfig(
                stack_trace_config=stack_trace_config)

然后,创建用于诊断的配置对象。

diagnostic_config = diagnostic_configuration.DiagnosticConfig(
                      debug_config=debug_config)

最后,使用 with 调用 diagnose() 方法,并使用上下文管理器包裹您想要收集堆栈跟踪的语句。

with diagnostic.diagnose(diagnostic_config):
    run_job(...)

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

cloud_tpu_diagnostics-0.1.5.tar.gz (8.4 kB 查看哈希)

上传时间

构建分发

cloud_tpu_diagnostics-0.1.5-py3-none-any.whl (11.9 kB 查看哈希)

上传时间 Python 3

由以下支持