oslo_reports.models 包¶
子模块¶
oslo_reports.models.base 模块¶
提供基础报告模型
此模块定义了一个类,它代表基本报告数据模型,所有数据模型都应继承自该模型(或至少实现类似的功能)。数据模型存储生成器在报告序列化过程中生成的不序列化数据。
- class oslo_reports.models.base.ReportModel(data=None, attached_view=None)¶
继承自
MutableMapping一个报告数据模型
一个报告数据模型包含由某些生成器方法或类生成的数据。可以使用字典式访问来读取或写入数据,并且可以使用对象成员式访问来读取(但不能写入)数据。此外,数据模型可以具有关联的视图。当在模型上调用 str() 时,该视图用于序列化模型。视图的适当对象是可调用对象,并带有一个参数:要序列化的模型。
如果存在,作为数据传入的对象将被转换为标准的 Python 字典。对于映射,这非常简单。对于序列,索引将成为键,项目将成为值。
- 参数:
data – 要与模型关联的数据序列或映射
attached_view – 要附加到此模型的视图对象
- set_current_view_type(tp, visited=None)¶
设置当前视图类型
此方法尝试为该模型和所有子模型设置当前视图类型,方法是在所有值上递归调用自身,在可能的情况下遍历中间序列和映射,并忽略所有其他对象。
- 参数:
tp – 视图的类型(‘text’、‘json’、‘xml’ 等)
visited – 一个对象 ID 集合,其对应的对象已经设置了视图类型
oslo_reports.models.conf 模块¶
提供 OpenStack 配置模型
此模块定义了一个类,它代表 oslo_config 配置选项的数据模型
- class oslo_reports.models.conf.ConfigModel(conf_obj)¶
-
一个配置选项模型
此模型保存来自
oslo_config的一组配置选项的数据。它支持默认选项组和命名选项组。- 参数:
conf_obj (
oslo_config.cfg.ConfigOpts) – 一个配置对象
oslo_reports.models.process 模块¶
提供进程模型
此模块定义了一个类,它代表一个进程,可能带有子进程。
- class oslo_reports.models.process.ProcessModel(process)¶
-
一个进程模型
此模型保存有关进程的数据,包括对任何子进程的引用
- 参数:
process – 一个
psutil.Process对象
oslo_reports.models.threading 模块¶
提供线程和堆栈跟踪模型
此模块定义了代表线程、绿色线程和堆栈跟踪数据模型的类
- class oslo_reports.models.threading.GreenThreadModel(stack)¶
-
一个绿色线程模型
此模型保存有关单个线程的信息的数据。与线程模型不同,它仅保存堆栈跟踪,因为绿色线程没有线程 ID。
参见
- 参数:
stack – 绿色线程的 Python 堆栈状态
- class oslo_reports.models.threading.StackTraceModel(stack_state)¶
-
一个堆栈跟踪模型
此模型保存来自 Python 堆栈跟踪的数据,通常从正在运行的线程信息中提取
- 参数:
stack_state – Python stack_state 对象
- class oslo_reports.models.threading.ThreadModel(thread_id, stack)¶
-
一个线程模型
此模型保存有关单个线程的信息的数据。它保存线程 ID 以及线程的堆栈跟踪
参见
- 参数:
thread_id (int) – 线程的 ID
stack – 当前线程的 Python 堆栈状态
oslo_reports.models.version 模块¶
提供 OpenStack 版本信息模型
此模块定义了一个类,它代表 OpenStack 包和版本信息的数据模型
- class oslo_reports.models.version.PackageModel(vendor, product, version)¶
-
一个包信息模型
此模型保存有关当前包的信息。它包含供应商、产品和版本信息。
- 参数:
vendor (str) – 产品供应商
product (str) – 产品名称
version (str) – 产品版本
oslo_reports.models.with_default_views 模块¶
- class oslo_reports.models.with_default_views.ModelWithDefaultViews(*args, **kwargs)¶
基类:
ReportModel具有各种类型默认视图的模型
具有默认视图的模型具有几个预定义的视图,每个视图都与给定的类型相关联。这通常用于当子模型应具有附加视图时,但视图取决于序列化格式
参数与超类相同,除了任何以 ‘_view’ 结尾的参数:这些参数作为默认视图存储。
默认的“默认视图”是
- text
- xml
- json
- to_type()¶
(‘type’ 是此模型定义的“默认视图”之一) 使用 ‘type’ 的默认视图序列化此模型
- 返回类型:
str
- 返回值:
此模型序列化为 ‘type’
- set_current_view_type(tp, visited=None)¶
设置当前视图类型
此方法尝试为该模型和所有子模型设置当前视图类型,方法是在所有值上递归调用自身,在可能的情况下遍历中间序列和映射,并忽略所有其他对象。
- 参数:
tp – 视图的类型(‘text’、‘json’、‘xml’ 等)
visited – 一个对象 ID 集合,其对应的对象已经设置了视图类型
模块内容¶
提供数据模型
此模块提供基础数据模型,以及要在报告中使用的几个预定义的特定数据模型。