1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-30 00:00:16 +01:00
libwebsockets/include/libwebsockets
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 abstract: existing connection compare 2019-10-10 16:34:37 +01:00
lws-adopt.h Fault injection 2021-04-05 10:55:04 +01:00
lws-async-dns.h client: rfc6724 dns results sorting 2020-11-28 10:58:07 +00:00
lws-bb-i2c.h drivers: initial generic gpio and i2c plus bitbang 2020-06-10 19:17:08 +01:00
lws-bb-spi.h esp32-wrover-kit 2020-06-30 19:35:41 +01:00
lws-button.h lws_button: classification 2020-06-27 07:57:22 +01:00
lws-callbacks.h listen: network filter: provide a struct with client info to the FILTER cb 2020-08-31 16:51:37 +01:00
lws-cgi.h license: switch LGPLv2.1+SLE parts to MIT 2019-08-14 10:44:38 +01:00
lws-client.h Fault injection 2021-04-05 10:55:04 +01:00
lws-conmon.h ss: sspc: add conmon performance telemetry 2021-04-05 10:55:04 +01:00
lws-context-vhost.h Fault injection 2021-04-05 10:55:04 +01:00
lws-dbus.h license: switch LGPLv2.1+SLE parts to MIT 2019-08-14 10:44:38 +01:00
lws-diskcache.h type comparisons: fixes 2021-01-05 10:56:38 +00:00
lws-display.h esp32-wrover-kit 2020-06-30 19:35:41 +01:00
lws-dll2.h dll2: explicitly confim detached dll2 has no linkage 2021-01-04 05:40:12 +00:00
lws-dsh.h cleaning 2020-01-05 22:17:58 +00:00
lws-eventlib-exports.h evlib: export LWS_MAX_SMP locking for evlib plugin case with SMP 2020-10-01 10:41:43 +01:00
lws-fault-injection.h Fault injection 2021-04-05 10:55:04 +01:00
lws-freertos.h remove: old esp32 helper pieces 2020-07-15 16:18:00 +01:00
lws-fts.h license: switch LGPLv2.1+SLE parts to MIT 2019-08-14 10:44:38 +01:00
lws-genaes.h Added missing PKCS#7 padding/unpadding from AES-CBC in JWE 2020-02-21 17:32:41 +00:00
lws-gencrypto.h v4.1.0 2020-09-04 13:42:57 +01:00
lws-genec.h update some wording 2020-09-30 06:42:13 +01:00
lws-genhash.h openssl3: migrate genhmac to EVP 2020-06-16 19:45:35 +01:00
lws-genrsa.h doxygen: cleanup and add recent includes 2019-09-22 09:35:07 -07:00
lws-gpio.h drivers: initial generic gpio and i2c plus bitbang 2020-06-10 19:17:08 +01:00
lws-http.h http: x-amn-dss-signature header 2021-02-17 11:39:15 +00:00
lws-i2c.h lws_button and lws_led 2020-06-18 16:57:44 +01:00
lws-ili9341-spi.h esp32-wrover-kit 2020-06-30 19:35:41 +01:00
lws-jose.h jose: copy typ into jose object without testing for JWT 2020-03-04 11:00:04 +00:00
lws-jwe.h license: switch LGPLv2.1+SLE parts to MIT 2019-08-14 10:44:38 +01:00
lws-jwk.h jwk: add export option to suppress final CRLF 2019-11-04 13:49:13 +00:00
lws-jws.h jwt: sign via info 2021-03-25 08:40:52 +00:00
lws-led.h esp32-wrover-kit 2020-06-30 19:35:41 +01:00
lws-lejp.h lws_metrics 2021-03-08 21:47:28 +00:00
lws-logs.h logs: prioritize WITH_NO_LOGS even in release 2021-03-15 12:56:15 +00:00
lws-lwsac.h type comparisons: fixes 2021-01-05 10:56:38 +00:00
lws-metrics.h lws_metrics 2021-03-08 21:47:28 +00:00
lws-misc.h Fault injection 2021-04-05 10:55:04 +01:00
lws-mqtt.h mqtt: topic validation for different mqtt servers 2021-03-30 07:38:37 +01:00
lws-netdev.h update some wording 2020-09-30 06:42:13 +01:00
lws-network-helper.h route: on change also check source address still extant 2021-02-17 11:39:12 +00:00
lws-optee.h license: switch LGPLv2.1+SLE parts to MIT 2019-08-14 10:44:38 +01:00
lws-protocols-plugins.h lws_metrics 2021-03-08 21:47:28 +00:00
lws-purify.h type comparisons: fixes 2021-01-05 10:56:38 +00:00
lws-pwm.h esp32-wrover-kit 2020-06-30 19:35:41 +01:00
lws-retry.h lws_retry: udp support 2019-10-10 16:34:37 +01:00
lws-ring.h cleaning: windows 2020-03-04 12:17:49 +00:00
lws-secure-streams-client.h Fault injection 2021-04-05 10:55:04 +01:00
lws-secure-streams-policy.h ss: sspc: add conmon performance telemetry 2021-04-05 10:55:04 +01:00
lws-secure-streams.h ss: sspc: add conmon performance telemetry 2021-04-05 10:55:04 +01:00
lws-sequencer.h sul: multiple timer domains 2020-06-02 08:37:10 +01:00
lws-service.h context: refactor destroy flow 2020-11-28 10:58:38 +00:00
lws-settings.h lws_netdev: use lws_settings 2020-07-07 15:23:19 +01:00
lws-sha1-base64.h base64: stateful decode 2019-09-06 15:30:51 +01:00
lws-smd.h lws_metrics 2021-03-08 21:47:28 +00:00
lws-spa.h doxygen: cleanup and add recent includes 2019-09-22 09:35:07 -07:00
lws-spi.h esp32-wrover-kit 2020-06-30 19:35:41 +01:00
lws-ssd1306-i2c.h update some wording 2020-09-30 06:42:13 +01:00
lws-state.h lws_smd: system message distribution 2020-06-27 07:57:22 +01:00
lws-struct.h api-test: lws_struct-json: add worked example 2020-05-27 08:40:12 +01:00
lws-system.h lws_metrics 2021-03-08 21:47:28 +00:00
lws-test-sequencer.h license: switch LGPLv2.1+SLE parts to MIT 2019-08-14 10:44:38 +01:00
lws-threadpool.h ctest: fixes-and-changes 2020-04-19 08:43:01 +01:00
lws-timeout-timer.h lws_wsi_close: fix wsi name 2021-01-04 05:40:12 +00:00
lws-tls-sessions.h tls-sessions: serialization 2021-04-04 05:45:53 +01:00
lws-tokenize.h tokenize: add option for equals as non-delimiter 2021-03-10 15:05:23 +00:00
lws-vfs.h linkit: support build using public sdk 2020-01-17 07:45:34 +00:00
lws-write.h license: switch LGPLv2.1+SLE parts to MIT 2019-08-14 10:44:38 +01:00
lws-writeable.h type comparisons: fixes 2021-01-05 10:56:38 +00:00
lws-ws-close.h doxygen: cleanup and add recent includes 2019-09-22 09:35:07 -07:00
lws-ws-ext.h license: switch LGPLv2.1+SLE parts to MIT 2019-08-14 10:44:38 +01:00
lws-ws-state.h license: switch LGPLv2.1+SLE parts to MIT 2019-08-14 10:44:38 +01:00
lws-x509.h x509: support DER recovery 2021-03-13 08:06:17 +00:00