@oxynote/lezer-logql 0.0.0-stage → 0.4.2-oxynote.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/NOTICE +37 -0
- package/README.md +53 -2
- package/index.cjs +696 -0
- package/index.d.ts +181 -0
- package/index.es.js +543 -0
- package/package.json +78 -4
package/index.cjs
ADDED
|
@@ -0,0 +1,696 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var lr = require('@lezer/lr');
|
|
4
|
+
|
|
5
|
+
const AGGREGATION_OPERATORS = [
|
|
6
|
+
{
|
|
7
|
+
label: 'avg',
|
|
8
|
+
insertText: 'avg',
|
|
9
|
+
documentation: 'Calculate the average over dimensions',
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
label: 'bottomk',
|
|
13
|
+
insertText: 'bottomk',
|
|
14
|
+
documentation: 'Smallest k elements by sample value',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
label: 'count',
|
|
18
|
+
insertText: 'count',
|
|
19
|
+
documentation: 'Count number of elements in the vector',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
label: 'max',
|
|
23
|
+
insertText: 'max',
|
|
24
|
+
documentation: 'Select maximum over dimensions',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
label: 'min',
|
|
28
|
+
insertText: 'min',
|
|
29
|
+
documentation: 'Select minimum over dimensions',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
label: 'stddev',
|
|
33
|
+
insertText: 'stddev',
|
|
34
|
+
documentation: 'Calculate population standard deviation over dimensions',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
label: 'stdvar',
|
|
38
|
+
insertText: 'stdvar',
|
|
39
|
+
documentation: 'Calculate population standard variance over dimensions',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
label: 'sum',
|
|
43
|
+
insertText: 'sum',
|
|
44
|
+
documentation: 'Calculate sum over dimensions',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
label: 'topk',
|
|
48
|
+
insertText: 'topk',
|
|
49
|
+
documentation: 'Largest k elements by sample value',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
label: 'approx_topk',
|
|
53
|
+
insertText: 'approx_topk',
|
|
54
|
+
documentation: 'Probabilistic approximation of topk',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
label: 'approx_count_distinct',
|
|
58
|
+
insertText: 'approx_count_distinct',
|
|
59
|
+
documentation: 'Probabilistic count of distinct label values',
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
|
|
63
|
+
const PIPE_PARSERS = [
|
|
64
|
+
{
|
|
65
|
+
label: 'json',
|
|
66
|
+
insertText: 'json',
|
|
67
|
+
documentation: 'Extracting labels from the log line using json parser.',
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
label: 'regexp',
|
|
71
|
+
insertText: 'regexp ""',
|
|
72
|
+
documentation: 'Extracting labels from the log line using regexp parser.',
|
|
73
|
+
move: -1,
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
label: 'logfmt',
|
|
77
|
+
insertText: 'logfmt',
|
|
78
|
+
documentation: 'Extracting labels from the log line using logfmt parser.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
label: 'pattern',
|
|
82
|
+
insertText: 'pattern',
|
|
83
|
+
documentation: 'Extracting labels from the log line using pattern parser. Only available in Loki 2.3+.',
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
label: 'unpack',
|
|
87
|
+
insertText: 'unpack',
|
|
88
|
+
detail: 'unpack identifier',
|
|
89
|
+
documentation:
|
|
90
|
+
'Parses a JSON log line, unpacking all embedded labels in the pack stage. A special property "_entry" will also be used to replace the original log line. Only available in Loki 2.2+.',
|
|
91
|
+
},
|
|
92
|
+
];
|
|
93
|
+
|
|
94
|
+
const PIPE_OPERATORS = [
|
|
95
|
+
{
|
|
96
|
+
label: 'unwrap',
|
|
97
|
+
insertText: 'unwrap',
|
|
98
|
+
detail: 'unwrap identifier',
|
|
99
|
+
documentation: 'Take labels and use the values as sample data for metric aggregations.',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
label: 'label_format',
|
|
103
|
+
insertText: 'label_format',
|
|
104
|
+
documentation: 'Use to rename, modify or add labels. For example, | label_format foo=bar .',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
label: 'line_format',
|
|
108
|
+
insertText: 'line_format',
|
|
109
|
+
documentation: 'Rewrites log line content. For example, | line_format "{{.query}} {{.duration}}" .',
|
|
110
|
+
},
|
|
111
|
+
];
|
|
112
|
+
|
|
113
|
+
const RANGE_VEC_FUNCTIONS = [
|
|
114
|
+
{
|
|
115
|
+
insertText: 'avg_over_time',
|
|
116
|
+
label: 'avg_over_time',
|
|
117
|
+
detail: 'avg_over_time(range-vector)',
|
|
118
|
+
documentation: 'The average of all values in the specified interval.',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
insertText: 'bytes_over_time',
|
|
122
|
+
label: 'bytes_over_time',
|
|
123
|
+
detail: 'bytes_over_time(range-vector)',
|
|
124
|
+
documentation: 'Counts the amount of bytes used by each log stream for a given range',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
insertText: 'bytes_rate',
|
|
128
|
+
label: 'bytes_rate',
|
|
129
|
+
detail: 'bytes_rate(range-vector)',
|
|
130
|
+
documentation: 'Calculates the number of bytes per second for each stream.',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
insertText: 'first_over_time',
|
|
134
|
+
label: 'first_over_time',
|
|
135
|
+
detail: 'first_over_time(range-vector)',
|
|
136
|
+
documentation: 'The first of all values in the specified interval. Only available in Loki 2.3+.',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
insertText: 'last_over_time',
|
|
140
|
+
label: 'last_over_time',
|
|
141
|
+
detail: 'last_over_time(range-vector)',
|
|
142
|
+
documentation: 'The last of all values in the specified interval. Only available in Loki 2.3+.',
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
insertText: 'sum_over_time',
|
|
146
|
+
label: 'sum_over_time',
|
|
147
|
+
detail: 'sum_over_time(range-vector)',
|
|
148
|
+
documentation: 'The sum of all values in the specified interval.',
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
insertText: 'count_over_time',
|
|
152
|
+
label: 'count_over_time',
|
|
153
|
+
detail: 'count_over_time(range-vector)',
|
|
154
|
+
documentation: 'The count of all values in the specified interval.',
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
insertText: 'max_over_time',
|
|
158
|
+
label: 'max_over_time',
|
|
159
|
+
detail: 'max_over_time(range-vector)',
|
|
160
|
+
documentation: 'The maximum of all values in the specified interval.',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
insertText: 'min_over_time',
|
|
164
|
+
label: 'min_over_time',
|
|
165
|
+
detail: 'min_over_time(range-vector)',
|
|
166
|
+
documentation: 'The minimum of all values in the specified interval.',
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
insertText: 'quantile_over_time',
|
|
170
|
+
label: 'quantile_over_time',
|
|
171
|
+
detail: 'quantile_over_time(scalar, range-vector)',
|
|
172
|
+
documentation: 'The φ-quantile (0 ≤ φ ≤ 1) of the values in the specified interval.',
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
insertText: 'rate',
|
|
176
|
+
label: 'rate',
|
|
177
|
+
detail: 'rate(v range-vector)',
|
|
178
|
+
documentation: 'Calculates the number of entries per second.',
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
insertText: 'stddev_over_time',
|
|
182
|
+
label: 'stddev_over_time',
|
|
183
|
+
detail: 'stddev_over_time(range-vector)',
|
|
184
|
+
documentation: 'The population standard deviation of the values in the specified interval.',
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
insertText: 'stdvar_over_time',
|
|
188
|
+
label: 'stdvar_over_time',
|
|
189
|
+
detail: 'stdvar_over_time(range-vector)',
|
|
190
|
+
documentation: 'The population standard variance of the values in the specified interval.',
|
|
191
|
+
},
|
|
192
|
+
];
|
|
193
|
+
|
|
194
|
+
const BUILT_IN_FUNCTIONS = [
|
|
195
|
+
{
|
|
196
|
+
insertText: 'vector',
|
|
197
|
+
label: 'vector',
|
|
198
|
+
detail: 'vector(scalar)',
|
|
199
|
+
documentation: 'Returns the scalar as a vector with no labels.',
|
|
200
|
+
},
|
|
201
|
+
];
|
|
202
|
+
|
|
203
|
+
const FUNCTIONS = [...AGGREGATION_OPERATORS, ...RANGE_VEC_FUNCTIONS, ...BUILT_IN_FUNCTIONS];
|
|
204
|
+
|
|
205
|
+
// Grammar for highlighting LogQL outside of a full code editor (e.g. query previews). Shaped to be
|
|
206
|
+
// usable as a Prism.js `Grammar` without depending on the `prismjs` package for its types.
|
|
207
|
+
const lokiGrammar = {
|
|
208
|
+
comment: {
|
|
209
|
+
pattern: /#.*/,
|
|
210
|
+
},
|
|
211
|
+
'context-aggregation': {
|
|
212
|
+
pattern: /((without|by)\s*)\([^)]*\)/, // by ()
|
|
213
|
+
lookbehind: true,
|
|
214
|
+
inside: {
|
|
215
|
+
'label-key': {
|
|
216
|
+
pattern: /[^(),\s][^,)]*[^),\s]*/,
|
|
217
|
+
alias: 'attr-name',
|
|
218
|
+
},
|
|
219
|
+
punctuation: /[()]/,
|
|
220
|
+
},
|
|
221
|
+
},
|
|
222
|
+
'context-labels': {
|
|
223
|
+
pattern: /\{[^}]*(?=}?)/,
|
|
224
|
+
greedy: true,
|
|
225
|
+
inside: {
|
|
226
|
+
comment: {
|
|
227
|
+
pattern: /#.*/,
|
|
228
|
+
},
|
|
229
|
+
'label-key': {
|
|
230
|
+
pattern: /[a-zA-Z_]\w*(?=\s*(=|!=|=~|!~))/,
|
|
231
|
+
alias: 'attr-name',
|
|
232
|
+
greedy: true,
|
|
233
|
+
},
|
|
234
|
+
'label-value': {
|
|
235
|
+
pattern: /"(?:\\.|[^\\"])*"/,
|
|
236
|
+
greedy: true,
|
|
237
|
+
alias: 'attr-value',
|
|
238
|
+
},
|
|
239
|
+
punctuation: /[{]/,
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
'context-pipe': {
|
|
243
|
+
pattern: /\s\|[^=~]\s?\w*/i,
|
|
244
|
+
inside: {
|
|
245
|
+
'pipe-operator': {
|
|
246
|
+
pattern: /\|/i,
|
|
247
|
+
alias: 'operator',
|
|
248
|
+
},
|
|
249
|
+
'pipe-operations': {
|
|
250
|
+
pattern: new RegExp(`${[...PIPE_PARSERS, ...PIPE_OPERATORS].map((f) => f.label).join('|')}`, 'i'),
|
|
251
|
+
alias: 'keyword',
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
},
|
|
255
|
+
function: new RegExp(`\\b(?:${FUNCTIONS.map((f) => f.label).join('|')})(?=\\s*\\()`, 'i'),
|
|
256
|
+
'context-range': [
|
|
257
|
+
{
|
|
258
|
+
pattern: /\[[^\]]*(?=\])/, // [1m]
|
|
259
|
+
inside: {
|
|
260
|
+
'range-duration': {
|
|
261
|
+
pattern: /\b\d+[smhdwy]\b/i,
|
|
262
|
+
alias: 'number',
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
pattern: /(offset\s+)\w+/, // offset 1m
|
|
268
|
+
lookbehind: true,
|
|
269
|
+
inside: {
|
|
270
|
+
'range-duration': {
|
|
271
|
+
pattern: /\b\d+[smhdwy]\b/i,
|
|
272
|
+
alias: 'number',
|
|
273
|
+
},
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
],
|
|
277
|
+
quote: {
|
|
278
|
+
pattern: /"(?:\\.|[^\\"])*"/,
|
|
279
|
+
alias: 'string',
|
|
280
|
+
greedy: true,
|
|
281
|
+
},
|
|
282
|
+
backticks: {
|
|
283
|
+
pattern: /`(?:\\.|[^\\`])*`/,
|
|
284
|
+
alias: 'string',
|
|
285
|
+
greedy: true,
|
|
286
|
+
},
|
|
287
|
+
number: /\b-?\d+((\.\d*)?([eE][+-]?\d+)?)?\b/,
|
|
288
|
+
operator: /\s?(\|[=~]?|!=?|<(?:=>?|<|>)?|>[>=]?)\s?/i,
|
|
289
|
+
punctuation: /[{}(),.]/,
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
293
|
+
const Json$1 = 1,
|
|
294
|
+
Logfmt$1 = 2,
|
|
295
|
+
Unpack$1 = 3,
|
|
296
|
+
Pattern$1 = 4,
|
|
297
|
+
Regexp$1 = 5,
|
|
298
|
+
Unwrap$1 = 6,
|
|
299
|
+
LabelFormat$1 = 7,
|
|
300
|
+
LineFormat$1 = 8,
|
|
301
|
+
LabelReplace$1 = 9,
|
|
302
|
+
Vector$1 = 10,
|
|
303
|
+
Offset$1 = 11,
|
|
304
|
+
Bool$1 = 12,
|
|
305
|
+
On$1 = 13,
|
|
306
|
+
Ignoring$1 = 14,
|
|
307
|
+
GroupLeft$1 = 15,
|
|
308
|
+
GroupRight$1 = 16,
|
|
309
|
+
Decolorize$1 = 17,
|
|
310
|
+
Drop$1 = 18,
|
|
311
|
+
Keep$1 = 19,
|
|
312
|
+
By$1 = 20,
|
|
313
|
+
Without$1 = 21,
|
|
314
|
+
And$1 = 22,
|
|
315
|
+
Or$1 = 23,
|
|
316
|
+
Unless$1 = 24,
|
|
317
|
+
Sum$1 = 25,
|
|
318
|
+
Avg$1 = 26,
|
|
319
|
+
Count$1 = 27,
|
|
320
|
+
Max$1 = 28,
|
|
321
|
+
Min$1 = 29,
|
|
322
|
+
Stddev$1 = 30,
|
|
323
|
+
Stdvar$1 = 31,
|
|
324
|
+
Bottomk$1 = 32,
|
|
325
|
+
Topk$1 = 33,
|
|
326
|
+
Sort$1 = 34,
|
|
327
|
+
Sort_Desc$1 = 35,
|
|
328
|
+
Approx_Topk$1 = 36;
|
|
329
|
+
|
|
330
|
+
const keywordTokens = {
|
|
331
|
+
json: Json$1,
|
|
332
|
+
logfmt: Logfmt$1,
|
|
333
|
+
unpack: Unpack$1,
|
|
334
|
+
pattern: Pattern$1,
|
|
335
|
+
regexp: Regexp$1,
|
|
336
|
+
label_format: LabelFormat$1,
|
|
337
|
+
line_format: LineFormat$1,
|
|
338
|
+
label_replace: LabelReplace$1,
|
|
339
|
+
vector: Vector$1,
|
|
340
|
+
offset: Offset$1,
|
|
341
|
+
bool: Bool$1,
|
|
342
|
+
on: On$1,
|
|
343
|
+
ignoring: Ignoring$1,
|
|
344
|
+
group_left: GroupLeft$1,
|
|
345
|
+
group_right: GroupRight$1,
|
|
346
|
+
unwrap: Unwrap$1,
|
|
347
|
+
decolorize: Decolorize$1,
|
|
348
|
+
drop: Drop$1,
|
|
349
|
+
keep: Keep$1,
|
|
350
|
+
};
|
|
351
|
+
|
|
352
|
+
const specializeIdentifier = (value) => {
|
|
353
|
+
return keywordTokens[value.toLowerCase()] || -1;
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
const contextualKeywordTokens = {
|
|
357
|
+
by: By$1,
|
|
358
|
+
without: Without$1,
|
|
359
|
+
and: And$1,
|
|
360
|
+
or: Or$1,
|
|
361
|
+
unless: Unless$1,
|
|
362
|
+
sum: Sum$1,
|
|
363
|
+
avg: Avg$1,
|
|
364
|
+
count: Count$1,
|
|
365
|
+
max: Max$1,
|
|
366
|
+
min: Min$1,
|
|
367
|
+
stddev: Stddev$1,
|
|
368
|
+
stdvar: Stdvar$1,
|
|
369
|
+
bottomk: Bottomk$1,
|
|
370
|
+
topk: Topk$1,
|
|
371
|
+
sort: Sort$1,
|
|
372
|
+
sort_desc: Sort_Desc$1,
|
|
373
|
+
approx_topk: Approx_Topk$1,
|
|
374
|
+
};
|
|
375
|
+
|
|
376
|
+
const extendIdentifier = (value) => {
|
|
377
|
+
return contextualKeywordTokens[value.toLowerCase()] || -1;
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
381
|
+
const spec_Identifier = {__proto__:null,ip:309, count_over_time:319, rate:321, rate_counter:323, bytes_over_time:325, bytes_rate:327, avg_over_time:329, sum_over_time:331, min_over_time:333, max_over_time:335, stddev_over_time:337, stdvar_over_time:339, quantile_over_time:341, first_over_time:343, last_over_time:345, absent_over_time:347, bytes:355, duration:357, duration_seconds:359, approx_count_distinct:361};
|
|
382
|
+
const parser = lr.LRParser.deserialize({
|
|
383
|
+
version: 14,
|
|
384
|
+
states: "GfOYQPOOO#lQPO'#DVOOQO'#Fp'#FpOOQO'#EU'#EUO#tQPO'#EUO%^QPO'#DUOYQPO'#DUOOQO'#Eg'#EgO%kQPO'#EfOOQO'#FS'#FSO%pQPO'#FROOQO'#FU'#FUO%{QPO'#FTQ&QQPOOO'RQPO'#FcO'WQPO'#FdOOQO'#Ee'#EeOOQO'#DT'#DTOOQO'#Eh'#EhOOQO'#Ei'#EiOOQO'#Ej'#EjOOQO'#Ek'#EkOOQO'#El'#ElOOQO'#Em'#EmOOQO'#En'#EnOOQO'#Eo'#EoOOQO'#Ep'#EpOOQO'#Eq'#EqOOQO'#Er'#ErOOQO'#Es'#EsOOQO'#Et'#EtOOQO'#Eu'#EuOOQO'#Ev'#EvOOQO'#FV'#FVOOQO'#Fi'#FiO']QPO'#DXOOQO'#DW'#DWO'kQPO,59qOOQO,5:p,5:pOOQO'#De'#DeO'sQPO'#DdO'{QPO'#DcO*QQPO'#DbO+aQPO'#DbOOQO'#Da'#DaO,[QPO,59pO.fQPO,59pO.mQPO,5;PO.tQPO,5;QO/SQPO'#FPOYQPO,5;mO/XQPO,5;mO#lQPO,5;oO/^QPO,5;rO/^QPO,5;rO/^QPO,5;rO/^QPO,5;rO/^QPO,5;rO/^QPO,5;rOYQPO,5;}O#tQPO,5<OO1yQPO,59sO#lQPO,59rOOQO1G/]1G/]OOQO'#Dj'#DjO2OQPO,5:OO3oQPO,5:OOOQO'#Dk'#DkO3tQPO,59}OOQO,59},59}O3|QPO'#DXO4kQPO'#DnO6eQPO'#DqO8[QPO'#DqOOQO'#Dq'#DqOOQO'#Dx'#DxOOQO'#Dv'#DvO,PQPO'#DvO8aQPO,59|O:QQPO'#EYO#lQPO'#EZOOQO'#E^'#E^O#lQPO'#E_O#lQPO'#EbOOQO,59|,59|OOQO,59{,59{OOQO1G/[1G/[OOQO1G0k1G0kO:VQPO'#EwO.zQPO'#EwO:aQPO1G0lO:fQPO1G0lO:kQPO,5;kO;zQPO1G1XO<RQPO1G1XOYQPO1G1XO<YQPO1G1ZO<_QPO'#FYO>vQPO'#FXO?QQPO'#FXOYQPO1G1^OYQPO1G1^OYQPO1G1^OYQPO1G1^OYQPO1G1^OYQPO1G1^O?[QPO1G1iO?cQPO1G1jOOQO1G/_1G/_OOQO1G/^1G/^O3tQPO1G/jO?hQPO1G/jO?mQPO'#DlOA^QPO'#DlOOQO1G/i1G/iOAzQPO,59sOAcQPO,5:eOOQO'#Do'#DoOBUQPO,5:YODOQPO'#DtOOQO'#Ds'#DsOErQPO,5:aOGcQPO,5:^OOQO,5:],5:]OISQPO,5:bO,PQPO,5:bO,PQPO,5:bOOQO,5:t,5:tOIbQPO'#E]OOQO'#E['#E[OIgQPO,5:uOKWQPO'#EaOOQO'#Ea'#EaOOQO'#E`'#E`OL}QPO,5:yONnQPO'#EdOOQO'#Ed'#EdOOQO'#Ec'#EcO!!eQPO,5:|O!$UQPO'#DbO:VQPO,5;cO!$]QPO'#ExO!$hQPO,5;cO!$pQPO,5;cO!$}QPO,5;cO!%[QPO,5;cO!%aQPO7+&WO.zQPO7+&WOOQO'#FQ'#FQO!&qQPO1G1VOOQO1G1V1G1VOYQPO7+&sO!&yQPO7+&sO!(ZQPO7+&sO!(bQPO7+&sO.zQPO7+&uO!(iQQO'#FZOOQO,5;t,5;tO!+TQPO,5;sO!+[QPO,5;sO!,mQPO7+&xO!,tQPO7+&xOOQO7+&x7+&xO!-RQPO7+&xO!-YQPO7+&xO!._QPO7+&xO!.oQPO7+'TOOQO7+'U7+'UOOQO7+%U7+%UO!.tQPO7+%UO3tQPO,5:WO!.yQPO,5:WO!/OQPO1G/}OOQO'#Fo'#FoOOQO1G0P1G0POOQO1G0X1G0XOOQO1G0Z1G0ZOOQO,5:Z,5:ZO!/TQPO1G/{O!0tQPO,5:`O#lQPO,5:_OOQO1G/|1G/|O!0yQPO1G/|O!2jQPO,5:wO#lQPO,5:vO#lQPO,5:zO#lQPO,5:}O!2uQPO,5;fO!$hQPO1G0}O!3WQPO1G0}OOQO'#GR'#GRO!3`QPO,5;dO,PQPO,5;fO!3eQPO1G0}O!$]QPO'#EyO!3oQPO1G0}O!3eQPO1G0}O!3wQPO1G0}O!4UQPO1G0}O!$kQPO1G0}OOQO1G0}1G0}OOQO<<Ir<<IrO!4aQPO<<IrO#lQPO,5;lOOQO7+&q7+&qO!4fQPO<<J_OOQO<<J_<<J_OYQPO<<J_O!4mQPO<<JaOOQO'#F]'#F]O!4rQPO,5;uOOQO'#F['#F[OOQO,5;u,5;uOOQO1G1_1G1_O!4zQPO1G1_O!7^QPO<<JoOOQO<<Hp<<HpOOQO1G/r1G/rO!7cQPO1G/rO!7hQPO7+%iOOQO1G/z1G/zOOQO1G/y1G/yOOQO1G0c1G0cOOQO1G0b1G0bOOQO1G0f1G0fOOQO1G0i1G0iOOQO'#E{'#E{OOQO1G1Q1G1QO!7mQPO1G1QOOQO'#E|'#E|OOQO'#E}'#E}OOQO'#FO'#FOOOQO7+&i7+&iOOQO1G1O1G1OO!7rQPO1G1QO!8WQPO7+&iOOQO,5;e,5;eO!8`QPO7+&iO!$kQPO7+&iO!8jQPO7+&iO!8uQPOAN?^OOQO1G1W1G1WO!:VQPOAN?yO!;gQPOAN?yO!;nQPOAN?{O!=OQQO1G1aOOQO1G1a1G1aOOQO7+&y7+&yO!=ZQPOAN@ZOOQO7+%^7+%^O!=`QPO<<ITO#lQPO7+&lO!=eQPO<<JTO!=mQPO<<JTO!=uQPO'#EzO!=zQPO<<JTOOQOG24xG24xOOQOG25eG25eOOQOG25gG25gOOQO1G1b1G1bOOQO7+&{7+&{O!>SQPOG25uOOQOAN>oAN>oO!>XQPO<<JWOOQOAN?oAN?oO!>^QPOAN?oO!>fQPOLD+aOOQOAN?rAN?rOOQO,5:u,5:uO!>kQPO!$'N{O!>pQPO!)9DgO!>uQPO!.K:ROOQO!4//m!4//mO#lQPO'#EZO!>zQPO'#DbO!?uQPO,59pO!@{QPO'#DUOYQPO1G1^OYQPO1G1^OYQPO1G1^OYQPO1G1^OYQPO1G1^OYQPO1G1^O/^QPO,5;rO/^QPO,5;rO/^QPO,5;rO/^QPO,5;rO/^QPO,5;rO/^QPO,5;rO!BWQPO7+&xO!B_QPO7+&xO!BlQPO7+&xO!CtQPO7+&xO!C{QPO7+&xO!BsQPO'#FW",
|
|
385
|
+
stateData: "!D^~O$ZOSuOS~OX^OY_OiXOjXOkXOlXOmXOnXOoXOpXOqXOrXOsXOtXO}QO!yQO!zSO!{SO$[PO$aUO$ebO$fcO$gdO$heO$ifO$jgO$khO$liO$mjO$nkO$olO$pmO$qnO$roO$spO$zqO~O|rO}rO~O}QO!yQO~O!QwO!SwO!YwO!ZwO![wO!]wOfxXgxXhxX!nxX!qxX!rxX!sxX!txX!zxX!{xX$RxX$SxX$TxX$UxX~O!a{O$XxX$bxX~P#|O$a!QO~Od!ROe!RO$a!SO~O$a!UO~Of!WOg!VOh!WO!Q![O!n![O!q![O!r![O!s![O!t![O!z!XO!{!XO$R!YO$S!YO$T!YO$U!ZO~O$a!]O~O$a!^O~O!O!_O!Q!_O!R!_O!S!_O~O$^!`O$_!aO~O!P!cO$`!eO~Og!fOf!VXh!VX!Q!VX!S!VX!Y!VX!Z!VX![!VX!]!VX!a!VX!n!VX!q!VX!r!VX!s!VX!t!VX!z!VX!{!VX$R!VX$S!VX$T!VX$U!VX$X!VX$b!VX$t!VX$^!VX~O!QwO!SwO!YwO!ZwO![wO!]wO~Of!UXg!UXh!UX!a!UX!n!UX!q!UX!r!UX!s!UX!t!UX!z!UX!{!UX$R!UX$S!UX$T!UX$U!UX$X!UX$b!UX$t!UX$^!UX~P)lOP!jOQ!iOR!lOS!kOT!kOV!rOW!qOa!sOb!tOc!uO|rO}rO$a!oO~O!a{Ofxagxahxa!nxa!qxa!rxa!sxa!txa!zxa!{xa$Rxa$Sxa$Txa$Uxa$Xxa$bxa~P)lOfwXgwXhwX!QwX!nwX!qwX!rwX!swX!twX!zwX!{wX$RwX$SwX$TwX$UwX~O$b!xO~P-eO$b!yO~P-eO}QO!yQO$[PO$a!{O~O$a#OO~O$a#RO~O[#VO]#TO^#TOX#{PY#{Pi#{Pj#{Pk#{Pl#{Pm#{Pn#{Po#{Pp#{Pq#{Pr#{Ps#{Pt#{P}#{P!y#{P!z#{P!{#{P$[#{P$a#{P$e#{P$f#{P$g#{P$h#{P$i#{P$j#{P$k#{P$l#{P$m#{P$n#{P$o#{P$p#{P$q#{P$r#{P$s#{P$z#{P~O!P#`O~Og#bOf!Wah!Wa!Q!Wa!S!Wa!Y!Wa!Z!Wa![!Wa!]!Wa!a!Wa!n!Wa!q!Wa!r!Wa!s!Wa!t!Wa!z!Wa!{!Wa$R!Wa$S!Wa$T!Wa$U!Wa$X!Wa$b!Wa$t!Wa$^!Wa~O$a#cO~O!P#dO$`!eO~O!O#gO!Q#gO!R!_O!S!_O!n#hO!q#hO!r#hO!s#hO!t#hO~O|rO}rO!d#iOf!bXg!bXh!bX!Q!bX!S!bX!Y!bX!Z!bX![!bX!]!bX!a!bX!n!bX!q!bX!r!bX!s!bX!t!bX!z!bX!{!bX$R!bX$S!bX$T!bX$U!bX$X!bX$b!bX$t!bX$^!bX~O|rO}rOf!eXg!eXh!eX!Q!eX!S!eX!Y!eX!Z!eX![!eX!]!eX!a!eX!n!eX!q!eX!r!eX!s!eX!t!eX!z!eX!{!eX$R!eX$S!eX$T!eX$U!eX$X!eX$b!eX$t!eX$^!eX~O!P#oO~Of#qOg#rO$^#qOh!Ua!Q!Ua!S!Ua!Y!Ua!Z!Ua![!Ua!]!Ua!a!Ua!n!Ua!q!Ua!r!Ua!s!Ua!t!Ua!z!Ua!{!Ua$R!Ua$S!Ua$T!Ua$U!Ua$X!Ua$b!Ua$t!Ua~O!P#sO~O!a$PO$t$RO~P)lO$b$WO~O$^$XO~O|rO}rO$b$[O~Of!xXg!xXh!xX!Q!xX!n!xX!q!xX!r!xX!s!xX!t!xX!z!xX!{!xX$R!xX$S!xX$T!xX$U!xX$b!xX~O$^$]O~P:vO$b$^O~P-eO$^$aO~O$a$bO~OX#{XY#{Xi#{Xj#{Xk#{Xl#{Xm#{Xn#{Xo#{Xp#{Xq#{Xr#{Xs#{Xt#{X}#{X!y#{X!z#{X!{#{X$[#{X$a#{X$e#{X$f#{X$g#{X$h#{X$i#{X$j#{X$k#{X$l#{X$m#{X$n#{X$o#{X$p#{X$q#{X$r#{X$s#{X$z#{X~O_$dO`$dO~P<dO]#TO^#TO~P<dO$^$lO~P-eO$b$mO~O!P$oO~Og$pOf!`Xh!`X!Q!`X!S!`X!Y!`X!Z!`X![!`X!]!`X!a!`X!n!`X!q!`X!r!`X!s!`X!t!`X!z!`X!{!`X$R!`X$S!`X$T!`X$U!`X$X!`X$b!`X$t!`X$^!`X~O$a$qO~O}QO!o$sO!p$sO!v$uO!yQO!zSO!{SO~O!P#`O$`!eO~PAcO|rO}rO!d$wOf!bag!bah!ba!Q!ba!S!ba!Y!ba!Z!ba![!ba!]!ba!a!ba!n!ba!q!ba!r!ba!s!ba!t!ba!z!ba!{!ba$R!ba$S!ba$T!ba$U!ba$X!ba$b!ba$t!ba$^!ba~O!O$yOf!hXg!hXh!hX!Q!hX!S!hX!Y!hX!Z!hX![!hX!]!hX!a!hX!n!hX!q!hX!r!hX!s!hX!t!hX!z!hX!{!hX$R!hX$S!hX$T!hX$U!hX$X!hX$^!hX$b!hX$t!hX~O$^$zOf!iag!iah!ia!Q!ia!S!ia!Y!ia!Z!ia![!ia!]!ia!a!ia!n!ia!q!ia!r!ia!s!ia!t!ia!z!ia!{!ia$R!ia$S!ia$T!ia$U!ia$X!ia$b!ia$t!ia~O$^$zOf!fag!fah!fa!Q!fa!S!fa!Y!fa!Z!fa![!fa!]!fa!a!fa!n!fa!q!fa!r!fa!s!fa!t!fa!z!fa!{!fa$R!fa$S!fa$T!fa$U!fa$X!fa$b!fa$t!fa~Of#qOg#rO$^#qO$b${O~O!O$}O~O$^%OOf!}ag!}ah!}a!Q!}a!S!}a!Y!}a!Z!}a![!}a!]!}a!a!}a!n!}a!q!}a!r!}a!s!}a!t!}a!z!}a!{!}a$R!}a$S!}a$T!}a$U!}a$X!}a$b!}a$t!}a~O!O!_O!Q!_O!R!_O!S!_Of#TXg#TXh#TX!Y#TX!Z#TX![#TX!]#TX!a#TX!n#TX!q#TX!r#TX!s#TX!t#TX!z#TX!{#TX$R#TX$S#TX$T#TX$U#TX$X#TX$^#TX$b#TX$t#TX~O$^%POf#Rag#Rah#Ra!Q#Ra!S#Ra!Y#Ra!Z#Ra![#Ra!]#Ra!a#Ra!n#Ra!q#Ra!r#Ra!s#Ra!t#Ra!z#Ra!{#Ra$R#Ra$S#Ra$T#Ra$U#Ra$X#Ra$b#Ra$t#Ra~O!O!_O!Q!_O!R!_O!S!_Of#WXg#WXh#WX!Y#WX!Z#WX![#WX!]#WX!a#WX!n#WX!q#WX!r#WX!s#WX!t#WX!z#WX!{#WX$R#WX$S#WX$T#WX$U#WX$X#WX$^#WX$b#WX$t#WX~O$^%QOf#Uag#Uah#Ua!Q#Ua!S#Ua!Y#Ua!Z#Ua![#Ua!]#Ua!a#Ua!n#Ua!q#Ua!r#Ua!s#Ua!t#Ua!z#Ua!{#Ua$R#Ua$S#Ua$T#Ua$U#Ua$X#Ua$b#Ua$t#Ua~OU%RO~P+aO}%UO!o%UO!p%UO~O!a%WO$t$RO~OZ%YO!a$PO$b#ka~P)lO!a$PO$b%_O$t$RO~P)lO$b%`O~Od!ROe!ROf#Yqg#Yqh#Yq!Q#Yq!n#Yq!q#Yq!r#Yq!s#Yq!t#Yq!z#Yq!{#Yq$R#Yq$S#Yq$T#Yq$U#Yq$X#Yq$b#Yq$^#Yq~O$^%cO$b%dO~Od!ROe!ROf#uqg#uqh#uq!Q#uq!n#uq!q#uq!r#uq!s#uq!t#uq!z#uq!{#uq$R#uq$S#uq$T#uq$U#uq$X#uq$b#uq$^#uq~O$^%gO~P:vO$b%fO~P-eO}%iO$Q%iO$b%lO~OX#{aY#{ai#{aj#{ak#{al#{am#{an#{ao#{ap#{aq#{ar#{as#{at#{a}#{a!y#{a!z#{a!{#{a$[#{a$e#{a$f#{a$g#{a$h#{a$i#{a$j#{a$k#{a$l#{a$m#{a$n#{a$o#{a$p#{a$q#{a$r#{a$s#{a$z#{a~O$a$bO~P!(tO_%nO`%nO$a#{a~P!(tOf!WOh!WO!Q![O!n![O!q![O!r![O!s![O!t![O!z!XO!{!XO$R#zq$S#zq$T#zq$U#zq$X#zq$b#zq~Og#zq~P!+iOf#zqg#zqh#zq~P!+oOg!VO~P!+iO$X#zq$b#zq~P&QOf#zqg#zqh#zq!Q#zq!n#zq!q#zq!r#zq!s#zq!t#zq$R#zq$S#zq$T#zq$U#zq~O!z!XO!{!XO$X#zq$b#zq~P!-dO!P%oO~O$b%pO~O!P%rO~O$a%sO~O$^$zOf!iig!iih!ii!Q!ii!S!ii!Y!ii!Z!ii![!ii!]!ii!a!ii!n!ii!q!ii!r!ii!s!ii!t!ii!z!ii!{!ii$R!ii$S!ii$T!ii$U!ii$X!ii$b!ii$t!ii~O!P%tO~Of#qO$^#qOg!jih!ji!Q!ji!S!ji!Y!ji!Z!ji![!ji!]!ji!a!ji!n!ji!q!ji!r!ji!s!ji!t!ji!z!ji!{!ji$R!ji$S!ji$T!ji$U!ji$X!ji$b!ji$t!ji~O|rO}rO!P%vO~O|rO}rO$w%}O$x&OO$y&PO~OZ%YO$b#ki~O$v&RO~O!a$PO$b#ki~P)lO!a%WO$b#ki~O!a$PO$b&WO$t$RO~P)lO!a%WO$b&WO$t$RO~O$b&YO~O$b&[O~P-eO$b&^O~O$^&_O$b&`O~O$a$bOX#{iY#{ii#{ij#{ik#{il#{im#{in#{io#{ip#{iq#{ir#{is#{it#{i}#{i!y#{i!z#{i!{#{i$[#{i$e#{i$f#{i$g#{i$h#{i$i#{i$j#{i$k#{i$l#{i$m#{i$n#{i$o#{i$p#{i$q#{i$r#{i$s#{i$z#{i~O$^&bO~O$b&cO~O!P&dO~O$a&eO~Of#qOg#rO$^#qO!a#ni$t#ni$b#ni~O!a%WO$b#kq~O!a$PO$b#kq~P)lOZ%YO!a&hO$b#kq~Od!ROe!ROf#Y!Rg#Y!Rh#Y!R!Q#Y!R!n#Y!R!q#Y!R!r#Y!R!s#Y!R!t#Y!R!z#Y!R!{#Y!R$R#Y!R$S#Y!R$T#Y!R$U#Y!R$X#Y!R$b#Y!R$^#Y!R~Od!ROe!ROf#u!Rg#u!Rh#u!R!Q#u!R!n#u!R!q#u!R!r#u!R!s#u!R!t#u!R!z#u!R!{#u!R$R#u!R$S#u!R$T#u!R$U#u!R$X#u!R$b#u!R$^#u!R~O$b&kO~P-eOd!ROe!ROf#w!Rg#w!Rh#w!R!Q#w!R!n#w!R!q#w!R!r#w!R!s#w!R!t#w!R!z#w!R!{#w!R$R#w!R$S#w!R$T#w!R$U#w!R$X#w!R$b#w!R$^#w!R~O}%iO$Q%iO$b&nO~O!P&oO~O$b&pO~O!a%WO$b#ky~OZ%YO$b#ky~OU%RO~O!a&hO$b#ky~O$^&tO~O$b&uO~O!a%WO$b#k!R~O!P&wO~O$^&xO~O!P&yO~O$b&zO~OP!jOQ!iOR!lOS!kOT!kOV&{OW!qOa!sOb!tOc!uO|rO}rO$a!oO~O!a&|Ofxagxahxa!nxa!qxa!rxa!sxa!txa!zxa!{xa$Rxa$Sxa$Txa$Uxa$^xa~P)lO!a&|O$^xX~P#|Of'WOh'WO!Q'[O!n'[O!q'[O!r'[O!s'[O!t'[O!z'XO!{'XO$R#zq$S#zq$T#zq$U#zq$^#zq~Og#zq~P!AVOf#zqg#zqh#zq~P!A]Og'VO~P!AVOf'WOg'VOh'WO!Q'[O!n'[O!q'[O!r'[O!s'[O!t'[O!z'XO!{'XO$R'YO$S'YO$T'YO$U'ZO~O$^#zq~P!BsO!z'XO!{'XO$^#zq~P!-dO!o!v!y~",
|
|
386
|
+
goto: "5h$vPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP$w%v&_'O'RPPPPPPP'j'|(^(l(}PPPP)^)f)oP)x)}P)x)x*Q*Z)x*c*t*t*}PPPPPPP*}P*t+WPPP)x)x+q+w)x)x,O,R)x,X,[,b-T-j.P.P.P.P.P.P.P.P.P.P.P.P.P.P.P.f.r/V/c/{0O0O0O0R0e-T0h-T0}1d-T1y2o3Q3Z3^PPPPP-T-TPPPP3dPPPPP4h4lPPPPPPPPPPPPPPPP5b[]OU!S#R$]%gQ$f#WQ$g#XS$h#Y'RQ$i#ZQ$j#[Q$k#]Q']'PQ'^'QQ'_'SQ'`'TQ'a'UR'b!]taO!S!]#R#W#X#Y#Z#[#]$]%g'P'Q'R'S'T'UR!OUjTOU!S!]#R#W#X#Y#Z#[#]$]%gU!z!Q$X$aQ$U!{]'O'P'Q'R'S'T'URuPQtP^!n{!o#q#r$P%W&|Q#a!`S#x!t%PT#|!u%QQ}TQ$Q!zQ%X$TQ%]$UQ&V%[R&}'O[|T!z$T$U%['O]!w}$Q%X%]&V&}izT}!z$Q$T$U%X%[%]&V&}'OhyT}!z$Q$T$U%X%[%]&V&}'OR!gzkxTz}!z$Q$T$U%X%[%]&V&}'OQ!dxV#e!f#b$pW!bx!f#b$pR$r#gQ#f!fQ$n#bR%q$pV!v{$P&|R#j!iQ#m!iQ#n!jR$x#jU#l!i!j#jR%u$zU!p{$P&|Q#p!oQ${#qQ$|#rR&S%W_!n{!o#q#r$P%W&|_!m{!o#q#r$P%W&|v`OU!S!]#R#W#X#Y#Z#[#]$]%g'P'Q'R'S'T'UT$v#g#hQ#v!rR&v&{S#u!r&{R%w%OR#z!tQ#y!tR%x%PR$O!uQ#}!uR%y%QjaO#W#X#Y#Z#[#]'P'Q'R'S'T'UQ!PUQ#Q!SQ#^!]Q$`#RQ%e$]R&]%gw`OU!S!]#R#W#X#Y#Z#[#]$]%g'P'Q'R'S'T'UwWOU!S!]#R#W#X#Y#Z#[#]$]%g'P'Q'R'S'T'UwVOU!S!]#R#W#X#Y#Z#[#]$]%g'P'Q'R'S'T'UQ!|!QQ$V!{Q%b$XR%h$aS$T!z$UW%T$Q$S%]%^Q&Q%SQ&X%_R&g&WQ%[$TQ&Q%TQ&i&XR&r&gQ$S!zS%S$Q%]Q%Z$TQ%^$US&T%X%[S&f&V&XR&s&iR%|%RR%z%RQ!TYQ%a$WQ%f$^Q&j&YQ&k&[R&l&^R$Z#OwYOU!S!]#R#W#X#Y#Z#[#]$]%g'P'Q'R'S'T'Uw[OU!S!]#R#W#X#Y#Z#[#]$]%g'P'Q'R'S'T'UwZOU!S!]#R#W#X#Y#Z#[#]$]%g'P'Q'R'S'T'UQ#W!VQ#X!WQ#Y!XQ#Z!YQ#[!ZQ#]![Q'P'VQ'Q'WQ'R'XQ'S'YQ'T'ZR'U'[h#U!V!W!X!Y!Z!['V'W'X'Y'Z'[R$e#VQ$c#TQ%m$dR&a%nR%j$bQ%k$bR&m&_SsP!`^!h{!o#q#r$P%W&|Q#S!UW#k!i!j#j$zU#t!r%O&{S#w!t%PS#{!u%QQ$Y#OQ%v$}Q%{%RQ&Z%cR&q&eT$t#g#hvROU!]#W#X#Y#Z#[#]#g#h$]%g'P'Q'R'S'T'UQvSQ!}!QQ#P!SQ#_!^R$_#RQ%V$RR&U%Y",
|
|
387
|
+
nodeNames: "⚠ Json Logfmt Unpack Pattern Regexp Unwrap LabelFormat LineFormat LabelReplace Vector Offset Bool On Ignoring GroupLeft GroupRight Decolorize Drop Keep By Without And Or Unless Sum Avg Count Max Min Stddev Stdvar Bottomk Topk Sort Sort_Desc Approx_Topk LineComment LogQL Expr LogExpr Selector Matchers Matcher Identifier VariableReference Eq String Neq Re Nre PipelineExpr PipelineStage LineFilters LineFilter Filter PipeExact PipeMatch PipePattern Npa FilterOp Ip OrFilter Pipe LogfmtParser LogfmtParserFlags ParserFlag LabelParser JsonExpressionParser LabelExtractionExpressionList LabelExtractionExpression LogfmtExpressionParser LabelFilter IpLabelFilter UnitFilter DurationFilter Gtr Duration DynamicDurationPlaceholder Gte Lss Lte Eql BytesFilter Bytes NumberFilter LiteralExpr Number Add Sub LineFormatExpr LabelFormatExpr LabelsFormat LabelFormatMatcher DecolorizeExpr DropLabelsExpr DropLabels DropLabel KeepLabelsExpr KeepLabels KeepLabel MetricExpr RangeAggregationExpr RangeOp CountOverTime Rate RateCounter BytesOverTime BytesRate AvgOverTime SumOverTime MinOverTime MaxOverTime StddevOverTime StdvarOverTime QuantileOverTime FirstOverTime LastOverTime AbsentOverTime LogRangeExpr Range OffsetExpr UnwrapExpr ConvOp BytesConv DurationConv DurationSecondsConv Grouping Labels VectorAggregationExpr VectorOp LabelAggregationExpr LabelAggOp ApproxCountDistinct BinOpExpr BinOpModifier OnOrIgnoringModifier GroupingLabels GroupingLabelList GroupingLabel LabelName Mul Div Mod Pow LabelReplaceExpr VectorExpr",
|
|
388
|
+
maxTerm: 180,
|
|
389
|
+
skippedNodes: [0,37],
|
|
390
|
+
repeatNodeCount: 0,
|
|
391
|
+
tokenData: "?f~RwX^#lpq#lqr$ars$|st&ptu'Xuv(bxy(gyz(lz{(q{|(v|}({}!O)Q!O!P5b!P!Q6b!Q!R6g!R![9x![!];w!^!_<]!_!`<j!`!a=P!c!}=^!}#O=t#P#Q=y#Q#R>O#R#S=^#S#T>T#T#o=^#o#p>m#p#q>r#q#r?a#y#z#l$f$g#l#BY#BZ#l$IS$I_#l$I|$JO#l$JT$JU#l$KV$KW#l&FU&FV#l~#qY$Z~X^#lpq#l#y#z#l$f$g#l#BY#BZ#l$IS$I_#l$I|$JO#l$JT$JU#l$KV$KW#l&FU&FV#l~$dR!_!`$m!`!a$r#r#s$w~$rO!Q~~$wO!]~~$|O!S~~%PWOY$|Zr$|rs%is#O$|#O#P%n#P;'S$|;'S;=`&j<%lO$|~%nO!P~~%qRO;'S$|;'S;=`%z;=`O$|~%}XOY$|Zr$|rs%is#O$|#O#P%n#P;'S$|;'S;=`&j;=`<%l$|<%lO$|~&mP;=`<%l$|~&uSu~OY&pZ;'S&p;'S;=`'R<%lO&p~'UP;=`<%l&p~'[Q#R#S'b#T#o(S~'eP#R#S'h~'kR!c!}'t#R#S't#T#o't~'yR!p~!c!}'t#R#S't#T#o't~(XR}~!Q![(S#R#S(S#T#o(S~(gO$T~~(lO$a~~(qO$b~~(vO$R~~({O!z~~)QO$^~~)VQ!{~}!O)]!Q![+c~)`Q#_#`)f#g#h*s~)iP#X#Y)l~)oP#X#Y)r~)uP#d#e)x~){P}!O*O~*RP#X#Y*U~*XP#a#b*[~*_P#d#e*b~*eP#h#i*h~*kP#m#n*n~*sO!d~~*vP#h#i*y~*|P#f#g+P~+SP#]#^+V~+YP#V#W+]~+`P#h#i*n~+fZ!O!P,X!Q![+c#W#X2z#[#],w#a#b.U#b#c0m#g#h1s#i#j0x#k#l3o#m#n4g${$|0x~,[P!Q![,_~,bV!Q![,_#[#],w#a#b.U#b#c0m#g#h1s#i#j0x${$|0x~,|P!o~!Q![-P~-SV!O!P-i!Q![-P#a#b.U#b#c0m#g#h1s#i#j0x${$|0x~-lP!Q![-o~-rU!Q![-o#a#b.U#b#c0m#g#h1s#i#j0x${$|0x~.ZQ!o~!Q![.a#g#h/l~.dV!O!P.y!Q![.a#a#b/f#b#c0m#g#h1s#i#j0x${$|0x~.|P!Q![/P~/SU!Q![/P#a#b/f#b#c0m#g#h1s#i#j0x${$|0x~/iP#g#h/l~/qP!o~!Q![/t~/wT!O!P0W!Q![/t#b#c0m#i#j0x${$|0x~0ZP!Q![0^~0aS!Q![0^#b#c0m#i#j0x${$|0x~0pP#g#h0s~0xO!o~~0{P#g#h1O~1TP!o~!Q![1W~1ZR!O!P1d!Q![1W#b#c0m~1gP!Q![1j~1mQ!Q![1j#b#c0m~1xP!o~!Q![1{~2OU!O!P2b!Q![1{#a#b/f#b#c0m#i#j0x${$|0x~2eP!Q![2h~2kT!Q![2h#a#b/f#b#c0m#i#j0x${$|0x~3PP!o~!Q![3S~3VW!O!P,X!Q![3S#[#],w#a#b.U#b#c0m#g#h1s#i#j0x${$|0x~3tP!o~!Q![3w~3zX!O!P,X!Q![3w#W#X2z#[#],w#a#b.U#b#c0m#g#h1s#i#j0x${$|0x~4lP!o~!Q![4o~4rY!O!P,X!Q![4o#W#X2z#[#],w#a#b.U#b#c0m#g#h1s#i#j0x#k#l3o${$|0x~5eP!Q![5h~5mR!y~!Q![5h!g!h5v#X#Y5v~5yR{|6S}!O6S!Q![6Y~6VP!Q![6Y~6_P!y~!Q![6Y~6gO$S~~6le!y~!O!P7}!Q![9x!d!e9d!g!h5v!i!j9i!m!n9i!o!p9i!r!s9i!v!w9i#W#X2z#X#Y5v#[#],w#_#`9r#a#b.U#b#c0m#g#h1s#i#j0x#k#l3o#l#m;]#m#n4g${$|0x~8SR!y~!Q![8]!g!h5v#X#Y5v~8b`!y~!Q![8]!d!e9d!g!h5v!i!j9i!m!n9i!o!p9i!r!s9i!v!w9i#X#Y5v#[#],w#_#`9r#a#b.U#b#c0m#g#h1s#i#j0x${$|0x~9iO!v~~9lQ!d!e9d#]#^9r~9uP!d!e9d~9}d!y~!O!P7}!Q![9x!d!e9d!g!h5v!i!j9i!m!n9i!o!p9i!r!s9i!v!w9i#W#X2z#X#Y5v#[#],w#_#`9r#a#b.U#b#c0m#g#h1s#i#j0x#k#l3o#m#n4g${$|0x~;`R!Q![;i!c!i;i#T#Z;i~;nR!y~!Q![;i!c!i;i#T#Z;iP;|T|P!Q![;w![!];w!c!};w#R#S;w#T#o;w~<bP!r~!_!`<e~<jO!s~~<oQ!O~!_!`<u#r#s<z~<zO!t~~=PO!R~~=UP!n~!_!`=X~=^O!q~R=eT|P$QQ!Q![=^![!];w!c!}=^#R#S=^#T#o=^~=yO$t~~>OO$v~~>TO$U~~>WTO#S>T#S#T%i#T;'S>T;'S;=`>g<%lO>T~>jP;=`<%l>T~>rO$[~~>wR!a~!_!`?Q!`!a?V#r#s?[~?VO!Y~~?[O![~~?aO!Z~~?fO$_~",
|
|
392
|
+
tokenizers: [0, 1],
|
|
393
|
+
topRules: {"LogQL":[0,38]},
|
|
394
|
+
specialized: [{term: 44, get: (value, stack) => (specializeIdentifier(value) << 1), external: specializeIdentifier},{term: 44, get: (value, stack) => (extendIdentifier(value) << 1) | 1, external: extendIdentifier, extend: true},{term: 44, get: (value) => spec_Identifier[value] || -1}],
|
|
395
|
+
tokenPrec: 3736
|
|
396
|
+
});
|
|
397
|
+
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
398
|
+
const Json = 1,
|
|
399
|
+
Logfmt = 2,
|
|
400
|
+
Unpack = 3,
|
|
401
|
+
Pattern = 4,
|
|
402
|
+
Regexp = 5,
|
|
403
|
+
Unwrap = 6,
|
|
404
|
+
LabelFormat = 7,
|
|
405
|
+
LineFormat = 8,
|
|
406
|
+
LabelReplace = 9,
|
|
407
|
+
Vector = 10,
|
|
408
|
+
Offset = 11,
|
|
409
|
+
Bool = 12,
|
|
410
|
+
On = 13,
|
|
411
|
+
Ignoring = 14,
|
|
412
|
+
GroupLeft = 15,
|
|
413
|
+
GroupRight = 16,
|
|
414
|
+
Decolorize = 17,
|
|
415
|
+
Drop = 18,
|
|
416
|
+
Keep = 19,
|
|
417
|
+
By = 20,
|
|
418
|
+
Without = 21,
|
|
419
|
+
And = 22,
|
|
420
|
+
Or = 23,
|
|
421
|
+
Unless = 24,
|
|
422
|
+
Sum = 25,
|
|
423
|
+
Avg = 26,
|
|
424
|
+
Count = 27,
|
|
425
|
+
Max = 28,
|
|
426
|
+
Min = 29,
|
|
427
|
+
Stddev = 30,
|
|
428
|
+
Stdvar = 31,
|
|
429
|
+
Bottomk = 32,
|
|
430
|
+
Topk = 33,
|
|
431
|
+
Sort = 34,
|
|
432
|
+
Sort_Desc = 35,
|
|
433
|
+
Approx_Topk = 36,
|
|
434
|
+
LineComment = 37,
|
|
435
|
+
LogQL = 38,
|
|
436
|
+
Expr = 39,
|
|
437
|
+
LogExpr = 40,
|
|
438
|
+
Selector = 41,
|
|
439
|
+
Matchers = 42,
|
|
440
|
+
Matcher = 43,
|
|
441
|
+
Identifier = 44,
|
|
442
|
+
VariableReference = 45,
|
|
443
|
+
Eq = 46,
|
|
444
|
+
String = 47,
|
|
445
|
+
Neq = 48,
|
|
446
|
+
Re = 49,
|
|
447
|
+
Nre = 50,
|
|
448
|
+
PipelineExpr = 51,
|
|
449
|
+
PipelineStage = 52,
|
|
450
|
+
LineFilters = 53,
|
|
451
|
+
LineFilter = 54,
|
|
452
|
+
Filter = 55,
|
|
453
|
+
PipeExact = 56,
|
|
454
|
+
PipeMatch = 57,
|
|
455
|
+
PipePattern = 58,
|
|
456
|
+
Npa = 59,
|
|
457
|
+
FilterOp = 60,
|
|
458
|
+
Ip = 61,
|
|
459
|
+
OrFilter = 62,
|
|
460
|
+
Pipe = 63,
|
|
461
|
+
LogfmtParser = 64,
|
|
462
|
+
LogfmtParserFlags = 65,
|
|
463
|
+
ParserFlag = 66,
|
|
464
|
+
LabelParser = 67,
|
|
465
|
+
JsonExpressionParser = 68,
|
|
466
|
+
LabelExtractionExpressionList = 69,
|
|
467
|
+
LabelExtractionExpression = 70,
|
|
468
|
+
LogfmtExpressionParser = 71,
|
|
469
|
+
LabelFilter = 72,
|
|
470
|
+
IpLabelFilter = 73,
|
|
471
|
+
UnitFilter = 74,
|
|
472
|
+
DurationFilter = 75,
|
|
473
|
+
Gtr = 76,
|
|
474
|
+
Duration = 77,
|
|
475
|
+
DynamicDurationPlaceholder = 78,
|
|
476
|
+
Gte = 79,
|
|
477
|
+
Lss = 80,
|
|
478
|
+
Lte = 81,
|
|
479
|
+
Eql = 82,
|
|
480
|
+
BytesFilter = 83,
|
|
481
|
+
Bytes = 84,
|
|
482
|
+
NumberFilter = 85,
|
|
483
|
+
LiteralExpr = 86,
|
|
484
|
+
Number = 87,
|
|
485
|
+
Add = 88,
|
|
486
|
+
Sub = 89,
|
|
487
|
+
LineFormatExpr = 90,
|
|
488
|
+
LabelFormatExpr = 91,
|
|
489
|
+
LabelsFormat = 92,
|
|
490
|
+
LabelFormatMatcher = 93,
|
|
491
|
+
DecolorizeExpr = 94,
|
|
492
|
+
DropLabelsExpr = 95,
|
|
493
|
+
DropLabels = 96,
|
|
494
|
+
DropLabel = 97,
|
|
495
|
+
KeepLabelsExpr = 98,
|
|
496
|
+
KeepLabels = 99,
|
|
497
|
+
KeepLabel = 100,
|
|
498
|
+
MetricExpr = 101,
|
|
499
|
+
RangeAggregationExpr = 102,
|
|
500
|
+
RangeOp = 103,
|
|
501
|
+
CountOverTime = 104,
|
|
502
|
+
Rate = 105,
|
|
503
|
+
RateCounter = 106,
|
|
504
|
+
BytesOverTime = 107,
|
|
505
|
+
BytesRate = 108,
|
|
506
|
+
AvgOverTime = 109,
|
|
507
|
+
SumOverTime = 110,
|
|
508
|
+
MinOverTime = 111,
|
|
509
|
+
MaxOverTime = 112,
|
|
510
|
+
StddevOverTime = 113,
|
|
511
|
+
StdvarOverTime = 114,
|
|
512
|
+
QuantileOverTime = 115,
|
|
513
|
+
FirstOverTime = 116,
|
|
514
|
+
LastOverTime = 117,
|
|
515
|
+
AbsentOverTime = 118,
|
|
516
|
+
LogRangeExpr = 119,
|
|
517
|
+
Range = 120,
|
|
518
|
+
OffsetExpr = 121,
|
|
519
|
+
UnwrapExpr = 122,
|
|
520
|
+
ConvOp = 123,
|
|
521
|
+
BytesConv = 124,
|
|
522
|
+
DurationConv = 125,
|
|
523
|
+
DurationSecondsConv = 126,
|
|
524
|
+
Grouping = 127,
|
|
525
|
+
Labels = 128,
|
|
526
|
+
VectorAggregationExpr = 129,
|
|
527
|
+
VectorOp = 130,
|
|
528
|
+
LabelAggregationExpr = 131,
|
|
529
|
+
LabelAggOp = 132,
|
|
530
|
+
ApproxCountDistinct = 133,
|
|
531
|
+
BinOpExpr = 134,
|
|
532
|
+
BinOpModifier = 135,
|
|
533
|
+
OnOrIgnoringModifier = 136,
|
|
534
|
+
GroupingLabels = 137,
|
|
535
|
+
GroupingLabelList = 138,
|
|
536
|
+
GroupingLabel = 139,
|
|
537
|
+
LabelName = 140,
|
|
538
|
+
Mul = 141,
|
|
539
|
+
Div = 142,
|
|
540
|
+
Mod = 143,
|
|
541
|
+
Pow = 144,
|
|
542
|
+
LabelReplaceExpr = 145,
|
|
543
|
+
VectorExpr = 146;
|
|
544
|
+
|
|
545
|
+
exports.AGGREGATION_OPERATORS = AGGREGATION_OPERATORS;
|
|
546
|
+
exports.AbsentOverTime = AbsentOverTime;
|
|
547
|
+
exports.Add = Add;
|
|
548
|
+
exports.And = And;
|
|
549
|
+
exports.ApproxCountDistinct = ApproxCountDistinct;
|
|
550
|
+
exports.Approx_Topk = Approx_Topk;
|
|
551
|
+
exports.Avg = Avg;
|
|
552
|
+
exports.AvgOverTime = AvgOverTime;
|
|
553
|
+
exports.BUILT_IN_FUNCTIONS = BUILT_IN_FUNCTIONS;
|
|
554
|
+
exports.BinOpExpr = BinOpExpr;
|
|
555
|
+
exports.BinOpModifier = BinOpModifier;
|
|
556
|
+
exports.Bool = Bool;
|
|
557
|
+
exports.Bottomk = Bottomk;
|
|
558
|
+
exports.By = By;
|
|
559
|
+
exports.Bytes = Bytes;
|
|
560
|
+
exports.BytesConv = BytesConv;
|
|
561
|
+
exports.BytesFilter = BytesFilter;
|
|
562
|
+
exports.BytesOverTime = BytesOverTime;
|
|
563
|
+
exports.BytesRate = BytesRate;
|
|
564
|
+
exports.ConvOp = ConvOp;
|
|
565
|
+
exports.Count = Count;
|
|
566
|
+
exports.CountOverTime = CountOverTime;
|
|
567
|
+
exports.Decolorize = Decolorize;
|
|
568
|
+
exports.DecolorizeExpr = DecolorizeExpr;
|
|
569
|
+
exports.Div = Div;
|
|
570
|
+
exports.Drop = Drop;
|
|
571
|
+
exports.DropLabel = DropLabel;
|
|
572
|
+
exports.DropLabels = DropLabels;
|
|
573
|
+
exports.DropLabelsExpr = DropLabelsExpr;
|
|
574
|
+
exports.Duration = Duration;
|
|
575
|
+
exports.DurationConv = DurationConv;
|
|
576
|
+
exports.DurationFilter = DurationFilter;
|
|
577
|
+
exports.DurationSecondsConv = DurationSecondsConv;
|
|
578
|
+
exports.DynamicDurationPlaceholder = DynamicDurationPlaceholder;
|
|
579
|
+
exports.Eq = Eq;
|
|
580
|
+
exports.Eql = Eql;
|
|
581
|
+
exports.Expr = Expr;
|
|
582
|
+
exports.FUNCTIONS = FUNCTIONS;
|
|
583
|
+
exports.Filter = Filter;
|
|
584
|
+
exports.FilterOp = FilterOp;
|
|
585
|
+
exports.FirstOverTime = FirstOverTime;
|
|
586
|
+
exports.GroupLeft = GroupLeft;
|
|
587
|
+
exports.GroupRight = GroupRight;
|
|
588
|
+
exports.Grouping = Grouping;
|
|
589
|
+
exports.GroupingLabel = GroupingLabel;
|
|
590
|
+
exports.GroupingLabelList = GroupingLabelList;
|
|
591
|
+
exports.GroupingLabels = GroupingLabels;
|
|
592
|
+
exports.Gte = Gte;
|
|
593
|
+
exports.Gtr = Gtr;
|
|
594
|
+
exports.Identifier = Identifier;
|
|
595
|
+
exports.Ignoring = Ignoring;
|
|
596
|
+
exports.Ip = Ip;
|
|
597
|
+
exports.IpLabelFilter = IpLabelFilter;
|
|
598
|
+
exports.Json = Json;
|
|
599
|
+
exports.JsonExpressionParser = JsonExpressionParser;
|
|
600
|
+
exports.Keep = Keep;
|
|
601
|
+
exports.KeepLabel = KeepLabel;
|
|
602
|
+
exports.KeepLabels = KeepLabels;
|
|
603
|
+
exports.KeepLabelsExpr = KeepLabelsExpr;
|
|
604
|
+
exports.LabelAggOp = LabelAggOp;
|
|
605
|
+
exports.LabelAggregationExpr = LabelAggregationExpr;
|
|
606
|
+
exports.LabelExtractionExpression = LabelExtractionExpression;
|
|
607
|
+
exports.LabelExtractionExpressionList = LabelExtractionExpressionList;
|
|
608
|
+
exports.LabelFilter = LabelFilter;
|
|
609
|
+
exports.LabelFormat = LabelFormat;
|
|
610
|
+
exports.LabelFormatExpr = LabelFormatExpr;
|
|
611
|
+
exports.LabelFormatMatcher = LabelFormatMatcher;
|
|
612
|
+
exports.LabelName = LabelName;
|
|
613
|
+
exports.LabelParser = LabelParser;
|
|
614
|
+
exports.LabelReplace = LabelReplace;
|
|
615
|
+
exports.LabelReplaceExpr = LabelReplaceExpr;
|
|
616
|
+
exports.Labels = Labels;
|
|
617
|
+
exports.LabelsFormat = LabelsFormat;
|
|
618
|
+
exports.LastOverTime = LastOverTime;
|
|
619
|
+
exports.LineComment = LineComment;
|
|
620
|
+
exports.LineFilter = LineFilter;
|
|
621
|
+
exports.LineFilters = LineFilters;
|
|
622
|
+
exports.LineFormat = LineFormat;
|
|
623
|
+
exports.LineFormatExpr = LineFormatExpr;
|
|
624
|
+
exports.LiteralExpr = LiteralExpr;
|
|
625
|
+
exports.LogExpr = LogExpr;
|
|
626
|
+
exports.LogQL = LogQL;
|
|
627
|
+
exports.LogRangeExpr = LogRangeExpr;
|
|
628
|
+
exports.Logfmt = Logfmt;
|
|
629
|
+
exports.LogfmtExpressionParser = LogfmtExpressionParser;
|
|
630
|
+
exports.LogfmtParser = LogfmtParser;
|
|
631
|
+
exports.LogfmtParserFlags = LogfmtParserFlags;
|
|
632
|
+
exports.Lss = Lss;
|
|
633
|
+
exports.Lte = Lte;
|
|
634
|
+
exports.Matcher = Matcher;
|
|
635
|
+
exports.Matchers = Matchers;
|
|
636
|
+
exports.Max = Max;
|
|
637
|
+
exports.MaxOverTime = MaxOverTime;
|
|
638
|
+
exports.MetricExpr = MetricExpr;
|
|
639
|
+
exports.Min = Min;
|
|
640
|
+
exports.MinOverTime = MinOverTime;
|
|
641
|
+
exports.Mod = Mod;
|
|
642
|
+
exports.Mul = Mul;
|
|
643
|
+
exports.Neq = Neq;
|
|
644
|
+
exports.Npa = Npa;
|
|
645
|
+
exports.Nre = Nre;
|
|
646
|
+
exports.Number = Number;
|
|
647
|
+
exports.NumberFilter = NumberFilter;
|
|
648
|
+
exports.Offset = Offset;
|
|
649
|
+
exports.OffsetExpr = OffsetExpr;
|
|
650
|
+
exports.On = On;
|
|
651
|
+
exports.OnOrIgnoringModifier = OnOrIgnoringModifier;
|
|
652
|
+
exports.Or = Or;
|
|
653
|
+
exports.OrFilter = OrFilter;
|
|
654
|
+
exports.ParserFlag = ParserFlag;
|
|
655
|
+
exports.Pattern = Pattern;
|
|
656
|
+
exports.Pipe = Pipe;
|
|
657
|
+
exports.PipeExact = PipeExact;
|
|
658
|
+
exports.PipeMatch = PipeMatch;
|
|
659
|
+
exports.PipePattern = PipePattern;
|
|
660
|
+
exports.PipelineExpr = PipelineExpr;
|
|
661
|
+
exports.PipelineStage = PipelineStage;
|
|
662
|
+
exports.Pow = Pow;
|
|
663
|
+
exports.QuantileOverTime = QuantileOverTime;
|
|
664
|
+
exports.RANGE_VEC_FUNCTIONS = RANGE_VEC_FUNCTIONS;
|
|
665
|
+
exports.Range = Range;
|
|
666
|
+
exports.RangeAggregationExpr = RangeAggregationExpr;
|
|
667
|
+
exports.RangeOp = RangeOp;
|
|
668
|
+
exports.Rate = Rate;
|
|
669
|
+
exports.RateCounter = RateCounter;
|
|
670
|
+
exports.Re = Re;
|
|
671
|
+
exports.Regexp = Regexp;
|
|
672
|
+
exports.Selector = Selector;
|
|
673
|
+
exports.Sort = Sort;
|
|
674
|
+
exports.Sort_Desc = Sort_Desc;
|
|
675
|
+
exports.Stddev = Stddev;
|
|
676
|
+
exports.StddevOverTime = StddevOverTime;
|
|
677
|
+
exports.Stdvar = Stdvar;
|
|
678
|
+
exports.StdvarOverTime = StdvarOverTime;
|
|
679
|
+
exports.String = String;
|
|
680
|
+
exports.Sub = Sub;
|
|
681
|
+
exports.Sum = Sum;
|
|
682
|
+
exports.SumOverTime = SumOverTime;
|
|
683
|
+
exports.Topk = Topk;
|
|
684
|
+
exports.UnitFilter = UnitFilter;
|
|
685
|
+
exports.Unless = Unless;
|
|
686
|
+
exports.Unpack = Unpack;
|
|
687
|
+
exports.Unwrap = Unwrap;
|
|
688
|
+
exports.UnwrapExpr = UnwrapExpr;
|
|
689
|
+
exports.VariableReference = VariableReference;
|
|
690
|
+
exports.Vector = Vector;
|
|
691
|
+
exports.VectorAggregationExpr = VectorAggregationExpr;
|
|
692
|
+
exports.VectorExpr = VectorExpr;
|
|
693
|
+
exports.VectorOp = VectorOp;
|
|
694
|
+
exports.Without = Without;
|
|
695
|
+
exports.lokiGrammar = lokiGrammar;
|
|
696
|
+
exports.parser = parser;
|