Daniel-Constantin Mierla d2f62dd185 db_flatstore: free id pointer if no more space for table name 12 anos atrás
..
doc d680a29621 db_flatstore: Fix TOC in documentation 12 anos atrás
km_doc d9bb387b0d docs: cleanup in xml files 14 anos atrás
Makefile 928dab6960 modules/db_flatstore: replace mi command flat_rotate with rpc command flatstore.k_rotate 12 anos atrás
README 6978f42ae8 documentation: Rebuild all modified READMEs 12 anos atrás
flat_cmd.c 3e87a030be - new version of flatstore module for new db api in SER 2.1 17 anos atrás
flat_cmd.h 536ced2783 Make the module compile in the sip-router source tree. 16 anos atrás
flat_con.c 6fe11123ef - support for flatstore uris with relative pathnames (they are 17 anos atrás
flat_con.h 536ced2783 Make the module compile in the sip-router source tree. 16 anos atrás
flat_rpc.c 3e87a030be - new version of flatstore module for new db api in SER 2.1 17 anos atrás
flat_rpc.h 3e87a030be - new version of flatstore module for new db api in SER 2.1 17 anos atrás
flat_uri.c 8a5f9abd13 db_flatstore: updated get_abs_pathname use 15 anos atrás
flat_uri.h 536ced2783 Make the module compile in the sip-router source tree. 16 anos atrás
flatstore_mod.c cc88761be6 db_flatstore: init DB API lib in mod_register() 14 anos atrás
flatstore_mod.h 3e87a030be - new version of flatstore module for new db api in SER 2.1 17 anos atrás
km_flat_con.c a35e28152a Make km_ sources compile: 16 anos atrás
km_flat_con.h 619951f5cf Added prefix km_ to locally included header files. 16 anos atrás
km_flat_id.c d2f62dd185 db_flatstore: free id pointer if no more space for table name 12 anos atrás
km_flat_id.h c9658e6719 Align defines protecting header files with filenames. 16 anos atrás
km_flat_pool.c 619951f5cf Added prefix km_ to locally included header files. 16 anos atrás
km_flat_pool.h 619951f5cf Added prefix km_ to locally included header files. 16 anos atrás
km_flatstore.c 46b6981987 Make km_sources compile, part two. 16 anos atrás
km_flatstore.h a35e28152a Make km_ sources compile: 16 anos atrás
km_flatstore_mod.c 928dab6960 modules/db_flatstore: replace mi command flat_rotate with rpc command flatstore.k_rotate 12 anos atrás
km_flatstore_mod.h 3e44fcbe47 db_flatstore: exported DB API v1 bind function 15 anos atrás
ser-flatstore.cfg 195f080acf - a set of minimalistic config files for testing purposes 17 anos atrás
todo.txt 6fe11123ef - support for flatstore uris with relative pathnames (they are 17 anos atrás

README


Db_flatstore Module

Jan Janak

FhG FOKUS


Copyright � 2004, 2005 FhG FOKUS
_________________________________________________________________

Table of Contents

1. Admin Guide

1. Overview

1.1. Rotating Log Files

2. Parameters

2.1. flush (integer)

Chapter 1. Admin Guide

Table of Contents

1. Overview

1.1. Rotating Log Files

2. Parameters

2.1. flush (integer)

1. Overview

1.1. Rotating Log Files

Db_flatstore is one of the SIP Router database modules. It does not
export any functions executable from the configuration scripts, but it
exports a subset of functions from the database API and thus other
modules can use it as a database driver, instead of, for example, the
Mysql module.

The module does not implement all functions of the database API, it
supports only one function, insert. This means that the module is
limited but very fast. It is especially suitable for storing
accounting information on sites with extremely high traffic. If MySQL
is too slow or if you get a huge amount of accounting data then you
can consider using this module. Please note that the acc module is the
only module that was tested with the flastore module.

The format of the files produced by this module is plain text. Each
line consists of several fields, fields are separated by the "|"
character (vertical bar). New information is always appended at the
end of the file. Searching, deleting and updating of existing data is
not supported by the module.

The acc module can be configured to use db_flatstore module as
database backend using the db_url_parameter:
modparam("acc", "db_url", "flatstore:/var/log/acc")

This configuration option tells the acc module that it should use the
db_flatstore module and the db_flatstore module should create all
files in the /var/log/acc directory. The directory must exist and SIP
Router processes must have permissions to create files in that
directory.

Name of files in that directory will follow the following pattern:
_.log

For example, entries writen by the SIP Router process 8 into the acc
table would be written in file acc_8.log. For each table there will be
several files, one file for every SIP Router process that wrote some
data into that table. The main reason why there are several files for
each table is that it is much faster to have one file per process,
because it does not require any locking and thus SIP Router processes
will not block each other. To get the complete data for a table you
can simply concatenate the contents of files with the same table name
but different process id.

1.1. Rotating Log Files

The module implements a SIP Router management interface command called
flatstore.rotate. When SIP Router receives the command it will close
and reopen all files used by the db_flatstore module. The rotation
itself has to be done by another application (such as logrotate).
Follow these steps to rotate files generated by the db_flatstore
module:
* Rename the files that you want to rotate:
cd /var/log/acc
mv acc_1.log acc_1.log.20050605
mv acc_2.log acc_2.log.20050605
mv acc_4.log acc_3.log.20050605
...
Note that at this point SIP Router will still be writing all data
into the renamed files.
* Send SIP Router the management command to close and reopen the
renamed files:
kamcmd flatstore.rotate
This will force SIP Router to close the renamed files and open new
ones with original names, such as acc_1.log. New files will be
open at the point when SIP Router has some data to write. It is
normal that the files will be not created immediately if there is
no traffic on the SIP server.
* Move the renamed files somewhere else and process them.

2. Parameters

2.1. flush (integer)

2.1. flush (integer)

Enable or disable flushing after each write.

Default value is 1.