diff options
Diffstat (limited to 'collectors/idlejitter.plugin')
-rw-r--r-- | collectors/idlejitter.plugin/README.md | 18 | ||||
-rw-r--r-- | collectors/idlejitter.plugin/plugin_idlejitter.c | 2 | ||||
-rw-r--r-- | collectors/idlejitter.plugin/plugin_idlejitter.h | 21 |
3 files changed, 16 insertions, 25 deletions
diff --git a/collectors/idlejitter.plugin/README.md b/collectors/idlejitter.plugin/README.md index 3703e2ee..40436d33 100644 --- a/collectors/idlejitter.plugin/README.md +++ b/collectors/idlejitter.plugin/README.md @@ -5,7 +5,9 @@ custom_edit_url: https://github.com/netdata/netdata/edit/master/collectors/idlej # idlejitter.plugin -It works like this: +Idle jitter is a measure of delays in timing for user processes caused by scheduling limitations. + +## How Netdata measures idle jitter A thread is spawned that requests to sleep for 20000 microseconds (20ms). When the system wakes it up, it measures how many microseconds have passed. @@ -14,7 +16,17 @@ This is done at most 50 times per second, to ensure we have a good average. This number is useful: -1. in real-time environments, when the CPU jitter can affect the quality of the service (like VoIP media gateways). -2. in cloud infrastructure, at can pause the VM or container for a small duration to perform operations at the host. +- In multimedia-streaming environments such as VoIP gateways, where the CPU jitter can affect the quality of the service. +- On time servers and other systems that require very precise timing, where CPU jitter can actively interfere with timing precision. +- On gaming systems, where CPU jitter can cause frame drops and stuttering. +- In cloud infrastructure that can pause the VM or container for a small duration to perform operations at the host. + +## Charts + +idlejitter.plugin generates the idlejitter chart which measures CPU idle jitter in milliseconds lost per second. + +## Configuration + +This chart is available without any configuration. [![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fidlejitter.plugin%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>) diff --git a/collectors/idlejitter.plugin/plugin_idlejitter.c b/collectors/idlejitter.plugin/plugin_idlejitter.c index c59541ec..12ab8601 100644 --- a/collectors/idlejitter.plugin/plugin_idlejitter.c +++ b/collectors/idlejitter.plugin/plugin_idlejitter.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later -#include "plugin_idlejitter.h" +#include "daemon/common.h" #define CPU_IDLEJITTER_SLEEP_TIME_MS 20 diff --git a/collectors/idlejitter.plugin/plugin_idlejitter.h b/collectors/idlejitter.plugin/plugin_idlejitter.h deleted file mode 100644 index 6da78a08..00000000 --- a/collectors/idlejitter.plugin/plugin_idlejitter.h +++ /dev/null @@ -1,21 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -#ifndef NETDATA_PLUGIN_IDLEJITTER_H -#define NETDATA_PLUGIN_IDLEJITTER_H 1 - -#include "daemon/common.h" - -#define NETDATA_PLUGIN_HOOK_IDLEJITTER \ - { \ - .name = "PLUGIN[idlejitter]", \ - .config_section = CONFIG_SECTION_PLUGINS, \ - .config_name = "idlejitter", \ - .enabled = 1, \ - .thread = NULL, \ - .init_routine = NULL, \ - .start_routine = cpuidlejitter_main \ - }, - -extern void *cpuidlejitter_main(void *ptr); - -#endif /* NETDATA_PLUGIN_IDLEJITTER_H */ |