netdata / netdata Goto Github PK
View Code? Open in Web Editor NEWThe open-source observability platform everyone needs!
Home Page: https://www.netdata.cloud
License: GNU General Public License v3.0
The open-source observability platform everyone needs!
Home Page: https://www.netdata.cloud
License: GNU General Public License v3.0
I accidentally started netdata with apps.plugin not setuid to root.
I saw high CPU usage for the whole netdata process group, as reported by apps.plugin.
We need to test this case and resolve the issue, if there is any.
Today, netdata keeps in memory a round robin database for dimension values, even for dimensions that permanently have a fixed value.
Check for example, the errors, collisions, events for network interfaces, or cpu interrupts that never used at a specific CPU core, etc.
A relatively easy fix, is to tweak netdata so that while a dimension has a fixed value, the round robin database will not be allocated.
Issues:
Hi,
Before I go ahead and create my own, do you know if this app has already been "dockerized"?
If not, I'll go ahead and create a public image.
I'd like to use netdata on multiple Ubuntu machines, so it makes sense to containerize it.
Thanks.
Support
/proc/interrupts
I try to install netdata on suse 11.4 but after installing all dependencies and run ./netdata-installer.sh (as root) I got:
Running command:
./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
Makefile.am:4: option `dist-xz' not recognized
autoreconf: automake failed with exit status: 1
Installation pass after I removed mentioned option from Makefile.am.
# apt-get install zlib1g-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
zlib1g-dev is already the newest version.
$ ./configure --prefix=/opt/netdata
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking if compiler needs -Werror to reject unknown flags... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for inline... inline
checking for sin in -lm... yes
checking for ZLIB... configure: error: Package requirements (zlib) were not met:
No package 'zlib' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables ZLIB_CFLAGS
and ZLIB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
@alonbl any ideas?
This is an old ubuntu LTS.
Sometimes it gives an error that dygraph-combined.js cannot be loaded.
I tracked it down and found that the served file has a gap of 16383 bytes, at byte 98304. So, there is a condition (aparently timing related) that somehow makes netdata miss a whole compressed stream of data (each compression chunk is 16384 bytes).
It doesn't happen always, but it is there 1 out of 10.
It only happens on static content, so it has to be related to the FILECOPY operation and compression.
plugins.d/node.d.plugin
now begins with:
#!/usr/bin/env node
but on older systems, node.js is available as nodejs
, which means the above should be:
#!/usr/bin/env nodejs
[Following up on the process of build a lightweight container for netdata]
I usually build lightweight containers for the programs I want to use on my server based on Alpine Linux, since it is very small (~10MB) while having a proper package manager (as opposed to a plain busybox). Alpine Linux uses the musl libc.
Here is a list of what does not work:
apps_plugin.c:1997:11: error: '__useconds_t' undeclared (first use in this function)
useconds_t
(the __
variant is reserved for internal use)daemon.c:16:22: fatal error: execinfo.h: No such file or directory
Not available in musl, see PowerDNS/pdns#1956 for referenceplugin_proc.c:224:14: error: 'RUSAGE_THREAD' undeclared (first use in this function)
and also plugin_tc.c:676:15: error: 'RUSAGE_THREAD' undeclared (first use in this function)
web_server.c:37:18: error: storage size of 'mi' isn't known
, there's a warning about the implicit declaration of the function mallinfo
.And that's pretty much it. I'm in no way an expert in libc:s subtleties ; I just wanted to point out that netdata is very close to supporting Alpine Linux as a target. It would allow the application to be packaged in a very lightweight container (on top of being a great piece of software!).
@alonbl nfacct is actually needed only if linux is acting as a firewall/gateway.
For all other installations it should be disabled, so we actually need:
--enable-nfacct
or --with-nfacct
in configure to enable itSupport:
/proc/net/stat/arp_cache
/proc/net/stat/ndisc_cache
Hi, first of all great software. I've installed according to Wiki instructions on Ubuntu 10.04 but don't get postfix section and queue graphs. I checked http://netdata.firehol.org/netdata.conf and copied [postfix.qemails]
, [postfix.qsize]
and [netdata.plugin_chartsd_postfix]
sections to my /etc/netdata/netdata.conf
. Restarted but still nothing. Even when I browse to http://myserver:19999/netdata.conf
those sections I inserted are not there. Also there nothing about postfix in logs.
Has anyone successfully created an apache proxy for netdata?
I would like to access netdata dashboard on a subdirectory. Something like example.com/netdata.
Is it even possible?
I have added an openrc script:
https://github.com/firehol/netdata/blob/master/system/netdata-openrc
@alonbl could you please check it?
If tried to implement a dynamic dependency check, so that netdata will use
other services only if these services are enabled.
I also tried to switch ownership of files if the netdata user is changed.
Any comments are welcome.
hi, i'm trying to solve this problem i got using a dashboard from netdata.
darklow/django-suit#492 (comment)
it's possible to pass some argument after dashboard.js?foobar
to avoid css and get just the live graph?
Hi,
I would ask if you could split the installer at least into two logical parts. I would like just to build netdata, and have the other steps (running netdata) as optional. It can be done with arguments, like make:
./netdata-installer.sh build install
Which would first run build, and then the install part (some loop over arguments in bash). I am building a docker image which requires building an artefact, but it doesn't require generating the configs/running netdata (this should be done when the container runs).
@alonbl a little help:
I want files in conf.d not overwrite files already existing in /etc/netdata
. I can't figure out how to do it. Now, every time I make install
the files /etc/netdata/apps_groups.conf
and /etc/netdata/charts.d.conf
are overwritten.
Is there an official way to add the user netdata
and chown the web files during make install
?
Initially I added this to web/Makefile.am
, but I didn't know if this is good, so I removed it:
install-data-hook:
if [ `id -u` == 0 ]; then \
getent group netdata > /dev/null || groupadd -r netdata; \
getent passwd netdata > /dev/null || useradd -r -g netdata -c netdata -s /sbin/nologin -d / netdata; \
chown -R netdata $(DESTDIR)$(cachedir) $(DESTDIR)$(webdir); \
fi
Added systemd service
https://github.com/firehol/netdata/blob/master/system/netdata-systemd
@alonbl any comments?
Do I need a Makefile.am in the system directory?
support
/proc/net/stat/synproxy
The most basic biggest missing feature that I can see in netdata right now is that its concern with disks is purely I/O-centric, but the current percentage of free space on a disk cannot be revealed by the I/O to that disk. There are other interesting metrics that might be available, like fragmentation, but it would be nice to see how disk space utilization changes over time.
The easypiechart of the swap displays the free swap space in contrary to the other charts in the row that display the utilization of their resource.
My suggestion would be to display the swap usage instead. Atleast from my point of view i'm perfectly happy not to use any of my swap space. Actually I would be concerned if the swap usage would go beyond 70% and don't see it as a under utilized resource if the usage is low.
@alonbl when I install it in some cases I have this:
make install
Making install in charts.d
make[1]: Entering directory '/opt/netdata.git/charts.d'
make[2]: Entering directory '/opt/netdata.git/charts.d'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p '/usr/libexec/netdata/charts.d'
/usr/bin/install -c airsearches.chart.sh cpu_apps.chart.sh cpufreq.chart.sh crsproxy.chart.sh example.chart.sh load_average.chart.sh mem_apps.chart.sh mysql.chart.sh nut.chart.sh opensips.chart.sh postfix.chart.sh sensors.chart.sh squid.chart.sh '/usr/libexec/netdata/charts.d'
make[2]: Leaving directory '/opt/netdata.git/charts.d'
make[1]: Leaving directory '/opt/netdata.git/charts.d'
Making install in conf.d
make[1]: Entering directory '/opt/netdata.git/conf.d'
make[2]: Entering directory '/opt/netdata.git/conf.d'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p '/etc/netdata'
/usr/bin/install -c -m 644 apps_groups.conf '/etc/netdata'
make[2]: Leaving directory '/opt/netdata.git/conf.d'
make[1]: Leaving directory '/opt/netdata.git/conf.d'
Making install in plugins.d
make[1]: Entering directory '/opt/netdata.git/plugins.d'
make[2]: Entering directory '/opt/netdata.git/plugins.d'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p '/usr/libexec/netdata/plugins.d'
/usr/bin/install -c -m 644 README loopsleepms.sh.inc '/usr/libexec/netdata/plugins.d'
/bin/mkdir -p '/usr/libexec/netdata/plugins.d'
/usr/bin/install -c charts.d.dryrun-helper.sh charts.d.plugin tc-qos-helper.sh '/usr/libexec/netdata/plugins.d'
make[2]: Leaving directory '/opt/netdata.git/plugins.d'
make[1]: Leaving directory '/opt/netdata.git/plugins.d'
Making install in src
make[1]: Entering directory '/opt/netdata.git/src'
make[2]: Entering directory '/opt/netdata.git/src'
/bin/mkdir -p '/usr/bin'
/usr/bin/install -c netdata '/usr/bin'
make install-exec-hook
make[3]: Entering directory '/opt/netdata.git/src'
if [ `id -u` == 0 ]; then \
chown root '/usr/libexec/netdata/plugins.d/apps.plugin' && \
chmod 4755 '/usr/libexec/netdata/plugins.d/apps.plugin'; \
else \
echo; \
echo "ATTENTION"; \
echo; \
echo "setuid bit of /usr/libexec/netdata/plugins.d/apps.plugin must be set, please execute as root:"; \
echo "chown root '/usr/libexec/netdata/plugins.d/apps.plugin' && chmod 4755 '/usr/libexec/netdata/plugins.d/apps.plugin'"; \
echo; \
fi
chown: cannot access '/usr/libexec/netdata/plugins.d/apps.plugin': No such file or directory
Makefile:845: recipe for target 'install-exec-hook' failed
make[3]: *** [install-exec-hook] Error 1
make[3]: Leaving directory '/opt/netdata.git/src'
Makefile:782: recipe for target 'install-exec-am' failed
make[2]: *** [install-exec-am] Error 2
make[2]: Leaving directory '/opt/netdata.git/src'
Makefile:726: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/opt/netdata.git/src'
Makefile:413: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
It does not install apps.plugin
, although it is build.
This log is from a current OSMC installation (raspbian based I think).
Support:
/proc/slabinfo
Hello
Are there plans for supporting some kind of user authentication to the web interface?
Cheers.
Hi,
I see on todo list a postfix MTA, Can you add for an EXIM mail server too ?
thanks for the great job.
netdata can be used behind a reverse proxy or a CDN.
For example, http://netdata.firehol.org runs behind cloudflare.com (CDN), and on the host itself it runs behind nginx
.
As it is today, netdata responds with:
for file-copy operations:
Cache-Control: public
for all other data:
Expires: <datetime of now>
Cache-Control: no-cache
Ideally, it should:
/api/v1/charts
and /api/v1/chart
, it should respond with Cache-Control: max-age=SECONDS;
where SECONDS
is the charts update_every
seconds.after
and before
parameters, it should respond with Cache-Control: public
.after
and before
parameters, it should respond with a Cache-Control: max-age=SECONDS;
, where SECONDS
is the view_update_every
parameter as it is already calculated.These will allow netdata to fully utilize a CDN's caching ability.
Hello,
thanks for creating this nice monitor tool, i really like it :D
but i have an issue on my aarch64 debian 8 maschine
the hole /#apps tree is missing ??
i only see:
System Overview
Memory
CPUs
Disks
IPv4 Networking
Network Interfaces
Sensors
Netdata Monitoring
Example Charts
maybe i overlooked something?
i also have a question about the defaults for the dashboard options
where can i set 'When to refresh the charts?' to always
and 'Which dimensions to show?' to all
Thank You !
Max from Germany
Create a debian/ structure to build .deb packages for debian/ubuntu, along with supporting scripts (/etc/init.d/netdata,...). Building a deb package also means a smaller Docker image with just the deb package and requirements installed.
I was hoping to contribute to these myself until I saw that it's written in C (I don't know C) so I'll just throw them out here in case anyone else is up to the task.
On the list of web-related server metrics supported so far it's just MySQL, Apache, and Nginx. I would be great to get some support for application backends.
PHP-FPM, like Nginx, has a statistics option to enable which will expose some numbers on the server: https://easyengine.io/tutorials/php/fpm-status-page/
uWSGI (usually for Python, but supports much more) supports basic server operational data as well as an endless metrics subsystem that can be customized to output any data available via a variety of methods inducing statsd, files, and sockets: http://uwsgi-docs.readthedocs.org/en/latest/Metrics.html
Circus (Python) has a top-like process viewer as well as CLI-based management commands: http://circus.readthedocs.org/en/latest/for-ops/cli/#cli
The three of those are quite widely used and all expose information that would make great metrics to show/record.
@alonbl I think netdata should be installed /usr/sbin
, not /usr/bin
.
I am not sure though. netdata is a system daemon. Its place should be in sbin
somehow.
Right?
Support:
/proc/net/stat/rt_cache
I'm trying to create an Archlinux package for netdata based on the netdata-9999.ebuild file. However I don't know how to do make install with a prefix directory. Like this:
./configure \
--prefix="/usr" \
--sbindir="/usr/bin" \
--sysconfdir="/etc" \
--libexecdir="/usr/lib" \
--localstatedir="/var" \
--with-zlib --with-math --with-user=netdata \
CFLAGS="-O3"
make \
prefix="$pkgdir/usr" \
sbindir="$pkgdir/usr/bin" \
sysconfdir="$pkgdir/etc" \
libexecdir="$pkgdir/usr/lib" \
localstatedir="$pkgdir/var" \
install
When I install and start netdata and look at the default config, it seeks its directories still in the $pkgdir directory, despite my configure step.
Please help me.
Could it be possible to only listen on a specified IP address (like tcp port parameter) ?
thanks.
Hi,
When trying to use a reverse proxy in front of netdata, you need to use a full virtual hostname because of absolute /api/* calls in (js and html code).
Could it be possible to add a configure param to define and relative URL ?
for example http:///netdata/api/... instead of http:///api/...
Thanks in advance.
Support:
/proc/net/sockstat
and /proc/net/sockstat6
Topic says it...latest git, sh autogen.sh, ./configure --prefix=/opt --enable-plugin-nfacct.
make[2]: Entering directory `/home/nobackup/build/netdata.git/src'
gcc -DHAVE_CONFIG_H -I. -I.. -DCACHE_DIR="\"/opt/var/cache/netdata\"" -DCONFIG_DIR="\"/opt/etc/netdata\"" -DLOG_DIR="\"/opt/var/log/netdata\"" -DPLUGINS_DIR="\"/opt/libexec/netdata/plugins.d\"" -DWEB_DIR="\"/opt/share/netdata/web\"" -g -O2 -pthread -MT plugin_nfacct.o -MD -MP -MF .deps/plugin_nfacct.Tpo -c -o plugin_nfacct.o plugin_nfacct.c
In file included from plugin_nfacct.c:2:0:
plugin_nfacct.c: In function ânfacct_mainâ:
plugin_nfacct.c:124:15: error: ânetdata_exitâ undeclared (first use in this function)
if(unlikely(netdata_exit)) break;
^
../config.h:144:41: note: in definition of macro âunlikelyâ
#define unlikely(x) __builtin_expect(!!(x), 0)
^
plugin_nfacct.c:124:15: note: each undeclared identifier is reported only once for each function it appears in
if(unlikely(netdata_exit)) break;
^
../config.h:144:41: note: in definition of macro âunlikelyâ
#define unlikely(x) __builtin_expect(!!(x), 0)
^
plugin_nfacct.c:172:5: warning: passing argument 7 of ârrdset_createâ makes pointer from integer without a cast [enabled by default]
st = rrdset_create("nfacct", "packets", NULL, "netfilter", "Netfilter Accounting Packets", "packets/s", 1006, rrd_update_every, RRDSET_TYPE_STACKED);
^
In file included from plugin_nfacct.c:23:0:
rrd.h:267:16: note: expected âconst char *â but argument is of type âintâ
extern RRDSET *rrdset_create(const char *type
^
plugin_nfacct.c:172:5: error: too few arguments to function ârrdset_createâ
st = rrdset_create("nfacct", "packets", NULL, "netfilter", "Netfilter Accounting Packets", "packets/s", 1006, rrd_update_every, RRDSET_TYPE_STACKED);
^
In file included from plugin_nfacct.c:23:0:
rrd.h:267:16: note: declared here
extern RRDSET *rrdset_create(const char *type
^
plugin_nfacct.c:192:5: warning: passing argument 7 of ârrdset_createâ makes pointer from integer without a cast [enabled by default]
st = rrdset_create("nfacct", "bytes", NULL, "netfilter", "Netfilter Accounting Bandwidth", "kilobytes/s", 1007, rrd_update_every, RRDSET_TYPE_STACKED);
^
In file included from plugin_nfacct.c:23:0:
rrd.h:267:16: note: expected âconst char *â but argument is of type âintâ
extern RRDSET *rrdset_create(const char *type
^
plugin_nfacct.c:192:5: error: too few arguments to function ârrdset_createâ
st = rrdset_create("nfacct", "bytes", NULL, "netfilter", "Netfilter Accounting Bandwidth", "kilobytes/s", 1007, rrd_update_every, RRDSET_TYPE_STACKED);
^
In file included from plugin_nfacct.c:23:0:
rrd.h:267:16: note: declared here
extern RRDSET *rrdset_create(const char *type
^
make[2]: *** [plugin_nfacct.o] Error 1
make[2]: Leaving directory `/home/jlay/nobackup/build/netdata.git/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jlay/nobackup/build/netdata.git'
make: *** [all] Error 2
below are installed:
ii libnetfilter-acct-dev 1.0.2-1ubuntu1 amd64 Development files for libnetfilter-acct1
ii libnetfilter-acct1:amd64 1.0.2-1ubuntu1 amd64 Netfilter acct library
Anything specific I can do to troubleshoot this? Thank you.
I run a series of netdata stress tests on a raspberry pi 2 (non overclocked).
Netdata was able to sustain 300 chart updates per second. It peaked at 341:
It generated, on the average 11Mbps of compressed JSON data (peaked at 13Mbps):
The pi2 CPU temperature raised to 56 degrees celcius:
Data collection was working at the same time.
My web browser was able to receive chart updates without any visible delay.
The test script used is the stress.sh
script found in the test
directory of netdata. I run up to 8 concurrent stress.sh sessions. Netdata maxed the 4 cores of raspberry pi 2, at the 4th concurrent stress session. I added 4 more to check what will happen (performance did not degrade).
Keep in mind this script tests the speed of chart generation. Not the speed of new connections.
Would be great to have a PPA for an easier install+upgrade workflow.
I have developed a new API for netdata. The new one supports multiple output formats:
I'll build a swagger document to describe it.
I have developed javascript code to allow building dashboards using multiple chart engines:
Dashboards can now have charts from multiple netdata servers. This means that if you have installed netdata on many machines in a datacenter, you can build dashboards with charts from multiple servers (e.g. compare the disk I/O of one, with cpu utilization of another, with requests/s of a third).
You can see an example dashboard here: http://195.97.5.206:19999/dashboard.html
As you will see there, dygraph
is by far the fastest (the page is benchmarking javascript performance of all chart libraries used).
I have not updated the old UI to use the new dashboard logic yet. This needs some more work. I will also use dygraph
by default.
@alonbl I have added a few files in the web/ directory. I have modified Makefile.am
but I am not sure I did it right (I added a few directories - shall we add Makefile.am to each?).
@philwhineray, delay a bit the release of netdata. I need a few more days to update its UI to use the new chart libraries.
Time shows in 24H under charts, but in 12H above legends
The Apps section of netdata doesn't give correct output when run with docker. Only "netdata" process is graphed. The process is run with -ch /host, data is mapped to container:
root@071d0f31f366:/host/proc# awk 'FNR==1{print ""}1' */cmdline | grep ^/
/sbin/init
/usr/sbin/dovecot
/lib/systemd/systemd-journald
/lib/systemd/systemd-udevd
/usr/lib/postfix/master
/bin/sh
/usr/sbin/mysqld
/usr/sbin/sshd
/usr/bin/redis-server 127.0.0.1:6379
/bin/bash
/usr/sbin/cron
/bin/bash
/usr/sbin/rsyslogd
/bin/bash
/usr/local/usr/sbin/netdata
/usr/local/usr/libexec/netdata/plugins.d/apps.plugin
/bin/bash
/sbin/rpcbind
/sbin/rpc.statd
/usr/sbin/rpc.idmapd
/usr/sbin/atd
/lib/systemd/systemd-logind
/usr/bin/dbus-daemon
/usr/sbin/acpid
/sbin/agetty
/root/.dropbox-dist/dropbox-lnx.x86_64-3.12.5/dropbox
It seems the basic problem is that apps.plugin doesn't support -ch prefix yet?
Opening apps_plugin.c confirms this:
// 1. support -ch option to set global /proc and /sys prefix
Javascript NET-SNMP library doesn't support Counter64 data type directly and returns byte array.
I don't use javascript, but I tried to fix it manually. Please revise and test attached patch file 0001-Fixed-SNMP-type-Counter64.patch.txt and consider merging into master :o)
Hi,
is there someone with cross-compiling skills who can make a mips64 package for debian squeeze to run this on a router? (like Ubiquiti Edge Router)
Thanks for the help
Hello,
Do you have working examples for a netdata install with dashboards from other machines?
I am considering using netdata to show dasboards on TV for multiple machines..
I have started netdata, copied the default config to /etc/netdata, but I get this error in the browser:
Access to file '' is not permitted.
Here is the log:
https://gist.github.com/153990a3fae7b3010c62
Please help me fixing this.
Can you verify if this works on a large CoreOS cluster?
Thanks,
@alonbl I am trying to run it through several linux distros.
This is what happens on current ubuntu LTS:
$ ./configure --prefix=/opt/netdata
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
./configure: line 3902: PKG_PROG_PKG_CONFIG: command not found
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking if compiler needs -Werror to reject unknown flags... no
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... yes
checking for uint8_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for inline... inline
checking for sin in -lm... yes
./configure: line 4992: syntax error near unexpected token `newline'
./configure: line 4992: ` PKG_CHECK_MODULES('
I'd like to have combined stats of IPv4 (the way it's now) and IPv6 (I'm aware there don't seem to be any IPv6 stats at the moment).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.