Commit Graph

69 Commits

Author SHA1 Message Date
Grant Limberg
8e6e4ede6d
Add prometheus metrics for Central controllers (#1969)
* add header-only prometheus lib to ext

* rename folder

* Undo rename directory

* prometheus simpleapi included on mac & linux

* wip

* wire up some controller stats

* Get windows building with prometheus

* bsd build flags for prometheus

* Fix multiple network join from environment entrypoint.sh.release (#1961)

* _bond_m guards _bond, not _paths_m (#1965)

* Fix: warning: mutex '_aqm_m' is not held on every path through here [-Wthread-safety-analysis] (#1964)

* Serve prom metrics from /metrics endpoint

* Add prom metrics for Central controller specific things

* reorganize metric initialization

* testing out a labled gauge on Networks

* increment error counter on throw

* Consolidate metrics definitions

Put all metric definitions into node/Metrics.hpp.  Accessed as needed
from there.

* Revert "testing out a labled gauge on Networks"

This reverts commit 499ed6d95e.

* still blows up but adding to the record for completeness right now

* Fix runtime issues with metrics

* Add metrics files to visual studio project

* Missed an "extern"

* add copyright headers to new files

* Add metrics for sent/received bytes (total)

* put /metrics endpoint behind auth

* sendto returns int on Win32

---------

Co-authored-by: Leonardo Amaral <leleobhz@users.noreply.github.com>
Co-authored-by: Brenton Bostick <bostick@gmail.com>
2023-04-21 12:12:43 -07:00
Joseph Henry
bc521504ca
Improved multipath link monitoring 2022-09-20 14:27:34 -07:00
Joseph Henry
6c85f8c7a7
Safely handle disappearing bonded interfaces (See issue #1587) 2022-05-06 14:59:34 -07:00
Joseph Henry
c5008031b9
Increase ifname size to accomodate Windows (issue #1560) 2022-02-11 10:08:56 -08:00
staphen
1c956494a4
Use lowercase when including Windows headers 2021-12-29 16:29:08 -05:00
Joseph Henry
e1af003e4f
Consolidation of multipath logic. Better system separation 2021-09-01 21:37:49 -07:00
Adam Ierymenko
2fcc344299
Some buffer tuning. 2020-11-17 15:34:42 -05:00
Adam Ierymenko
06730c7d1d BSL date bump 2020-08-20 12:51:39 -07:00
Joseph Henry
a50e8e9878 Add Bonds, Slaves, and Flows 2020-05-12 01:35:48 -07:00
Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1 2019-08-23 09:23:39 -07:00
Joseph Henry
0e597191b8 Updated licenses for 2019 2019-01-14 10:25:53 -08:00
Joseph Henry
46a7a2be2e Added VERB_ACK and VERB_QOS_MEASUREMENT, refined notion of path quality 2018-05-30 17:45:29 -07:00
Joseph Henry
1debe2292d Cleanup. Misc type conversion and signedness fixes 2018-05-02 11:22:07 -07:00
Joseph Henry
6a2ba4baca Introduced basic multipath support 2018-05-01 16:32:15 -07:00
Adam Ierymenko
fe1fa20c6c Fix build on Intel C/C++ Compiler for Linux. 2018-02-01 12:46:35 -08:00
Adam Ierymenko
f3dfd63634 Clean up some old stuff. 2018-01-26 20:00:37 -05:00
Adam Ierymenko
65c07afe05 Copyright updates for 2018. 2018-01-08 14:33:28 -08:00
Adam Ierymenko
cb8e7b4d5e Make UDP read loop eventually move on. 2017-12-15 10:15:13 -08:00
Adam Ierymenko
1b68d6dbdc License header update. 2017-04-27 20:47:25 -07:00
Adam Ierymenko
37afa876a7 Linux bug fixes, small controller fix. 2016-06-17 00:21:58 +00:00
Adam Ierymenko
536feb632c Support yet another old version of http-parser for CentOS/EPEL. 2016-06-08 15:09:09 -07:00
Adam Ierymenko
0ca764968a Remove warnings, more Debian stuff, remove obsolete ui/ stuff. 2016-06-08 11:21:01 -07:00
Adam Ierymenko
32cd2a02c9 OneService now binds all ports to specific local interfaces instead of wildcard and rebinds on changes. (default route) 2016-04-05 15:44:08 -07:00
Joseph Henry
bcaf42e075 Transfer speed increate + stability fixes 2016-01-20 13:38:14 -08:00
Joseph Henry
1783867f96 Print path for user. Removed unused stub Phy methods 2016-01-17 15:13:32 -08:00
Joseph Henry
f52a82d9f2 Updated RX buffer code 2016-01-14 13:23:01 -08:00
Adam Ierymenko
7991a7c50a Merge branch 'dev' into edge 2016-01-12 14:05:40 -08:00
Adam Ierymenko
4e4fd51117 boring doc stuff 2016-01-12 14:04:55 -08:00
Joseph Henry
3e65ecb93d Stateless RPC rework 2016-01-11 10:12:59 -08:00
Adam Ierymenko
436c1fac1d Selectively move over changes from "edge" to "dev" excluding netcon. 2015-12-21 16:15:39 -08:00
Adam Ierymenko
e506fda3e4 Only set SO_NO_CHECK on IPv4 UDP sockets for now due to broken V6 stacks that drop zero checksum UDP packets. 2015-12-09 15:02:42 -08:00
Adam Ierymenko
a18336fa18 MERGE current "dev" into "netcon" -- should not affect netcon itself but will retest -- brings ZeroTier core up to 1.1.0 2015-11-23 10:46:52 -08:00
Adam Ierymenko
2cc50bdb10 Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT 2015-11-09 15:44:13 -08:00
Joseph Henry
bb912cff30 More appropriate phyOnUnixClose handling 2015-11-02 12:50:32 -08:00
Joseph Henry
6338a4933b Fixed another closure bug. Updated debug levels 2015-11-02 12:30:18 -08:00
Joseph Henry
96eb0ce492 Added state dump, fixed numerous RPC related bugs 2015-10-29 17:57:59 -07:00
Adam Ierymenko
40e0a34a5c Add set buffer sizes code to Phy<> 2015-10-27 13:04:08 -07:00
Adam Ierymenko
7295fcfa86 Merge Phy<> from netcon. 2015-10-27 12:50:23 -07:00
Adam Ierymenko
7711eba297 More cluster wiring... 2015-10-22 16:02:01 -07:00
Joseph Henry
557c0c29b0 minor changes 2015-09-23 19:45:44 -04:00
Adam Ierymenko
ff7ac0487b . 2015-09-22 15:16:38 -07:00
Adam Ierymenko
6ce64c2557 Phy<> loses socketpair, gains raw FD monitoring. 2015-09-22 15:11:32 -07:00
Joseph Henry
3ed5edb295 fixed fd-transfer logic bug, needs new write-queue logic 2015-09-22 17:43:20 -04:00
Joseph Henry
20beafedc5 refactor almost complete 2015-09-10 20:02:13 -04:00
Adam Ierymenko
8d82ac5cc8 Merge branch 'adamierymenko-dev' into netcon 2015-09-10 15:56:15 -07:00
Adam Ierymenko
cd3d77987c . 2015-09-10 15:52:24 -07:00
Joseph Henry
b11d429bc0 refactor in progress 2015-09-10 18:48:45 -04:00
Adam Ierymenko
637da383f5 Remove unnecessary accessors. 2015-09-10 13:22:44 -07:00
Adam Ierymenko
389ea272a0 Merge adamierymenko-dev 2015-09-10 13:20:00 -07:00
Adam Ierymenko
9a723be263 Add socketpair support to Phy. 2015-09-10 13:18:57 -07:00