libwebsockets
Lightweight C library for HTML5 websockets
Loading...
Searching...
No Matches
lws-latency.h
Go to the documentation of this file.
1
/*
2
* libwebsockets - small server side websockets and web server implementation
3
*
4
* Copyright (C) 2010 - 2026 Andy Green <andy@warmcat.com>
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to
8
* deal in the Software without restriction, including without limitation the
9
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10
* sell copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in
14
* all copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
22
* IN THE SOFTWARE.
23
*/
24
25
#if !defined(__LWS_LATENCY_H__)
26
#define __LWS_LATENCY_H__
27
28
#if defined(LWS_WITH_LATENCY)
29
30
#define LWS_LATENCY_BUCKET_US (100000)
/* 100ms buckets */
31
#define LWS_LATENCY_RING_SIZE (200)
/* 20 seconds total history */
32
33
typedef
struct
lws_latency_bucket {
34
uint64_t bucket_start_us;
35
uint32_t
lat_us;
36
uint32_t
worst_lat_us;
37
uint32_t
events;
38
char
req_info[64];
39
char
annotation[64];
40
char
worst_protocol[32];
41
char
worst_time[32];
42
} lws_latency_bucket_t;
43
44
LWS_VISIBLE
LWS_EXTERN
int
45
lws_latency_get_json(
struct
lws_context *context,
int
tsi, uint64_t since_us,
46
char
*buf,
size_t
max_len);
47
48
struct
lws_context_per_thread;
49
50
LWS_VISIBLE
LWS_EXTERN
void
51
lws_latency_cb_start(
struct
lws_context_per_thread *pt);
52
53
LWS_VISIBLE
LWS_EXTERN
void
54
lws_latency_cb_end(
struct
lws_context_per_thread *pt,
const
char
*pn);
55
56
#endif
/* LWS_WITH_LATENCY */
57
#endif
uint32_t
unsigned int uint32_t
Definition
libwebsockets.h:683
LWS_EXTERN
#define LWS_EXTERN
Definition
libwebsockets.h:296
LWS_VISIBLE
#define LWS_VISIBLE
Definition
libwebsockets.h:291
include
libwebsockets
lws-latency.h
Generated on Sat Mar 14 2026 20:29:32 for libwebsockets by
1.13.2