Age | Commit message (Collapse) | Author |
|
* streaming compression, query planner and replication fixes
* remove journal v2 stats from global statistics
* disable sql for checking past sql UUIDs
* single threaded replication
* final replication thread using dictionaries and JudyL for sorting the pending requests
* do not timeout the sending socket when there are pending replication requests
* streaming receiver using read() instead of fread()
* remove FILE * from streaming - now using posix read() and write()
* increase timeouts to 10 minutes
* apply sender timeout only when there are metrics that are supposed to be streamed
* error handling in replication
* remove retries on socket read timeout; better error messages
* take into account inbound traffic too to detect that a connection is stale
* remove race conditions from replication thread
* make sure deleted entries are marked as executed, so that even if deletion fails, they will not be executed
* 2 minutes timeout to retry streaming to a parent that already has this node
* remove unecessary condition check
* fix compilation warnings
* include judy in replication
* wrappers to handle retries for SSL_read and SSL_write
* compressed bytes read monitoring
* recursive locks on replication to make it faster during flush or cleanup
* replication completion chart at the receiver side
* simplified recursive mutex
* simplified recursive mutex again
|
|
|
|
* Revert "Use llvm's ar and ranlib when compiling with clang (#13854)"
This reverts commit a9135f47bbb36e9cb437b18a7109607569580db7.
* Profile plugin
* Fix macos static thread
* Add support for replication
- Add a new capability for replication, when not supported the agent
should behave as previously.
- When replication is supported, the text protocol supports the
following new commands:
- CHART_DEFINITION_END: send the first/last entry of the child
- REPLAY_RRDSET_BEGIN: sends the name of the chart we are
replicating
- REPLAY_RRDSET_HEADER: sends a line describing the columns of the
following command (ie. start-time, end-time, dim1-name, ...)
- REPLAY_RRDSET_DONE: sends values to push for a specific start/end
time
- REPLAY_RRDSET_END: send the (a) update every of the chart, (b)
first/last entries in DB, (c) whether the child's been told to
start streaming, (d) original after/before period to replicate.
- REPLAY_CHART: Sent from a parent to a child, specifying (a)
the chart name we want data for, (b) whether the child should
start streaming once it has fullfilled the request with the
aforementioned commands, (c) after/before of the data the parent
wants
- As a consequence of the new protocol, streaming is disabled for all
charts on a new connection. It's enabled once replication is finished.
- The configuration parameters are specified from within stream.conf:
- "enable replication = yes|no"
- "seconds to replicate = 3600"
- "replication step = 600" (ie. how many seconds to fill per
roundtrip request.
* Minor fixes
- quote set and dim ids
- start streaming after writing replicated data to the buffer
- write replicated data only when buffer is less than 50% full.
- use reentrant iteration for charts
* Do not send chart definitions on connection.
* Track replication status through rrdset flags.
* Add debug flag for noisy log messages.
* Add license notice.
* Iterate charts with reentrant loop
* Set replication finished flag when streaming is disabled.
* Revert "Profile plugin"
This reverts commit 468fc9386e5283e0865fae56e9989b8ec83de14d.
Used only for testing purposes.
* Revert "Revert "Use llvm's ar and ranlib when compiling with clang (#13854)""
This reverts commit 27c955c58d95aed6c44d42e8b675f0cf3ca45c6d.
Reapply commit that I had to revert in order to be able to build the
agent on MacOS.
* Build replication source files with CMake.
* Pass number of words in plugind functions.
* Use get_word instead of indexing words.
* Use size_t instead of int.
* Pay only what we use when splitting words.
* no need to redefine PLUGINSD_MAX_WORDS
* fix formatting warning
* all usages of pluginsd_split_words() should use the return value to ensure non-cached results reuse; no need to lock the host to find a chart
* keep a sender dictionary with all the replication commands received and remove replication commands from charts
* do not replicate future data
* use last_updated to find the end of the db
* uniformity of replication logs
* rewrite of the query logic
* replication.c in C; debug info in human readable dates
* update the chart on every replication row
* update all chart members so that rrdset_done() can continue
* update the protocol to push one dimension per line and transfer data collection state to parent
* fix formatting
* remove replication object from pluginsd
* shorter communication
* fix typo
* support for replication proxies
* proper use of flags
* set receiver replication finished flag on charts created after the sender has been connected
* clear RRDSET_FLAG_SYNC_CLOCK on replicated charts
* log storing of nulls
* log first store
* log update every switches
* test ignoring timestamps but sending a point just after replication end
* replication should work on end_time
* use replicated timestamps
* at the final replication step, replicate all the remaining points
* cleanup code from tests
* print timestamps as unsigned long long
* more formating changes; fix conflicting type of replicate_chart_response()
* updated stream.conf
* always respond to replication requests
* in non-dbengine db modes, do not replicate more than the database size
* advance the db pointer of legacy db modes
* should be multiplied by update_every
* fix buggy label parsing - identified by codacy
* dont log error on history mismatches for db mode dbengine
* allow SSL requests to streaming children
* dont use ssl variable
Co-authored-by: Costa Tsaousis <costa@netdata.cloud>
|
|
* Remove end, set disable and flush actions
* Remove begin action
* Remove label action
* Remove overwrite action
* Remove chart action
* Remove dimension action
* Remove label action (part 2)
* Remove variable action
Co-authored-by: vkalintiris <vasilis@netdata.cloud>
|
|
By default functions are declared as extern in C/C++ headers. The goal
of this PR is to reduce the wall of text that many headers have and,
more importantly, to make the declaration of extern'd variables - of
which we have many dispersed in various places - easily and quickly
identifiable.
Automatically generated with:
$ git grep -l '^extern.*(' '**.h' | \
grep -v libjudy | \
grep -v 'sqlite3.h' | \
xargs sed -i -e 's/extern \(.*(.*$\)/\1/'
This is a NFC.
|
|
about specific charts (#13720)
* function renames and code cleanup in popen.c; no actual code changes
* netdata popen() now opens both child process stdin and stdout and returns FILE * for both
* pass both input and output to parser structures
* updated rrdset to call custom functions
* RRDSET FUNCTION leading calls for both sync and async operation
* put RRDSET functions to a separate file
* added format and timeout at function definition
* support for synchronous (internal plugins) and asynchronous (external plugins and children) functions
* /api/v1/function endpoint
* functions are now attached to the host and there is a dictionary view per chart
* functions implemented at plugins.d
* remove the defer until keyword hook from plugins.d when it is done
* stream sender implementation of functions
* sanitization of all functions so that certain characters are only allowed
* strictier sanitization
* common max size
* 1st working plugins.d example
* always init inflight dictionary
* properly destroy dictionaries to avoid parallel insertion of items
* add more debugging on disconnection reasons
* add more debugging on disconnection reasons again
* streaming receiver respects newlines
* dont use the same fp for both streaming receive and send
* dont free dbengine memory with internal checks
* make sender proceed in the buffer
* added timing info and garbage collection at plugins.d
* added info about routing nodes
* added info about routing nodes with delay
* added more info about delays
* added more info about delays again
* signal sending thread to wake up
* streaming version labeling and commented code to support capabilities
* added functions to /api/v1/data, /api/v1/charts, /api/v1/chart, /api/v1/info
* redirect top output to stdout
* address coverity findings
* fix resource leaks of popen
* log attempts to connect to individual destinations
* better messages
* properly parse destinations
* try to find a function from the most matching to the least matching
* log added streaming destinations
* rotate destinations bypassing a node in the middle that does not accept our connection
* break the loops properly
* use typedef to define callbacks
* capabilities negotiation during streaming
* functions exposed upstream based on capabilities; compression disabled per node persisting reconnects; always try to connect with all capabilities
* restore functionality to lookup functions
* better logging of capabilities
* remove old versions from capabilities when a newer version is there
* fix formatting
* optimization for plugins.d rrdlabels to avoid creating and destructing dictionaries all the time
* delayed health initialization for rrddim and rrdset
* cleanup health initialization
* fix for popen() not returning the right value
* add health worker jobs for initializing rrdset and rrddim
* added content type support for functions; apps.plugin permanent function to display all the processes
* fixes for functions parameters parsing in apps.plugin
* fix for process matching in apps.plugiin
* first working function for apps.plugin
* Dashboard ACL is disabled for functions; Function errors are all in JSON format
* apps.plugin function processes returns json table
* use json_escape_string() to escape message
* fix formatting
* apps.plugin exposes all its metrics to function processes
* fix json formatting when filtering out some rows
* reopen the internal pipe of rrdpush in case of errors
* misplaced statement
* do not use buffer->len
* support for GLOBAL functions (functions that are not linked to a chart
* added /api/v1/functions endpoint; removed format from the FUNCTIONS api;
* swagger documentation about the new api end points
* added plugins.d documentation about functions
* never re-close a file
* remove uncessesary ifdef
* fixed issues identified by codacy
* fix for null label value
* make edit-config copy-and-paste friendly
* Revert "make edit-config copy-and-paste friendly"
This reverts commit 54500c0e0a97f65a0c66c4d34e966f6a9056698e.
* reworked sender handshake to fix coverity findings
* timeout is zero, for both send_timeout() and recv_timeout()
* properly detect that parent closed the socket
* support caching of function responses; limit function response to 10MB; added protection from malformed function responses
* disabled excessive logging
* added units to apps.plugin function processes and normalized all values to be human readable
* shorter field names
* fixed issues reported
* fixed apps.plugin error response; tested that pluginsd can properly handle faulty responses
* use double linked list macros for double linked list management
* faster apps.plugin function printing by minimizing file operations
* added memory percentage
* fix compatibility issues with older compilers and FreeBSD
* rrdpush sender code cleanup; rrhost structure cleanup from sender flags and variables;
* fix letftover variable in ifdef
* apps.plugin: do not call detach from the thread; exit immediately when input is broken
* exclude AR charts from health
* flush cleaner; prefer sender output
* clarity
* do not fill the cbuffer if not connected
* fix
* dont enabled host->sender if streaming is not enabled; send host label updates to parent;
* functions are only available through ACLK
* Prepared statement reports only in dev mode
* fix AR chart detection
* fix for streaming not being enabling itself
* more cleanup of sender and receiver structures
* moved read-only flags and configuration options to rrdhost->options
* fixed merge with master
* fix for incomplete rename
* prevent service thread from working on charts that are being collected
Co-authored-by: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com>
|
|
* rrdfamily
* rrddim
* rrdset plugin and module names
* rrdset units
* rrdset type
* rrdset family
* rrdset title
* rrdset title more
* rrdset context
* rrdcalctemplate context and removal of context hash from rrdset
* strings statistics
* rrdset name
* rearranged members of rrdset
* eliminate rrdset name hash; rrdcalc chart converted to STRING
* rrdset id, eliminated rrdset hash
* rrdcalc, alarm_entry, alert_config and some of rrdcalctemplate
* rrdcalctemplate
* rrdvar
* eval_variable
* rrddimvar and rrdsetvar
* rrdhost hostname, os and tags
* fix master commits
* added thread cache; implemented string_dup without locks
* faster thread cache
* rrdset and rrddim now use dictionaries for indexing
* rrdhost now uses dictionary
* rrdfamily now uses DICTIONARY
* rrdvar using dictionary instead of AVL
* allocate the right size to rrdvar flag members
* rrdhost remaining char * members to STRING *
* better error handling on indexing
* strings now use a read/write lock to allow parallel searches to the index
* removed AVL support from dictionaries; implemented STRING with native Judy calls
* string releases should be negative
* only 31 bits are allowed for enum flags
* proper locking on strings
* string threading unittest and fixes
* fix lgtm finding
* fixed naming
* stream chart/dimension definitions at the beginning of a streaming session
* thread stack variable is undefined on thread cancel
* rrdcontext garbage collect per host on startup
* worker control in garbage collection
* relaxed deletion of rrdmetrics
* type checking on dictfe
* netdata chart to monitor rrdcontext triggers
* Group chart label updates
* rrdcontext better handling of collected rrdsets
* rrdpush incremental transmition of definitions should use as much buffer as possible
* require 1MB per chart
* empty the sender buffer before enabling metrics streaming
* fill up to 50% of buffer
* reset signaling metrics sending
* use the shared variable for status
* use separate host flag for enabling streaming of metrics
* make sure the flag is clear
* add logging for streaming
* add logging for streaming on buffer overflow
* circular_buffer proper sizing
* removed obsolete logs
* do not execute worker jobs if not necessary
* better messages about compression disabling
* proper use of flags and updating rrdset last access time every time the obsoletion flag is flipped
* monitor stream sender used buffer ratio
* Update exporting unit tests
* no need to compare label value with strcmp
* streaming send workers now monitor bandwidth
* workers now use strings
* streaming receiver monitors incoming bandwidth
* parser shift of worker ids
* minor fixes
* Group chart label updates
* Populate context with dimensions that have data
* Fix chart id
* better shift of parser worker ids
* fix for streaming compression
* properly count received bytes
* ensure LZ4 compression ring buffer does not wrap prematurely
* do not stream empty charts; do not process empty instances in rrdcontext
* need_to_send_chart_definition() does not need an rrdset lock any more
* rrdcontext objects are collected, after data have been written to the db
* better logging of RRDCONTEXT transitions
* always set all variables needed by the worker utilization charts
* implemented double linked list for most objects; eliminated alarm indexes from rrdhost; and many more fixes
* lockless strings design - string_dup() and string_freez() are totally lockless when they dont need to touch Judy - only Judy is protected with a read/write lock
* STRING code re-organization for clarity
* thread_cache improvements; double numbers precision on worker threads
* STRING_ENTRY now shadown STRING, so no duplicate definition is required; string_length() renamed to string_strlen() to follow the paradigm of all other functions, STRING internal statistics are now only compiled with NETDATA_INTERNAL_CHECKS
* rrdhost index by hostname now cleans up; aclk queries of archieved hosts do not index hosts
* Add index to speed up database context searches
* Removed last_updated optimization (was also buggy after latest merge with master)
Co-authored-by: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com>
Co-authored-by: Vladimir Kobal <vlad@prokk.net>
|
|
* netdata doubles
* fix cmocka test
* fix cmocka test again
* fix left-overs of long double to NETDATA_DOUBLE
* RRDDIM detached from disk representation; db settings in [db] section of netdata.conf
* update the memory before saving
* rrdset is now detached from file structures too
* on memory mode map, update the memory mapped structures on every iteration
* allow RRD_ID_LENGTH_MAX to be changed
* granularity secs, back to update every
* fix formatting
* more formatting
|
|
* buffer overflow detected by the compiler
* also increase the buffer +1
|
|
* squashed and rebased to master
* fix overflow and single character bug in sanitize; include rrd.h instead of node_info.h
* added unittest for UTF-8 multibyte sanitization
* Fix unit test compilation
* Fix CMake build
* remove double sanitizer for opentsdb; cleanup sanitize_json_string()
* rename error_description to error_message to avoid conflict with json-c
* revert last and undef error_description from json-c
* more unittests; attempt to fix protobuf map issue
* get rid of rrdlabels_get() and replace it with a safe version that writes the value to a buffer
* added dictionary sorting unittest; rrdlabels_to_buffer() now is sorted
* better sorted dictionary checking
* proper unittesting for sorted dictionaries
* call dictionary deletion callback when destroying the dictionary
* remove obsolete variable
* Fix exporting unit tests
* Fix k8s label parsing test
* workaround for cmocka and strdupz()
* Bypass cmocka memory allocation check
* Revert "Bypass cmocka memory allocation check"
This reverts commit 4c49923839d9229bea23ca914dd8a0be1ebe2bf4.
* Revert "workaround for cmocka and strdupz()"
This reverts commit 7bebee04801db1865c748a7896d5fa54bb7104a5.
* Bypass cmocka memory allocation checks
* respect json formatting for chart labels
* cloud sends colons
* print the value only once
* allow parenthesis in values and spaces; make stream sender send quotes for values
Co-authored-by: Vladimir Kobal <vlad@prokk.net>
|
|
|
|
|
|
* initial version of worker utilization
* working example
* without mutexes
* monitoring DBENGINE, ACLKSYNC, WEB workers
* added charts to monitor worker usage
* fixed charts units
* updated contexts
* updated priorities
* added documentation
* converted threads to stacked chart
* One query per query thread
* Revert "One query per query thread"
This reverts commit 6aeb391f5987c3c6ba2864b559fd7f0cd64b14d3.
* fixed priority for web charts
* read worker cpu utilization from proc
* read workers cpu utilization via /proc/self/task/PID/stat, so that we have cpu utilization even when the jobs are too long to finish within our update_every frequency
* disabled web server cpu utilization monitoring - it is now monitored by worker utilization
* tight integration of worker utilization to web server
* monitoring statsd worker threads
* code cleanup and renaming of variables
* contrained worker and statistics conflict to just one variable
* support for rendering jobs per type
* better priorities and removed the total jobs chart
* added busy time in ms per job type
* added proc.plugin monitoring, switch clock to MONOTONIC_RAW if available, global statistics now cleans up old worker threads
* isolated worker thread families
* added cgroups.plugin workers
* remove unneeded dimensions when then expected worker is just one
* plugins.d and streaming monitoring
* rebased; support worker_is_busy() to be called one after another
* added diskspace plugin monitoring
* added tc.plugin monitoring
* added ML threads monitoring
* dont create dimensions and charts that are not needed
* fix crash when job types are added on the fly
* added timex and idlejitter plugins; collected heartbeat statistics; reworked heartbeat according to the POSIX
* the right name is heartbeat for this chart
* monitor streaming senders
* added streaming senders to global stats
* prevent division by zero
* added clock_init() to external C plugins
* added freebsd and macos plugins
* added freebsd and macos to global statistics
* dont use new as a variable; address compiler warnings on FreeBSD and MacOS
* refactored contexts to be unique; added health threads monitoring
Co-authored-by: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com>
|
|
allocations (#12841)
* fix mismatches of the use of the z functions for allocations
* when there was no memory; the original name of the dimensions was freed, and with mismatching deallocator..
* fixed memory leak at rrdeng_load_metric_*() functions
* fixed memory leak on exit of plugins.d parser
* fixed memory leak on plugins and streaming receiver threads exit
* fixed compiler warnings
|
|
|
|
* stream chart labels
* update stream protocol to 4
* only send CLABEL_COMMIT when there are labels
* mark host as UNUSED
* log error for stray CLABEL_COMMIT
* remove commented define
|
|
Currently, we add the repository's top-level dir in the compiler's
header search path. This means that code in every top-level directory
within the repo can include headers sibling top-level directories.
This patch makes header inclusion consistent when it comes to files
that are included from sibling top-level directories within the repo.
|
|
* spelling: activity
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: adding
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: addresses
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: administrators
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: alarm
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: alignment
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: analyzing
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: apcupsd
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: apply
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: around
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: associated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: automatically
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: availability
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: background
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: bandwidth
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: berkeley
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: between
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: celsius
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: centos
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: certificate
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: cockroach
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: collectors
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: concatenation
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: configuration
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: configured
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: continuous
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: correctly
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: corresponding
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: cyberpower
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: daemon
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: dashboard
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: database
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: deactivating
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: dependencies
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: deployment
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: determine
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: downloading
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: either
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: electric
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: entity
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: entrant
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: enumerating
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: environment
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: equivalent
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: etsy
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: everything
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: examining
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: expectations
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: explicit
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: explicitly
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: finally
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: flexible
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: further
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: hddtemp
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: humidity
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: identify
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: importance
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: incoming
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: individual
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: initiate
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: installation
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: integration
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: integrity
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: involuntary
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: issues
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: kernel
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: language
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: libwebsockets
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: lighttpd
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: maintained
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: meaningful
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: memory
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: metrics
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: miscellaneous
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: monitoring
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: monitors
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: monolithic
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: multi
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: multiplier
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: navigation
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: noisy
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: number
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: observing
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: omitted
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: orchestrator
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: overall
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: overridden
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: package
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: packages
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: packet
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: pages
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: parameter
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: parsable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: percentage
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: perfect
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: phpfpm
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: platform
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: preferred
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: prioritize
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: probabilities
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: process
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: processes
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: program
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: qos
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: quick
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: raspberry
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: received
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: recvfile
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: red hat
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: relatively
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: reliability
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: repository
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: requested
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: requests
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: retrieved
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: scenarios
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: see all
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: supported
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: supports
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: temporary
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: tsdb
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: tutorial
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: updates
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: utilization
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: value
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: variables
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: visualize
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: voluntary
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: your
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
|
|
* First pass to get the script working right
* Finish adding analytics tags
|
|
|
|
* Implemented collector metadata logging
* Added persistent GUIDs for charts and dimensions
* Added metadata log replay and automatic compaction
* Added detection of charts with no active collector (archived)
* Added new endpoint to report archived charts via `/api/v1/archivedcharts`
* Added support for collector metadata update
Co-authored-by: Markos Fountoulakis <44345837+mfundul@users.noreply.github.com>
|
|
This PR adds (inactive) support that we will use to fill the gaps on chart when a receiving agent goes offline and the sender reconnects. The streaming component has been reworked to make the connection bi-directional and fix several outstanding bugs in the area.
* Fixed an incorrect case of version negotiation. Removed fatal() on exhaustion of fds.
* Fixed cases that fell through to polling the socket after closing.
* Fixed locking of data related to sender and receiver in the host structure.
* Added fine-grained locks to reduce contention.
* Added circular buffer to sender to prevent starvation in high-latency conditions.
* Fixed case where agent is a proxy and negotiated different streaming versions with sender and receiver.
* Changed interface to new parser to put the buffering code in streaming.
* Fixed the bug that stopped senders from reconnecting after their socket times out - this was part of the scaling fixes that provide an early shortcut path for rejecting connections without lock contention.
* Uses fine-grained locking and a different approach to thread shutdown instead.
* Added liveness detection to connections to allow selection of the best connection.
|
|
|
|
Implemented a new parser for the pluginsd language
|