Ivan Kolodyazhny d23e0a65b2 Use file modification events instead of signal handler
In case if application is under Apache+mod_wsgi it is not recommended to
use signals [1]. We need to have configuration option for handling
'touch file' event instead of signal.

Alternative solutions:
1) watchdog: can monitor only directories, has issues with eventlet [2].
2) inotify: works only with linux-based systems.

[1]
https://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIRestrictSignal

[2] https://github.com/gorakhargosh/watchdog/issues/332

Change-Id: I6ef02457f21da8e6fbd50e57bfa503b3c31ddd76
Implements: blueprint guru-meditation-report-file-touch
2016-06-13 18:25:14 +03:00
2016-01-29 11:42:04 +01:00
2015-09-17 12:16:09 +00:00

oslo.reports

Latest Version

Downloads

When things go wrong in (production) deployments of OpenStack collecting debug data is a key first step in the process of triaging & ultimately resolving the problem. Projects like Nova has extensively used logging capabilities which produce a vast amount of data. This does not, however, enable an admin to obtain an accurate view on the current live state of the system. For example, what threads are running, what config parameters are in effect, and more.

The project oslo.reports hosts a general purpose error report generation framework, known as the "guru meditation report" (cf http://en.wikipedia.org/wiki/Guru_Meditation) to address the issues described above.

Models: These classes define structured data for a variety of interesting pieces of state. For example, stack traces, threads, config parameters, package version info, etc. They are capable of being serialized to XML / JSON or a plain text representation

Generators: These classes are used to populate the model classes with the current runtime state of the system

Views: views serialize models into say JSON, text or xml. There is also a predefined view that utilizes Jinja templating system.

There will be a number of standard models / generators available for all OpenStack services

StackTraceModel: a base class for any model which includes a stack trace ThreadModel: a class for information about a thread ExceptionModel: a class for information about a caught exception ConfigModel: a class for information about configuration file settings PackageModel: a class for information about vendor/product/version/package information

Each OpenStack project will have the ability to register further generator classes to provide custom project specific data.

Description
OpenStack library for creating Guru Meditation Reports and other reports
Readme 2.2 MiB
Languages
Python 100%