From 517a443636daa1e8085cb4e5325524a54e8a8fd7 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 17 Oct 2023 11:30:23 +0200 Subject: Merging upstream version 1.43.0. Signed-off-by: Daniel Baumann --- collectors/idlejitter.plugin/README.md | 37 +------ .../integrations/idle_os_jitter.md | 117 +++++++++++++++++++++ 2 files changed, 118 insertions(+), 36 deletions(-) mode change 100644 => 120000 collectors/idlejitter.plugin/README.md create mode 100644 collectors/idlejitter.plugin/integrations/idle_os_jitter.md (limited to 'collectors/idlejitter.plugin') diff --git a/collectors/idlejitter.plugin/README.md b/collectors/idlejitter.plugin/README.md deleted file mode 100644 index 9474a2b97..000000000 --- a/collectors/idlejitter.plugin/README.md +++ /dev/null @@ -1,36 +0,0 @@ - - -# idlejitter.plugin - -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. -The difference between the requested and the actual duration of the sleep, is the idle jitter. -This is done at most 50 times per second, to ensure we have a good average. - -This number is useful: - -- 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. - - diff --git a/collectors/idlejitter.plugin/README.md b/collectors/idlejitter.plugin/README.md new file mode 120000 index 000000000..1ce460b62 --- /dev/null +++ b/collectors/idlejitter.plugin/README.md @@ -0,0 +1 @@ +integrations/idle_os_jitter.md \ No newline at end of file diff --git a/collectors/idlejitter.plugin/integrations/idle_os_jitter.md b/collectors/idlejitter.plugin/integrations/idle_os_jitter.md new file mode 100644 index 000000000..da650cde9 --- /dev/null +++ b/collectors/idlejitter.plugin/integrations/idle_os_jitter.md @@ -0,0 +1,117 @@ + + +# Idle OS Jitter + + + + + +Plugin: idlejitter.plugin +Module: idlejitter.plugin + + + +## Overview + +Monitor delays in timing for user processes caused by scheduling limitations to optimize the system to run latency sensitive applications with minimal jitter, improving consistency and quality of service. + + +A thread is spawned that requests to sleep for fixed amount of time. When the system wakes it up, it measures how many microseconds have passed. The difference between the requested and the actual duration of the sleep, is the idle jitter. This is done dozens of times per second to ensure we have a representative sample. + + +This collector is supported on all platforms. + +This collector only supports collecting metrics from a single instance of this integration. + + +### Default Behavior + +#### Auto-Detection + +This integration will run by default on all supported systems. + +#### Limits + +The default configuration for this integration does not impose any limits on data collection. + +#### Performance Impact + +The default configuration for this integration is not expected to impose a significant performance impact on the system. + + +## Metrics + +Metrics grouped by *scope*. + +The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels. + + + +### Per Idle OS Jitter instance + + + +This scope has no labels. + +Metrics: + +| Metric | Dimensions | Unit | +|:------|:----------|:----| +| system.idlejitter | min, max, average | microseconds lost/s | + + + +## Alerts + +There are no alerts configured by default for this integration. + + +## Setup + +### Prerequisites + +No action required. + +### Configuration + +#### File + +The configuration file name for this integration is `netdata.conf`. + +The file format is a modified INI syntax. The general structure is: + +```ini +[section1] + option1 = some value + option2 = some other value + +[section2] + option3 = some third value +``` +You can edit the configuration file using the `edit-config` script from the +Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#the-netdata-config-directory). + +```bash +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata +sudo ./edit-config netdata.conf +``` +#### Options + +This integration only supports a single configuration option, and most users will not need to change it. + + +| Name | Description | Default | Required | +|:----|:-----------|:-------|:--------:| +| loop time in ms | Specifies the target time for the data collection thread to sleep, measured in miliseconds. | 20 | False | + +#### Examples +There are no configuration examples. + + -- cgit v1.2.3