Skip to content

Commit 71d633d

Browse files
Merge pull request #106 from alanconway/spurious-json
fix(COO-557): Remove spurious '|json' in log queries.
2 parents 4e976f1 + adbd776 commit 71d633d

3 files changed

Lines changed: 17 additions & 25 deletions

File tree

web/src/__tests__/log-node.spec.ts

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ describe('LogNode.fromURL', () => {
77
'{kubernetes_namespace_name="default",kubernetes_pod_name="foo"}',
88
)}&tenant=infrastructure`,
99
query:
10-
`log:infrastructure:{kubernetes_namespace_name="default"` +
11-
`,kubernetes_pod_name="foo"}|json`,
10+
`log:infrastructure:{kubernetes_namespace_name="default"` + `,kubernetes_pod_name="foo"}`,
1211
},
1312
{
1413
url: `monitoring/logs?q=${encodeURIComponent(
@@ -17,31 +16,30 @@ describe('LogNode.fromURL', () => {
1716
)}`,
1817
query:
1918
`log:infrastructure:{kubernetes_namespace_name="default",` +
20-
`kubernetes_pod_name="foo",log_type="infrastructure"}|json`,
19+
`kubernetes_pod_name="foo",log_type="infrastructure"}`,
2120
},
2221
{
2322
url: `monitoring/logs?q=${encodeURIComponent(
24-
'{kubernetes_namespace_name="default",kubernetes_pod_name="foo"}|json',
23+
'{kubernetes_namespace_name="default",kubernetes_pod_name="foo"}',
2524
)}&tenant=infrastructure`,
2625
query:
27-
`log:infrastructure:{kubernetes_namespace_name="default",` +
28-
`kubernetes_pod_name="foo"}|json`,
26+
`log:infrastructure:{kubernetes_namespace_name="default",` + `kubernetes_pod_name="foo"}`,
2927
},
3028
{
3129
url: `monitoring/logs?q=${encodeURIComponent(
32-
'{kubernetes_namespace_name="default",kubernetes_pod_name="foo",log_type="infrastructure"}|json',
30+
'{kubernetes_namespace_name="default",kubernetes_pod_name="foo",log_type="infrastructure"}',
3331
)}&tenant=infrastructure`,
3432
query:
3533
`log:infrastructure:{kubernetes_namespace_name="default",` +
36-
`kubernetes_pod_name="foo",log_type="infrastructure"}|json`,
34+
`kubernetes_pod_name="foo",log_type="infrastructure"}`,
3735
},
3836
{
3937
url: `/k8s/ns/foo/pods/bar/aggregated-logs`,
40-
query: `log:application:{kubernetes_namespace_name="foo",kubernetes_pod_name="bar"}|json`,
38+
query: `log:application:{kubernetes_namespace_name="foo",kubernetes_pod_name="bar"}`,
4139
},
4240
{
4341
url: `/k8s/ns/kube/pods/bar/aggregated-logs`,
44-
query: `log:infrastructure:{kubernetes_namespace_name="kube",kubernetes_pod_name="bar"}|json`,
42+
query: `log:infrastructure:{kubernetes_namespace_name="kube",kubernetes_pod_name="bar"}`,
4543
},
4644
])('$url', ({ url, query }) => expect(LogNode.fromURL(url)?.toQuery()).toEqual(query));
4745
});
@@ -50,16 +48,15 @@ describe('LogNode.fromQuery', () => {
5048
it.each([
5149
{
5250
query:
53-
`log:infrastructure:{kubernetes_namespace_name="default",` +
54-
`kubernetes_pod_name="foo"}|json`,
51+
`log:infrastructure:{kubernetes_namespace_name="default",` + `kubernetes_pod_name="foo"}`,
5552
url: `monitoring/logs?q=${encodeURIComponent(
56-
'{kubernetes_namespace_name="default",kubernetes_pod_name="foo"}|json',
53+
'{kubernetes_namespace_name="default",kubernetes_pod_name="foo"}',
5754
)}&tenant=infrastructure`,
5855
},
5956
{
6057
query: 'log:infrastructure:{kubernetes_namespace_name="default",log_type="infrastructure"}',
6158
url: `monitoring/logs?q=${encodeURIComponent(
62-
'{kubernetes_namespace_name="default",log_type="infrastructure"}|json',
59+
'{kubernetes_namespace_name="default",log_type="infrastructure"}',
6360
)}&tenant=infrastructure`,
6461
},
6562
])('$query', ({ url, query }) => expect(LogNode.fromQuery(query)?.toURL()).toEqual(url));
@@ -72,7 +69,7 @@ describe('expected errors', () => {
7269
expected: 'Expected log URL: monitoring/log',
7370
},
7471
{
75-
url: 'monitoring/logs?q={kubernetes_namespace_name="default",kubernetes_pod_name="foo"}|json',
72+
url: 'monitoring/logs?q={kubernetes_namespace_name="default",kubernetes_pod_name="foo"}',
7673
expected: 'No log class found in URL',
7774
},
7875
])('error from url: $url', ({ url, expected }) => {

web/src/__tests__/node-factory.spec.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,9 @@ const testdata = [
4141
},
4242
{
4343
url: `monitoring/logs?q=${encodeURIComponent(
44-
'{kubernetes_namespace_name="default",log_type="infrastructure"}|json',
44+
'{kubernetes_namespace_name="default",log_type="infrastructure"}',
4545
)}&tenant=infrastructure`,
46-
query:
47-
'log:infrastructure:{kubernetes_namespace_name="default",log_type="infrastructure"}|json',
46+
query: 'log:infrastructure:{kubernetes_namespace_name="default",log_type="infrastructure"}',
4847
},
4948
];
5049

web/src/korrel8r/log.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@ enum LogClass {
77
audit = 'audit',
88
}
99

10-
const addJSON = (logQL: string): string => {
11-
return logQL.match(/\|json/) ? logQL : logQL + '|json';
12-
};
13-
1410
export class LogNode extends Korrel8rNode {
1511
logClass: LogClass;
1612
query: string;
@@ -34,7 +30,7 @@ export class LogNode extends Korrel8rNode {
3430
return new LogNode(
3531
url,
3632
`log:${logClass}:{kubernetes_namespace_name="${namespace}",` +
37-
`kubernetes_pod_name="${name}"}|json`,
33+
`kubernetes_pod_name="${name}"}`,
3834
logClass,
3935
);
4036
}
@@ -45,15 +41,15 @@ export class LogNode extends Korrel8rNode {
4541
params.get('tenant') || logQL?.match(/{[^}]*log_type(?:=~?)"([^"]+)"/)?.at(1);
4642
const logClass = LogClass[logClassStr as keyof typeof LogClass];
4743
if (!logClass) throw new NodeError(`No log class found in URL: ${url}`);
48-
return new LogNode(url, `log:${logClass}:${addJSON(logQL)}`, logClass);
44+
return new LogNode(url, `log:${logClass}:${logQL}`, logClass);
4945
}
5046

5147
static fromQuery(query: string): Korrel8rNode {
5248
const [clazz, logQL] = parseQuery('log', query);
5349
const logClass = LogClass[clazz as keyof typeof LogClass];
5450
if (!logClass) throw new NodeError(`Expected log class in query: ${query}`);
5551
return new LogNode(
56-
`monitoring/logs?q=${encodeURIComponent(`${addJSON(logQL)}`)}&tenant=${logClass}`,
52+
`monitoring/logs?q=${encodeURIComponent(`${logQL}`)}&tenant=${logClass}`,
5753
query,
5854
logClass,
5955
);

0 commit comments

Comments
 (0)