summaryrefslogtreecommitdiffstats
path: root/database/engine
AgeCommit message (Collapse)Author
2019-12-20Set standard name to non-libnetdata threads (libuv, pthread) (#7584)Adrien Mahieux
* [libnetdata/threads] Add uv_thread_set_name This is inspired from thread_set_name() but for libuv threads. Both are based on pthread, but for uv we need to call it with the uv_thread_t pointer, instead of being the thread that calls the function for itself. * [exporting] Set libuv threadname to "EXPORTING-index" * [database/engine] Set libuv thread name to "DBENGINE" * [daemon/command] Set libuv thread name to "DAEMON-COMMAND" * [collectors/proc] Set pthread name to "PLUGIN[cpuidle]" * Use new 'thread_set_name_np' name
2019-12-18Fix race condition in dbengine (#7565)thiagoftsm
* fix_db_race_condition: unit test Adjust unit test for dbengine * fix_db_race_condition: page cache Fix database * fix_db_race_condition: Missing function call This commit brings the correct function call inside rrdengine.c
2019-12-17Revert "Fix race condition in dbengine (#7533)" (#7560)Andrew Moss
We are removing this fix for further internal testing, it will be returning after we iron out some bugs. This reverts commit 53ab093d84919c743450199a31bca9a13412e451.
2019-12-16Fix race condition in dbengine (#7533)Markos Fountoulakis
2019-12-09Fix race condition with page cache descriptors (#7478)Markos Fountoulakis
2019-12-07Fix dbengine dirty page flushing warning (#7469)Markos Fountoulakis
2019-12-04Implement netdata command server and cli tool (#7325)Markos Fountoulakis
* Checkpoint commit (POC) * Implemented command server in the daemon * Add netdatacli implementation * Added prints in command server setup functions * Make libuv version 1 a hard dependency for the agent * Additional documentation * Improved accuracy of names and documentation * Fixed documentation * Fixed buffer overflow * Added support for exit status in cli. Added prefixes for exit code, stdout and stderr. Fixed parsers. * Fix compilation errors * Fix compile errors * Fix compile errors * Fix compile error * Fix linker error for muslc
2019-11-11Makefile.am files indentation (#7252)Konstantinos Natsakis
* Use 4 spaces for indentation of non-recipe lines in Makefile.am files * Be more consistent in the use of space before = in Makefile.am files
2019-10-24detect if the disk cannot keep up with data collection (#7139)Markos Fountoulakis
* Adjust dbengine flushing speed more dynamically * Added error tracking statistics for failure to flush events * Added alarm for dbengine flushing errors * Improved dbengine accounting for commited to be written pages
2019-10-07Handle cases where metric timestamps are inversed and data collection ↵Markos Fountoulakis
interval rounds to 0 (#7008)
2019-10-07Remove hard cap from page cache size to eliminate deadlocks. (#7006)Markos Fountoulakis
* Remove page cache error detection and deadlock resolution * Change page cache logic to disallow deadlocks due to too many API users * Updated documentation * Changed default and minimum page cache size values to 32 and 8 MiB respectively
2019-10-05Increase dbengine default cache size (#6997)Markos Fountoulakis
* Increase database engine default page cache size to support up to 32K metrics out of the box * Reduce mass flood effect of dbengine page cache alarm * changed repeating notification to every hour
2019-10-03Make dbengine the default memory mode (#6977)Markos Fountoulakis
* Basic functionality for dbengine stress test. * Fix coverity defects * Refactored dbengine stress test to be configurable * Added benchmark results and evaluation in dbengine documentation * Make dbengine the default memory mode
2019-10-02Fix dbengine consistency when a writer modifies a page concurrently with a ↵Markos Fountoulakis
reader querying its metrics (#6979)
2019-09-29Fix Remark Lint for READMEs in Database (#6942)Promise Akpan
* fix remark lint Database engine * fix remark lint of database README * rewrap dbengine readme for consistency * rewrap database README * make character limit to 120 not 80
2019-09-28Reduce overhead during write io (#6964)Markos Fountoulakis
* Reduce CPU overhead when flushing dirty pages to disk
2019-09-24Detect deadlock in dbengine page cache (#6911)Markos Fountoulakis
* Detect deadlock in dbengine page cache when there are too many metrics and print error message * Resolve dbengine deadlock by dropping metrics when page cache is too small and define relevant alarms * Changed printing deadlock errors to only happen once per dbengine instance
2019-09-12Stress test insertions into dbengine and bugfixes (#6814)Markos Fountoulakis
* Fix memory corruption during deallocation of page cache * Refactored dataset generator in order to support the upcoming self-validating stress test and multithreading. * Fix starvation in database engine loop when the command queues are continuously populated * Fixing disk quota limits for dbengine dataset generator
2019-08-28Fix corrupted transaction payload handling during start-up of the database ↵Markos Fountoulakis
engine. (#6731)
2019-08-28Variable Granularity support for data collection (#6430)Markos Fountoulakis
* Variable Granularity support for data collection in the dbengine. * Variable Granularity support for data collection in the daemon. * Added tests to validate the data being queried after having been collected by changing data collection interval * Fix memory corruption * Updated database engine documentation about data collection frequency behaviour
2019-08-15Fix Markdown Lint warnings (#6664)Promise Akpan
* make remark access all directories * detailed fix after autofix by remark lint * cross check autofix for this set of files * crosscheck more files * crosschecking and small fixes * crosscheck autofixed md files
2019-08-13 Change "netdata" to "Netdata" in all docs (#6621)Joel Hans
* First pass of changing netdata to Netdata * Second pass of netdata -> Netdata * Starting work on netdata with no whitespace after * Pass for netdata with no whitespace at the end * Pass for netdata with no whitespace at the front
2019-07-15Fix CRC and I/O error handling in dbengine so that netdata is not halted and ↵Markos Fountoulakis
relevant error messages are printed and alarms are raised (#6452)
2019-07-02Update README.md (#6372)Markos Fountoulakis
Improve documentation about file descriptors and systemd configuration.
2019-06-21Update documentation about dbengine (#6264)Markos Fountoulakis
* Update README.md with more up-to-date information regarding dbengine
2019-06-21Handle file descriptors running out (#6303)Markos Fountoulakis
* Handle file descriptors running out * Added alarm for dbengine FS and I/O errors * more verbose alarm message * * Added File-Descriptor budget to Database Engine instances. * Changed FD budget of the web server from 50% to 25%. * Allocated 25% of FDs to dbengine. * Created a new dbengine global FD utilization chart.
2019-06-07Force page alignment per dimension of chart. (#6240)Markos Fountoulakis
2019-06-04Fill chart gaps efficiently. (#6216)Markos Fountoulakis
2019-06-04Fix page cache descriptor race condition (#6202)Markos Fountoulakis
2019-06-03Support falling back to buffered I/O when direct I/O is unavailable (#6174)Markos Fountoulakis
2019-05-30Add empty page detection in DB engine (#6173)Markos Fountoulakis
2019-05-30DB engine optimize RAM usage (#6134)Markos Fountoulakis
* Optimize memory footprint of DB engine * Update documentation with the new memory requirements of dbengine * Fixed code style * Fix code style * Fix compile error
2019-05-22Fix race condition in DB engine API (#6079)Markos Fountoulakis
2019-05-22Fix creating chart directories when not necessary with memory mode dbengine ↵Markos Fountoulakis
(#6078)
2019-05-20Fix delete datafile error (#6057)Markos Fountoulakis
* Added print to debug failure to delete page during datafile deletion * Detect case of corrupted pages not being in page cache when deleting file
2019-05-15Database engine (#5282)Markos Fountoulakis
* Database engine prototype version 0 * Database engine initial integration with netdata POC * Scalable database engine with file and memory management. * Database engine integration with netdata * Added MIN MAX definitions to fix alpine build of travis CI * Bugfix for backends and new DB engine, remove useless rrdset_time2slot() calls and erroneous checks * DB engine disk protocol correction * Moved DB engine storage file location to /var/cache/netdata/{host}/dbengine * Fix configure to require openSSL for DB engine * Fix netdata daemon health not holding read lock when iterating chart dimensions * Optimized query API for new DB engine and old netdata DB fallback code-path * netdata database internal query API improvements and cleanup * Bugfix for DB engine queries returning empty values * Added netdata internal check for data queries for old and new DB * Added statistics to DB engine and fixed memory corruption bug * Added preliminary charts for DB engine statistics * Changed DB engine ratio statistics to incremental * Added netdata statistics charts for DB engine internal statistics * Fix for netdata not compiling successfully when missing dbengine dependencies * Added DB engine functional test to netdata unittest command parameter * Implemented DB engine dataset generator based on example.random chart * Fix build error in CI * Support older versions of libuv1 * Fixes segmentation fault when using multiple DB engine instances concurrently * Fix memory corruption bug * Fixed createdataset advanced option not exiting * Fix for DB engine not working on FreeBSD * Support FreeBSD library paths of new dependencies * Workaround for unsupported O_DIRECT in OS X * Fix unittest crashing during cleanup * Disable DB engine FS caching in Apple OS X since O_DIRECT is not available * Fix segfault when unittest and DB engine dataset generator don't have permissions to create temporary host * Modified DB engine dataset generator to create multiple files * Toned down overzealous page cache prefetcher * Reduce internal memory fragmentation for page-cache data pages * Added documentation describing the DB engine * Documentation bugfixes * Fixed unit tests compilation errors since last rebase * Added note to back-up the DB engine files in documentation * Added codacy fix. * Support old gcc versions for atomic counters in DB engine