LogDoctor/docs/html/classDbQuery.html

54 KiB

<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"> <head> </head>
LogDoctor 3.00
Parse Apache2/Nginx/IIS logs and view dinamically generated statistics
Loading...
Searching...
No Matches

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.
 
void refreshDates (std::optional< stats_dates_t > &result)
 Refreshes the dates which are available in the database.
 
void updateWarnings (const QString &web_server, const std::vector< std::tuple< int, int > > &updates) const
 Updates the database applying the changes made in the Warnings statistics table.
 
void getWarnCounts (std::optional< stats_warn_items_t > &result, const QString &web_server, const QString &year_, const QString &month_, const QString &day_, const QString &hour_) const
 Retrieves the data needed for the Warnings statistics.
 
void getSpeedData (std::optional< stats_speed_items_t > &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) const
 Retrieves the data needed for the Speed statistics.
 
void getItemsCount (std::optional< stats_count_items_t > &result, const QString &web_server, const QString &year, const QString &month, const QString &day, const QString &log_field) const
 Retrieves the data needed for the Counts statistics.
 
void getDaytimeCounts (std::optional< stats_day_items_t > &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) const
 Retrieves the data needed for the Daytime statistics.
 
void getRelationalCountsDay (std::optional< stats_relat_items_t > &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) const
 Retrieves the data needed for the Relationsl statistics.
 
void getRelationalCountsPeriod (std::optional< stats_relat_items_t > &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) const
 Retrieves the data needed for the Relational statistics.
 
bool getGlobalCounts (const QString &web_server, const std::map< int, std::map< int, std::vector< int > > > &dates, std::vector< std::unordered_map< QString, unsigned > > &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) const
 Retrieves the data needed for the Global statistics.
 

Private Member Functions

QString getDbField (const QString &tr_fld) const
 Returns the database field corresponding to the relative log field.
 
int getMonthNumber (const QString &month_str) const
 Returns the month number in the year.
 

Static Private Member Functions

static int getMinuteGap (const int minute, const int gap=10)
 Returns the minute gap for the given minute with the given gap.
 
static int getMonthDays (const int year, const int month)
 Returns the number of days for a given month.
 
static int countDays (const int from_year, const int from_month, const int from_day, const int to_year, const int to_month, const int to_day)
 Returns the number of days in a given period.
 
