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)

基类: ModelWithDefaultViews

一个配置选项模型

此模型保存来自 oslo_config 的一组配置选项的数据。它支持默认选项组和命名选项组。

参数:

conf_obj (oslo_config.cfg.ConfigOpts) – 一个配置对象

oslo_reports.models.process 模块

提供进程模型

此模块定义了一个类,它代表一个进程,可能带有子进程。

class oslo_reports.models.process.ProcessModel(process)

基类: ModelWithDefaultViews

一个进程模型

此模型保存有关进程的数据,包括对任何子进程的引用

参数:

process – 一个 psutil.Process 对象

oslo_reports.models.threading 模块

提供线程和堆栈跟踪模型

此模块定义了代表线程、绿色线程和堆栈跟踪数据模型的类

class oslo_reports.models.threading.GreenThreadModel(stack)

基类: ModelWithDefaultViews

一个绿色线程模型

此模型保存有关单个线程的信息的数据。与线程模型不同,它仅保存堆栈跟踪,因为绿色线程没有线程 ID。

参见

StackTraceModel

参数:

stack – 绿色线程的 Python 堆栈状态

class oslo_reports.models.threading.StackTraceModel(stack_state)

基类: ModelWithDefaultViews

一个堆栈跟踪模型

此模型保存来自 Python 堆栈跟踪的数据,通常从正在运行的线程信息中提取

参数:

stack_state – Python stack_state 对象

class oslo_reports.models.threading.ThreadModel(thread_id, stack)

基类: ModelWithDefaultViews

一个线程模型

此模型保存有关单个线程的信息的数据。它保存线程 ID 以及线程的堆栈跟踪

参见

StackTraceModel

参数:
  • thread_id (int) – 线程的 ID

  • stack – 当前线程的 Python 堆栈状态

oslo_reports.models.version 模块

提供 OpenStack 版本信息模型

此模块定义了一个类,它代表 OpenStack 包和版本信息的数据模型

class oslo_reports.models.version.PackageModel(vendor, product, version)

基类: ModelWithDefaultViews

一个包信息模型

此模型保存有关当前包的信息。它包含供应商、产品和版本信息。

参数:
  • 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

oslo_reports.views.text.generic.KeyValueView

xml

oslo_reports.views.xml.generic.KeyValueView

json

oslo_reports.views.json.generic.KeyValueView

to_type()

(‘type’ 是此模型定义的“默认视图”之一) 使用 ‘type’ 的默认视图序列化此模型

返回类型:

str

返回值:

此模型序列化为 ‘type’

set_current_view_type(tp, visited=None)

设置当前视图类型

此方法尝试为该模型和所有子模型设置当前视图类型,方法是在所有值上递归调用自身,在可能的情况下遍历中间序列和映射,并忽略所有其他对象。

参数:
  • tp – 视图的类型(‘text’、‘json’、‘xml’ 等)

  • visited – 一个对象 ID 集合,其对应的对象已经设置了视图类型

模块内容

提供数据模型

此模块提供基础数据模型,以及要在报告中使用的几个预定义的特定数据模型。