Revisions of netdata
Dominique Leuenberger (dimstar_suse)
accepted
request 950091
from
Mia Herkt (mia)
(revision 31)
- Update to 1.33.0 (go.d.plugin 0.31.2) Collectors * Improvements + Prefer python3 if available (python.d) (gh#netdata/netdata#12001) + Add bar1 memory usage chart (python.d/nvidia_smi) (gh#netdata/netdata#11956) + Add a note that Netfilter's "new" and "ignore" counters are removed in the latest kernel (gh#netdata/netdata#11950) + Consider mat. views as tables in table size/count chart (python.d/postgres) (gh#netdata/netdata#11816) + Use block_size instead of 8*1024 (python.d/postgres) (gh#netdata/netdata#11815) * Bug fixes + Fix handling of port_rcv_data and port_xmit_data counters (proc/infiniband) (gh#netdata/netdata#11994) + Fix handling of decoding errors in ExecutableService (python.d) (gh#netdata/netdata#11979) + Fix lack of sufficient system capabilities (perf.plugin) (gh#netdata/netdata#11958) + Fix Netfilter accounting charts priority (nfacct.plugin) (gh#netdata/netdata#11952) + Fix lack of sufficient system capabilities (nfacct.plugin) (gh#netdata/netdata#11951) + Fix collecting user statistics for LDAP users (python.d/nvidia_smi) (gh#netdata/netdata#11858)
Dominique Leuenberger (dimstar_suse)
accepted
request 942157
from
Mia Herkt (mia)
(revision 30)
- Update to 1.32.1 (go.d.plugin 0.31.0) Bug fixes * Use the chart id instead of chart name in response to incoming cloud context queries (gh#netdata/netdata#11898) * Fix used_swap alarm calculation (gh#netdata/netdata#11868) * Initialize enabled parameter to 1 in AlarmLogHealth message (gh#netdata/netdata#11856) - Changes in 1.32.0: New Cloud backend and Agent communication protocol This Agent release supports our new Cloud backend. From here, we will be offering much faster and simpler communication, reliable alerts and exchange of metadata, and first-time support for the parent-child relationship of Netdata agents. This is the first Agent release that allows Netdata Cloud to use the Netdata Agent as a distributed time-series database that supports replication and query routing, for every metric! eBPF latency monitoring, container monitoring, and more We use eBPF to monitor all running processes, without the cooperation of the processes and without sniffing data traffic. This new release includes 13 new eBPF monitoring features, including I/O latency, BTRFS, EXT4, NFS, XFS and ZFS latencies, IRQs latencies, extended swap monitoring, and more. Machine learning (ML) powered anomaly detection This release links Netdata Agent with dlib, the popular C++ machine learning algorithms library, which we use to automatically detect anomalies out-of-the-box, at the edge! Once enabled, Netdata trains an ML model for every metric, which is then used to detect outliers in real-time. The resulting "anomaly bit" (where 0=normal, 1=anomalous) associated with each database entry is stored alongside the raw metric value with zero additional storage overhead! This feature is still in development, so it is disabled by default. If you would like to test it and provide feedback, you can go to the new [ml] section in netdata.conf and set enabled=yes to turn on anomaly detection. After restarting Netdata, you should see the Anomaly Detection menu with charts highlighting the overall number and percent of anomalous metrics on your node. This can be a very useful single number summary of the state of your node. New timezone selector and time controls in the user interface We implemented a new timezone picker and time controls to enhance administrative abilities in the dashboard. Dashboard * Add various updates to dashboard info (gh#netdata/netdata#11639) * Add timex plugin chart descriptions (gh#netdata/netdata#11635) * Add proc plugin zfs chart descriptions (gh#netdata/netdata#11630) * Add proc plugin infiniband chart descriptions (gh#netdata/netdata#11628) * Add proc plugin pagetypeinfo chart descriptions (gh#netdata/netdata#11627) * Add proc plugin net_wireless chart descriptions (gh#netdata/netdata#11626) * Add proc plugin net_rpc_nfs and net_rpc_nfsd chart descriptions (gh#netdata/netdata#11625) * Add proc plugin power_supply chart descriptions (gh#netdata/netdata#11619) * Add cgroups plugin systemd services chart descriptions (gh#netdata/netdata#11618) * Add cgroups plugin chart descriptions (gh#netdata/netdata#11607) * Add apps plugin chart descriptions (gh#netdata/netdata#11601) * Add proc plugin vmstat chart descriptions (gh#netdata/netdata#11597) * Add proc plugin ksm chart descriptions (gh#netdata/netdata#11595) * Add proc plugin edac chart descriptions (gh#netdata/netdata#11589) * Add proc plugin stat chart descriptions (gh#netdata/netdata#11586) * Add proc plugin net_stat_synproxy chart descriptions (gh#netdata/netdata#11581) * Add proc plugin softirqs chart descriptions (gh#netdata/netdata#11577) * Add proc plugin net_stat_conntrack chart descriptions (gh#netdata/netdata#11576) * Add proc plugin uptime chart descriptions (gh#netdata/netdata#11569) * Add proc plugin net_sockstat and net_sockstat6 chart descriptions (gh#netdata/netdata#11567) * Add proc plugin net_snmp6 chart descriptions (gh#netdata/netdata#11565) * Add proc plugin net_sctp_snmp chart descriptions (gh#netdata/netdata#11564) * Add proc plugin net_snmp chart descriptions (gh#netdata/netdata#11557) * Add proc plugin net_netstat chart descriptions (gh#netdata/netdata#11554) * Add proc plugin net_ip_vs_stats chart descriptions (gh#netdata/netdata#11546) * Add proc plugin net_dev chart descriptions (gh#netdata/netdata#11543) * Add proc plugin meminfo chart descriptions (gh#netdata/netdata#11541) * Add proc plugin mdstat chart descriptions (gh#netdata/netdata#11537) * Add proc plugin interrupts chart descriptions (gh#netdata/netdata#11532) * Add proc plugin diskstats chart descriptions (gh#netdata/netdata#11528) * Add proc plugin ipc semaphores chart descriptions (gh#netdata/netdata#11523) * Remove 'vernemq.queue_messages_in_queues' from dashboard info (gh#netdata/netdata#11403) * Move MD arrays charts under Disks (gh#netdata/netdata#11119) Collectors * New + Add Traefik collector (go.d/traefik) (gh#netdata/go.d.plugin#605) + Add HAProxy collector (go.d/haproxy) (gh#netdata/go.d.plugin#599) + Add Mongodb collector (go.d/mongodb) (gh#netdata/go.d.plugin#598) + Add Ethereum Node collector (go.d/geth) (gh#netdata/go.d.plugin#585) * Improvements + Add AWS to apps_groups.conf (gh#netdata/netdata#11826) + Show stats for systemd protected mount points (diskspace plugin) (gh#netdata/netdata#11767) + Add support for v1.7.0+ (go.d/coredns) (gh#netdata/go.d.plugin#619) + Add "/basic_status" job nginx.conf (go.d/nginx) (gh#netdata/go.d.plugin#612) + Add sharding metrics (go.d/mongodb) (gh#netdata/go.d.plugin#609) + Add thread operations metrics (go.d/mysql) (gh#netdata/go.d.plugin#607) + Add replica sets metrics (go.d/mongodb) (gh#netdata/go.d.plugin#604) + Add databases metrics (go.d/mongodb) (gh#netdata/go.d.plugin#602) + Add more OS(OperatingSystem) charts (go.d/wmi) (gh#netdata/go.d.plugin#593) + Add caddy job to prometheus.conf (go.d/prometheus) (gh#netdata/go.d.plugin#581) + Add AOF file size metrics (go.d/redis) (gh#netdata/go.d.plugin#578) + Add openethereum/geth jobs to prometheus.con (go.d/prometheus) (gh#netdata/go.d.plugin#578) + Update whois/whois-parser packages and add timeout configuration option (go.d/whoisquery) (gh#netdata/go.d.plugin#576) + Disable reporting min/avg/max group uptime by default (apps plugin) (gh#netdata/netdata#11609) + Add sorting of the list of databases in alphabetical order (python.d/postgres) (gh#netdata/netdata#11580) + Add terra related binaries to blockchains group (apps plugin) (gh#netdata/netdata#11437) + Add instruction per cycle charts (perf plugin) (gh#netdata/netdata#11392) + Add autovacuum and tx wraparound charts (python.d/postgres) (gh#netdata/netdata#11267) + Add web3 and blockchains groups (apps plugin) (gh#netdata/netdata#11220) + Implement merging user/stock configuration files (python.d plugin) (gh#netdata/netdata#11217) + Rename default job from 'local' to 'anomalies' (python.d/anomalies) (gh#netdata/netdata#11178) + Add standby lag and blocking transactions charts (python.d/postgres) (gh#netdata/netdata#11169) * Bug fixes + Fix renaming for cgroups with dots in the path (cgroups plugin) (gh#netdata/netdata#11775) + Fix exiting on SIGPIPE (go.d plugin) (gh#netdata/go.d.plugin#630) + Fix domain syntax validation (go.d/whoisquery) (gh#netdata/go.d.plugin#629) + Fix missing NONE in valid request methods (go.d/squidlog) (gh#netdata/go.d.plugin#621) + Remove wrong "queue_messages_in_queues" chart (go.d/vernemq) (gh#netdata/go.d.plugin#601) + Fix HTTP/socket client initialization order (go.d/phpfpm) (gh#netdata/go.d.plugin#591) + Fix scraping metrics when resources are not discovered (go.d/vsphere) (gh#netdata/go.d.plugin#589) + Fix LTSV log format parsing (go.d/weblog) (gh#netdata/go.d.plugin#584) + Fix expiration date parsing (go.d/whoisquery) (gh#netdata/go.d.plugin#575) + Fix containers name resolution for crio/containerd runtime (cgroups plugin) (gh#netdata/netdata#11756) + Add sensors to charts.d.conf and add a note on how to enable it (charts.d plugin) (gh#netdata/netdata#11715) + Fix crashing of the wal query if wal-file was removed concurrently (python.d/postgres) (gh#netdata/netdata#11697) + Fix "lsns: unknown column" logging (cgroups plugin) (gh#netdata/netdata#11687) + Fix nfsd RPC metrics and remove unused nfsd charts and metrics (proc/nfsd) (gh#netdata/netdata#11632) + Fix "proc4ops" chart family (proc/nfsd) (gh#netdata/netdata#11623) + Fix swap size calculation (cgroups plugin) (gh#netdata/netdata#11617) + Fix RSS memory counter for systemd services (cgroups plugin) (gh#netdata/netdata#11616) + Fix VBE parsing (python.d/varnish) (gh#netdata/netdata#11596) + Remove unused synproxy chart (proc/synproxy) (gh#netdata/netdata#11582) + Fix zpool state parsing (proc/zfs) (gh#netdata/netdata#11545) + Fix null values returned by '_cat/indices' API (python.d/elasticsearch) (gh#netdata/netdata#11501) + Fix replication_slot chart on standby (python.d/postgres) (gh#netdata/netdata#11455) + Fix an inconsistent status check (charts.d/apcupsd) (gh#netdata/netdata#11435) + Fix plugin name (stats.d plugin) (gh#netdata/netdata#11400) + Fix lack of "module" in chart definition (all chart.d modules) (gh#netdata/netdata#11390) + Fix various python modules charts contexts (python.d/smartd_log, mysql, zscores) (gh#netdata/netdata#11310) + Fix current operation charts title and context (proc/mdstat) (gh#netdata/netdata#11289) + Fix handling of adding slabs after discovery (slabinfo plugin) (gh#netdata/netdata#11257) eBPF * New + Add MD flush calls tracking (gh#netdata/netdata#11681) + Add shared memory system calls tracking (gh#netdata/netdata#11560) + Add OOM kills tracking (gh#netdata/netdata#11470) + Add soft IRQ latency tracking (gh#netdata/netdata#11445) + Add hard IRQ latency tracking (gh#netdata/netdata#11410) + Add mount/umount calls tracking (gh#netdata/netdata#11358) + Add btrfs latency monitoring (gh#netdata/netdata#11348) + Add ZFS latency monitoring (gh#netdata/netdata#11330) + Add NFS latency monitoring (gh#netdata/netdata#11313) + Add disk latency monitoring (gh#netdata/netdata#11276) + Add XFS latency monitoring (gh#netdata/netdata#11238) + Add ext4 latency monitoring (gh#netdata/netdata#11224) + Add extended swap monitoring (gh#netdata/netdata#11090) * Improvements + Add (eBPF) to submenu (gh#netdata/netdata#11721) + Process monitoring cleanup and improvements (gh#netdata/netdata#11643) + Add integration with cgroups plugin (socket, shared memory, cachestat) (gh#netdata/netdata#11642) + Add integration with cgroups plugin (process, file descriptor, VFS, directory cache and OOMkill) (gh#netdata/netdata#11611) + Add initial integration with cgroups plugin (swap) (gh#netdata/netdata#11573) + Add integration with cgroups plugin (create shared memory with cgroups) (gh#netdata/netdata#11559) + Update charts descriptions (gh#netdata/netdata#11547) + Convert eBPF submenus to lowercase (gh#netdata/netdata#11511) + Socket monitoring code improvements and update charts descriptions (gh#netdata/netdata#11441) + Move file operation monitoring to a separate thread (gh#netdata/netdata#11401) + Add module names for threads (gh#netdata/netdata#11387) + Move repeating part of latency chart descriptions to the family level (gh#netdata/netdata#11363) + Reduce plugin's memory usage (gh#netdata/netdata#11256) + Assorted improvements and fixes (gh#netdata/netdata#11230) + Move VFS monitoring to a separate threads and add new charts (gh#netdata/netdata#11187) * Bug fixes + Fix command line arguments (gh#netdata/netdata#11670) + Fix hardirq/softirq value init logic (gh#netdata/netdata#11471) + Fix VFS index reference (gh#netdata/netdata#11356) + Fix a case when multiple eBPF plugins are running (gh#netdata/netdata#11287) + Fix applying configuration options (gh#netdata/netdata#11253) + Fix a segfault when ebpf_load_program returns null pointer (gh#netdata/netdata#11203) + Fix a wrong pointer to a function and move parser to main thread (gh#netdata/netdata#11152) Health * Improvements + Remove pihole_blocked_queries alert (gh#netdata/netdata#11829) + Improve check for supported -F parameter in sendmail (gh#netdata/netdata#11506) + Add custom e-mail headers (gh#netdata/netdata#11454) + Add 'cockroachdb_underreplicated_ranges' alarm (gh#netdata/netdata#11360) + Disable 'oom_kill' alarm on k8s nodes (gh#netdata/netdata#11359) + Add geth stock alarms (gh#netdata/netdata#11341) + Remove pythond modules specific last_collected alarms (gh#netdata/netdata#11307) + Remove CockroachDB deprecated alarms (gh#netdata/netdata#11235) + Add new email notification template (gh#netdata/netdata#11219) + Add system clock synchronization state alarm (gh#netdata/netdata#11177) + Add python.d/go.d jobs last_collected_secs alarms (gh#netdata/netdata#11168) + Make stocks alarms less sensitive (gh#netdata/netdata#11153) * Bug fixes + Fix swap_used alarm calculation (gh#netdata/netdata#11672) + Fix ram level alarms (gh#netdata/netdata#11452) + Fix 'gearman_workers_queued' alarm (gh#netdata/netdata#11361) + Fix sending MS Teams notifications to multiple channels (gh#netdata/netdata#11355) + Fix sendmail 'unrecognized option: F' issue (gh#netdata/netdata#11283) + Update old logo to new one (gh#netdata/netdata#11263) + Swap class and type attributes in stock alarm configurations (gh#netdata/netdata#11240) + Fix alarm line 'charts' matching (gh#netdata/netdata#11204) Other * Improvements + Clean compilation warnings (gh#netdata/netdata#11810) + Fix coverity issues (gh#netdata/netdata#11809) + Add commands to check and fix database corruption (gh#netdata/netdata#11828) + Use two digits after the decimal point for the anomaly rate. (gh#netdata/netdata#11804) + Always queue alerts to aclk_alert (gh#netdata/netdata#11806) + Add some logging for cloud new architecture to access.log (gh#netdata/netdata#11788) + Delete from aclk alerts table if ack'ed from cloud one day ago (gh#netdata/netdata#11779) + Remove feature flag for ACLK new cloud architecture (gh#netdata/netdata#11774) + Insert alert into aclk_alert directly instead of queuing it (gh#netdata/netdata#11769) + Store and submit dimension delete messages for new cloud architecture (gh#netdata/netdata#11765) + Implement cloud initiated disconnect command (gh#netdata/netdata#11723) + Announce proto capability and enable if cloud supports (gh#netdata/netdata#11476) + Add exit points between env and OTP (gh#netdata/netdata#11751) + Improve the ACLK sync process for the new cloud architecture (gh#netdata/netdata#11744) + Disable C++ warnings from dlib library. (gh#netdata/netdata#11738) + Add queue removed alerts to cloud for new architecture (gh#netdata/netdata#11704) + Add support to stream chart labels on a parent - child setup (gh#netdata/netdata#11675) + Add snapshot message for cloud new architecture (gh#netdata/netdata#11664) + Add protobuf to -W buildinfo output. (gh#netdata/netdata#11634) + Add new alarm status protocol messages (gh#netdata/netdata#11612) + Add local webserver API/v1 call "aclk" (gh#netdata/netdata#11588) + Make New Cloud architecture optional for ACLK-NG (gh#netdata/netdata#11587) + Enable additional functionality for the new cloud architecture (gh#netdata/netdata#11579) + Add alert message support for ACLK new architecture (gh#netdata/netdata#11552) + Add support for Anomaly Detection MVP (gh#netdata/netdata#11548) + Add New Cloud Protocol files to CMake (gh#netdata/netdata#11536) + Add archive uploads for dist, package build, and static build checks. (gh#netdata/netdata#11534) + Add node message support for ACLK new architecture (gh#netdata/netdata#11514) + Clean netdata naming (gh#netdata/netdata#11484) + Add aclk/cloud state command to netdatacli (gh#netdata/netdata#11462) + Add chart message support for ACLK new architecture (gh#netdata/netdata#11447) + Add Alert Related API for new protocol (gh#netdata/netdata#11424) + Update SQLite version from v3.33.0 to 3.36.0 (gh#netdata/netdata#11423) + Add SQLite unit tests (gh#netdata/netdata#11422) + Add NodeInstanceInfo API (gh#netdata/netdata#11419) + Use SQLite to store the health log and alert configurations. (gh#netdata/netdata#11399) + Add ACLK synchronization event loop (gh#netdata/netdata#11396) + Add HTTP basic authentication to Prometheus remote write and HTTP versions of Graphite, JSON, OpenTSDB (gh#netdata/netdata#11394) + Add new Cloud chart related parsers and generators (gh#netdata/netdata#11393) + Remove warning when GCC 8.x is used (gh#netdata/netdata#11389) + Add support to allow ACLK-NG to grow MQTT buffer (gh#netdata/netdata#11340) + Add support for bundled protobuf (gh#netdata/netdata#11335) + Add ACLK-NG cloud request type charts (gh#netdata/netdata#11326) + Add HTTP access log messages for ACLK-NG (gh#netdata/netdata#11318) + Add a log message when the page cache manager sleeps for more than 1 second. (gh#netdata/netdata#11314) + Add hop count for children (gh#netdata/netdata#11311) + Remove access check for install-type file (gh#netdata/netdata#11288) + Support TLS SNI in ACLK-NG (gh#netdata/netdata#11285) + Make ACLK-NG the default if available (gh#netdata/netdata#11272) + Add extra posthog attributes (gh#netdata/netdata#11237) + Add support to ACLK-NG for new Cloud NodeInstance related msgs (gh#netdata/netdata#11234) + Add support so ACLK NG and Legacy can coexist (gh#netdata/netdata#11225) + Move cleanup of obsolete charts to a separate thread (gh#netdata/netdata#11222) + Add check to only report the exit code when anonymous statistics script fails (gh#netdata/netdata#11215) + Reduce memory needed per dimension (gh#netdata/netdata#11212) + Improve dbengine intialization to ignore journal files that can not be read (gh#netdata/netdata#11210) + Use memory mode RAM if memory mode dbengine is specified but not available (gh#netdata/netdata#11207) + Improve return status check for the execution of anonymous statistics script (gh#netdata/netdata#11188) + Reuse the SN_EXISTS bit to track anomaly status. (gh#netdata/netdata#11154) + Remove deprecated command line options (gh#netdata/netdata#11149) + Remove unecessary relative paths when including headers. (gh#netdata/netdata#11124) + Add field to provide UTC offset in seconds and edit health config command (gh#netdata/netdata#11051) * Bug fixes + Set NETDATA_CONTAINER_OS_DETECTION properly (gh#netdata/netdata#11827) + Fix agent crash when ACLK sync thread is not initialized (gh#netdata/netdata#11820) + Simple fix for the data API query (gh#netdata/netdata#11787) + Use the proper format specifier when logging configuration options. (gh#netdata/netdata#11795) + Use correct hop count if host is already in memory (gh#netdata/netdata#11785) + Fix proc/interrupts parser (gh#netdata/netdata#11783) + Skip sending hidden dimensions via ACLK (gh#netdata/netdata#11770) + Fix host hop count reported to the cloud (gh#netdata/netdata#11768) + Fix log if D_ACLK is used (gh#netdata/netdata#11763) + Fix retention message duration when no local metrics are found (gh#netdata/netdata#11762) + Fix an issue with incomplete payload served when https is enabled (gh#netdata/netdata#11754) + Fix a type in the popocorn information message (gh#netdata/netdata#11745) + Fix /api/v1/info if ml-info is missing (gh#netdata/netdata#11739) + Fix typo in aclk_query.c (gh#netdata/netdata#11737) + Fix online chart in NG not updated properly (gh#netdata/netdata#11734) + Fix coverity CID #373610 (gh#netdata/netdata#11719) + Fix loading old and custom dashboards (gh#netdata/netdata#11710) + Fix coverity issues 373612 & 373611 (gh#netdata/netdata#11684) + Fix warnings from -Wformat-truncation=2 (gh#netdata/netdata#11676) + Fix interval usage and reduce I/O (gh#netdata/netdata#11662) + Fix build issue related to legacy aclk and new arch code (gh#netdata/netdata#11655) + Fix typo in URL when calling env (gh#netdata/netdata#11651) + Fix false poll timeout (gh#netdata/netdata#11650) + Fix chart config overflow (gh#netdata/netdata#11645) + Fix an overflow when unsigned integer subtracted (gh#netdata/netdata#11638) + Fix coverity issues 373400-373402 (gh#netdata/netdata#11631) + Fix proper initialization struct with zeroes (gh#netdata/netdata#11621) + Fix https client (gh#netdata/netdata#11608) + Fix CID 339027 and reverse arguments (gh#netdata/netdata#11578) + Fix resource leak when analytics thread stops (gh#netdata/netdata#11575) + Fix coverity report issues CID_373247-373251 (gh#netdata/netdata#11549) + Fix coverity issues for health config (gh#netdata/netdata#11535) + Fix issue with log messages appearing in the terminal instead of the error.log on startup (gh#netdata/netdata#11524) + Fix issues in Alarm API (gh#netdata/netdata#11491) + Fix list corruption in ACLK sync code and remove fatal (gh#netdata/netdata#11444) + Fix coverity reported issues 372243 - 372248 (gh#netdata/netdata#11429) + Fix CID 372233 to CID 372236 (gh#netdata/netdata#11411) + Fix bundled protobuf linkage on systems needing -latomic (gh#netdata/netdata#11406) + Fix coverity issue 372222 (gh#netdata/netdata#11404) + Fix typo in analytics.c (gh#netdata/netdata#11329) + Fix coverity errors in ACLK (gh#netdata/netdata#11322) + Fix confusing error in ACLK Legacy (gh#netdata/netdata#11278) + Fix an issue to send correct aclk implementation used by agent to posthog. (gh#netdata/netdata#11247) + Fix error on --disable-cloud (gh#netdata/netdata#11244) + Fix mqtt_websockets submodule version (gh#netdata/netdata#11196) + Fix claiming script exit code when daemon not running and the claim was successful (gh#netdata/netdata#11195) + Fix loading of class, component and type from health log when sufficient fields are detected. (gh#netdata/netdata#11193) + Fix typo in aclk.c (gh#netdata/netdata#11170)
Dominique Leuenberger (dimstar_suse)
accepted
request 901586
from
Mia Herkt (mia)
(revision 28)
- Update to 1.31.0 (go.d.plugin 0.29.0) The v1.31.0 release of Netdata comes with re-packaged and redesigned elements of the dashboard to help you focus on your metrics, even more Linux kernel insights via eBPF, on-node machine learning to help you find anomalies, and much more. This release contains 10 new collectors, 54 improvements (7 in the dashboard), 31 documentation updates, and 29 bug fixes. At a glance We re-packaged and redesigned portions of the dashboard to improve the overall experience. Part of this effort is better handling of dashboard code during installation—anyone using third-party packages (such as the Netdata Homebrew formula) will start seeing new features and the new designs starting today. The timeframe picker has moved to the top panel, and just to its right are two counters with live CRITICAL and WARNING alarm statuses for your node. Click on either of these two open the alarms modal. We've also pushed a number of powerful new collectors, including directory cache monitoring via eBPF. By monitoring directory cache, developers and SREs alike can find opportunities to optimize memory usage and reduce disk-intensive operations. Our new Z-scores and changefinder collectors use machine learning to let you know, at a glance, when key metrics start to behave oddly. We'd love to get feedback on these sophisticated, subjective new brand of collectors! Improvements * Automatically trigger Helmchart PR on Agent release. (gh#netdata/netdata#11084) * Implement ACLK env endpoint. (gh#netdata/netdata#10833) * Implement new HTTPS client for ACLK. (gh#netdata/netdata#10805) * Update ACLK passwd endpoint to match specifications of the new
Richard Brown (RBrownSUSE)
accepted
request 880415
from
Factory Maintainer (factory-maintainer)
(revision 27)
Automatic submission by obs-autosubmit
Dominique Leuenberger (dimstar_suse)
accepted
request 859482
from
Mia Herkt (mia)
(revision 26)
- Update to v1.28 - Enable additional dependencies (gprc, json, libcurl, libelf, libwebsockets, protobuf, snappy, xenstat, yajl) - Update to v1.27.0 (go.d.plugin 0.26.2)
Dominique Leuenberger (dimstar_suse)
accepted
request 858645
from
Mia Herkt (mia)
(revision 25)
- Enable additional dependencies (gprc, json, libcurl, libelf, libwebsockets, protobuf, snappy, xenstat, yajl) - Update to v1.28.0 (go.d.plugin 0.26.2) Release v1.28.0 is a hotfix release to address a deadlock in the Netdata Agent. If the Agent-Cloud link (ACLK) connection drops and the Agent fails to queue an on_connect message, it also fails to properly release a lock in the web server thread. - Changes in v1.27.0: The v1.27.0 release of the Netdata Agent brings dramatic improvements to long-term metrics storage via the database engine, and new dashboard features like a time & date picker for visualizing precise timeframes. Two new collectors bring incredible new value to existing features, including a bit of machine learning magic. This release contains 8 new collectors, 1 new notification method (2 others enhanced), 54 improvements, 41 documentation updates, and 58 bug fixes. Improvements * Add labels for Kubernetes pods and containers. * Add plugin and module health entities. * Migrate the metadata log to SQLite. * Add an extent cache to the database engine. * Added new data query option allow_past. Netdata Cloud * Add the ability to query child nodes by their GUID. * Add child availability messages to the ACLK. * Add a metric showing how long a query spent in the queue. * Completely hide the SSO iframe. Collectors * Add alarms obsoletion and disable alarms collector by default. * Add calls for tcp_sendmsg, tcp_retransmit_skb, tcp_cleanup_rcv, udp_sendmsg, udp_recvmsg functions charts to the eBPF collector. * Add two more insignificant warnings to suppress in anomalies collector. * Add the number of allocated/stored objects within each storage to the varnish collector. * Add a wireless statistics collector. * Add support for MSE (Massive Storage Engine) to the varnish collector. * Remove remove crit from unmatched alarms in the web_log collector. * Add GPU key metrics (nvidia_smi collector) to dashboard_info.js. * Add allocated space metrics to the oracledb collector. * Restructure the eBPF collector to improve usability. * Add an anomaly detection collector. * Add a Netdata alarms collector. * Add a configuration option to exclude users with zero memory allocated to the nvidia_smi collector. * Add per queue charts to the rabbitmq collector. * Add support for HBA drives to the hpssa collector. * Update the cgroups collector default filtering by adding pod level cgroups. * Add a Go version of the CouchDB collector (couchdb). * Add collecting HTTP method per URL pattern (url_pattern option) to the web_log collector. * Add custom time fields feature to the web_log collector. * Add a Go version of the PowerDNS Authoritative Nameserver collector (powerdns). * Add a Go version of the PowerDNS Recursor collector (powerdns_recursor). * Add a Go version of the PowerDNS DNSdist collector (dnsdist). * Add a Dnsmasq DNS Forwarder collector (dnsmasq). * Add collecting directories size to the filecheck collector. * Add old systemd versions support to the systemdunits collector. * Add unmatched lines logging to the web_log collector. Notifications * Add API V2 support to the PagerDuty health integration. * Add threads support to the Google Hangouts health integration. * Add a Opsgenie health integration. Exporting * Add HTTP and HTTPS support to the simple exporting connector. Packaging/installation * Update React dashboard v2.11. * Update go.d.plugin version to v0.26.2. * Update eBPF collector to 0.4.9. * Add ability to use system libwebsockets instead of bundled version. * Update the version of libJudy that we bundle to 1.0.5-netdata2. Bug fixes * Fix crash in the eBPF plugin by initializing variables. * Fix sending chart definition on every data collection in alarms collector. * Fix a lock check. * Fix issue with chart metadata sent multiple times over ACLK. * Fix a buffer overflow when extracting information from a streaming connection. * Fix hostname configuration in the exporting engine. * Fix units and data source exporting options. * Fix exporting config. * Fix health by disabling used_file_descriptors alarm. * Fix GPU data filtering in the nvidia_smi collector. * Fix username resolution in the nvidia_smi collector. * Fix compilation with HTTPS disabled. * Fix hostname when syslog is used in syslog health integration. * Fix streaming buffer size. * Fix database endless loop when cleaning obsolete charts. * Disable chart obsoletion code for archived chart creation. * Fix Prometheus remote write exporter so that it doesn't stop when data is not available for dimension formatting. * Fix memory calculation by moving shared from cached to used dimension. * Fix parsing in the libreswan collector. * Fix an infinite loop in the statsd plugin * Disregard host tags configuration pointer. * Fix platform dependent printf format. * Fix cgroups collector resolving container names in k8s. * Fix python.d plugin runtime chart creation. * Fix race condition in rrdset_first_entry_t() and rrdset_last_entry_t(). * Fix the data endpoint so that the context param is correctly applied to children. * Fix Coverity errors (CID 364045,364046). * Fix the elasticsearch_last_collected alarm. * Fix spelling error in xenstat.plugin. * Fix chart filtering. * Fix libnetdata headers to be compatible with C++. * Fix registry responses to remove caching. * Fix eBPF memory management. * Fix overlapping memory issue. * Fix response and upstream response time histogram charts in the web_log collector. * Fix logs timestamps always in UTC issue in the go.d.plugin * Fix collecting slave status for MariaDB v10.2.0- in the mysql collector * Fix cumulative_stats configuration option in the unbound collector * Fix parsing configuration file (respect 'include-toplevel' directive) in unbound collector * Fix handling charts with type.id >= 200 (netdata limit) in go.d.plugin * Fix parsing version query response in the mysql collector * Fix Netsplits chart dimensions algorithm in the the vernemq collector. * Fix a typo in dashboard_info.js for VerneMQ.
Dominique Leuenberger (dimstar_suse)
accepted
request 841829
from
Mia Herkt (mia)
(revision 23)
- Fix RPM file list - Update to v1.26.0 (go.d.plugin 0.23.0): Improvements * Add the ability to send Agent alarm notifications to StackPulse * Add a way to get build configuration info from the Agent * Add chart for churn rates to python.d/rabbitmq * Add failed dim to the connection_fails alarm in the Portcheck alarm * Improve the data query when using the context parameter * Add a context parameter to the data endpoint (Netdata Cloud) * Change default ACLK query thread count * Remove leading whitespace before JSON in ACLK * Allow using libwebsockets without SOCKS5 * Add information about Cloud disabled status to -W buildinfo (Collectors) * Update go.d.plugin version to v0.23.0 + Add new filecheck collector + Add new systemd unit state collector + Add new ISC DHCP collector (Dashboard) * Add missing period in Netdata dashboard Bug Fixes * Fix systemd comment syntax * Fix file descriptor leak in Infiniband collector (proc.plugin) * Fix the data endpoint to prioritize chart over context if both are present * Fix cleanup of obsolete charts * Fix build for the AWS Kinesis exporting connector * Fix gauges for go.d.plugin/web_log collector * Fix locking order to address CID_362348 * Fix chart's last accessed time during context queries * Fix resource leak in case of malformed request to Netdata Cloud - Move edit-config to libexeddir - Fix conf.d path in edit-config
Dominique Leuenberger (dimstar_suse)
accepted
request 838874
from
Dirk Mueller (dirkmueller)
(revision 22)
Dominique Leuenberger (dimstar_suse)
accepted
request 829822
from
Dirk Mueller (dirkmueller)
(revision 21)
- update to 1.24.0: * The v1.24.0 release of the Netdata Agent brings enhancements to the breadth of metrics we collect with a new generic Prometheus/OpenMetrics collector and enhanced storage and querying with a new multi-host database mode. * Add generic Prometheus/OpenMetrics collector (#9644, @ilyam8) * Add locking between different collectors for the same application, implemented in different technologies (#9584, @vlvkobal), (#9564, @ilyam8) * Implement multihost database (#9556, @stelfrag) * Add alarms for FreeBSD interface errors (#8340, @lassebm) * Many bugfixes, see https://github.com/netdata/netdata/releases/tag/v1.24.0
Dominique Leuenberger (dimstar_suse)
accepted
request 821336
from
Mia Herkt (mia)
(revision 20)
- Update to v1.23.2: * Fixed a buffer overrun vulnerability in Netdata's JSON parsing code. This vulnerability could be used to crash Agents remotely, and in some circumstances, could be used in an arbitrary code execution (ACE) exploit. Improvements: * Add support for multiple ACLK query processing threads * Add Infiniband monitoring to collector proc.plugin * Change the HTTP method to make the IPFS collector compatible with 0.5.0+ * Add support for returning headers using python.d's UrlService Bug fixes: * Fix vulnerability in JSON parsing * Fixed stored number accuracy * Fix transition from archived to active charts not generating alarms * Fix PyMySQL library to respect my.cnf parameter * Remove health from archived metrics * Update exporting engine to read the prefix option from instance config sections * Fix display error in Swagger API documentation * Wrap exporting engine header definitions in compilation conditions * Improve cgroups collector to autodetect unified cgroups * Fix CMake build failing if ACLK is disabled * Fix now_ms in charts.d collector to prevent tc-qos-helper crashes * Fix python.d crashes by adding a lock to stdout write function * Fix an issue with random crashes when updating a chart's metadata on the fly
Dominique Leuenberger (dimstar_suse)
accepted
request 805922
from
Mia Herkt (mia)
(revision 18)
- Update to v1.22.1: Bug fixes: - Fixed the latency issue on the ACLK and suppress the diagnostics. - Restored old semantics of "netdata -W set" command. - Removed check for old alarm status. - Changes for v1.22.0: Breaking Changes: * The previous iteration of Netdata Cloud, accessible through various Sign in and Nodes view (beta) buttons on the Agent dashboard, is deprecated in favor of the new Cloud experience. * Our old documentation site (docs.netdata.cloud) was replaced with Netdata Learn. All existing backlinks redirect to the new site. * Our localization project is no longer actively maintained. We're grateful for the hard work of its contributors. Improvements: * Netdata Cloud: - Enabled support for Netdata Cloud. - Added TTL headers to ACLK responses. - Improved the thread exit fixes in #8750. - Improved ACLK reconnection sequence. - Improved ACLK memory management and shutdown sequence. - Added session-id to ACLK using connect timestamp. * Collectors: - Improved the index size for the eBPF collector. - Added health alarm templates for the whoisquery collector. - Added a whoisquery collector. - Removed an automatic restart of apps.plugin. * Exporting: - Enabled internal statistics for the exporting engine in the Agent dashboard. - Implemented a Prometheus exporter web API endpoint. * Notifications: - Added a certificate revocation alarm for the x509check collector. - Added the ability to send Agent alarm notifications to Dynatrace. * Other: - Updated main copyright and links for the year 2020 in daemon help output. - Moved bind to to [web] section and update netdata.service.v235.in to sync it with recent changes. - Put old dashboard behind a prefix instead of using a script to switch. - Enabled the truthy rule in yamllint. - Added Borg backup, Squeezebox servers, Hiawatha web server, and Microsoft SQL to apps.plugin so that it can appropriately group them by type of service. * Bug fixes: - Fixed mdstat failed devices alarm. - Fixed rare race condition in old Cloud iframe. - Removed no-clear-notification options from portcheck health templates. - Fixed old URLs to silence Netlify's mixed content warnings. - Fixed master streaming fatal exits. - Fixed email authentiation to Cloud/Nodes View. - Fixed non-escaped characters in private registry URLs. - Fixed crash when shutting down an Agent with the ACLK disabled. - Fixed status checks for UPS devices using the apcupsd collector. - Fixed alarm notification script by adding a check to the Dynatrace notification method. - Fixed threads_creation_rate chart context in the python.d MySQL collector. - Fixed sudo check in charts.d libreswan collector to prevent daily security notices.
Dominique Leuenberger (dimstar_suse)
accepted
request 793692
from
Mia Herkt (mia)
(revision 17)
- Update to v1.21.1: Release v1.21.1 is a hotfix release to improve the performance of the new React dashboard, which was merged and enabled by default in v1.21.0. The React dashboard shipped in v1.21.0 did not properly freeze charts that were outside of the browser's viewport. If a user who loaded many charts by scrolling through the dashboard, charts outside of their browser's viewport continued updating. This excess of chart updates caused all charts to update more slowly than every second. v1.21.1 includes improvements to the way the Netdata dashboard freezes, maintains state, and restores charts as users scroll.
Dominique Leuenberger (dimstar_suse)
accepted
request 792974
from
Mia Herkt (mia)
(revision 16)
- Update to v1.21.0 (go.d.plugin v0.18.0): Improvements: * Extended TLS support for 1.3. * Switched to the React dashboard code as the default dashboard. * Collectors: - Added a new Pulsar collector. - Added a new VerneMQ collector. - Added high precision timer support for plugins such as idlejitter. - Added an alarm to the dns_query collector that detects DNS query failure. - Added the ability to get the pod name from cgroup with kubectl in bare-metal deployments. - Added the ability to connect to non-admin user IDs for a Ceph storage cluster. - Added connections (backend) usage to Postgres monitoring. * Exporting: - Added a MongoDB connector to the exporting engine. - Added a Prometheus Remote Write connector to the exporting engine. - Added an AWS Kinesis connector to the exporting engine. Bug fixes: * Removed notifications from the dashboard and fixed the /default.html route. * Fixed help-tooltips styling, private registry node deletion, and the right-hand sidebar "jumping" on document clicks. * Fixed errors reported by Coverity. * Fixed broken pipe ignoring in apps.plugin. * Fixed the bytespersec chart context in the Python Apache collector. * Fixed charts.d.plugin to exit properly during Netdata service restart * Fixed minimist dependency vulnerability. * Fixed how SimpleService truncates Python module names. * Added proper prefix to Python module names during loading. * Fixed the flushing error threshold with the database engine. * Fixed memory leak for host labels streaming from slaves to master. * Fixed streaming scaling. * Fixed missing characters in kernel version field by encoding slave fields. * Fixed Ceph collector to get osd_perf_infos in versions 14.2 and higher. * Removed extraneous commas from chart information in dashboard. * Removed tmem collection from xenstat_plugin to allow Netdata on Xen 4.13 to compile successfully. * Restricted messages to Google Analytics. * Fixed Python 3 dict access in OpenLDAP collector module.
Dominique Leuenberger (dimstar_suse)
accepted
request 779690
from
Mia Herkt (lachs0r)
(revision 15)
- Update to v1.20.0 (go.d.plugin v0.15.0) Breaking Changes: * Removed deprecated bash collectors apache, cpu_apps, cpufreq, exim, hddtemp, load_average, mem_apps, mysql, nginx, phpfpm, postfix, squid, tomcat. If you were still using one of these collectors with custom configurations, you can find the new collector that replaces it in the supported collectors list. Improvements: * Host labels: + Added support for host labels + Improved the monitored system information detection. Added CPU freq & cores, RAM and disk space. + Started distinguishing the monitored system's (host) OS/Kernel etc. from those of the docker container's + Started creating host labels from collected system info + Started passing labels and container environment variables via the streaming protocol + Started sending host labels via exporting connectors + Added label support to alarm definitions and started recording them in alarm logs + Added support for host labels to the API responses + Added configurable host labels to netdata.conf + Added kubernetes labels * New collectors: + eBPF kernel collector + CockroachDB + squidlog: squid access log parser * Collector improvements: + apps.plugin: Created dns group, improved database group, improved ceph & samba groups + varnish: Added SMF metrics (cache on disk) + phpfpm: Fixed per process chart titles and readme + python.d: Formatted the code in all modules + node.d/snmp: - Added snmpv3 support, formatted the code in snmp.node.js + cgroups: Improved LXC monitoring by filtering out irrelevant LXC cgroups + litespeed: Added support for different .rtreport format + proc.plugin: Added pressure stall information + sensors: Improved collection logic + proc: Started monitoring network interface speed, duplex, operstate + smartd_log: Fixed the setting in the reallocated sectors count, by setting ATTR5 chart algorithm to absolute + nvidia-smi: Allow executing nvidia-smi in normal instead of loop mode + wmi: collect logon metrics, collect logical_disk disk latency metrics + weblog: handle MKCOL, PROPFIND, MOVE, SEARCH http request methods + scaleio: storage pools and sdcs metrics * Exporting engine: + Implemented the main flow for the Exporting Engine * Streaming: + Add versioning to the streaming protocol * Installation/Packages: + Improved the systemd service files, by removing unecessary ExecStartPre lines and moving global options to netdata.conf * Privacy: + Added support for opting out of telemetry via the DO_NOT_TRACK environment variable (telemetry is disabled by default on openSUSE) * Other: + Preparations for the next netdata cloud release. Added custom libmosquitto, netdata-cli and other prerequisites. + Applied linter fixes in shell scripts + Started supporting -fno-common in CFLAGS + Completely removed the unbound python collector (dead code) + Added possibility to change badges' text font color + Small updates to sample multi-host dashboard, dash.html + Added missing quoting in shell scripts + Bump handlebars from 4.2.0 to 4.5.3 + Reduce log level for uv_thread_set_name_np from error to info + Set standard name to non-libnetdata threads (libuv, pthread) * Bug fixes: + Fixed problems reported by Coverity for eBPF collector plugin + Fixed invalid literal for float\(\): NN.NNt error in the elasticsearch python plugin, by adding terabyte unit parsing + Fixed timeout failing in docker containers which broke some python.d collectors + Fixed problem with the httpcheck python collector not being able to check URLs with the POST method, by adding body to the URLService. Also record the new options in httpcheck.conf + Fixed dbengine repeated global flushing errors and collectors being blocked, by dropping dirty dbengine pages if the disk cannot keep up + Fixed issue with alarm notifications occasionally ignoring the configured severity filter when the ROLE was set to root + Fixed Netlink Connection Tracker charts in the nfacct plugin + Fixed metric values sent via remote write to Prometheus backends, when using average/sum + Fixed unclosed brackets in softnet alarm + Fixed SEGFAULT when localhost initialization failed + Reduced the number of broken pipe error log entries, after a SIGKILL + Fixed Coverity errors by restoring support for protobuf 3.0 + Fixed inability to disable Prometheus remote API + Fixed SEGFAULT from the cpuidle plugin + Fixed samba collector not working, due to inability to run sudo + Fixed invalid css/js resource errors when URL for slave node has no final / on streaming master + Fixed keys_redis chart in the redis collector, by populating keys at runtime + Fixed UrlService bytes decoding and logger unicode encoding in the python.d plugin + Fixed a warning in the prometheus remote write backend + Fixed not detecting more than one adapter in the hpssa collector + Fixed race conditions in dbengine + Fixed race condition with the dbenging page cache descriptors + Fixed dbengine dirty page flushing warning + Fixed missing parenthesis on alarm softnet.conf + Fixed "Master thread EXPORTING takes too long to exit. Giving up" error, by cleaning up the main exporting engine thread on exit + Fixed rabbitmq error "update() unhandled exception: invalid literal for int() with base 10" + Fixed some LGTM alerts + Fixed valgrind errors + Fixed monit collector LGTM warnings + Fixed the following go.d.plugin collector issues: . mysql: panic in Cleanup (#326) . unbound: gather metrics via unix socket (#319) . logstash: pipelines chart (#317) . unbound: configuration file parsing. . Support include mechanism. (#298) . logstash: pipelines metrics parsing (#293) . phpfpm: processes metrics parsing (#297)
Dominique Leuenberger (dimstar_suse)
accepted
request 765606
from
Mia Herkt (lachs0r)
(revision 14)
- Also package go.d.plugin (v0.14.1) - Update to v1.19.0 Improvements: * New collectors: + AM2320 sensor collector plugin + Added parsing of /proc/pagetypeinfo to provide metrics on fragmentation of free memory pages + The unbound collector module was completely rewritten, in Go * Collector improvements: + We rewrote our web log parser in Go, drastically improving its flexibility and performance + The Kubernetes kubelet collector now reads the service account token and uses it for authorization. We also added a new default job to collect metrics from https://localhost:10250/metrics + Added a new default job to the Kubernetes coredns collector to collect metrics from http://kube-dns.kube-system.svc.cluster.local:9153/metrics + apps.plugin: Synced FRRouting daemons configuration with the frr 7.2 release + apps.plugin: Added process group for git-related processes + apps.plugin: Added balena to the container-engines application group + web_log: Treat 401 Unauthorized requests as successful + xenstat.plugin: Prepare for xen 4.13 by checking for check xenstat_vbd_error presence + mysql: Added galera cluster_status alarm * Metrics database: + Netdata generates alarms if the disk cannot keep up with data collection * Health: + Fine tune various default alarm configurations + Update SYN cookie alarm to be less aggressive + Added support for IRC alarm notifications Bug fixes: * Prevented freezes due to isolated CPUs * Fixed missing streaming when slave has SSL activated * Fixed error 421 in IRC notifications, by removing a line break from the message * proc/pagetypeinfo collection could under particular circumstances cause high CPU load. As a workaround, we disabled pagetypeinfo by default * Fixed incorrect memory allocation in proc plugin’s pagetypeinfo collector * Eliminated cached responses from the postgres collector * rabbitmq: Fixed "disk_free": "disk_free_monitoring_disabled" error * Fixed Apache module not working with letsencrypt certificate by allowing the python UrlService to skip tls_verify for http scheme * Fixed invalid spikes appearing in certain charts, by improving the incremental counter reset/wraparound detection algorithm * Fixed issue with unknown variables in alarm configuration expressions always being evaluated to zero * Fixed issue of automatically picking up Pi-hole stats from a Pi-hole instance installed on another device by disabling the default job that collects metrics from http://pi.hole
Dominique Leuenberger (dimstar_suse)
accepted
request 741631
from
Mia Herkt (lachs0r)
(revision 13)
- Update to v1.18.1 Improvements: * Disable slabinfo plugin by default to reduce the total number of metrics collected * Add dbengine RAM usage statistics * Support Google Hangouts chat notifications * Add CMocka unit tests * Add prerequisites to enable automatic updates for installations via the static binary (kickstart-static64.sh) Bug fixes: * Fix unbound collector timings: Convert recursion timings to milliseconds. * Fix unbound collector unhandled exceptions * Fix megacli collector binary search and sudo check * Fix Clang warnings * Fix python.d error logging: change chart suppress msg level from ERROR to INFO * Fix freeipmi update frequency check: was warning that 5 was too frequent and it was setting it to 5. * Fix alarm configurations not getting loaded, via better handling of chart names with special characters * Don't write HTTP response 204 messages to the logs * Fix build when CMocka isn't installed * Prevent zombie processes when a child is re-parented to netdata when its running in a container, by adding child process reaper - Update to v1.18.0 Improvements: * Database engine: + Make dbengine the default memory mode + Increase dbengine default cache size
Dominique Leuenberger (dimstar_suse)
accepted
request 728171
from
Mia Herkt (lachs0r)
(revision 12)
- Update to v1.17.0 Improvements: * Database engine: + Variable granularity support for data collection + Added tips on the UI to encourage users to try the new DB Engine, when they reach the end of their metrics history * Health: + Added support for plain text only email notifications + Started showing “hidden” alarm variables in the responses of the chart and data API calls + Added a new API call for alarm status counters, as a first step towards badges that will show the total number of alarms * Security: + Added configurable default locations for trusted CA certificates + Added safer way to get container names + Added SSL connection support to the python mongodb collector * New collectors: + VSphere collector * Archiving: + Added a new MongoDB backend * Other: + Added apps grouping debug messages + GCC warning and linting improvements + Added global configuration option to show charts with zero metrics + Improved the way we parse HTTP requests, so we can avoid issues from edge cases * Bug fixes: + Fixed sensor chips filtering in python sensors collector
Displaying revisions 21 - 40 of 51