varnish-cache/include/tbl/vsl_tags.h
1
/*-
2
 * Copyright (c) 2006 Verdens Gang AS
3
 * Copyright (c) 2006-2015 Varnish Software AS
4
 * All rights reserved.
5
 *
6
 * Author: Poul-Henning Kamp <phk@phk.freebsd.dk>
7
 *
8
 * Redistribution and use in source and binary forms, with or without
9
 * modification, are permitted provided that the following conditions
10
 * are met:
11
 * 1. Redistributions of source code must retain the above copyright
12
 *    notice, this list of conditions and the following disclaimer.
13
 * 2. Redistributions in binary form must reproduce the above copyright
14
 *    notice, this list of conditions and the following disclaimer in the
15
 *    documentation and/or other materials provided with the distribution.
16
 *
17
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
 * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
21
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
 * SUCH DAMAGE.
28
 *
29
 * Define the tags in the shared memory in a reusable format.
30
 * Whoever includes this get to define what the SLTM macro does.
31
 *
32
 * REMEMBER to update the documentation (especially the varnishlog(1) man
33
 * page) whenever this list changes.
34
 *
35
 * XXX: Please add new entries a the end to not break saved log-segments.
36
 * XXX: we can resort them when we have a major release.
37
 *
38
 * Arguments:
39
 *      Tag-Name
40
 *      Flags
41
 *      Short Description (1 line, max ? chars)
42
 *      Long Description (in RST "definition list" format)
43
 */
44
45
/*lint -save -e525 -e539 */
46
47
#define NODEF_NOTICE \
48
    "NB: This log record is masked by default.\n\n"
