| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This is to put all PostgreSQL related functions in one place. Using the
init_xmlparser() the function needed to format arrays are provided to the
xmlparser code paths.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
| |
This is the first step towards moving PostgreSQL specific parts out of xmlparser.c
to make the xmlparser database backend agnostic.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
|
|
|
|
| |
Implemented a new value type for the internal <sqldata/> XML format, which will
store data in an PostgreSQL array. This is used now to store the CPU core spread
of the socket in a sepearate field in rtevalruns_details.
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
|
| |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
| |
|
|
|
|
|
|
| |
This change will support both the new <cpu_topology/> tag and the old
<cpu_cores/> tag. Added extraction of data for the
rtevalruns_details.num_cpu_sockets field as well.
|
|
|
|
|
|
|
| |
Have not yet implemented extraction new cpu_topology tags, but
the summary of this information will go into the num_cpu_cores and
num_cpu_sockets fields in the database. Right now it only takes
the /rteval/hardware/cpu_cores and puts it into num_cpu_cores
|
| |
|
|
|
|
|
| |
Logs now show which thread and more clearly which submid record which
is being parsed. Also added a log message when the parsing is completed.
|
| |
|
| |
|
| |
|
|
|
|
| |
systems
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
(cherry picked from commit d1e70546375f08c8ce0dc7730f671be371be2c2a)
|
|
|
|
|
|
|
|
|
|
|
|
| |
too early
If the process_submission_queue() function in the main thread is started before
the parsethread() based threads, the number of active threads will be 0 and
process_submission_queue() will immediately send a "shutdown" message and exit.
The quick solution is to sleep 3 seconds before starting the
process_submission_queue() job. This way at least a few of the parsethread()
threads should have had time to start up and setle.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This database schema introduces the rteval_info table which should contain
rather static information about the current rteval installation.
- New data fields from cyclictest are introduces (variance and mean_abs_dev)
- Added //sqldata/@schemaver attributes to all defined tables in xmlparser.xsl
- Introduced a delta-1.0_1.1.sql file which will update the old 1.0 based
database schema to the new 1.1 version.
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a database connection is established, the rteval_info table is queried
for a key/value pair named 'sql_schema_ver' and parsed. This attribute defines
which version the rteval database schema is in use.
When processing XML documents with <sqldata/>, a checks is done to make sure
there are no attempts on inserting data to an incompatible rteval database schema.
If the rteval_info table or the sql_schema_ver value is not found, it will default
to version 1.0 (the parsed int value will be 100)
|
|
|
|
|
|
| |
This attribute defines which version of the SQL database schema which is needed
for the SQL data found in the <sqldata/> document. This is to avoid SQL failures
when inserting data which the database is not prepared for.
|
|
|
|
|
|
|
|
|
|
|
| |
- Rewrote the complete autotools setup for rteval server to also include the XMLRPC
interface
- Compiles and installs both the Python files needed for Apache+mod_python and the
files needed for the rteval_parserd
- ./configure accepts --with-xmlrpc-webroot to set the directory of the XML-RPC
files needed for mod_python. If this is not set, those files will not be installed.
- Moved the sql/rteval-1.0.sql file into the server directory, where it is needed
and install this file into the doc directory
|
|
|
|
|
| |
Now header files are detected correctly and all functions tested
are tested properly
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Passing threadData_t * directly, instead of several individual parameters
deriving from a threadData_t pointer.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid potential DoS attacks by sending big XML files, the max_report_size
rejects reports which is bigger than this value. The default value is 2MB if
this value is not configured.
A new status code was introduced, STAT_FTOOBIG (12). The submissionqueue
record will be updated with this value on records which fails this check.
In addition minor SIGSEGV failure was fixed when rteval_parserd shutsdown
before worker threads have really started.
|
| |
|
| |
|
|
|
|
|
|
| |
Removed code not needed any more and updated README with correct
information. This is all connected to the introduction of the
rteval_parserd process, which is found in ./parser.
|
| |
|
|
|
|
|
| |
This way, the rteval_parserd will also shutdown almost instantly
unless one of the threads are in the progress of parsing a report.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both the process_submission_queue() and parserthread() functions
now make use of db_ping() to make sure they have an alive database
connection. And if not, trigger the needed notifications.
If the process_submission_queue() looses the database connection
completely, it will shutdown rteval_parserd immediately.
If the parserthread()s looes the database connection, it will
reduce the activethreads counter. And if this counter reaches 0,
it will signal the main thread which initiates a complete shutdown
of rteval_parserd.
Btw. db_ping() will indeed try to restore the database connection
before presuming the database is unavailable.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
And fixed an error when the program exits before POSIX MQ queue
is opened and initialised.
|
| |
|
| |
|
| |
|
| |
|