static int countMonths (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.
 

Member Function Documentation

◆ countDays()

int DbQuery::countDays ( const int  from_year,
const int  from_month,
const int  from_day,
const int  to_year,
const int  to_month,
const int  to_day 
)
staticprivate

Returns the number of days in a given period.

Parameters
from_yearThe initial year
from_monthThe initial month
from_dayThe initial day
to_yearThe final Year
to_monthThe final month
to_dayThe final day
Returns
The number of days
Exceptions
DateTimeException

◆ countMonths()

int DbQuery::countMonths ( const int  from_year,
const int  from_month,
const int  to_year,
const int  to_month 
)
staticprivate

Returns the number of months in a given period.

Parameters
from_yearThe initial year
from_monthThe initial month
to_yearThe final Year
to_monthThe final month
Returns
The number of months in the period

◆ getDaytimeCounts()

void DbQuery::getDaytimeCounts ( std::optional< stats_day_items_t > &  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 
) const

Retrieves the data needed for the Daytime statistics.

Parameters
resultHolds the data only if the operation completed succssfully
web_serverThe 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_filterThe filter to apply

◆ getDbField()

QString DbQuery::getDbField ( const QString &  tr_fld) const
private

Returns the database field corresponding to the relative log field.

Parameters
tr_fldThe log field, hendles translated text
Returns
The database field

◆ getGlobalCounts()

bool DbQuery::getGlobalCounts ( const QString &  web_server,
const std::map< int, std::map< int, std::vector< int > > > &  dates,
std::vector< std::unordered_map< QString, unsigned > > &  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 
) const

Retrieves the data needed for the Global statistics.

Parameters
web_serverThe ID of the Web Server to use
datesThe dates to query
recursWill hold the recurrencies of the items
traf_dateWill hold the most trafficked date and the count
traf_dayWill hold the most trafficked day of the week and the count
traf_hourWill hold the most trafficked hour of the day and the count
perf_timeWill hold the overallo time taken
perf_sentWill hold the overall Bytes sent
perf_receivWill hold the overall Bytes received
req_countWill hold the number of requests examined by the query
Returns
Whether the operation has been successful or not

◆ getItemsCount()

void DbQuery::getItemsCount ( std::optional< stats_count_items_t > &  result,
const QString &  web_server,
const QString &  year,
const QString &  month,
const QString &  day,
const QString &  log_field 
) const

Retrieves the data needed for the Counts statistics.

Parameters
resultHolds the data only if the operation completed succssfully
web_serverThe ID of the Web Server to use
yearThe year
monthThe month
dayThe day
log_fieldThe log field

◆ getMinuteGap()

int DbQuery::getMinuteGap ( const int  minute,
const int  gap = 10 
)
staticprivate

Returns the minute gap for the given minute with the given gap.

Parameters
minuteThe minute of the hour
gapThe gap used to split the hour
Returns
The gap index
Exceptions
DateTimeException

◆ getMonthDays()

int DbQuery::getMonthDays ( const int  year,
const int  month 
)
staticprivate

Returns the number of days for a given month.

Parameters
yearThe year, used to handle leap years
monthThe month
Returns
The number of days
Exceptions
DateTimeException

◆ getMonthNumber()

int DbQuery::getMonthNumber ( const QString &  month_str) const
private

Returns the month number in the year.

Parameters
month_strThe month
Returns
The month number

◆ getRelationalCountsDay()

void DbQuery::getRelationalCountsDay ( std::optional< stats_relat_items_t > &  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 
) const

Retrieves the data needed for the Relationsl statistics.

Used when querying a single day

Parameters
resultHolds the data only if the operation completed succssfully
web_serverThe 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_1The filter to apply to the first field
log_field_2_The second log field to filter
field_filter_2The filter to apply to the second fiend
See also
getRelationalCountsPeriod()

◆ getRelationalCountsPeriod()

void DbQuery::getRelationalCountsPeriod ( std::optional< stats_relat_items_t > &  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 
) const

Retrieves the data needed for the Relational statistics.

Used when querying a period of time

Parameters
resultHolds the data only if the operation completed succssfully
web_serverThe 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_1The filter to apply to the first field
log_field_2_The second log field to filter
field_filter_2The filter to apply to the second fiend
See also
getRelationalCountsDay()

◆ getSpeedData()

void DbQuery::getSpeedData ( std::optional< stats_speed_items_t > &  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 
) const

Retrieves the data needed for the Speed statistics.

Parameters
resultHolds the data only if the operation completed succssfully
web_serverThe ID of the Web Server to use
year_The year
month_The month
day_The day
protocol_fThe filter for the Protocol field
method_fThe filter for the Method field
uri_fThe filter for the URI field
query_fThe filter for the Query field
response_fThe filter for the Response field

◆ getWarnCounts()

void DbQuery::getWarnCounts ( std::optional< stats_warn_items_t > &  result,
const QString &  web_server,
const QString &  year_,
const QString &  month_,
const QString &  day_,
const QString &  hour_ 
) const

Retrieves the data needed for the Warnings statistics.

Parameters
resultHolds the data only if the operation completed succssfully
web_serverThe ID of the Web Server to use
year_The year
month_The month
day_The day
hour_The hour

◆ refreshDates()

void DbQuery::refreshDates ( std::optional< stats_dates_t > &  result)

Refreshes the dates which are available in the database.

Parameters
resultHolds the data only if the operation completed succssfully

◆ setDbPath()

void DbQuery::setDbPath ( const std::string &  path)

Sets the path for the logs Collection database.

See also
Crapview::setDbPath()

◆ updateWarnings()

void DbQuery::updateWarnings ( const QString &  web_server,
const std::vector< std::tuple< int, int > > &  updates 
) const

Updates the database applying the changes made in the Warnings statistics table.

Parameters
web_serverThe ID of the Web Server to use
updatesThe list of rowids to update and the corresponding warning values

The documentation for this class was generated from the following files:
  • logdoctor/modules/crapview/modules/query.h
  • logdoctor/modules/crapview/modules/query.cpp

Generated by doxygen 1.9.8 </html>