1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-30 00:00:16 +01:00
libwebsockets/lib
Andy Green d291c02a23 ss: sspc: add conmon performance telemetry
This provides a way to get ahold of LWS_WITH_CONMON telemetry from Secure
Streams, it works the same with direct onward connections or via the proxy.

You can mark streamtypes with a "perf": true policy attribute... this
causes the onward connections on those streamtypes to collect information
about the connection performance, and the unsorted DNS results.

Streams with that policy attribute receive extra data in their rx callback,
with the LWSSS_FLAG_PERF_JSON flag set on it, containing JSON describing the
performance of the onward connection taken from CONMON data, in a JSON
representation.  Streams without the "perf" attribute set never receive
this extra rx.

The received JSON is based on the CONMON struct info and looks like

{"peer":"46.105.127.147","dns_us":596,"sockconn_us":31382,"tls_us":28180,"txn_resp_us:23015,"dns":["2001:41d0:2:ee93::1","46.105.127.147"]}

A new minimal example minimal-secure-streams-perf is added that collects
this data on an HTTP GET from warmcat.com, and is built with a -client
version as well if LWS_WITH_SECURE_STREAMS_PROXY_API is set, that operates
via the ss proxy and produces the same result at the client.
2021-04-05 10:55:04 +01:00
..
abstract cmakelist: Augean Stables refactor 2020-05-27 08:40:12 +01:00
core ss: sspc: add conmon performance telemetry 2021-04-05 10:55:04 +01:00
core-net ss: sspc: add conmon performance telemetry 2021-04-05 10:55:04 +01:00
drivers lws_netdev: fix rssi averaging 2020-07-21 08:16:01 +01:00
event-libs uloop 2021-03-17 12:23:34 +00:00
jose jwt: sign via info 2021-03-25 08:40:52 +00:00
misc Fault injection 2021-04-05 10:55:04 +01:00
plat Fault injection 2021-04-05 10:55:04 +01:00
roles Fault injection 2021-04-05 10:55:04 +01:00
secure-streams ss: sspc: add conmon performance telemetry 2021-04-05 10:55:04 +01:00
system Fault injection 2021-04-05 10:55:04 +01:00
tls tls sessions: openssl: ttl based internal expiry 2021-04-05 10:54:55 +01:00
CMakeLists.txt cmake: check if _GNU_SOURCE is already defined 2021-03-25 10:08:41 +00:00
README.md cleaning 2020-01-05 22:17:58 +00:00

Library sources layout

Code that goes in the libwebsockets library itself lives down ./lib

Path Sources
lib/core Core lws code related to generic fd and wsi servicing and management
lib/core-net Core lws code that applies only if networking enabled
lib/event-libs Code containing optional event-lib specific adaptations
lib/jose JOSE / JWS / JWK / JWE implementations
lib/misc Code for various mostly optional miscellaneous features
lib/plat Platform-specific adaptation code
lib/roles Code for specific optional wsi roles, eg, http/1, h2, ws, raw, etc
lib/system Code for system-level features, eg, dhcpclient
lib/tls Code supporting the various TLS libraries