Tempo: Support comments in TraceQL (#77646)

This commit is contained in:
Fabrizio 2023-11-07 11:27:03 +01:00 committed by GitHub
parent 39014e73f7
commit f19830b543
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 7 deletions

View File

@ -252,7 +252,7 @@
"@grafana/flamegraph": "workspace:*", "@grafana/flamegraph": "workspace:*",
"@grafana/google-sdk": "0.1.1", "@grafana/google-sdk": "0.1.1",
"@grafana/lezer-logql": "0.2.1", "@grafana/lezer-logql": "0.2.1",
"@grafana/lezer-traceql": "0.0.9", "@grafana/lezer-traceql": "0.0.10",
"@grafana/monaco-logql": "^0.0.7", "@grafana/monaco-logql": "^0.0.7",
"@grafana/runtime": "workspace:*", "@grafana/runtime": "workspace:*",
"@grafana/scenes": "^1.20.1", "@grafana/scenes": "^1.20.1",

View File

@ -76,6 +76,10 @@ describe('Check for syntax errors in query', () => {
['{true} << {true}'], ['{true} << {true}'],
['{true} !>> {true}'], ['{true} !>> {true}'],
['{true} !<< {true}'], ['{true} !<< {true}'],
[
`{ true } /* && { false } && */ && { true } // && { false }
&& { true }`,
],
])('valid query - %s', (query: string) => { ])('valid query - %s', (query: string) => {
expect(getErrorNodes(query)).toStrictEqual([]); expect(getErrorNodes(query)).toStrictEqual([]);
}); });

View File

@ -63,6 +63,10 @@ export const language: languages.IMonarchLanguage = {
tokenizer: { tokenizer: {
root: [ root: [
// comments
[/\/\/.*/, 'comment'], // line comment
[/\/\*.*\*\//, 'comment'], // block comment
// durations // durations
[/[0-9]+(.[0-9]+)?(us|µs|ns|ms|s|m|h)/, 'number'], [/[0-9]+(.[0-9]+)?(us|µs|ns|ms|s|m|h)/, 'number'],
@ -138,7 +142,7 @@ export const languageDefinition = {
export const traceqlGrammar: Grammar = { export const traceqlGrammar: Grammar = {
comment: { comment: {
pattern: /#.*/, pattern: /\/\/.*/,
}, },
'span-set': { 'span-set': {
pattern: /\{[^}]*}/, pattern: /\{[^}]*}/,

View File

@ -3242,12 +3242,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@grafana/lezer-traceql@npm:0.0.9": "@grafana/lezer-traceql@npm:0.0.10":
version: 0.0.9 version: 0.0.10
resolution: "@grafana/lezer-traceql@npm:0.0.9" resolution: "@grafana/lezer-traceql@npm:0.0.10"
peerDependencies: peerDependencies:
"@lezer/lr": ^1.3.0 "@lezer/lr": ^1.3.0
checksum: 1511e34d47466a9bd4880cd04f817d263dc01c0d4cd4dea0ad1bd7829d59e3d6b15c723e9ba4b240d812fc5d288ec0c4726928a2da031ee3d60573a8861d21a3 checksum: 9335458543a5155a4ece6a0d526dd78d8dba087f197b19ca80546529a39a107d62d4d0faa3fabc3f4d5caefc173cb1a6b93650a471101d34a0ee1c8f7c348de0
languageName: node languageName: node
linkType: hard linkType: hard
@ -17099,7 +17099,7 @@ __metadata:
"@grafana/flamegraph": "workspace:*" "@grafana/flamegraph": "workspace:*"
"@grafana/google-sdk": "npm:0.1.1" "@grafana/google-sdk": "npm:0.1.1"
"@grafana/lezer-logql": "npm:0.2.1" "@grafana/lezer-logql": "npm:0.2.1"
"@grafana/lezer-traceql": "npm:0.0.9" "@grafana/lezer-traceql": "npm:0.0.10"
"@grafana/monaco-logql": "npm:^0.0.7" "@grafana/monaco-logql": "npm:^0.0.7"
"@grafana/runtime": "workspace:*" "@grafana/runtime": "workspace:*"
"@grafana/scenes": "npm:^1.20.1" "@grafana/scenes": "npm:^1.20.1"