![]() |
LogDoctor 2.00
Parse Apache2/Nginx/IIS logs and create statistics
|
Public Member Functions | |
void | setDialogLevel (const int &new_level) |
Returns the Dialogs level. | |
void | setDbPath (const std::string &path) |
Sets the path for the logs Collection database. More... | |
void | refreshDates (std::tuple< bool, std::unordered_map< int, std::unordered_map< int, std::unordered_map< int, std::vector< int > > > > > &result) |
Refreshes the dates which are available in the database. More... | |
void | updateWarnings (const QString &web_server, const std::vector< std::tuple< int, int > > &updates) |
Updates the database applying the changes made in the Warnings statistics table. More... | |
void | getWarnCounts (std::tuple< bool, std::vector< std::vector< std::vector< std::vector< QString > > > > > &result, const QString &web_server, const QString &year_, const QString &month_, const QString &day_, const QString &hour_) |
Retrieves the data needed for the Warnings statistics. More... | |
void | getSpeedData (std::tuple< bool, std::vector< std::tuple< long long, std::vector< QString > > > > &result, const QString &web_server, const QString &year_, const QString &month_, const QString &day_, const QString &protocol_f, const QString &method_f, const QString &uri_f, const QString &query_f, const QString &response_f) |
Retrieves the data needed for the Speed statistics. More... | |
void | getItemsCount (std::tuple< bool, std::vector< std::tuple< QString, int > > > &result, const QString &web_server, const QString &year, const QString &month, const QString &day, const QString &log_field) |
Retrieves the data needed for the Counts statistics. More... | |
void | getDaytimeCounts (std::tuple< bool, std::unordered_map< int, std::unordered_map< int, int > > > &result, const QString &web_server, const QString &from_year_, const QString &from_month_, const QString &from_day_, const QString &to_year_, const QString &to_month_, const QString &to_day_, const QString &log_field_, const QString &field_filter) |
Retrieves the data needed for the Daytime statistics. More... | |
void | getRelationalCountsDay (std::tuple< bool, std::vector< std::tuple< long long, int > > > &result, const QString &web_server, const QString &year_, const QString &month_, const QString &day_, const QString &log_field_1_, const QString &field_filter_1, const QString &log_field_2_, const QString &field_filter_2) |
Retrieves the data needed for the Relationsl statistics. More... | |
void | getRelationalCountsPeriod (std::tuple< bool, std::vector< std::tuple< long long, int > > > &result, const QString &web_server, const QString &from_year_, const QString &from_month_, const QString &from_day_, const QString &to_year_, const QString &to_month_, const QString &to_day_, const QString &log_field_1_, const QString &field_filter_1, const QString &log_field_2_, const QString &field_filter_2) |
Retrieves the data needed for the Relational statistics. More... | |
const bool | getGlobalCounts (const QString &web_server, const std::unordered_map< int, std::unordered_map< int, std::vector< int > > > &dates, std::vector< std::unordered_map< QString, int > > &recurs, std::tuple< QString, int > &traf_date, std::unordered_map< int, double > &traf_day, std::unordered_map< int, double > &traf_hour, std::vector< long long > &perf_time, std::vector< long long > &perf_sent, std::vector< long long > &perf_receiv, long &req_count) |
Retrieves the data needed for the Global statistics. More... | |
Private Member Functions | |
const QString | getDbField (const QString &tr_fld) |
Returns the database field corresponding to the relative log field. More... | |
const int | getMinuteGap (const int &minute, const int &gap=10) |
Returns the minute gap for the given minute with the given gap. More... | |
const int | getMonthDays (const int &year, const int &month) |
Returns the number of days for a given month. More... | |
const int | getMonthNumber (const QString &month_str) |
Returns the month number in the year. More... | |
const int | getMonthsCount (const int &from_year, const int &from_month, const int &to_year, const int &to_month) |
Returns the number of months in a given period. More... | |
void DbQuery::getDaytimeCounts | ( | std::tuple< bool, std::unordered_map< int, std::unordered_map< int, int > > > & | result, |
const QString & | web_server, | ||
const QString & | from_year_, | ||
const QString & | from_month_, | ||
const QString & | from_day_, | ||
const QString & | to_year_, | ||
const QString & | to_month_, | ||
const QString & | to_day_, | ||
const QString & | log_field_, | ||
const QString & | field_filter | ||
) |
Retrieves the data needed for the Daytime statistics.
result | Tuple which will hold the result of the operation and the data |
web_server | The ID of the Web Server to use |
from_year_ | The initial year |
from_month_ | The initial month |
from_day_ | The initial day |
to_year_ | The final year |
to_month_ | The final month |
to_day_ | The final day |
log_field_ | The log field to filter |
field_filter | The filter to apply |
|
private |
Returns the database field corresponding to the relative log field.
tr_fld | The log field, hendles translated text |
const bool DbQuery::getGlobalCounts | ( | const QString & | web_server, |
const std::unordered_map< int, std::unordered_map< int, std::vector< int > > > & | dates, | ||
std::vector< std::unordered_map< QString, int > > & | recurs, | ||
std::tuple< QString, int > & | traf_date, | ||
std::unordered_map< int, double > & | traf_day, | ||
std::unordered_map< int, double > & | traf_hour, | ||
std::vector< long long > & | perf_time, | ||
std::vector< long long > & | perf_sent, | ||
std::vector< long long > & | perf_receiv, | ||
long & | req_count | ||
) |
Retrieves the data needed for the Global statistics.
web_server | The ID of the Web Server to use |
dates | The dates to query |
recurs | Will hold the recurrencies of the items |
traf_date | Will hold the most trafficked date and the count |
traf_day | Will hold the most trafficked day of the week and the count |
traf_hour | Will hold the most trafficked hour of the day and the count |
perf_time | Will hold the overallo time taken |
perf_sent | Will hold the overall Bytes sent |
perf_receiv | Will hold the overall Bytes received |
req_count | Will hold the number of requests examined by the query |
void DbQuery::getItemsCount | ( | std::tuple< bool, std::vector< std::tuple< QString, int > > > & | result, |
const QString & | web_server, | ||
const QString & | year, | ||
const QString & | month, | ||
const QString & | day, | ||
const QString & | log_field | ||
) |
Retrieves the data needed for the Counts statistics.
result | Tuple which will hold the result of the operation and the data |
web_server | The ID of the Web Server to use |
year | The year |
month | The month |
day | The day |
log_field | The log field |
|
private |
Returns the minute gap for the given minute with the given gap.
minute | The minute of the hour |
gap | The gap used to split the hour |
DateTimeException |
|
private |
Returns the number of days for a given month.
year | The year, used to handle leap years |
month | The month |
DateTimeException |
|
private |
Returns the month number in the year.
month_str | The month |
|
private |
Returns the number of months in a given period.
from_year | The initial year |
from_month | The initial month |
to_year | The final Year |
to_month | The final month |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
from_year | The initial year |
from_month | The initial month |
to_year | The final Year |
to_month | The final month |
DateTimeException |
void DbQuery::getRelationalCountsDay | ( | std::tuple< bool, std::vector< std::tuple< long long, int > > > & | result, |
const QString & | web_server, | ||
const QString & | year_, | ||
const QString & | month_, | ||
const QString & | day_, | ||
const QString & | log_field_1_, | ||
const QString & | field_filter_1, | ||
const QString & | log_field_2_, | ||
const QString & | field_filter_2 | ||
) |
Retrieves the data needed for the Relationsl statistics.
Used when querying a single day
result | Tuple which will hold the result of the operation and the data |
web_server | The ID of the Web Server to use |
year_ | The year |
month_ | The month |
day_ | The day |
log_field_1_ | The first log field to filter |
field_filter_1 | The filter to apply to the first field |
log_field_2_ | The second log field to filter |
field_filter_2 | The filter to apply to the second fiend |
void DbQuery::getRelationalCountsPeriod | ( | std::tuple< bool, std::vector< std::tuple< long long, int > > > & | result, |
const QString & | web_server, | ||
const QString & | from_year_, | ||
const QString & | from_month_, | ||
const QString & | from_day_, | ||
const QString & | to_year_, | ||
const QString & | to_month_, | ||
const QString & | to_day_, | ||
const QString & | log_field_1_, | ||
const QString & | field_filter_1, | ||
const QString & | log_field_2_, | ||
const QString & | field_filter_2 | ||
) |
Retrieves the data needed for the Relational statistics.
Used when querying a period of time
result | Tuple which will hold the result of the operation and the data |
web_server | The ID of the Web Server to use |
from_year_ | The initial year |
from_month_ | The initial month |
from_day_ | The initial day |
to_year_ | The final year |
to_month_ | The final month |
to_day_ | The final day |
log_field_1_ | The first log field to filter |
field_filter_1 | The filter to apply to the first field |
log_field_2_ | The second log field to filter |
field_filter_2 | The filter to apply to the second fiend |
void DbQuery::getSpeedData | ( | std::tuple< bool, std::vector< std::tuple< long long, std::vector< QString > > > > & | result, |
const QString & | web_server, | ||
const QString & | year_, | ||
const QString & | month_, | ||
const QString & | day_, | ||
const QString & | protocol_f, | ||
const QString & | method_f, | ||
const QString & | uri_f, | ||
const QString & | query_f, | ||
const QString & | response_f | ||
) |
Retrieves the data needed for the Speed statistics.
result | Tuple which will hold the result of the operation and the data |
web_server | The ID of the Web Server to use |
year_ | The year |
month_ | The month |
day_ | The day |
protocol_f | The filter for the Protocol field |
method_f | The filter for the Method field |
uri_f | The filter for the URI field |
query_f | The filter for the Query field |
response_f | The filter for the Response field |
void DbQuery::getWarnCounts | ( | std::tuple< bool, std::vector< std::vector< std::vector< std::vector< QString > > > > > & | result, |
const QString & | web_server, | ||
const QString & | year_, | ||
const QString & | month_, | ||
const QString & | day_, | ||
const QString & | hour_ | ||
) |
Retrieves the data needed for the Warnings statistics.
result | Tuple which will hold the result of the operation and the data |
web_server | The ID of the Web Server to use |
year_ | The year |
month_ | The month |
day_ | The day |
hour_ | The hour |
void DbQuery::refreshDates | ( | std::tuple< bool, std::unordered_map< int, std::unordered_map< int, std::unordered_map< int, std::vector< int > > > > > & | result | ) |
Refreshes the dates which are available in the database.
result | Tuple which will hold the result of the operation and the data |
void DbQuery::setDbPath | ( | const std::string & | path | ) |
Sets the path for the logs Collection database.
void DbQuery::updateWarnings | ( | const QString & | web_server, |
const std::vector< std::tuple< int, int > > & | updates | ||
) |
Updates the database applying the changes made in the Warnings statistics table.
web_server | The ID of the Web Server to use |
updates | The list of rowids to update and the corresponding warning values |