From bb50acdcb8073654ea667b8c0272e335bd43f844 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 14 Apr 2022 20:12:14 +0200 Subject: Merging upstream version 1.34.0. Signed-off-by: Daniel Baumann --- web/gui/dashboard_info.js | 1208 +++++++++++++++++++++++++++++---------------- 1 file changed, 784 insertions(+), 424 deletions(-) (limited to 'web/gui/dashboard_info.js') diff --git a/web/gui/dashboard_info.js b/web/gui/dashboard_info.js index 524a5725e..d43577770 100644 --- a/web/gui/dashboard_info.js +++ b/web/gui/dashboard_info.js @@ -430,12 +430,6 @@ netdataDashboard.menu = { info: 'Information extracted from a server log file. web_log plugin incrementally parses the server log file to provide, in real-time, a break down of key server performance metrics. For web servers, an extended log file format may optionally be used (for nginx and apache) offering timing information and bandwidth for both requests and responses. web_log plugin may also be configured to provide a break down of requests per URL pattern (check /etc/netdata/python.d/web_log.conf).' }, - 'named': { - title: 'named', - icon: '', - info: undefined - }, - 'squid': { title: 'squid', icon: '', @@ -454,24 +448,6 @@ netdataDashboard.menu = { info: undefined }, - 'smawebbox': { - title: 'Solar Power', - icon: '', - info: undefined - }, - - 'fronius': { - title: 'Fronius', - icon: '', - info: undefined - }, - - 'stiebeleltron': { - title: 'Stiebel Eltron', - icon: '', - info: undefined - }, - 'snmp': { title: 'SNMP', icon: '', @@ -635,6 +611,7 @@ netdataDashboard.menu = { 'filesystem': { title: 'Filesystem', icon: '', + info: 'Number of filesystem events for Virtual File System, File Access, Directory cache, and file system latency (BTRFS, EXT4, NFS, XFS, and ZFS) when your disk has the file system. Filesystem charts have relationship with SWAP, Disk, Sync, and Mount Points.' }, 'vernemq': { @@ -952,7 +929,7 @@ netdataDashboard.submenu = { 'mem.page_cache': { title: 'page cache (eBPF)', - info: 'Monitor calls to functions used to manipulate Linux page cache. When integration with apps is enabled, Netdata also shows page cache manipulation per application.' + info: 'Number of calls to functions used to manipulate the Linux page cache. This chart has a relationship with File Systems, Sync, and Hard Disk.' }, 'apps.page_cache': { @@ -962,7 +939,7 @@ netdataDashboard.submenu = { 'filesystem.vfs': { title: 'vfs (eBPF)', - info: 'Monitor calls to functions used to manipulate File Systems. When integration with apps is enabled, Netdata also shows Virtual File System per application.' + info: 'Number of calls to Virtual File System functions used to manipulate File Systems.' }, 'apps.vfs': { @@ -972,42 +949,40 @@ netdataDashboard.submenu = { 'filesystem.ext4_latency': { title: 'ext4 latency (eBPF)', - info: 'Latency is the time it takes for an event to be completed. We calculate the difference between the calling and return times, this spans disk I/O, file system operations (lock, I/O), run queue latency and all events related to the monitored action. Based on the eBPF ext4dist from BCC tools.' + info: 'Latency is the time it takes for an event to be completed. Based on the eBPF ext4dist from BCC tools. This chart is provided by the eBPF plugin to monitor File systems.' }, 'filesystem.xfs_latency': { title: 'xfs latency (eBPF)', - info: 'Latency is the time it takes for an event to be completed. We calculate the difference between the calling and return times, this spans disk I/O, file system operations (lock, I/O), run queue latency and all events related to the monitored action. Based on the eBPF xfsdist from BCC tools.' + info: 'Latency is the time it takes for an event to be completed. Based on the xfsdist from BCC tools. This chart is provided by the eBPF plugin to monitor File systems.' }, 'filesystem.nfs_latency': { title: 'nfs latency (eBPF)', - info: 'Latency is the time it takes for an event to be completed. We calculate the difference between the calling and return times, this spans disk I/O, file system operations (lock, I/O), run queue latency and all events related to the monitored action. Based on the eBPF nfsdist from BCC tools.' + info: 'Latency is the time it takes for an event to be completed. Based on the nfsdist from BCC tools. This chart is provided by the eBPF plugin to monitor File systems.' }, 'filesystem.zfs_latency': { title: 'zfs latency (eBPF)', - info: 'Latency is the time it takes for an event to be completed. We calculate the difference between the calling and return times, this spans disk I/O, file system operations (lock, I/O), run queue latency and all events related to the monitored action. Based on the eBPF zfsdist from BCC tools.' + info: 'Latency is the time it takes for an event to be completed. Based on the zfsdist from BCC tools. This chart is provided by the eBPF plugin to monitor File systems.' }, 'filesystem.btrfs_latency': { title: 'btrfs latency (eBPF)', - info: 'Latency is the time it takes for an event to be completed. We calculate the difference between the calling and return times, we get the logarithmic for the final result and we sum one value to the respective bin. Based on the eBPF btrfsdist from BCC tools.' + info: 'Latency is the time it takes for an event to be completed. Based on the btrfsdist from BCC tools. This chart is provided by the eBPF plugin to monitor File systems.' }, 'filesystem.file_access': { title: 'file access (eBPF)', - info: 'When integration with apps is enabled, Netdata also shows file access per application.' }, 'apps.file_access': { title: 'file access (eBPF)', - info: 'Netdata also gives a summary for this chart on Filesystem submenu (more details on eBPF plugin file chart section).' + info: 'Netdata also gives a summary for this chart on Filesystem submenu (more details on eBPF plugin file chart section).' }, 'ip.kernel': { title: 'kernel functions (eBPF)', - info: 'Next charts are made when ebpf.plugin is running on your host. When integration with apps is enabled, Netdata also shows calls for kernel functions per application.' }, 'apps.net': { @@ -1086,6 +1061,15 @@ netdataDashboard.submenu = { 'services.page_cache': { title: 'pache cache (eBPF)', }, + + 'netdata.ebpf': { + title: 'eBPF.plugin', + info: 'eBPF (extended Berkeley Packet Filter) is used to collect metrics from inside Linux kernel giving a zoom inside your Process, '+ + 'Hard Disk, File systems (File Access, and ' + + 'Directory Cache), Memory (Swap I/O, Page Cache), ' + + 'IRQ (Hard IRQ and Soft IRQ ), Shared Memory, ' + + 'Syscalls (Sync, Mount), and Network.' + }, }; // ---------------------------------------------------------------------------- @@ -1104,6 +1088,204 @@ netdataDashboard.submenu = { var cgroupCPULimitIsSet = 0; var cgroupMemLimitIsSet = 0; +const netBytesInfo = 'The amount of traffic transferred by the network interface.' +const netPacketsInfo = 'The number of packets transferred by the network interface. ' + + 'Received multicast counter is ' + + 'commonly calculated at the device level (unlike received) and therefore may include packets which did not reach the host.' +const netErrorsInfo = '

The number of errors encountered by the network interface.

' + + '

Inbound - bad packets received on this interface. ' + + 'It includes dropped packets due to invalid length, CRC, frame alignment, and other errors. ' + + 'Outbound - transmit problems. ' + + 'It includes frames transmission errors due to loss of carrier, FIFO underrun/underflow, heartbeat, ' + + 'late collisions, and other problems.

' +const netFIFOInfo = '

The number of FIFO errors encountered by the network interface.

' + + '

Inbound - packets dropped because they did not fit into buffers provided by the host, ' + + 'e.g. packets larger than MTU or next buffer in the ring was not available for a scatter transfer. ' + + 'Outbound - frame transmission errors due to device FIFO underrun/underflow. ' + + 'This condition occurs when the device begins transmission of a frame ' + + 'but is unable to deliver the entire frame to the transmitter in time for transmission.

' +const netDropsInfo = '

The number of packets that have been dropped at the network interface level.

' + + '

Inbound - packets received but not processed, e.g. due to ' + + 'softnet backlog overflow, bad/unintended VLAN tags, ' + + 'unknown or unregistered protocols, IPv6 frames when the server is not configured for IPv6. ' + + 'Outbound - packets dropped on their way to transmission, e.g. due to lack of resources.

' +const netCompressedInfo = 'The number of correctly transferred compressed packets by the network interface. ' + + 'These counters are only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP).' +const netEventsInfo = '

The number of errors encountered by the network interface.

' + + '

Frames - aggregated counter for dropped packets due to ' + + 'invalid length, FIFO overflow, CRC, and frame alignment errors. ' + + 'Collisions - ' + + 'collisions during packet transmissions. ' + + 'Carrier - aggregated counter for frame transmission errors due to ' + + 'excessive collisions, loss of carrier, device FIFO underrun/underflow, Heartbeat/SQE Test errors, and late collisions.

' +const netDuplexInfo = '

The interface\'s latest or current ' + + 'duplex that the network adapter ' + + 'negotiated with the device it is connected to.

' + + '

Unknown - the duplex mode can not be determined. ' + + 'Half duplex - the communication is one direction at a time. ' + + 'Full duplex - the interface is able to send and receive data simultaneously.

' + + '

State map: 0 - unknown, 1 - half, 2 - full.

' +const netOperstateInfo = '

The current ' + + 'operational state of the interface.

' + + '

Unknown - the state can not be determined. ' + + 'NotPresent - the interface has missing (typically, hardware) components. ' + + 'Down - the interface is unable to transfer data on L1, e.g. ethernet is not plugged or interface is administratively down. ' + + 'LowerLayerDown - the interface is down due to state of lower-layer interface(s). ' + + 'Testing - the interface is in testing mode, e.g. cable test. It can’t be used for normal traffic until tests complete. ' + + 'Dormant - the interface is L1 up, but waiting for an external event, e.g. for a protocol to establish. ' + + 'Up - the interface is ready to pass packets and can be used.

' + + '

State map: 0 - unknown, 1 - notpresent, 2 - down, 3 - lowerlayerdown, 4 - testing, 5 - dormant, 6 - up.

' +const netCarrierInfo = '

The current physical link state of the interface.

' + + '

State map: 0 - down, 1 - up.

' +const netSpeedInfo = 'The interface\'s latest or current speed that the network adapter ' + + 'negotiated with the device it is connected to. ' + + 'This does not give the max supported speed of the NIC.' +const netMTUInfo = 'The interface\'s currently configured ' + + 'Maximum transmission unit (MTU) value. ' + + 'MTU is the size of the largest protocol data unit that can be communicated in a single network layer transaction.' +// eBPF constants +const ebpfChartProvides = ' This chart is provided by the eBPF plugin.' +const ebpfProcessCreate = 'Number of times a function ' + + 'that starts a process is called. Netdata gives a summary for this chart in Process, and when the integration ' + + 'is enabled, Netdata shows process per ' + + 'application.' + ebpfChartProvides +const ebpfThreadCreate = 'Number of times a function ' + + 'that starts a thread is called. Netdata gives a summary for this chart in Process, and when the integration ' + + 'is enabled, Netdata shows process per ' + + 'application.' + ebpfChartProvides +const ebpfTaskExit = 'Number of times a function ' + + 'that responsible for closing tasks is called. Netdata gives a summary for this chart in Process, and when the integration ' + + 'is enabled, Netdata shows process per ' + + 'application.' + ebpfChartProvides +const ebpfTaskClose = 'Number of times a function ' + + 'that responsible for releasing tasks is called. Netdata gives a summary for this chart in Process, and when the integration ' + + 'is enabled, Netdata shows process per ' + + 'application.' + ebpfChartProvides +const ebpfTaskError = 'Number of errors to create a new task. Netdata gives a ' + + 'summary for this chart in Process, and when the integration is enabled, ' + + 'Netdata shows process per application.' + ebpfChartProvides +const ebpfFileOpen = 'Number of calls for internal functions on the Linux kernel responsible to open files. ' + + 'Netdata gives a summary for this chart in file access, and when the integration is ' + + 'enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfFileOpenError = 'Number of failed calls for internal functions on the Linux kernel responsible to open files. ' + + 'Netdata gives a summary for this chart in file access, and when the integration is ' + + 'enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfFileClosed = 'Number of calls for internal functions on the Linux kernel responsible to close files. ' + + 'Netdata gives a summary for this chart in file access, and when the integration is ' + + 'enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfFileCloseError = 'Number of failed calls for internal functions on the Linux kernel responsible to close files. ' + + 'Netdata gives a summary for this chart in file access, and when the integration is ' + + 'enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfDCHit = 'Percentage of file accesses that were present in the directory cache. ' + + 'Netdata gives a summary for this chart in directory cache, and when the integration is enabled, ' + + 'Netdata shows directory cache per application.' + ebpfChartProvides +const ebpfDCReference = 'Number of times a file is accessed inside directory cache. ' + + 'Netdata gives a summary for this chart in directory cache, and when the integration is enabled, ' + + 'Netdata shows directory cache per application.' + ebpfChartProvides +const ebpfDCNotCache = 'Number of times a file is accessed in the file system, because it is not present inside the directory cache. ' + + 'Netdata gives a summary for this chart in directory cache, and when the integration is enabled, ' + + 'Netdata shows directory cache per application.' + ebpfChartProvides +const ebpfDCNotFound = 'Number of times a file was not found on the file system. Netdata gives a summary for this chart in directory cache, ' + + 'and when the integration is enabled, ' + + 'Netdata shows directory cache per application.' + ebpfChartProvides +const ebpfVFSWrite = 'Number of successful calls to VFS writer function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSRead = 'Number of successful calls to VFS reader function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSWriteError = 'Number of failed calls to VFS writer function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSReadError = 'Number of failed calls to VFS reader function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSWriteBytes = 'Total of bytes successfully written using the VFS writer function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSReadBytes = 'Total of bytes successfully read using the VFS reader function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSUnlink = 'Number of calls to VFS unlinker function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSSync = 'Number of calls to VFS syncer function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSSyncError = 'Number of failed calls to VFS syncer function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSOpen = 'Number of calls to VFS opener function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSOpenError = 'Number of failed calls to VFS opener function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSCreate = 'Number of calls to VFS creator function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfVFSCreateError = 'Number of failed calls to VFS creator function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per application.' + ebpfChartProvides +const ebpfSwapRead = 'Number of failed calls to swap reader function. Netdata gives a summary for this chart in ' + + 'System Overview, and when the integration is enabled, ' + + 'Netdata shows swap per application.' + ebpfChartProvides +const ebpfSwapWrite = 'Number of failed calls to swap writer function. Netdata gives a summary for this chart in ' + + 'System Overview, and when the integration is enabled, ' + + 'Netdata shows swap per application.' + ebpfChartProvides +const ebpfCachestatRatio = 'The ratio shows the percentage of data accessed directly in memory. ' + + 'Netdata gives a summary for this chart in Memory, and when the integration is enabled, ' + + 'Netdata shows page cache hit per application.' + ebpfChartProvides +const ebpfCachestatDirties = 'Number of modified pages in Linux page cache. ' + + 'Netdata gives a summary for this chart in Memory, and when the integration is enabled, ' + + 'Netdata shows page cache hit per application.' + ebpfChartProvides +const ebpfCachestatHits = 'Number of access to data in Linux page cache. ' + + 'Netdata gives a summary for this chart in Memory, and when the integration is enabled, ' + + 'Netdata shows page cache hit per application.' + ebpfChartProvides +const ebpfCachestatMisses = 'Number of access to data was not present in Linux page cache. ' + + 'Netdata gives a summary for this chart in Memory, and when the integration is enabled, ' + + 'Netdata shows page cache misses per application.' + ebpfChartProvides +const ebpfSHMget = 'Number of calls to shmget. Netdata gives a summary for this chart in System Overview, and when the integration is ' + + 'enabled, Netdata shows shared memory metrics per application.' + ebpfChartProvides +const ebpfSHMat = 'Number of calls to shmat. Netdata gives a summary for this chart in System Overview, and when the integration is ' + + 'enabled, Netdata shows shared memory metrics per application.' + ebpfChartProvides +const ebpfSHMctl = 'Number of calls to shmctl. Netdata gives a summary for this chart in System Overview, and when the integration is ' + + 'enabled, Netdata shows shared memory metrics per application.' + ebpfChartProvides +const ebpfSHMdt = 'Number of calls to shmdt. Netdata gives a summary for this chart in System Overview, and when the integration is ' + + 'enabled, Netdata shows shared memory metrics per application.' + ebpfChartProvides +const ebpfIPV4conn = 'Number of calls to IPV4 TCP function responsible for starting connections. ' + + 'Netdata gives a summary for this chart in Network Stack. When the integration is enabled, ' + + 'Netdata shows outbound connections per application.' + ebpfChartProvides +const ebpfIPV6conn = 'Number of calls to IPV6 TCP function responsible for starting connections. ' + + 'Netdata gives a summary for this chart in Network Stack. When the integration is enabled, ' + + 'Netdata shows outbound connections per application.' + ebpfChartProvides +const ebpfBandwidthSent = 'Total bytes sent with TCP or UDP internal functions. ' + + 'Netdata gives a summary for this chart in Network Stack. When the integration is enabled, ' + + 'Netdata shows bandwidth per application.' + ebpfChartProvides +const ebpfBandwidthRecv = 'Total bytes received with TCP or UDP internal functions. ' + + 'Netdata gives a summary for this chart in Network Stack. When the integration is enabled, ' + + 'Netdata shows bandwidth per application.' + ebpfChartProvides +const ebpfTCPSendCall = 'Number of calls to TCP functions responsible to send data. ' + + 'Netdata gives a summary for this chart in Network Stack. ' + + 'When the integration is enabled, Netdata shows TCP calls per application.' + ebpfChartProvides +const ebpfTCPRecvCall = 'Number of calls to TCP functions responsible to receive data. ' + + 'Netdata gives a summary for this chart in Network Stack. ' + + 'When the integration is enabled, ' + + 'Netdata shows TCP calls per application.' + ebpfChartProvides +const ebpfTCPRetransmit = 'Number of times a TCP packet was retransmitted. ' + + 'Netdata gives a summary for this chart in Network Stack. ' + + 'When the integration is enabled, Netdata shows TCP calls per application.' + ebpfChartProvides +const ebpfUDPsend = 'Number of calls to UDP functions responsible to send data. ' + + 'Netdata gives a summary for this chart in Network Stack. ' + + 'When the integration is enabled, Netdata shows UDP calls per application.' + ebpfChartProvides +const ebpfUDPrecv = 'Number of calls to UDP functions responsible to receive data. ' + + 'Netdata gives a summary for this chart in Network Stack. ' + + 'When the integration is enabled, Netdata shows UDP calls per application.' + ebpfChartProvides + netdataDashboard.context = { 'system.cpu': { info: function (os) { @@ -1183,13 +1365,23 @@ netdataDashboard.context = { }, 'system.clock_sync_state': { - info:'

The system clock synchronization state. '+ - 'It is strongly recommended having the clock in sync with reliable NTP servers. Otherwise, '+ - 'it leads to unpredictable problems. '+ + info:'

The system clock synchronization state as provided by the ntp_adjtime() system call. '+ + 'An unsynchronized clock may be the result of synchronization issues by the NTP daemon or a hardware clock fault. '+ 'It can take several minutes (usually up to 17) before NTP daemon selects a server to synchronize with. '+ '

State map: 0 - not synchronized, 1 - synchronized.

' }, + 'system.clock_status': { + info:'

The kernel code can operate in various modes and with various features enabled or disabled, as selected by the '+ + 'ntp_adjtime() system call. '+ + 'The system clock status shows the value of the time_status variable in the kernel. '+ + 'The bits of the variable are used to control these functions and record error conditions as they exist.

'+ + '

UNSYNC - set/cleared by the caller to indicate clock unsynchronized (e.g., when no peers are reachable). '+ + 'This flag is usually controlled by an application program, but the operating system may also set it. '+ + 'CLOCKERR - set/cleared by the external hardware clock driver to indicate hardware fault.

'+ + '

Status map: 0 - bit unset, 1 - bit set.

' + }, + 'system.clock_sync_offset': { info: 'A typical NTP client regularly polls one or more NTP servers. '+ 'The client must compute its '+ @@ -1214,7 +1406,7 @@ netdataDashboard.context = { }, 'system.hardirq_latency': { - info: 'Total time spent servicing hardware interrupts. Based on the eBPF hardirqs from BCC tools.' + info: 'Total time spent servicing hardware interrupts. Based on the eBPF hardirqs from BCC tools.' + ebpfChartProvides + '
' }, 'system.softirqs': { @@ -1233,7 +1425,7 @@ netdataDashboard.context = { }, 'system.softirq_latency': { - info: 'Total time spent servicing software interrupts. Based on the eBPF softirqs from BCC tools.' + info: 'Total time spent servicing software interrupts. Based on the eBPF softirqs from BCC tools.' + ebpfChartProvides + '
' }, 'system.processes': { @@ -1242,6 +1434,19 @@ netdataDashboard.context = { 'Blocked - currently blocked, waiting for I/O to complete.

' }, + 'system.processes_state': { + info: '

The number of processes in different states.

'+ + '

Running - Process using the CPU at a particular moment. '+ + 'Sleeping (uninterruptible) - Process will wake when a waited-upon resource becomes available or after a time-out occurs during that wait. '+ + 'Mostly used by device drivers waiting for disk or network I/O. '+ + 'Sleeping (interruptible) - Process is waiting either for a particular time slot or for a particular event to occur. '+ + 'Zombie - Process that has completed its execution, released the system resources, but its entry is not removed from the process table. '+ + 'Usually occurs in child processes when the parent process still needs to read its child’s exit status. '+ + 'A process that stays a zombie for a long time is generally an error and causes system PID space leak. '+ + 'Stopped - Process is suspended from proceeding further due to STOP or TSTP signals. ' + + 'In this state, a process will not do anything (not even terminate) until it receives a CONT signal.

' + }, + 'system.active_processes': { info: 'The total number of processes in the system.' }, @@ -1286,7 +1491,7 @@ netdataDashboard.context = { }, 'system.swapcalls': { - info: 'Monitor calls to functions swap_readpage and swap_writepage. When integration with apps is enabled, Netdata also shows swap access per application.' + info: 'Number of calls to functions used to manipulate swap data. Netdata shows swap metrics per application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' }, 'system.ipc_semaphores': { @@ -1311,7 +1516,7 @@ netdataDashboard.context = { }, 'system.shared_memory_calls': { - info: 'Monitor calls to functions shmget, shmat, shmdt, and shmctl. When integration with apps is enabled, Netdata also shows shared memory system call usage per application.' + info: 'Number of calls to syscalls responsible to manipulate shared memories. Netdata shows shared memory metrics per application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' }, 'system.message_queue_messages': { @@ -1328,22 +1533,22 @@ netdataDashboard.context = { 'system.process_thread': { title : 'Task creation', - info: 'Number of times that either do_fork, or kernel_clone if you are running kernel newer than 5.9.16, is called to create a new task, which is the common name used to define process and tasks inside the kernel. Netdata identifies the threads monitoring tracepoint sched_process_fork. This chart is provided by eBPF plugin.' + info: 'Number of times a function that starts a process or thread is called. Netdata shows process metrics per application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' }, 'system.exit': { title : 'Exit monitoring', - info: 'Calls for the functions responsible for closing (do_exit) and releasing (release_task) tasks. This chart is provided by eBPF plugin.' + info: 'Number of times a function responsible to close a process or thread is called. Netdata shows process metrics per application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' }, 'system.task_error': { title : 'Task error', - info: 'Number of errors to create a new process or thread. This chart is provided by eBPF plugin.' + info: 'Number of times a function that starts a process or thread failed. Netdata shows process metrics per application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' }, 'system.process_status': { title : 'Task status', - info: 'Difference between the number of process created and the number of threads created per period(process dimension), it also shows the number of possible zombie process running on system. This chart is provided by eBPF plugin.' + info: 'Difference between the number of calls to functions that close a task and release a task.'+ ebpfChartProvides }, // ------------------------------------------------------------------------ @@ -1549,43 +1754,43 @@ netdataDashboard.context = { }, 'mem.cachestat_ratio': { - info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is there, a page cache hit has occurred and the read is from the cache. If the entry is not there, a page cache miss has occurred and the kernel allocates a new entry and copies in data from the disk. Netdata calculates the percentage of accessed files that are cached on memory. The ratio is calculated counting the accessed cached pages (without counting dirty pages and pages added because of read misses) divided by total access without dirty pages.' + info: 'The ratio shows the percentage of data accessed directly in memory. Netdata shows the ratio per application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides }, 'mem.cachestat_dirties': { - info: 'Number of dirty(modified) pages cache. Pages in the page cache modified after being brought in are called dirty pages. Since non-dirty pages in the page cache have identical copies in secondary storage (e.g. hard disk drive or solid-state drive), discarding and reusing their space is much quicker than paging out application memory, and is often preferred over flushing the dirty pages into secondary storage and reusing their space.' + info: 'Number of modified pages in Linux page cache. Netdata shows the dity page application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' }, 'mem.cachestat_hits': { - info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is there, a page cache hit has occurred and the read is from the cache. Hits show pages accessed that were not modified (we are excluding dirty pages), this counting also excludes the recent pages inserted for read.' + info: 'Number of access to data in Linux page cache. Netdata shows the hits per application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' }, 'mem.cachestat_misses': { - info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is not there, a page cache miss has occurred and the cache allocates a new entry and copies in data for the main memory. Misses count page insertions to the memory not related to writing.' + info: 'Number of access to data that was not present in Linux page cache. Netdata shows the missed access per application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' }, 'mem.sync': { - info: 'System calls for sync() and syncfs() which flush the file system buffers to storage devices. Performance perturbations might be caused by these calls. The sync() calls are based on the eBPF syncsnoop from BCC tools.' + info: 'Number of calls to syscalls that sync filesystem metadata or cached. This chart has a relationship with File systems and Linux Page Cache.' + ebpfChartProvides }, 'mem.file_sync': { - info: 'System calls for fsync() and fdatasync() transfer all modified page caches for the files on disk devices. These calls block until the device reports that the transfer has been completed.' + info: 'Number of calls to syscalls responsible to transfer modified Linux page cache to disk. This chart has a relationship with File systems and Linux Page Cache.' + ebpfChartProvides }, 'mem.memory_map': { - info: 'System calls for msync() which flushes changes made to the in-core copy of a file that was mapped.' + info: 'Number of calls to syscall responsible to the in-core copy of a file that was mapped. This chart has a relationship with File systems and Linux Page Cache.' + ebpfChartProvides }, 'mem.file_segment': { - info: 'System calls for sync_file_range() permits fine control when synchronizing the open file referred to by the file descriptor fd with disk. This system call is extremely dangerous and should not be used in portable programs.' + info: 'Number of calls to syscall responsible to sync file segments. This chart has a relationship with File systems and Linux Page Cache.' + ebpfChartProvides }, 'filesystem.dc_hit_ratio': { - info: 'Percentage of file accesses that were present in the directory cache. 100% means that every file that was accessed was present in the directory cache. If files are not present in the directory cache 1) they are not present in the file system, 2) the files were not accessed before. Read more about directory cache. When integration with apps is enabled, Netdata also shows directory cache per application.' + info: 'Percentage of file accesses that were present in the directory cache. Netdata shows directory cache metrics per application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' }, 'filesystem.dc_reference': { - info: 'Counters of file accesses. Reference is when there is a file access and the file is not present in the directory cache. Miss is when there is file access and the file is not found in the filesystem. Slow is when there is a file access and the file is present in the filesystem but not in the directory cache. Read more about directory cache.' + info: 'Counters of file accesses. Reference is when there is a file access and the file is not present in the directory cache. Miss is when there is file access and the file is not found in the filesystem. Slow is when there is a file access and the file is present in the filesystem but not in the directory cache. Netdata shows directory cache metrics per application and cgroup (systemd Services) if apps or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' }, 'md.health': { @@ -1659,6 +1864,66 @@ netdataDashboard.context = { 'ECTP0 and ECTP1 - ECN capable transport.

' }, + 'ip.inbound_conn': { + info: 'Number of calls to functions responsible for receiving connections.' + ebpfChartProvides + }, + + 'ip.tcp_outbound_conn': { + info: 'Number of calls to TCP functions responsible for starting connections. ' + + 'Netdata shows TCP outbound connections metrics per application and cgroup (systemd Services) if ' + + 'apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' + }, + + 'ip.tcp_functions': { + info: 'Number of calls to TCP functions responsible for exchanging data. ' + + 'Netdata shows TCP outbound connections metrics per application and cgroup (systemd Services) if ' + + 'apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' + }, + + 'ip.total_tcp_bandwidth': { + info: 'Total bytes sent and received with TCP internal functions. ' + + 'Netdata shows TCP bandwidth metrics per application and cgroup (systemd Services) if ' + + 'apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' + }, + + 'ip.tcp_error': { + info: 'Number of failed calls to TCP functions responsible for TCP bandwidth. ' + + 'Netdata shows TCP error per application and cgroup (systemd Services) if ' + + 'apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' + }, + + 'ip.tcp_retransmit': { + info: 'Number of times a TCP packet was retransmitted. ' + + 'Netdata shows TCP retransmit per application and cgroup (systemd Services) if ' + + 'apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' + }, + + 'ip.udp_functions': { + info: 'Number of calls to UDP functions responsible for exchanging data. ' + + 'Netdata shows TCP outbound connections metrics per application and cgroup (systemd Services) if ' + + 'apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' + }, + + 'ip.total_udp_bandwidth': { + info: 'Total bytes sent and received with UDP internal functions. ' + + 'Netdata shows UDP bandwidth metrics per application and cgroup (systemd Services) if ' + + 'apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' + }, + + 'ip.udp_error': { + info: 'Number of failed calls to UDP functions responsible for UDP bandwidth. ' + + 'Netdata shows UDP error per application and cgroup (systemd Services) if ' + + 'apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + '
' + }, + 'ip.tcpreorders': { info: '

TCP prevents out-of-order packets by either sequencing them in the correct order or '+ 'by requesting the retransmission of out-of-order packets.

'+ @@ -1707,42 +1972,6 @@ netdataDashboard.context = { 'Failed - happens when the kernel attempted to send an RST but failed because there was no memory available.

' }, - 'ip.tcp_functions': { - title : 'TCP calls', - info: 'Successful or failed calls to functions tcp_sendmsg, tcp_cleanup_rbuf, and tcp_close.' - }, - - 'ip.total_tcp_bandwidth': { - title : 'TCP bandwidth', - info: 'Bytes sent and received by functions tcp_sendmsg and tcp_cleanup_rbuf. We use tcp_cleanup_rbuf instead of tcp_recvmsg, because the last one misses tcp_read_sock() traffic and we would also need to have more probes to get the socket and package size.' - }, - - 'ip.tcp_error': { - title : 'TCP errors', - info: 'Failed calls to functions tcp_sendmsg, tcp_cleanup_rbuf, and tcp_close.' - }, - - 'ip.tcp_retransmit': { - title : 'TCP retransmit', - info: 'Number of packets retransmitted by function tcp_retransmit_skb.' - }, - - 'ip.udp_functions': { - title : 'UDP calls', - info: 'Successful or failed calls to functions udp_sendmsg and udp_recvmsg.' - }, - - 'ip.total_udp_bandwidth': { - title : 'UDP bandwidth', - info: 'Bytes sent and received by functions udp_sendmsg and udp_recvmsg.' - }, - - 'ip.udp_error': { - title : 'UDP errors', - info: 'Failed calls to functions udp_sendmsg and udp_recvmsg.' - }, - - 'ip.tcp_syn_queue': { info: '

The SYN queue of the kernel tracks TCP handshakes until connections get fully established. ' + 'It overflows when too many incoming TCP connection requests hang in the half-open state and the server ' + @@ -2535,114 +2764,217 @@ netdataDashboard.context = { // Apps eBPF stuff 'apps.file_open': { - info: 'Calls to the internal function do_sys_open (for kernels newer than 5.5.19 we add a kprobe to do_sys_openat2. ), which is the common function called from' + - ' open(2) ' + - ' and openat(2). ' + info: 'Number of calls for internal functions on the Linux kernel responsible to open files. ' + + 'Netdata gives a summary for this chart in file access, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '

' }, 'apps.file_open_error': { - info: 'Failed calls to the internal function do_sys_open (for kernels newer than 5.5.19 we add a kprobe to do_sys_openat2. ).' + info: 'Number of failed calls for internal functions on the Linux kernel responsible to open files. ' + + 'Netdata gives a summary for this chart in file access, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.file_closed': { - info: 'Calls to the internal function __close_fd or close_fd according to your kernel version, which is called from' + - ' close(2). ' + info: 'Number of calls for internal functions on the Linux kernel responsible to close files. ' + + 'Netdata gives a summary for this chart in file access, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.file_close_error': { - info: 'Failed calls to the internal function __close_fd or close_fd according to your kernel version.' + info: 'Number of failed calls for internal functions on the Linux kernel responsible to close files. ' + + 'Netdata gives a summary for this chart in file access, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.file_deleted': { - info: 'Calls to the function vfs_unlink. This chart does not show all events that remove files from the filesystem, because filesystems can create their own functions to remove files.' + info: 'Number of calls to VFS unlinker function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '' }, 'apps.vfs_write_call': { - info: 'Successful calls to the function vfs_write. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: 'Number of successful calls to VFS writer function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.vfs_write_error': { - info: 'Failed calls to the function vfs_write. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: 'Number of failed calls to VFS writer function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.vfs_read_call': { - info: 'Successful calls to the function vfs_read. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: 'Number of successful calls to VFS reader function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.vfs_read_error': { - info: 'Failed calls to the function vfs_read. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: 'Number of failed calls to VFS reader function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.vfs_write_bytes': { - info: 'Total of bytes successfully written using the function vfs_write.' + info: 'Total of bytes successfully written using the VFS writer function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.vfs_read_bytes': { - info: 'Total of bytes successfully read using the function vfs_read.' + info: 'Total of bytes successfully written using the VFS reader function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.vfs_fsync': { + info: 'Number of calls to VFS syncer function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.vfs_fsync_error': { + info: 'Number of failed calls to VFS syncer function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.vfs_open': { + info: 'Number of calls to VFS opener function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.vfs_open_error': { + info: 'Number of failed calls to VFS opener function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.vfs_create': { + info: 'Number of calls to VFS creator function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.vfs_create_error': { + info: 'Number of failed calls to VFS creator function. Netdata gives a summary for this chart in ' + + 'Virtual File System, and when the integration is enabled, ' + + 'Netdata shows virtual file system per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.process_create': { - info: 'Calls to either do_fork, or kernel_clone if you are running kernel newer than 5.9.16, to create a new task, which is the common name used to define process and tasks inside the kernel. This chart is provided by eBPF plugin.' + info: 'Number of times a function that starts a process is called. Netdata gives a summary for this chart in Process, and when the integration is enabled, Netdata shows process per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.thread_create': { - info: 'Calls to either do_fork, or kernel_clone if you are running kernel newer than 5.9.16, to create a new task, which is the common name used to define process and tasks inside the kernel. Netdata identifies the threads monitoring tracepoint sched_process_fork. This chart is provided by eBPF plugin.' + info: 'Number of times a function that starts a thread is called. Netdata gives a summary for this chart in Process, and when the integration is enabled, Netdata shows process per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.task_exit': { - info: 'Calls to the function responsible for closing (do_exit) tasks. This chart is provided by eBPF plugin.' + info: 'Number of times a function responsible for closing tasks is called. Netdata gives a summary for this chart in Process, and when the integration is enabled, Netdata shows process per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.task_close': { - info: 'Calls to the function responsible for releasing (release_task) tasks. This chart is provided by eBPF plugin.' + info: 'Number of times a function responsible for releasing tasks is called. Netdata gives a summary for this chart in Process, and when the integration is enabled, Netdata shows process per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.task_error': { - info: 'Number of errors to create a new process or thread. This chart is provided by eBPF plugin.' + info: 'Number of errors to create a new task. Netdata gives a summary for this chart in Process, and when the integration is enabled, Netdata shows process per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.outbound_conn_v4': { + info: 'Number of calls to IPV4 TCP function responsible for starting connections. Netdata gives a summary for this chart in Network Stack. When the integration is enabled, Netdata shows outbound connections per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.outbound_conn_v6': { + info: 'Number of calls to IPV6 TCP function responsible for starting connections. Netdata gives a summary for this chart in Network Stack. When the integration is enabled, Netdata shows outbound connections per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.total_bandwidth_sent': { - info: 'Bytes sent by functions tcp_sendmsg and udp_sendmsg.' + info: 'Total bytes sent with TCP or UDP internal functions. Netdata gives a summary for this chart in Network Stack. When the integration is enabled, Netdata shows bandwidth per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.total_bandwidth_recv': { - info: 'Bytes received by functions tcp_cleanup_rbuf and udp_recvmsg. We use tcp_cleanup_rbuf instead tcp_recvmsg, because this last misses tcp_read_sock() traffic and we would also need to have more probes to get the socket and package size.' + info: 'Total bytes received with TCP or UDP internal functions. Netdata gives a summary for this chart in Network Stack. When the integration is enabled, Netdata shows bandwidth per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.bandwidth_tcp_send': { - info: 'The function tcp_sendmsg is used to collect number of bytes sent from TCP connections.' + info: 'Number of calls to TCP functions responsible to send data. Netdata gives a summary for this chart in Network Stack. When the integration is enabled, Netdata shows TCP calls per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.bandwidth_tcp_recv': { - info: 'The function tcp_cleanup_rbuf is used to collect number of bytes received from TCP connections.' + info: 'Number of calls to TCP functions responsible to receive data. Netdata gives a summary for this chart in Network Stack. When the integration is enabled, Netdata shows TCP calls per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.bandwidth_tcp_retransmit': { - info: 'The function tcp_retransmit_skb is called when the host did not receive the expected return from a packet sent.' + info: 'Number of times a TCP packet was retransmitted. Netdata gives a summary for this chart in Network Stack. When the integration is enabled, Netdata shows TCP calls per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.bandwidth_udp_send': { - info: 'The function udp_sendmsg is used to collect number of bytes sent from UDP connections.' + info: 'Number of calls to UDP functions responsible to send data. Netdata gives a summary for this chart in Network Stack. When the integration is enabled, Netdata shows UDP calls per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.bandwidth_udp_recv': { - info: 'The function udp_recvmsg is used to collect number of bytes received from UDP connections.' + info: 'Number of calls to UDP functions responsible to receive data. Netdata gives a summary for this chart in Network Stack. When the integration is enabled, Netdata shows UDP calls per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.cachestat_ratio' : { + info: 'The ratio shows the percentage of data accessed directly in memory. Netdata gives a summary for this chart in Memory, and when the integration is enabled, Netdata shows page cache hit per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.cachestat_dirties' : { + info: 'Number of modified pages in Linux page cache. Netdata gives a summary for this chart in Memory, and when the integration is enabled, Netdata shows page cache hit per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.cachestat_hits' : { + info: 'Number of access to data in Linux page cache. Netdata gives a summary for this chart in Memory, and when the integration is enabled, Netdata shows page cache hit per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.cachestat_misses' : { + info: 'Number of access to data was not present in Linux page cache. Netdata gives a summary for this chart in Memory, and when the integration is enabled, Netdata shows page cache misses per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.dc_hit_ratio': { - info: 'Percentage of file accesses that were present in the directory cache. 100% means that every file that was accessed was present in the directory cache. If files are not present in the directory cache 1) they are not present in the file system, 2) the files were not accessed before. Read more about directory cache. Netdata also gives a summary for these charts in Filesystem submenu.' + info: 'Percentage of file accesses that were present in the directory cache. Netdata gives a summary for this chart in directory cache, and when the integration is enabled, Netdata shows directory cache per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.dc_reference': { - info: 'Counters of file accesses. Reference is when there is a file access, see the filesystem.dc_reference chart for more context. Read more about directory cache.' + info: 'Number of times a file is accessed inside directory cache. Netdata gives a summary for this chart in directory cache, and when the integration is enabled, Netdata shows directory cache per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.dc_not_cache': { - info: 'Counters of file accesses. Slow is when there is a file access and the file is not present in the directory cache, see the filesystem.dc_reference chart for more context. Read more about directory cache.' + info: 'Number of times a file is accessed in the file system, because it is not present inside the directory cache. Netdata gives a summary for this chart in directory cache, and when the integration is enabled, Netdata shows directory cache per cgroup (systemd Services).' + ebpfChartProvides + '
' }, 'apps.dc_not_found': { - info: 'Counters of file accesses. Miss is when there is file access and the file is not found in the filesystem, see the filesystem.dc_reference chart for more context. Read more about directory cache.' + info: 'Number of times a file was not found on the file system. Netdata gives a summary for this chart in directory cache, and when the integration is enabled, Netdata shows directory cache per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.swap_read_call': { + info: 'Number of calls to swap reader function. Netdata gives a summary for this chart in System Overview, and when the integration is enabled, Netdata shows swap metrics per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.swap_write_call': { + info: 'Number of calls to swap writer function. Netdata gives a summary for this chart in System Overview, and when the integration is enabled, Netdata shows swap metrics per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.shmget_call': { + info: 'Number of calls to shmget. Netdata gives a summary for this chart in System Overview, and when the integration is enabled, Netdata shows shared memory metrics per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.shmat_call': { + info: 'Number of calls to shmat. Netdata gives a summary for this chart in System Overview, and when the integration is enabled, Netdata shows shared memory metrics per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.shmdt_call': { + info: 'Number of calls to shmdt. Netdata gives a summary for this chart in System Overview, and when the integration is enabled, Netdata shows shared memory metrics per cgroup (systemd Services).' + ebpfChartProvides + '
' + }, + + 'apps.shmctl_call': { + info: 'Number of calls to shmctl. Netdata gives a summary for this chart in System Overview, and when the integration is enabled, Netdata shows shared memory metrics per cgroup (systemd Services).' + ebpfChartProvides + '
' }, // ------------------------------------------------------------------------ @@ -2665,127 +2997,107 @@ netdataDashboard.context = { // NETWORK INTERFACES 'net.net': { - mainheads: [ - function (os, id) { - void (os); - if (id.match(/^cgroup_.*/)) { - var iface; - try { - iface = ' ' + id.substring(id.lastIndexOf('.net_') + 5, id.length); - } catch (e) { - iface = ''; - } - return netdataDashboard.gaugeChart('Received' + iface, '12%', 'received'); - } else - return ''; - }, - function (os, id) { - void (os); - if (id.match(/^cgroup_.*/)) { - var iface; - try { - iface = ' ' + id.substring(id.lastIndexOf('.net_') + 5, id.length); - } catch (e) { - iface = ''; - } - return netdataDashboard.gaugeChart('Sent' + iface, '12%', 'sent'); - } else - return ''; - } - ], heads: [ - function (os, id) { - void (os); - if (!id.match(/^cgroup_.*/)) - return netdataDashboard.gaugeChart('Received', '12%', 'received'); - else - return ''; - }, - function (os, id) { - void (os); - if (!id.match(/^cgroup_.*/)) - return netdataDashboard.gaugeChart('Sent', '12%', 'sent'); - else - return ''; - } + netdataDashboard.gaugeChart('Received', '12%', 'received'), + netdataDashboard.gaugeChart('Sent', '12%', 'sent'), ], - info: 'The amount of traffic transferred by the network interface.' + info: netBytesInfo }, 'net.packets': { - info: 'The number of packets transferred by the network interface. '+ - 'Received multicast counter is '+ - 'commonly calculated at the device level (unlike received) and therefore may include packets which did not reach the host.' + info: netPacketsInfo }, 'net.errors': { - info: '

The number of errors encountered by the network interface.

'+ - '

Inbound - bad packets received on this interface. '+ - 'It includes dropped packets due to invalid length, CRC, frame alignment, and other errors. '+ - 'Outbound - transmit problems. '+ - 'It includes frames transmission errors due to loss of carrier, FIFO underrun/underflow, heartbeat, '+ - 'late collisions, and other problems.

' + info: netErrorsInfo }, 'net.fifo': { - info: '

The number of FIFO errors encountered by the network interface.

'+ - '

Inbound - packets dropped because they did not fit into buffers provided by the host, '+ - 'e.g. packets larger than MTU or next buffer in the ring was not available for a scatter transfer. '+ - 'Outbound - frame transmission errors due to device FIFO underrun/underflow. '+ - 'This condition occurs when the device begins transmission of a frame '+ - 'but is unable to deliver the entire frame to the transmitter in time for transmission.

' + info: netFIFOInfo }, 'net.drops': { - info: '

The number of packets that have been dropped at the network interface level.

'+ - '

Inbound - packets received but not processed, e.g. due to '+ - 'softnet backlog overflow, bad/unintended VLAN tags, '+ - 'unknown or unregistered protocols, IPv6 frames when the server is not configured for IPv6. '+ - 'Outbound - packets dropped on their way to transmission, e.g. due to lack of resources.

' + info: netDropsInfo }, 'net.compressed': { - info: 'The number of correctly transferred compressed packets by the network interface. '+ - 'These counters are only meaningful for interfaces which support packet compression (e.g. CSLIP, PPP).' + info: netCompressedInfo }, 'net.events': { - info: '

The number of errors encountered by the network interface.

'+ - '

Frames - aggregated counter for dropped packets due to '+ - 'invalid length, FIFO overflow, CRC, and frame alignment errors. '+ - 'Collisions - '+ - 'collisions during packet transmissions. '+ - 'Carrier - aggregated counter for frame transmission errors due to '+ - 'excessive collisions, loss of carrier, device FIFO underrun/underflow, Heartbeat/SQE Test errors, and late collisions.

' + info: netEventsInfo }, 'net.duplex': { - info: '

The interface\'s latest or current '+ - 'duplex that the network adapter '+ - 'negotiated with the device it is connected to.

'+ - '

Unknown - the duplex mode can not be determined. '+ - 'Half duplex - the communication is one direction at a time. '+ - 'Full duplex - the interface is able to send and receive data simultaneously.

'+ - '

State map: 0 - unknown, 1 - half, 2 - full.

' + info: netDuplexInfo }, 'net.operstate': { - info: '

The current '+ - 'operational state of the interface.

'+ - '

Unknown - the state can not be determined. '+ - 'NotPresent - the interface has missing (typically, hardware) components. '+ - 'Down - the interface is unable to transfer data on L1, e.g. ethernet is not plugged or interface is administratively down. '+ - 'LowerLayerDown - the interface is down due to state of lower-layer interface(s). '+ - 'Testing - the interface is in testing mode, e.g. cable test. It can’t be used for normal traffic until tests complete. '+ - 'Dormant - the interface is L1 up, but waiting for an external event, e.g. for a protocol to establish. '+ - 'Up - the interface is ready to pass packets and can be used.

'+ - '

State map: 0 - unknown, 1 - notpresent, 2 - down, 3 - lowerlayerdown, 4 - testing, 5 - dormant, 6 - up.

' + info: netOperstateInfo }, 'net.carrier': { - info: '

The current physical link state of the interface.

'+ - '

State map: 0 - down, 1 - up.

' + info: netCarrierInfo }, 'net.speed': { - info: 'The interface\'s latest or current speed that the network adapter '+ - 'negotiated with the device it is connected to. '+ - 'This does not give the max supported speed of the NIC.' + info: netSpeedInfo }, 'net.mtu': { - info: 'The interface\'s currently configured '+ - 'Maximum transmission unit (MTU) value. '+ - 'MTU is the size of the largest protocol data unit that can be communicated in a single network layer transaction.' + info: netMTUInfo + }, + + // ------------------------------------------------------------------------ + // CGROUP NETWORK INTERFACES + + 'cgroup.net_net': { + mainheads: [ + function (os, id) { + void (os); + var iface; + try { + iface = ' ' + id.substring(id.lastIndexOf('.net_') + 5, id.length); + } catch (e) { + iface = ''; + } + return netdataDashboard.gaugeChart('Received' + iface, '12%', 'received'); + + }, + function (os, id) { + void (os); + var iface; + try { + iface = ' ' + id.substring(id.lastIndexOf('.net_') + 5, id.length); + } catch (e) { + iface = ''; + } + return netdataDashboard.gaugeChart('Sent' + iface, '12%', 'sent'); + } + ], + info: netBytesInfo + }, + 'cgroup.net_packets': { + info: netPacketsInfo + }, + 'cgroup.net_errors': { + info: netErrorsInfo + }, + 'cgroup.net_fifo': { + info: netFIFOInfo + }, + 'cgroup.net_drops': { + info: netDropsInfo + }, + 'cgroup.net_compressed': { + info: netCompressedInfo + }, + 'cgroup.net_events': { + info: netEventsInfo + }, + 'cgroup.net_duplex': { + info: netDuplexInfo + }, + 'cgroup.net_operstate': { + info: netOperstateInfo + }, + 'cgroup.net_carrier': { + info: netCarrierInfo + }, + 'cgroup.net_speed': { + info: netSpeedInfo + }, + 'cgroup.net_mtu': { + info: netMTUInfo }, // ------------------------------------------------------------------------ @@ -2954,7 +3266,7 @@ netdataDashboard.context = { }, 'disk.latency_io': { height: 0.5, - info: 'Disk I/O latency is the time it takes for an I/O request to be completed. Latency is the single most important metric to focus on when it comes to storage performance, under most circumstances. For hard drives, an average latency somewhere between 10 to 20 ms can be considered acceptable. For SSD (Solid State Drives), depending on the workload it should never reach higher than 1-3 ms. In most cases, workloads will experience less than 1ms latency numbers. The dimensions refer to time intervals. This chart is based on the bio_tracepoints tool of the ebpf_exporter.' + info: 'Disk I/O latency is the time it takes for an I/O request to be completed. Disk chart has a relationship with Filesystem charts. This chart is based on the bio_tracepoints tool of the ebpf_exporter.' + ebpfChartProvides }, 'disk.avgsz': { height: 0.5, @@ -3130,7 +3442,7 @@ netdataDashboard.context = { '

Arcsz - actual size. '+ 'Target - target size that the ARC is attempting to maintain (adaptive). '+ 'Min - minimum size limit. When the ARC is asked to shrink, it will stop shrinking at this value. '+ - 'Min - maximum size limit.

' + 'Max - maximum size limit.

' }, 'zfs.l2_size': { @@ -3595,7 +3907,7 @@ netdataDashboard.context = { }, 'netdata.ebpf_threads': { - info: 'Show total number of threads and number of active threads. For more details about the threads, see the official documentation.' + info: 'Show total number of threads and number of active threads. For more details about the threads, see the official documentation.' }, 'netdata.ebpf_load_methods': { @@ -3704,6 +4016,16 @@ netdataDashboard.context = { 'user and kernel modes.' }, + 'cgroup.throttled': { + info: 'The percentage of runnable periods when tasks in a cgroup have been throttled. '+ + 'The tasks have not been allowed to run because they have exhausted all of the available time as specified by their CPU quota.' + }, + + 'cgroup.throttled_duration': { + info: 'The total time duration for which tasks in a cgroup have been throttled. '+ + 'When an application has used its allotted CPU quota for a given period, it gets throttled until the next period.' + }, + 'cgroup.cpu_per_core': { info: 'Total CPU utilization per core within the system-wide CPU resources.' }, @@ -3883,155 +4205,187 @@ netdataDashboard.context = { }, 'cgroup.swap_read': { - info: 'The function swap_readpage is called when the kernel reads a page from swap memory. This chart is provided by eBPF plugin.' + info: ebpfSwapRead }, 'cgroup.swap_write': { - info: 'The function swap_writepage is called when the kernel writes a page to swap memory. This chart is provided by eBPF plugin.' + info: ebpfSwapWrite }, 'cgroup.fd_open': { - info: 'Calls to the internal function do_sys_open (for kernels newer than 5.5.19 we add a kprobe to do_sys_openat2. ), which is the common function called from' + - ' open(2) ' + - ' and openat(2). ' + info: ebpfFileOpen }, 'cgroup.fd_open_error': { - info: 'Failed calls to the internal function do_sys_open (for kernels newer than 5.5.19 we add a kprobe to do_sys_openat2. ).' + info: ebpfFileOpenError }, 'cgroup.fd_close': { - info: 'Calls to the internal function __close_fd or close_fd according to your kernel version, which is called from' + - ' close(2). ' + info: ebpfFileClosed }, 'cgroup.fd_close_error': { - info: 'Failed calls to the internal function __close_fd or close_fd according to your kernel version.' + info: ebpfFileCloseError }, 'cgroup.vfs_unlink': { - info: 'Calls to the function vfs_unlink. This chart does not show all events that remove files from the filesystem, because filesystems can create their own functions to remove files.' + info: ebpfVFSUnlink }, 'cgroup.vfs_write': { - info: 'Successful calls to the function vfs_write. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: ebpfVFSWrite }, 'cgroup.vfs_write_error': { - info: 'Failed calls to the function vfs_write. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: ebpfVFSWriteError }, 'cgroup.vfs_read': { - info: 'Successful calls to the function vfs_read. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: ebpfVFSRead }, 'cgroup.vfs_read_error': { - info: 'Failed calls to the function vfs_read. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: ebpfVFSReadError }, 'cgroup.vfs_write_bytes': { - info: 'Total of bytes successfully written using the function vfs_write.' + info: ebpfVFSWriteBytes }, 'cgroup.vfs_read_bytes': { - info: 'Total of bytes successfully read using the function vfs_read.' + info: ebpfVFSReadBytes }, - 'cgroup.process_create': { - info: 'Calls to either do_fork, or kernel_clone if you are running kernel newer than 5.9.16, to create a new task, which is the common name used to define process and tasks inside the kernel. Netdata identifies the process by counting the number of calls to sys_clone that do not have the flag CLONE_THREAD set.' + 'cgroup.vfs_fsync': { + info: ebpfVFSSync }, - 'cgroup.thread_create': { - info: 'Calls to either do_fork, or kernel_clone if you are running kernel newer than 5.9.16, to create a new task, which is the common name used to define process and tasks inside the kernel. Netdata identifies the threads by counting the number of calls to sys_clone that have the flag CLONE_THREAD set.' + 'cgroup.vfs_fsync_error': { + info: ebpfVFSSyncError }, - 'cgroup.task_exit': { - info: 'Calls to the function responsible for closing (do_exit) tasks.' + 'cgroup.vfs_open': { + info: ebpfVFSOpen }, - 'cgroup.task_close': { - info: 'Calls to the functions responsible for releasing (release_task) tasks.' + 'cgroup.vfs_open_error': { + info: ebpfVFSOpenError }, - 'cgroup.task_error': { - info: 'Number of errors to create a new process or thread. This chart is provided by eBPF plugin.' + 'cgroup.vfs_create': { + info: ebpfVFSCreate }, + 'cgroup.vfs_create_error': { + info: ebpfVFSCreateError + }, - 'cgroup.dc_ratio': { - info: 'Percentage of file accesses that were present in the directory cache. 100% means that every file that was accessed was present in the directory cache. If files are not present in the directory cache 1) they are not present in the file system, 2) the files were not accessed before. Read more about directory cache. Netdata also gives a summary for these charts in Filesystem submenu.' + 'cgroup.process_create': { + info: ebpfProcessCreate }, - 'cgroup.dc_reference': { - info: 'Counters of file accesses. Reference is when there is a file access, see the filesystem.dc_reference chart for more context. Read more about directory cache.' + 'cgroup.thread_create': { + info: ebpfThreadCreate }, - 'cgroup.dc_not_cache': { - info: 'Counters of file accesses. Slow is when there is a file access and the file is not present in the directory cache, see the filesystem.dc_reference chart for more context. Read more about directory cache.' + 'cgroup.task_exit': { + info: ebpfTaskExit }, - 'cgroup.dc_not_found': { - info: 'Counters of file accesses. Miss is when there is file access and the file is not found in the filesystem, see the filesystem.dc_reference chart for more context. Read more about directory cache.' + 'cgroup.task_close': { + info: ebpfTaskClose + }, + + 'cgroup.task_error': { + info: ebpfTaskError + }, + + 'cgroup.dc_ratio': { + info: 'Percentage of file accesses that were present in the directory cache. 100% means that every file that was accessed was present in the directory cache. If files are not present in the directory cache 1) they are not present in the file system, 2) the files were not accessed before. Read more about directory cache. Netdata also gives a summary for these charts in Filesystem submenu.' }, 'cgroup.shmget': { - info: 'Number of times the syscall shmget is called. Netdata also gives a summary for these charts in System overview.' + info: ebpfSHMget }, 'cgroup.shmat': { - info: 'Number of times the syscall shmat is called.' + info: ebpfSHMat }, 'cgroup.shmdt': { - info: 'Number of times the syscall shmdt is called.' + info: ebpfSHMdt }, 'cgroup.shmctl': { - info: 'Number of times the syscall shmctl is called.' + info: ebpfSHMctl + }, + + 'cgroup.outbound_conn_v4': { + info: ebpfIPV4conn + }, + + 'cgroup.outbound_conn_v6': { + info: ebpfIPV6conn }, 'cgroup.net_bytes_send': { - info: 'Bytes sent by functions tcp_sendmsg.' + info: ebpfBandwidthSent }, 'cgroup.net_bytes_recv': { - info: 'Bytes received by functions tcp_cleanup_rbuf . We use tcp_cleanup_rbuf instead tcp_recvmsg, because this last misses tcp_read_sock() traffic and we would also need to have more probes to get the socket and package size.' + info: ebpfBandwidthRecv }, 'cgroup.net_tcp_send': { - info: 'The function tcp_sendmsg is used to collect number of bytes sent from TCP connections.' + info: ebpfTCPSendCall }, 'cgroup.net_tcp_recv': { - info: 'The function tcp_cleanup_rbuf is used to collect number of bytes received from TCP connections.' + info: ebpfTCPRecvCall }, 'cgroup.net_retransmit': { - info: 'The function tcp_retransmit_skb is called when the host did not receive the expected return from a packet sent.' + info: ebpfTCPRetransmit }, 'cgroup.net_udp_send': { - info: 'The function udp_sendmsg is used to collect number of bytes sent from UDP connections.' + info: ebpfUDPsend }, 'cgroup.net_udp_recv': { - info: 'The function udp_recvmsg is used to collect number of bytes received from UDP connections.' + info: ebpfUDPrecv + }, + + 'cgroup.dc_hit_ratio': { + info: ebpfDCHit + }, + + 'cgroup.dc_reference': { + info: ebpfDCReference + }, + + 'cgroup.dc_not_cache': { + info: ebpfDCNotCache + }, + + 'cgroup.dc_not_found': { + info: ebpfDCNotFound }, 'cgroup.cachestat_ratio': { - info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is there, a page cache hit has occurred and the read is from the cache. If the entry is not there, a page cache miss has occurred and the kernel allocates a new entry and copies in data from the disk. Netdata calculates the percentage of accessed files that are cached on memory. The ratio is calculated counting the accessed cached pages (without counting dirty pages and pages added because of read misses) divided by total access without dirty pages.' + info: ebpfCachestatRatio }, 'cgroup.cachestat_dirties': { - info: 'Number of dirty(modified) pages cache. Pages in the page cache modified after being brought in are called dirty pages. Since non-dirty pages in the page cache have identical copies in secondary storage (e.g. hard disk drive or solid-state drive), discarding and reusing their space is much quicker than paging out application memory, and is often preferred over flushing the dirty pages into secondary storage and reusing their space.' + info: ebpfCachestatDirties }, 'cgroup.cachestat_hits': { - info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is there, a page cache hit has occurred and the read is from the cache. Hits show pages accessed that were not modified (we are excluding dirty pages), this counting also excludes the recent pages inserted for read.' + info: ebpfCachestatHits }, 'cgroup.cachestat_misses': { - info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is not there, a page cache miss has occurred and the cache allocates a new entry and copies in data for the main memory. Misses count page insertions to the memory not related to writing.' + info: ebpfCachestatMisses }, // ------------------------------------------------------------------------ @@ -4153,154 +4507,183 @@ netdataDashboard.context = { }, 'services.swap_read': { - info: 'The function swap_readpage is called when the kernel reads a page from swap memory. This chart is provided by eBPF plugin.' + info: ebpfSwapRead + '
' }, 'services.swap_write': { - info: 'The function swap_writepage is called when the kernel writes a page to swap memory. This chart is provided by eBPF plugin.' + info: ebpfSwapWrite + '
' }, 'services.fd_open': { - info: 'Calls to the internal function do_sys_open (for kernels newer than 5.5.19 we add a kprobe to do_sys_openat2. ), which is the common function called from' + - ' open(2) ' + - ' and openat(2). ' + info: ebpfFileOpen + '
' }, 'services.fd_open_error': { - info: 'Failed calls to the internal function do_sys_open (for kernels newer than 5.5.19 we add a kprobe to do_sys_openat2. ).' + info: ebpfFileOpenError + '
' }, 'services.fd_close': { - info: 'Calls to the internal function __close_fd or close_fd according to your kernel version, which is called from' + - ' close(2). ' + info: ebpfFileClosed + '
' }, 'services.fd_close_error': { - info: 'Failed calls to the internal function __close_fd or close_fd according to your kernel version.' + info: ebpfFileCloseError + '
' }, 'services.vfs_unlink': { - info: 'Calls to the function vfs_unlink. This chart does not show all events that remove files from the filesystem, because filesystems can create their own functions to remove files.' + info: ebpfVFSUnlink + '' }, 'services.vfs_write': { - info: 'Successful calls to the function vfs_write. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: ebpfVFSWrite + '
' }, 'services.vfs_write_error': { - info: 'Failed calls to the function vfs_write. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: ebpfVFSWriteError + '
' }, 'services.vfs_read': { - info: 'Successful calls to the function vfs_read. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: ebpfVFSRead + '
' }, 'services.vfs_read_error': { - info: 'Failed calls to the function vfs_read. This chart may not show all filesystem events if it uses other functions to store data on disk.' + info: ebpfVFSReadError + '
' }, 'services.vfs_write_bytes': { - info: 'Total of bytes successfully written using the function vfs_write.' + info: ebpfVFSWriteBytes + '
' }, 'services.vfs_read_bytes': { - info: 'Total of bytes successfully read using the function vfs_read.' + info: ebpfVFSReadBytes + '
' + }, + + 'services.vfs_fsync': { + info: ebpfVFSSync + '
' + }, + + 'services.vfs_fsync_error': { + info: ebpfVFSSyncError + '
' + }, + + 'services.vfs_open': { + info: ebpfVFSOpen + '
' + }, + + 'services.vfs_open_error': { + info: ebpfVFSOpenError + '
' + }, + + 'services.vfs_create': { + info: ebpfVFSCreate + '
' + }, + + 'services.vfs_create_error': { + info: ebpfVFSCreateError + '
' }, 'services.process_create': { - info: 'Calls to either do_fork, or kernel_clone if you are running kernel newer than 5.9.16, to create a new task, which is the common name used to define process and tasks inside the kernel. Netdata identifies the process by counting the number of calls to sys_clone that do not have the flag CLONE_THREAD set.' + info: ebpfProcessCreate + '
' }, 'services.thread_create': { - info: 'Calls to either do_fork, or kernel_clone if you are running kernel newer than 5.9.16, to create a new task, which is the common name used to define process and tasks inside the kernel. Netdata identifies the threads by counting the number of calls to sys_clone that have the flag CLONE_THREAD set.' + info: ebpfThreadCreate + '
' }, 'services.task_exit': { - info: 'Calls to the functions responsible for closing (do_exit) tasks.' + info: ebpfTaskExit + '
' }, 'services.task_close': { - info: 'Calls to the functions responsible for releasing (release_task) tasks.' + info: ebpfTaskClose + '
' }, 'services.task_error': { - info: 'Number of errors to create a new process or thread. This chart is provided by eBPF plugin.' + info: ebpfTaskError + '
' }, - 'services.dc_ratio': { - info: 'Percentage of file accesses that were present in the directory cache. 100% means that every file that was accessed was present in the directory cache. If files are not present in the directory cache 1) they are not present in the file system, 2) the files were not accessed before. Read more about directory cache. Netdata also gives a summary for these charts in Filesystem submenu.' + 'services.dc_hit_ratio': { + info: ebpfDCHit + '
' }, 'services.dc_reference': { - info: 'Counters of file accesses. Reference is when there is a file access, see the filesystem.dc_reference chart for more context. Read more about directory cache.' + info: ebpfDCReference + '
' }, 'services.dc_not_cache': { - info: 'Counters of file accesses. Slow is when there is a file access and the file is not present in the directory cache, see the filesystem.dc_reference chart for more context. Read more about directory cache.' + info: ebpfDCNotCache + '
' }, 'services.dc_not_found': { - info: 'Counters of file accesses. Miss is when there is file access and the file is not found in the filesystem, see the filesystem.dc_reference chart for more context. Read more about directory cache.' + info: ebpfDCNotFound + '
' + }, + + 'services.cachestat_ratio': { + info: ebpfCachestatRatio + '
' + }, + + 'services.cachestat_dirties': { + info: ebpfCachestatDirties + '
' + }, + + 'services.cachestat_hits': { + info: ebpfCachestatHits + '
' + }, + + 'services.cachestat_misses': { + info: ebpfCachestatMisses + '
' }, 'services.shmget': { - info: 'Number of times the syscall shmget is called. Netdata also gives a summary for these charts in System overview.' + info: ebpfSHMget + '
' }, 'services.shmat': { - info: 'Number of times the syscall shmat is called.' + info: ebpfSHMat + '
' }, 'services.shmdt': { - info: 'Number of times the syscall shmdt is called.' + info: ebpfSHMdt + '
' }, 'services.shmctl': { - info: 'Number of times the syscall shmctl is called.' + info: ebpfSHMctl + '
' + }, + + 'services.outbound_conn_v4': { + info: ebpfIPV4conn + '
' + }, + + 'services.outbound_conn_v6': { + info: ebpfIPV6conn + '
' }, 'services.net_bytes_send': { - info: 'Bytes sent by functions tcp_sendmsg.' + info: ebpfBandwidthSent + '
' }, 'services.net_bytes_recv': { - info: 'Bytes received by functions tcp_cleanup_rbuf . We use tcp_cleanup_rbuf instead tcp_recvmsg, because this last misses tcp_read_sock() traffic and we would also need to have more probes to get the socket and package size.' + info: ebpfBandwidthRecv + '
' }, 'services.net_tcp_send': { - info: 'The function tcp_sendmsg is used to collect number of bytes sent from TCP connections.' + info: ebpfTCPSendCall + '
' }, 'services.net_tcp_recv': { - info: 'The function tcp_cleanup_rbuf is used to collect number of bytes received from TCP connections.' + info: ebpfTCPRecvCall + '
' }, 'services.net_retransmit': { - info: 'The function tcp_retransmit_skb is called when the host did not receive the expected return from a packet sent.' + info: ebpfTCPRetransmit + '
' }, 'services.net_udp_send': { - info: 'The function udp_sendmsg is used to collect number of bytes sent from UDP connections.' + info: ebpfUDPsend + '
' }, 'services.net_udp_recv': { - info: 'The function udp_recvmsg is used to collect number of bytes received from UDP connections.' - }, - - 'services.cachestat_ratio': { - info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is there, a page cache hit has occurred and the read is from the cache. If the entry is not there, a page cache miss has occurred and the kernel allocates a new entry and copies in data from the disk. Netdata calculates the percentage of accessed files that are cached on memory. The ratio is calculated counting the accessed cached pages (without counting dirty pages and pages added because of read misses) divided by total access without dirty pages.' - }, - - 'services.cachestat_dirties': { - info: 'Number of dirty(modified) pages cache. Pages in the page cache modified after being brought in are called dirty pages. Since non-dirty pages in the page cache have identical copies in secondary storage (e.g. hard disk drive or solid-state drive), discarding and reusing their space is much quicker than paging out application memory, and is often preferred over flushing the dirty pages into secondary storage and reusing their space.' - }, - - 'services.cachestat_hits': { - info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is there, a page cache hit has occurred and the read is from the cache. Hits show pages accessed that were not modified (we are excluding dirty pages), this counting also excludes the recent pages inserted for read.' - }, - - 'services.cachestat_misses': { - info: 'When the processor needs to read or write a location in main memory, it checks for a corresponding entry in the page cache. If the entry is not there, a page cache miss has occurred and the cache allocates a new entry and copies in data for the main memory. Misses count page insertions to the memory not related to writing.' + info: ebpfUDPrecv + '
' }, // ------------------------------------------------------------------------ @@ -4835,37 +5218,6 @@ netdataDashboard.context = { } ] }, - // ------------------------------------------------------------------------ - // Fronius Solar Power - - 'fronius.power': { - info: 'Positive Grid values mean that power is coming from the grid. Negative values are excess power that is going back into the grid, possibly selling it. ' + - 'Photovoltaics is the power generated from the solar panels. ' + - 'Accumulator is the stored power in the accumulator, if one is present.' - }, - - 'fronius.autonomy': { - commonMin: true, - commonMax: true, - valueRange: "[0, 100]", - info: 'The Autonomy is the percentage of how autonomous the installation is. An autonomy of 100 % means that the installation is producing more energy than it is needed. ' + - 'The Self consumption indicates the ratio between the current power generated and the current load. When it reaches 100 %, the Autonomy declines, since the solar panels can not produce enough energy and need support from the grid.' - }, - - 'fronius.energy.today': { - commonMin: true, - commonMax: true, - valueRange: "[0, null]" - }, - - // ------------------------------------------------------------------------ - // Stiebel Eltron Heat pump installation - - 'stiebeleltron.system.roomtemp': { - commonMin: true, - commonMax: true, - valueRange: "[0, null]" - }, // ------------------------------------------------------------------------ // Port check @@ -5717,178 +6069,186 @@ netdataDashboard.context = { 'filesystem.vfs_deleted_objects': { title : 'VFS remove', - info: 'This chart does not show all events that remove files from the file system, because file systems can create their own functions to remove files, it shows calls for the function vfs_unlink. ' + info: 'Number of calls to VFS unlinker function. This chart may not show all file system events if it uses other functions ' + + 'to store data on disk. Netdata shows virtual file system metrics per application and cgroup (systemd Services) ' + + 'if apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + + ' to monitor File Systems.' }, 'filesystem.vfs_io': { title : 'VFS IO', - info: 'Successful or failed calls to functions vfs_read and vfs_write. This chart may not show all file system events if it uses other functions to store data on disk.' + info: 'Number of calls to VFS I/O functions. This chart may not show all file system events if it uses other functions ' + + 'to store data on disk. Netdata shows virtual file system metrics per application and cgroup (systemd Services) ' + + 'if apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + + ' to monitor File Systems.
' }, 'filesystem.vfs_io_bytes': { title : 'VFS bytes written', - info: 'Total of bytes read or written with success using the functions vfs_read and vfs_write.' + info: 'Total of bytes read or written with success using the VFS I/O functions. This chart may not show all file system events if it uses other functions ' + + 'to store data on disk. Netdata shows virtual file system metrics per application and cgroup (systemd Services) ' + + 'if apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + + ' to monitor File Systems.
' }, 'filesystem.vfs_io_error': { title : 'VFS IO error', - info: 'Failed calls to functions vfs_read and vfs_write.' + info: 'Number of failed calls to VFS I/O functions. This chart may not show all file system events if it uses other functions ' + + 'to store data on disk. Netdata shows virtual file system metrics per application and cgroup (systemd Services) ' + + 'if apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + + ' to monitor File Systems.
' }, 'filesystem.vfs_fsync': { - info: 'Successful or failed calls to functions vfs_fsync.' + info: 'Number of calls to VFS syncer function. This chart may not show all file system events if it uses other functions ' + + 'to sync data on disk. Netdata shows virtual file system metrics per application and cgroup (systemd Services) ' + + 'if apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + + ' to monitor File Systems.
' }, 'filesystem.vfs_fsync_error': { - info: 'Failed calls to functions vfs_fsync.' + info: 'Number of failed calls to VFS syncer function.. This chart may not show all file system events if it uses other functions ' + + 'to sync data on disk. Netdata shows virtual file system metrics per application and cgroup (systemd Services) ' + + 'if apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + + ' to monitor File Systems.
' }, 'filesystem.vfs_open': { - info: 'Successful or failed calls to functions vfs_open.' + info: 'Number of calls to VFS opener function. This chart may not show all file system events if it uses other functions ' + + 'to open files. Netdata shows virtual file system metrics per application and cgroup (systemd Services) ' + + 'if apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + + ' to monitor File Systems.
' }, 'filesystem.vfs_open_error': { - info: 'Failed calls to functions vfs_open.' + info: 'Number of failed calls to VFS opener function. This chart may not show all file system events if it uses other functions ' + + 'to open files. Netdata shows virtual file system metrics per application and cgroup (systemd Services) ' + + 'if apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + + ' to monitor File Systems.
' }, 'filesystem.vfs_create': { - info: 'Successful or failed calls to functions vfs_create.' + info: 'Number of calls to VFS creator function. This chart may not show all file system events if it uses other functions ' + + 'to create files. Netdata shows virtual file system metrics per application and cgroup (systemd Services) ' + + 'if apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + + ' to monitor File Systems.
' }, 'filesystem.vfs_create_error': { - info: 'Failed calls to functions vfs_create.' + info: 'Number of failed calls to VFS creator function. This chart may not show all file system events if it uses other functions ' + + 'to create files. Netdata shows virtual file system metrics per application and cgroup (systemd Services) ' + + 'if apps or ' + + 'cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + + ' to monitor File Systems.
' }, 'filesystem.ext4_read_latency': { - info: 'Netdata is attaching kprobes for the function ext4_file_read_iter.' + info: 'Latency for each read request monitoring ext4 reader function.' + ebpfChartProvides + 'to monitor File systems.' }, 'filesystem.ext4_write_latency': { - info: 'Netdata is attaching kprobes for the function ext4_file_write_iter.' + info: 'Latency for each write request monitoring ext4 writer function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.ext4_open_latency': { - info: 'Netdata is attaching kprobes for the function ext4_file_open.' + info: 'Latency for each open request monitoring ext4 opener function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.ext4_sync_latency': { - info: 'Netdata is attaching kprobes for the function ext4_sync_file.' + info: 'Latency for each sync request monitoring ext4 syncer function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.xfs_read_latency': { - info: 'Netdata is attaching kprobes for the function xfs_file_read_iter.' + info: 'Latency for each read request monitoring xfs reader function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.xfs_write_latency': { - info: 'Netdata is attaching kprobes for the function xfs_file_write_iter.' + info: 'Latency for each write request monitoring xfs writer function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.xfs_open_latency': { - info: 'Netdata is attaching kprobes for the function xfs_file_open.' + info: 'Latency for each open request monitoring xfs opener function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.xfs_sync_latency': { - info: 'Netdata is attaching kprobes for the function xfs_file_sync.' + info: 'Latency for each sync request monitoring xfs syncer function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.nfs_read_latency': { - info: 'Netdata is attaching kprobes for the function nfs_file_read.' + info: 'Latency for each read request monitoring nfs reader function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.nfs_write_latency': { - info: 'Netdata is attaching kprobes for the function nfs_file_write.' + info: 'Latency for each write request monitoring nfs writer function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.nfs_open_latency': { - info: 'Netdata is attaching kprobes for functions nfs_file_open and nfs4_file_open' + info: 'Latency for each open request monitoring nfs opener function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.nfs_attribute_latency': { - info: 'Netdata is attaching kprobes for the function nfs_getattr.' + info: 'Latency for each get attribute request monitoring nfs attribute function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.zfs_read_latency': { - info: 'Netdata is attaching kprobes for when the function zpl_iter_read.' + info: 'Latency for each read request monitoring zfs reader function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.zfs_write_latency': { - info: 'Netdata is attaching kprobes for when the function zpl_iter_write.' + info: 'Latency for each write request monitoring zfs writer function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.zfs_open_latency': { - info: 'Netdata is attaching kprobes for when the function zpl_open.' + info: 'Latency for each open request monitoring zfs opener function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.zfs_sync_latency': { - info: 'Netdata is attaching kprobes for when the function zpl_fsync.' + info: 'Latency for each sync request monitoring zfs syncer function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.btrfs_read_latency': { - info: 'Netdata is attaching kprobes for when the function btrfs_file_read_iter (kernel newer than 5.9.16) or the function generic_file_read_iter (old kernels).' + info: 'Latency for each read request monitoring btrfs reader function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.btrfs_write_latency': { - info: 'Netdata is attaching kprobes for when the function btrfs_file_write_iter.' + info: 'Latency for each write request monitoring btrfs writer function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.btrfs_open_latency': { - info: 'Netdata is attaching kprobes for when the function btrfs_file_open.' + info: 'Latency for each open request monitoring btrfs opener function.' + ebpfChartProvides + ' to monitor File systems.' }, 'filesystem.btrfs_sync_latency': { - info: 'Netdata is attaching kprobes for when the function btrfs_sync_file.' + info: 'Latency for each sync request monitoring btrfs syncer function.' + ebpfChartProvides + ' to monitor File systems.' }, 'mount_points.call': { - info: 'Monitor calls to syscalls mount(2) and umount(2) that are responsible for attaching or removing filesystems.' + info: 'Monitor calls to syscalls that are responsible for attaching (mount(2)) or removing filesystems (umount(2)). This chart has relationship with File systems.' + ebpfChartProvides }, 'mount_points.error': { - info: 'Monitor errors in calls to syscalls mount(2) and umount(2).' + info: 'Monitor errors in calls to syscalls that are responsible for attaching (mount(2)) or removing filesystems (umount(2)). This chart has relationship with File systems.' + ebpfChartProvides }, 'filesystem.file_descriptor': { - info: 'Calls for internal functions on Linux kernel. The open dimension is attached to the kernel internal function do_sys_open ( For kernels newer than 5.5.19 we add a kprobe to do_sys_openat2. ), which is the common function called from'+ - ' open(2) ' + - ' and openat(2). ' + - ' The close dimension is attached to the function __close_fd or close_fd according to your kernel version, which is called from system call' + - ' close(2). ' + info: 'Number of calls for internal functions on the Linux kernel responsible to open and closing files. ' + + 'Netdata shows file access per application and cgroup (systemd Services) if apps ' + + 'or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + ' to monitor File systems' }, 'filesystem.file_error': { - info: 'Failed calls to the kernel internal function do_sys_open ( For kernels newer than 5.5.19 we add a kprobe to do_sys_openat2. ), which is the common function called from'+ - ' open(2) ' + - ' and openat(2). ' + - ' The close dimension is attached to the function __close_fd or close_fd according to your kernel version, which is called from system call' + - ' close(2). ' - }, - - - // ------------------------------------------------------------------------ - // eBPF - - 'apps.swap_read_call': { - info: 'The function swap_readpage is called when the kernel reads a page from swap memory. Netdata also gives a summary for these charts in System overview.' - }, - - 'apps.swap_write_call': { - info: 'The function swap_writepage is called when the kernel writes a page to swap memory.' - }, - - 'apps.shmget_call': { - info: 'Number of times the syscall shmget is called. Netdata also gives a summary for these charts in System overview.' - }, - - 'apps.shmat_call': { - info: 'Number of times the syscall shmat is called.' - }, - - 'apps.shmdt_call': { - info: 'Number of times the syscall shmdt is called.' - }, - - 'apps.shmctl_call': { - info: 'Number of times the syscall shmctl is called.' + info: 'Number of failed calls to the kernel internal function responsible to open and closing files. ' + + 'Netdata shows file error per application and cgroup (systemd Services) if apps ' + + 'or cgroup (systemd Services) plugins are enabled.' + ebpfChartProvides + ' to monitor File systems.' }, // ------------------------------------------------------------------------ -- cgit v1.2.3