49
50 4
SLTM(Debug, SLT_F_BINARY, "Debug messages",
51
        "Debug messages can normally be ignored, but are sometimes"
52
        " helpful during trouble-shooting.  Most debug messages must"
53
        " be explicitly enabled with parameters.\n\n"
54
)
55
56 4
SLTM(Error, 0, "Error messages",
57
        "Error messages are stuff you probably want to know.\n\n"
58
)
59
60 4
SLTM(CLI, 0, "CLI communication",
61
        "CLI communication between varnishd master and child process.\n\n"
62
)
63
64
/*---------------------------------------------------------------------*/
65
66 4
SLTM(SessOpen, 0, "Client connection opened",
67
        "The first record for a client connection, with the socket-endpoints"
68
        " of the connection.\n\n"
69
        "The format is::\n\n"
70
        "\t%s %d %s %s %s %d\n"
71
        "\t|  |  |  |  |  |\n"
72
        "\t|  |  |  |  |  +- File descriptor number\n"
73
        "\t|  |  |  |  +---- Local TCP port\n"
74
        "\t|  |  |  +------- Local IPv4/6 address\n"
75
        "\t|  |  +---------- Socket name (from -a argument)\n"
76
        "\t|  +------------- Remote TCP port\n"
77
        "\t+---------------- Remote IPv4/6 address\n"
78
        "\n"
79
)
80
81 4
SLTM(SessClose, 0, "Client connection closed",
82
        "SessClose is the last record for any client connection.\n\n"
83
        "The format is::\n\n"
84
        "\t%s %f\n"
85
        "\t|  |\n"
86
        "\t|  +- How long the session was open\n"
87
        "\t+---- Why the connection closed\n"
88
        "\n"
89
)
90
91
/*---------------------------------------------------------------------*/
92
93 4
SLTM(BackendOpen, 0, "Backend connection opened",
94
        "Logged when a new backend connection is opened.\n\n"
95
        "The format is::\n\n"
96
        "\t%d %s %s %s %s %s\n"
97
        "\t|  |  |  |  |  |\n"
98
        "\t|  |  |  |  |  +- Local port\n"
99
        "\t|  |  |  |  +---- Local address\n"
100
        "\t|  |  |  +------- Remote port\n"
101
        "\t|  |  +---------- Remote address\n"
102
        "\t|  +------------- Backend display name\n"
103
        "\t+---------------- Connection file descriptor\n"
104
        "\n"
105
)
106
107 4
SLTM(BackendReuse, 0, "Backend connection put up for reuse",
108
        "Logged when a backend connection is put up for reuse by a later"
109
        " connection.\n\n"
110
        "The format is::\n\n"
111
        "\t%d %s\n"
112
        "\t|  |\n"
113
        "\t|  +- Backend display name\n"
114
        "\t+---- Connection file descriptor\n"
115
        "\n"
116
)
117
118 4
SLTM(BackendClose, 0, "Backend connection closed",
119
        "Logged when a backend connection is closed.\n\n"
120
        "The format is::\n\n"
121
        "\t%d %s [ %s ]\n"
122
        "\t|  |    |\n"
123
        "\t|  |    +- Optional reason\n"
124
        "\t|  +------ Backend display name\n"
125
        "\t+--------- Connection file descriptor\n"
126
        "\n"
127
)
128
129 4
SLTM(HttpGarbage, SLT_F_BINARY, "Unparseable HTTP request",
130
        "Logs the content of unparseable HTTP requests.\n\n"
131
)
132
133 4
SLTM(Proxy, 0, "PROXY protocol information",
134
        "PROXY protocol information.\n\n"
135
        "The format is::\n\n"
136
        "\t%d %s %d %s %d\n"
137
        "\t|  |  |  |  |\n"
138
        "\t|  |  |  |  +- server port\n"
139
        "\t|  |  |  +---- server ip\n"
140
        "\t|  |  +------- client port\n"
141
        "\t|  +---------- client ip\n"
142
        "\t+------------- PROXY protocol version\n"
143
        "\n"
144
)
145
146 4
SLTM(ProxyGarbage, 0, "Unparseable PROXY request",
147
        "A PROXY protocol header was unparseable.\n\n"
148
)
149
150 4
SLTM(Backend, 0, "Backend selected",
151
        "Logged when a connection is selected for handling a backend"
152
        " request.\n\n"
153
        "The format is::\n\n"
154
        "\t%d %s %s\n"
155
        "\t|  |  |\n"
156
        "\t|  |  +- Backend display name\n"
157
        "\t|  +---- VCL name\n"
158
        "\t+------- Connection file descriptor\n"
159
        "\n"
160
)
161
162 4
SLTM(Length, 0, "Size of object body",
163
        "Logs the size of a fetch object body.\n\n"
164
)
165
166 4
SLTM(FetchError, 0, "Error while fetching object",
167
        "Logs the error message of a failed fetch operation.\n\n"
168
)
169
170
#define SLTH(tag, ind, req, resp, sdesc, ldesc) \
171
        SLTM(Req##tag, (req ? 0 : SLT_F_UNUSED), "Client request " sdesc, ldesc)
172
#include "tbl/vsl_tags_http.h"
173
#undef SLTH
174
175
#define SLTH(tag, ind, req, resp, sdesc, ldesc) \
176
        SLTM(Resp##tag, (resp ? 0 : SLT_F_UNUSED), "Client response " sdesc, \
177
            ldesc)
178
#include "tbl/vsl_tags_http.h"
179
#undef SLTH
180
181
#define SLTH(tag, ind, req, resp, sdesc, ldesc) \
182
        SLTM(Bereq##tag, (req ? 0 : SLT_F_UNUSED), "Backend request " sdesc, \
183
            ldesc)
184
#include "tbl/vsl_tags_http.h"
185
#undef SLTH
186
187
#define SLTH(tag, ind, req, resp, sdesc, ldesc) \
188
        SLTM(Beresp##tag, (resp ? 0 : SLT_F_UNUSED), "Backend response " \
189
            sdesc, ldesc)
190
#include "tbl/vsl_tags_http.h"
191
#undef SLTH
192
193
#define SLTH(tag, ind, req, resp, sdesc, ldesc) \
194
        SLTM(Obj##tag, (resp ? 0 : SLT_F_UNUSED), "Object  " sdesc, ldesc)
195
#include "tbl/vsl_tags_http.h"
196
#undef SLTH
197
198 4
SLTM(BogoHeader, 0, "Bogus HTTP received",
199
        "Contains the first 20 characters of received HTTP headers we could"
200
        " not make sense of.  Applies to both req.http and beresp.http.\n\n"
201
)
202
203 4
SLTM(LostHeader, 0, "Failed attempt to set HTTP header",
204
        "Logs the header name of a failed HTTP header operation due to"
205
        " resource exhaustion or configured limits.\n\n"
206
)
207
208 4
SLTM(TTL, 0, "TTL set on object",
209
        "A TTL record is emitted whenever the ttl, grace or keep"
210
        " values for an object is set.\n\n"
211
        "The format is::\n\n"
212
        "\t%s %d %d %d %d [ %d %d %u %u ]\n"
213
        "\t|  |  |  |  |    |  |  |  |\n"
214
        "\t|  |  |  |  |    |  |  |  +- Max-Age from Cache-Control header\n"
215
        "\t|  |  |  |  |    |  |  +---- Expires header\n"
216
        "\t|  |  |  |  |    |  +------- Date header\n"
217
        "\t|  |  |  |  |    +---------- Age (incl Age: header value)\n"
218
        "\t|  |  |  |  +--------------- Reference time for TTL\n"
219
        "\t|  |  |  +------------------ Keep\n"
220
        "\t|  |  +--------------------- Grace\n"
221
        "\t|  +------------------------ TTL\n"
222
        "\t+--------------------------- \"RFC\", \"VCL\" or \"HFP\"\n"
223
        "\n"
224
        "The last four fields are only present in \"RFC\" headers.\n\n"
225
        "Examples::\n\n"
226
        "\tRFC 60 10 -1 1312966109 1312966109 1312966109 0 60\n"
227
        "\tVCL 120 10 0 1312966111\n"
228
        "\tHFP 2 0 0 1312966113\n"
229
        "\n"
230
)
231
232 4
SLTM(Fetch_Body, 0, "Body fetched from backend",
233
        "Ready to fetch body from backend.\n\n"
234
        "The format is::\n\n"
235
        "\t%d (%s) %s\n"
236
        "\t|   |    |\n"
237
        "\t|   |    +---- 'stream' or '-'\n"
238
        "\t|   +--------- Text description of body fetch mode\n"
239
        "\t+------------- Body fetch mode\n"
240
        "\n"
241
)
242
243 4
SLTM(VCL_acl, 0, "VCL ACL check results",
244
        "Logs VCL ACL evaluation results.\n\n"
245
)
246
247 4
SLTM(VCL_call, 0, "VCL method called",
248
        "Logs the VCL method name when a VCL method is called.\n\n"
249
)
250
251 4
SLTM(VCL_trace, 0, "VCL trace data",
252
        "Logs VCL execution trace data.\n\n"
253
        "The format is::\n\n"
254
        "\t%s %u %u.%u.%u\n"
255
        "\t|  |  |  |  |\n"
256
        "\t|  |  |  |  +- VCL program line position\n"
257
        "\t|  |  |  +---- VCL program line number\n"
258
        "\t|  |  +------- VCL program source index\n"
259
        "\t|  +---------- VCL trace point index\n"
260
        "\t+------------- VCL configname\n"
261
        "\n"
262
        NODEF_NOTICE
263
)
264
265 4
SLTM(VCL_return, 0, "VCL method return value",
266
        "Logs the VCL method terminating statement.\n\n"
267
)
268
269 4
SLTM(ReqStart, 0, "Client request start",
270
        "Start of request processing. Logs the client IP address and port"
271
        " number.\n\n"
272
        "The format is::\n\n"
273
        "\t%s %s\n"
274
        "\t|  |\n"
275
        "\t|  +- Client Port number\n"
276
        "\t+---- Client IP4/6 address\n"
277
        "\n"
278
)
279
280 4
SLTM(Hit, 0, "Hit object in cache",
281
        "Object looked up in cache.\n\n"
282
        "The format is::\n\n"
283
        "\t%u %f %f %f\n"
284
        "\t|  |  |  |\n"
285
        "\t|  |  |  +- Keep period\n"
286
        "\t|  |  +---- Grace period\n"
287
        "\t|  +------- Remaining TTL\n"
288
        "\t+---------- VXID of the object\n"
289
        "\n"
290
)
291
292 4
SLTM(HitPass, 0, "Hit for pass object in cache.",
293
        "Hit-for-pass object looked up in cache.\n\n"
294
        "The format is::\n\n"
295
        "\t%u %f\n"
296
        "\t|  |\n"
297
        "\t|  +- Remaining TTL\n"
298
        "\t+---- VXID of the object\n"
299
        "\n"
300
)
301
302 4
SLTM(ExpBan, 0, "Object evicted due to ban",
303
        "Logs the VXID when an object is banned.\n\n"
304
)
305
306 4
SLTM(ExpKill, 0, "Object expiry event",
307
        "Logs events related to object expiry. The events are:\n\n"
308
        "EXP_Rearm\n"
309
        "\tLogged when the expiry time of an object changes.\n\n"
310
        "EXP_Inbox\n"
311
        "\tLogged when the expiry thread picks an object from the inbox for"
312
        " processing.\n\n"
313
        "EXP_Kill\n"
314
        "\tLogged when the expiry thread kills an object from the inbox.\n\n"
315
        "EXP_When\n"
316
        "\tLogged when the expiry thread moves an object on the binheap.\n\n"
317
        "EXP_Expired\n"
318
        "\tLogged when the expiry thread expires an object.\n\n"
319
        "LRU_Cand\n"
320
        "\tLogged when an object is evaluated for LRU force expiry.\n\n"
321
        "LRU\n"
322
        "\tLogged when an object is force expired due to LRU.\n\n"
323
        "LRU_Fail\n"
324
        "\tLogged when no suitable candidate object is found for LRU force"
325
        " expiry.\n\n"
326
        "The format is::\n\n"
327
        "\tEXP_Rearm p=%p E=%f e=%f f=0x%x\n"
328
        "\tEXP_Inbox p=%p e=%f f=0x%x\n"
329
        "\tEXP_Kill p=%p e=%f f=0x%x\n"
330
        "\tEXP_When p=%p e=%f f=0x%x\n"
331
        "\tEXP_Expired x=%u t=%f\n"
332
        "\tLRU_Cand p=%p f=0x%x r=%d\n"
333
        "\tLRU x=%u\n"
334
        "\tLRU_Fail\n"
335
        "\t\n"
336
        "\tLegend:\n"
337
        "\tp=%p         Objcore pointer\n"
338
        "\tt=%f         Remaining TTL (s)\n"
339
        "\te=%f         Expiry time (unix epoch)\n"
340
        "\tE=%f         Old expiry time (unix epoch)\n"
341
        "\tf=0x%x       Objcore flags\n"
342
        "\tr=%d         Objcore refcount\n"
343
        "\tx=%u         Object VXID\n"
344
        "\n"
345
)
346
347 4
SLTM(WorkThread, 0, "Logs thread start/stop events",
348
        "Logs worker thread creation and termination events.\n\n"
349
        "The format is::\n\n"
350
        "\t%p %s\n"
351
        "\t|  |\n"
352
        "\t|  +- [start|end]\n"
353
        "\t+---- Worker struct pointer\n"
354
        "\n"
355
        NODEF_NOTICE
356
)
357
358 4
SLTM(ESI_xmlerror, 0, "ESI parser error or warning message",
359
        "An error or warning was generated during parsing of an ESI object."
360
        " The log record describes the problem encountered."
361
)
362
363 4
SLTM(Hash, SLT_F_BINARY, "Value added to hash",
364
        "This value was added to the object lookup hash.\n\n"
365
        NODEF_NOTICE
366
)
367
368 4
SLTM(Backend_health, 0, "Backend health check",
369
        "The result of a backend health probe.\n\n"
370
        "The format is::\n\n"
371
        "\t%s %s %s %u %u %u %f %f %s\n"
372
        "\t|  |  |  |  |  |  |  |  |\n"
373
        "\t|  |  |  |  |  |  |  |  +- Probe HTTP response\n"
374
        "\t|  |  |  |  |  |  |  +---- Average response time\n"
375
        "\t|  |  |  |  |  |  +------- Response time\n"
376
        "\t|  |  |  |  |  +---------- Probe window size\n"
377
        "\t|  |  |  |  +------------- Probe threshold level\n"
378
        "\t|  |  |  +---------------- Number of good probes in window\n"
379
        "\t|  |  +------------------- Probe window bits\n"
380
        "\t|  +---------------------- Status message\n"
381
        "\t+------------------------- Backend name\n"
382
        "\n"
383
)
384
385 4
SLTM(VCL_Log, 0, "Log statement from VCL",
386
        "User generated log messages insert from VCL through std.log()"
387
)
388
389 4
SLTM(VCL_Error, 0, "VCL execution error message",
390
        "Logs error messages generated during VCL execution.\n\n"
391
)
392
393 4
SLTM(Gzip, 0, "G(un)zip performed on object",
394
        "A Gzip record is emitted for each instance of gzip or gunzip"
395
        " work performed. Worst case, an ESI transaction stored in"
396
        " gzip'ed objects but delivered gunziped, will run into many of"
397
        " these.\n\n"
398
        "The format is::\n\n"
399
        "\t%c %c %c %d %d %d %d %d\n"
400
        "\t|  |  |  |  |  |  |  |\n"
401
        "\t|  |  |  |  |  |  |  +- Bit length of compressed data\n"
402
        "\t|  |  |  |  |  |  +---- Bit location of 'last' bit\n"
403
        "\t|  |  |  |  |  +------- Bit location of first deflate block\n"
404
        "\t|  |  |  |  +---------- Bytes output\n"
405
        "\t|  |  |  +------------- Bytes input\n"
406
        "\t|  |  +---------------- 'E': ESI, '-': Plain object\n"
407
        "\t|  +------------------- 'F': Fetch, 'D': Deliver\n"
408
        "\t+---------------------- 'G': Gzip, 'U': Gunzip, 'u': Gunzip-test\n"
409
        "\n"
410
        "Examples::\n\n"
411
        "\tU F E 182 159 80 80 1392\n"
412
        "\tG F E 159 173 80 1304 1314\n"
413
        "\n"
414
)
415
416 4
SLTM(Link, 0, "Links to a child VXID",
417
        "Links this VXID to any child VXID it initiates.\n\n"
418
        "The format is::\n\n"
419
        "\t%s %d %s\n"
420
        "\t|  |  |\n"
421
        "\t|  |  +- Reason\n"
422
        "\t|  +---- Child vxid\n"
423
        "\t+------- Child type (\"req\" or \"bereq\")\n"
424
        "\n"
425
)
426
427 4
SLTM(Begin, 0, "Marks the start of a VXID",
428
        "The first record of a VXID transaction.\n\n"
429
        "The format is::\n\n"
430
        "\t%s %d %s\n"
431
        "\t|  |  |\n"
432
        "\t|  |  +- Reason\n"
433
        "\t|  +---- Parent vxid\n"
434
        "\t+------- Type (\"sess\", \"req\" or \"bereq\")\n"
435
        "\n"
436
)
437
438 4
SLTM(End, 0, "Marks the end of a VXID",
439
        "The last record of a VXID transaction.\n\n"
440
)
441
442 4
SLTM(VSL, 0, "VSL API warnings and error message",
443
        "Warnings and error messages generated by the VSL API while"
444
        " reading the shared memory log.\n\n"
445
)
446
447 4
SLTM(Storage, 0, "Where object is stored",
448
        "Type and name of the storage backend the object is stored in.\n\n"
449
        "The format is::\n\n"
450
        "\t%s %s\n"
451
        "\t|  |\n"
452
        "\t|  +- Name of storage backend\n"
453
        "\t+---- Type (\"malloc\", \"file\", \"persistent\" etc.)\n"
454
        "\n"
455
)
456
457 4
SLTM(Timestamp, 0, "Timing information",
458
        "Contains timing information for the Varnish worker threads.\n\n"
459
        "Time stamps are issued by Varnish on certain events,"
460
        " and show the absolute time of the event, the time spent since the"
461
        " start of the work unit, and the time spent since the last timestamp"
462
        " was logged. See the TIMESTAMPS section below for information about"
463
        " the individual time stamps.\n\n"
464
        "The format is::\n\n"
465
        "\t%s: %f %f %f\n"
466
        "\t|   |  |  |\n"
467
        "\t|   |  |  +- Time since last timestamp\n"
468
        "\t|   |  +---- Time since start of work unit\n"
469
        "\t|   +------- Absolute time of event\n"
470
        "\t+----------- Event label\n"
471
        "\n"
472
)
473
474 4
SLTM(ReqAcct, 0, "Request handling byte counts",
475
        "Contains byte counts for the request handling.\n"
476
        "ESI sub-request counts are also added to their parent request.\n"
477
        "The body bytes count does not include transmission "
478
        "(ie: chunked encoding) overhead.\n"
479
        "The format is::\n\n"
480
        "\t%d %d %d %d %d %d\n"
481
        "\t|  |  |  |  |  |\n"
482
        "\t|  |  |  |  |  +- Total bytes transmitted\n"
483
        "\t|  |  |  |  +---- Body bytes transmitted\n"
484
        "\t|  |  |  +------- Header bytes transmitted\n"
485
        "\t|  |  +---------- Total bytes received\n"
486
        "\t|  +------------- Body bytes received\n"
487
        "\t+---------------- Header bytes received\n"
488
        "\n"
489
)
490
491 4
SLTM(PipeAcct, 0, "Pipe byte counts",
492
        "Contains byte counters for pipe sessions.\n\n"
493
        "The format is::\n\n"
494
        "\t%d %d %d %d\n"
495
        "\t|  |  |  |\n"
496
        "\t|  |  |  +------- Piped bytes to client\n"
497
        "\t|  |  +---------- Piped bytes from client\n"
498
        "\t|  +------------- Backend request headers\n"
499
        "\t+---------------- Client request headers\n"
500
        "\n"
501
)
502
503 4
SLTM(BereqAcct, 0, "Backend request accounting",
504
        "Contains byte counters from backend request processing.\n\n"
505
        "The format is::\n\n"
506
        "\t%d %d %d %d %d %d\n"
507
        "\t|  |  |  |  |  |\n"
508
        "\t|  |  |  |  |  +- Total bytes received\n"
509
        "\t|  |  |  |  +---- Body bytes received\n"
510
        "\t|  |  |  +------- Header bytes received\n"
511
        "\t|  |  +---------- Total bytes transmitted\n"
512
        "\t|  +------------- Body bytes transmitted\n"
513
        "\t+---------------- Header bytes transmitted\n"
514
        "\n"
515
)
516
517 4
SLTM(VfpAcct, 0, "Fetch filter accounting",
518
        "Contains name of VFP and statistics.\n\n"
519
        "The format is::\n\n"
520
        "\t%s %d %d\n"
521
        "\t|  |  |\n"
522
        "\t|  |  +- Total bytes produced\n"
523
        "\t|  +---- Number of calls made\n"
524
        "\t+------- Name of filter\n"
525
        "\n"
526
        NODEF_NOTICE
527
)
528
529 4
SLTM(Witness, 0, "Lock order witness records",
530
        "Diagnostic recording of locking order.\n"
531
)
532
533 4
SLTM(BackendStart, 0, "Backend request start",
534
        "Start of backend processing. Logs the backend IP address and port"
535
        " number.\n\n"
536
        "The format is::\n\n"
537
        "\t%s %s\n"
538
        "\t|  |\n"
539
        "\t|  +- Backend Port number\n"
540
        "\t+---- Backend IP4/6 address\n"
541
        "\n"
542
)
543
544 4
SLTM(H2RxHdr, 0, "Received HTTP2 frame header",
545
        "Binary data"
546
)
547
548 4
SLTM(H2RxBody, 0, "Received HTTP2 frame body",
549
        "Binary data"
550
)
551
552 4
SLTM(H2TxHdr, 0, "Transmitted HTTP2 frame header",
553
        "Binary data"
554
)
555
556 4
SLTM(H2TxBody, 0, "Transmitted HTTP2 frame body",
557
        "Binary data"
558
)
559
560 4
SLTM(HitMiss, 0, "Hit for miss object in cache.",
561
        "Hit-for-miss object looked up in cache.\n\n"
562
        "The format is::\n\n"
563
        "\t%u %f\n"
564
        "\t|  |\n"
565
        "\t|  +- Remaining TTL\n"
566
        "\t+---- VXID of the object\n"
567
        "\n"
568
)
569
570
#undef NODEF_NOTICE
571
#undef SLTM
572
573
/*lint -restore */