Age | Commit message (Collapse) | Author |
|
* rrd: move API structures out of rrddim_volatile
In C, unlike C++, it's not possible to reference a nested structure
from outside this structure.
Since we later want to use rrddim_query_ops and rrddim_collect_ops
separately from rrddim_volatile, move these nested structures out.
* rrd: use opaque handle types for different memory modes
|
|
* check for chart obsoletion on children connections
* use rrdset_is_obsolete
|
|
* one way allocator to speed up context queries
* fixed a bug while expanding memory pages
* reworked for clarity and finally fixed the bug of allocating memory beyond the page size
* further optimize allocation step to minimize the number of allocations made
* implement strdup with memcpy instead of strcpy
* added documentation
* prevent an uninitialized use of owa
* added callocz() interface
* integrate onewayalloc everywhere - apart sql queries
* one way allocator is now used in context queries using archived charts in sql
* align on the size of pointers
* forgotten freez()
* removed not needed memcpys
* give unique names to global variables to avoid conflicts with system definitions
|
|
* filter
* update filter
* queue removed directly
* more
* logging
* cleanup
* cleanup 2
* cleanup 3
* finalize instead of reset
|
|
If memory mode is save, map or ram the set's flags are initialized to 0.
Otherwise, the set is calloc'd which will make the set have 0 flags.
|
|
They are used extensively throughout our code base, and not having
support for them does not generate a thread-safe agent.
|
|
* make netdata more awesome
* reworked on-madvise and mmap to provide clarity
|
|
|
|
|
|
* store alarm log entries even if it is repeating
* log times repeated for an alert
|
|
* Add the ability to build a host structure by node id to execute queries for archived hosts
* Add the ability to execute queries from the cloud for archived hosts by node id
* Add free_temporary_host function
|
|
|
|
Initialization of ML-related structures and threads should happen
when the underlying RRD objects have been fully initialized. Destruction
should happen in the opposite way, ie. before deleting an RRD host/dimension.
|
|
* Add function to filter chart labels
* Add new parameter to filter chart labels on context queries
* Change swagger
* Better formatting for swagger
|
|
|
|
|
|
* Move CPU usage stats under netdata charts
Use the hostname in each chart's name, and the machine GUID in each
chart's id.
* Move anomaly_detection.* charts to child host instance.
* Add option to enable/disable streaming of ML-related charts.
* Update priority of prediction/training charts.
|
|
|
|
* Add function to check a specific chart
* If a chart is not obsoleted, check if the liveness needs to be updated
* Calculate liveness based on a (constant * update_every) for each dimension
* Scan all dimensions when the retention message is constructed and update liveness if needed
* If initial state, set to computed live
* Set computed live state to dimension
* Add a maximum dimension cleanup on startup to prevent message flood
* Schedule chart updates if charts streaming is enabled
* Adjust live state for dimension
* The query executed will have a valid dimension uuid only if memory mode is dbengine
|
|
* Fix memory leaks in dimensions and charts
* Initialize superblock memory regions
* Clean up static threads
* Fix memory leaks in compression
* Fix memory leaks in rrdcaltemplate
* Fix memory leaks in health config
* Fix ACLK memory leaks
|
|
dimension list from the database (#12570)
|
|
* Switch messages to ACLK RES, ACLK REQ, ACLK STA instead of OG, IN and just AC
* Lookup hostname by node id
* Record hostname when receiving an ACK for a chart sequence
* Additional log_access info
* Adjust log message when receing health log request
* Remove redundant ACK log message
* Remove duplicate log message
* Remove duplicate sql statements
* Rearrange variable definition for clarity
* Make sure node is a valid UUID (check return code)
|
|
The previous approach required us to try wr-lock the host
after locking a chart and sleeping on failure. Lock contention
would lead to alarms not being created and the agent to become
unresponsive.
|
|
* if wc->host is null dont send events
* we will always have wc->host
* free claim_id
|
|
Health is not enabled for the anomaly rates chart. This was missed in
the original PR that added support for tracking anomaly rates with
dbengine. The side-effect was that the agent would block when opening
the dashboard before its initialization was done.
|
|
|
|
|
|
|
|
|
|
* only store alert hashes when iterated from localhost
* store hashes on start and health reload, at least for one pass of a host
|
|
|
|
|
|
* Switch to prepare statement when storing active charts / dimensions
* Switch to prepare statement when storing chart labels
* Switch to prepare statement when doing a node id lookup
* Switch to prepare statement when loading the node id for a host
* Improve performance by avoiding db query
* Use prepare statement when counting pending chart messages to send to the cloud
* Delay locking while preparing commands
* No need to use buffer, avoid memory allocation overhead
* Switch to prepare statement when loading pending chart updates to send to the cloud
|
|
|
|
* Queue a chart immediately to the cloud
* Do not inform the cloud immediately if a dimension stopped collecting use MAX(obsoletion time, 1.5 * update_every)
* Notify cloud immediately on dimension deletion
* Add debug messages
* Do not schedule an update if we are shutting down
|
|
|
|
* Add a trigger to populate the node_instance table.
This will allow older agent versions pre v1.31 to connect to the cloud via the parent
* Minor fix : Make the trigger creation a separate statement
|
|
* Find the correct host netdata version from streaming info if not localhost
* Handle old netdata versions that do not supply information during the streaming connection
* Send unknown agent version if child is not connected
|
|
* Track anomaly rates with DBEngine.
This commit adds support for tracking anomaly rates with DBEngine. We
do so by creating a single chart with id "anomaly_detection.anomaly_rates" for
each trainable/predictable host, which is responsible for tracking the anomaly
rate of each dimension that we train/predict for that host.
The rrdset->state->is_ar_chart boolean flag is set to true only for anomaly
rates charts. We use this flag to:
- Disable exposing the anomaly rates charts through the functionality
in backends/, exporting/ and streaming/.
- Skip generation of configuration options for the name, algorithm,
multiplier, divisor of each dimension in an anomaly rates chart.
- Skip the creation of health variables for anomaly rates dimensions.
- Skip the chart/dim queue of ACLK.
- Post-process the RRDR result of an anomaly rates chart, so that we can
return a sorted, trimmed number of anomalous dimensions.
In a child/parent configuration where both the child and the parent run
ML for the child, we want to be able to stream the rest of the ML-related
charts to the parent. To be able to do this without any chart name collisions,
the charts are now created on localhost and their IDs and titles have the node's
machine_guid and hostname as a suffix, respectively.
* Fix exporting_engine tests.
* Restore default ML configuration.
The reverted changes where meant for local testing only. This commit
restores the default values that we want to have when someone runs
anomaly detection on their node.
* Set context for anomaly_detection.* charts.
* Check for anomaly rates chart only with a valid pointer.
* Remove duplicate code.
* Use a more descriptive name for id/title pair variable
|
|
* Add a function to update dimension options in the metadata database
* Update the option for dimension to be hidden/unhinden when rrdim_hide/rrdim_unhide is called
* Store the hidden option for dimensions to the database
|
|
* Move the rrdhost_cleanup_orphan_hosts_nolock to the service that processes obsolete charts
* Add OPCODE to mark a host as orphan
* Queue cmd to mark a host as orphan
|
|
|
|
* dont assume info field exists
* add info field to documentation
|
|
|
|
|
|
* install_type to rrdhost_system_info and as labels
|
|
|
|
disabled (#12071)
* disable hashes for charts and alerts if openssl is not available
* create hashes if disable_cloud has not been defined and https has been defined
|
|
* re-connect when re-claiming
* send the previous claim_id when disconnecting
* use same block for aclk_kill_link
* free prev_claimed_id
|
|
* delay queueing removed alerts
* parenthesis
* remove debug
|