主要维护者¶
- 主要维护者
sross-7
- 其他贡献者
无
https://blueprints.launchpad.net/oslo-incubator/+spec/graduate-oslo-reports
目前,reports 模块提供了一种便捷的方式来汇编关于给定 OpenStack 进程当前状态的“Guru Meditation Reports”(大师冥想报告)。基本报告包括线程(包括普通线程和绿色线程)状态和堆栈跟踪,以及配置和版本信息。报告是可定制的,并且可以根据每个进程或每个项目进行扩展,添加额外的部分。该机制还包括设置报告在 SIGUSR1 信号发生时转储到标准输出(或文件),并且可以序列化为文本(默认),以及 XML 和 JSON 格式。
该库将被命名为“oslo.reports”。当前在孵化器中的名称是“openstack.common.report”,但将名称复数化似乎更自然。
openstack/common/report/report.py openstack/common/report/utils.py openstack/common/report/guru_meditation_report.py openstack/common/report/__init__.py openstack/common/report/views/__init__.py openstack/common/report/views/text/__init__.py openstack/common/report/views/text/generic.py openstack/common/report/views/text/threading.py openstack/common/report/views/text/header.py openstack/common/report/views/xml/__init__.py openstack/common/report/views/xml/generic.py openstack/common/report/views/jinja_view.py openstack/common/report/views/json/__init__.py openstack/common/report/views/json/generic.py openstack/common/report/generators/conf.py openstack/common/report/generators/__init__.py openstack/common/report/generators/version.py openstack/common/report/generators/threading.py openstack/common/report/models/base.py openstack/common/report/models/conf.py openstack/common/report/models/__init__.py openstack/common/report/models/version.py openstack/common/report/models/with_default_views.py openstack/common/report/models/threading.py
tests/unit/reports/test_base_report.py tests/unit/reports/test_guru_meditation_report.py tests/unit/reports/test_openstack_generators.py tests/unit/reports/test_views.py
无
reports 模块包含几个公共子模块
包含围绕设置信号处理程序和注册持久自定义部分的代码
包含报告本身的基本类,包括一个用于整个报告的类、一个用于每个部分的类,以及一个专门用于序列化为文本的报告的子类
包含包含生成器代码的子模块:conf、threading、version(请注意,这里没有 base 模块,因为生成器只是可调用对象)
包含包含基本模型类(base 和 with_default_views)以及实现模型类(threading、version 和 conf)的子模块
包含包含基于 Jinja 的基本视图(jinja_view)的子模块,以及 JSON、XML 和文本视图(分别为 json、xml 和 text)。请注意,每个序列化格式子模块都包含一个 generic 子模块,其中包含通用类,并且 text 子模块还包含 header 子模块(以及 threading 子模块,该子模块可能被设为私有)。
以下子模块不一定需要是公共的
包含一个用于将属性附加到字符串的实用程序类,以及一个使用垃圾回收器功能查找特定类所有对象的函数。这些都不需要作为公共接口暴露,并且查找对象的函数可以移动到使用它的生成器的文件中(StringWithAttrs 同时被 reports.views.xml.generic 和 reports.views.json.generic 使用),因此它需要保留在自己的文件中。
这包含几个特定于某些模型(这些模型已经将它们设置为默认文本视图)的视图,因此不需要是公共的。
sross-7
无
sross-7
无
sross-7
完成目标里程碑:未知
应完成毕业检查清单。
此外,在 reports 当前使用 str 而应使用 six.text_type 的几个地方。在完成毕业之前应修复这些问题。
无
oslo.utils
oslo.serialization
无
注意
本作品采用知识共享署名 3.0 非移植许可协议授权。 http://creativecommons.org/licenses/by/3.0/legalcode
除非另有说明,此文档根据 知识共享署名 3.0 许可 授权。请参阅所有 OpenStack 法律文件。