Skip to content

Commit 0af3f62

Browse files
authored
[7.x] [Logs UI] Load <LogStream> entries via async searches (#86899) (#90027)
Backports the following commits to 7.x: - [Logs UI] Load <LogStream> entries via async searches (#86899)
1 parent 0f1f3f1 commit 0af3f62

File tree

82 files changed

+1931
-2280
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1931
-2280
lines changed

x-pack/plugins/infra/common/graphql/types.ts

Lines changed: 0 additions & 337 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,6 @@ export interface InfraSource {
2828
configuration: InfraSourceConfiguration;
2929
/** The status of the source */
3030
status: InfraSourceStatus;
31-
/** A consecutive span of log entries surrounding a point in time */
32-
logEntriesAround: InfraLogEntryInterval;
33-
/** A consecutive span of log entries within an interval */
34-
logEntriesBetween: InfraLogEntryInterval;
35-
/** Sequences of log entries matching sets of highlighting queries within an interval */
36-
logEntryHighlights: InfraLogEntryInterval[];
3731

3832
/** A snapshot of nodes */
3933
snapshot?: InfraSnapshotResponse | null;
@@ -129,80 +123,6 @@ export interface InfraIndexField {
129123
/** Whether the field should be displayed based on event.module and a ECS allowed list */
130124
displayable: boolean;
131125
}
132-
/** A consecutive sequence of log entries */
133-
export interface InfraLogEntryInterval {
134-
/** The key corresponding to the start of the interval covered by the entries */
135-
start?: InfraTimeKey | null;
136-
/** The key corresponding to the end of the interval covered by the entries */
137-
end?: InfraTimeKey | null;
138-
/** Whether there are more log entries available before the start */
139-
hasMoreBefore: boolean;
140-
/** Whether there are more log entries available after the end */
141-
hasMoreAfter: boolean;
142-
/** The query the log entries were filtered by */
143-
filterQuery?: string | null;
144-
/** The query the log entries were highlighted with */
145-
highlightQuery?: string | null;
146-
/** A list of the log entries */
147-
entries: InfraLogEntry[];
148-
}
149-
/** A representation of the log entry's position in the event stream */
150-
export interface InfraTimeKey {
151-
/** The timestamp of the event that the log entry corresponds to */
152-
time: number;
153-
/** The tiebreaker that disambiguates events with the same timestamp */
154-
tiebreaker: number;
155-
}
156-
/** A log entry */
157-
export interface InfraLogEntry {
158-
/** A unique representation of the log entry's position in the event stream */
159-
key: InfraTimeKey;
160-
/** The log entry's id */
161-
gid: string;
162-
/** The source id */
163-
source: string;
164-
/** The columns used for rendering the log entry */
165-
columns: InfraLogEntryColumn[];
166-
}
167-
/** A special built-in column that contains the log entry's timestamp */
168-
export interface InfraLogEntryTimestampColumn {
169-
/** The id of the corresponding column configuration */
170-
columnId: string;
171-
/** The timestamp */
172-
timestamp: number;
173-
}
174-
/** A special built-in column that contains the log entry's constructed message */
175-
export interface InfraLogEntryMessageColumn {
176-
/** The id of the corresponding column configuration */
177-
columnId: string;
178-
/** A list of the formatted log entry segments */
179-
message: InfraLogMessageSegment[];
180-
}
181-
/** A segment of the log entry message that was derived from a field */
182-
export interface InfraLogMessageFieldSegment {
183-
/** The field the segment was derived from */
184-
field: string;
185-
/** The segment's message */
186-
value: string;
187-
/** A list of highlighted substrings of the value */
188-
highlights: string[];
189-
}
190-
/** A segment of the log entry message that was derived from a string literal */
191-
export interface InfraLogMessageConstantSegment {
192-
/** The segment's message */
193-
constant: string;
194-
}
195-
/** A column that contains the value of a field of the log entry */
196-
export interface InfraLogEntryFieldColumn {
197-
/** The id of the corresponding column configuration */
198-
columnId: string;
199-
/** The field name of the column */
200-
field: string;
201-
/** The value of the field in the log entry */
202-
value: string;
203-
/** A list of highlighted substrings of the value */
204-
highlights: string[];
205-
}
206126

207127
export interface InfraSnapshotResponse {
208128
/** Nodes of type host, container or pod grouped by 0, 1 or 2 terms */
@@ -276,21 +196,6 @@ export interface DeleteSourceResult {
276196
// InputTypes
277197
// ====================================================
278198

279-
export interface InfraTimeKeyInput {
280-
time: number;
281-
282-
tiebreaker: number;
283-
}
284-
/** A highlighting definition */
285-
export interface InfraLogEntryHighlightInput {
286-
/** The query to highlight by */
287-
query: string;
288-
/** The number of highlighted documents to include beyond the beginning of the interval */
289-
countBefore: number;
290-
/** The number of highlighted documents to include beyond the end of the interval */
291-
countAfter: number;
292-
}
293-
294199
export interface InfraTimerangeInput {
295200
/** The interval string to use for last bucket. The format is '{value}{unit}'. For example '5m' would return the metrics for the last 5 minutes of the timespan. */
296201
interval: string;
@@ -381,34 +286,6 @@ export interface SourceQueryArgs {
381286
/** The id of the source */
382287
id: string;
383288
}
384-
export interface LogEntriesAroundInfraSourceArgs {
385-
/** The sort key that corresponds to the point in time */
386-
key: InfraTimeKeyInput;
387-
/** The maximum number of preceding to return */
388-
countBefore?: number | null;
389-
/** The maximum number of following to return */
390-
countAfter?: number | null;
391-
/** The query to filter the log entries by */
392-
filterQuery?: string | null;
393-
}
394-
export interface LogEntriesBetweenInfraSourceArgs {
395-
/** The sort key that corresponds to the start of the interval */
396-
startKey: InfraTimeKeyInput;
397-
/** The sort key that corresponds to the end of the interval */
398-
endKey: InfraTimeKeyInput;
399-
/** The query to filter the log entries by */
400-
filterQuery?: string | null;
401-
}
402-
export interface LogEntryHighlightsInfraSourceArgs {
403-
/** The sort key that corresponds to the start of the interval */
404-
startKey: InfraTimeKeyInput;
405-
/** The sort key that corresponds to the end of the interval */
406-
endKey: InfraTimeKeyInput;
407-
/** The query to filter the log entries by */
408-
filterQuery?: string | null;
409-
/** The highlighting to apply to the log entries */
410-
highlights: InfraLogEntryHighlightInput[];
411-
}
412289
export interface SnapshotInfraSourceArgs {
413290
timerange: InfraTimerangeInput;
414291

@@ -565,15 +442,6 @@ export type InfraSourceLogColumn =
565442
| InfraSourceMessageLogColumn
566443
| InfraSourceFieldLogColumn;
567444

568-
/** A column of a log entry */
569-
export type InfraLogEntryColumn =
570-
| InfraLogEntryTimestampColumn
571-
| InfraLogEntryMessageColumn
572-
| InfraLogEntryFieldColumn;
573-
574-
/** A segment of the log entry message */
575-
export type InfraLogMessageSegment = InfraLogMessageFieldSegment | InfraLogMessageConstantSegment;
576-
577445
// ====================================================
578446
// END: Typescript template
579447
// ====================================================
@@ -582,46 +450,6 @@ export type InfraLogMessageSegment = InfraLogMessageFieldSegment | InfraLogMessa
582450
// Documents
583451
// ====================================================
584452

585-
export namespace LogEntryHighlightsQuery {
586-
export type Variables = {
587-
sourceId?: string | null;
588-
startKey: InfraTimeKeyInput;
589-
endKey: InfraTimeKeyInput;
590-
filterQuery?: string | null;
591-
highlights: InfraLogEntryHighlightInput[];
592-
};
593-
594-
export type Query = {
595-
__typename?: 'Query';
596-
597-
source: Source;
598-
};
599-
600-
export type Source = {
601-
__typename?: 'InfraSource';
602-
603-
id: string;
604-
605-
logEntryHighlights: LogEntryHighlights[];
606-
};
607-
608-
export type LogEntryHighlights = {
609-
__typename?: 'InfraLogEntryInterval';
610-
611-
start?: Start | null;
612-
613-
end?: End | null;
614-
615-
entries: Entries[];
616-
};
617-
618-
export type Start = InfraTimeKeyFields.Fragment;
619-
620-
export type End = InfraTimeKeyFields.Fragment;
621-
622-
export type Entries = InfraLogEntryHighlightFields.Fragment;
623-
}
624-
625453
export namespace MetricsQuery {
626454
export type Variables = {
627455
sourceId: string;
@@ -820,50 +648,6 @@ export namespace WaffleNodesQuery {
820648
};
821649
}
822650

823-
export namespace LogEntries {
824-
export type Variables = {
825-
sourceId?: string | null;
826-
timeKey: InfraTimeKeyInput;
827-
countBefore?: number | null;
828-
countAfter?: number | null;
829-
filterQuery?: string | null;
830-
};
831-
832-
export type Query = {
833-
__typename?: 'Query';
834-
835-
source: Source;
836-
};
837-
838-
export type Source = {
839-
__typename?: 'InfraSource';
840-
841-
id: string;
842-
843-
logEntriesAround: LogEntriesAround;
844-
};
845-
846-
export type LogEntriesAround = {
847-
__typename?: 'InfraLogEntryInterval';
848-
849-
start?: Start | null;
850-
851-
end?: End | null;
852-
853-
hasMoreBefore: boolean;
854-
855-
hasMoreAfter: boolean;
856-
857-
entries: Entries[];
858-
};
859-
860-
export type Start = InfraTimeKeyFields.Fragment;
861-
862-
export type End = InfraTimeKeyFields.Fragment;
863-
864-
export type Entries = InfraLogEntryFields.Fragment;
865-
}
866-
867651
export namespace SourceConfigurationFields {
868652
export type Fragment = {
869653
__typename?: 'InfraSourceConfiguration';
@@ -994,124 +778,3 @@ export namespace InfraSourceFields {
994778
origin: string;
995779
};
996780
}
997-
998-
export namespace InfraLogEntryFields {
999-
export type Fragment = {
1000-
__typename?: 'InfraLogEntry';
1001-
1002-
gid: string;
1003-
1004-
key: Key;
1005-
1006-
columns: Columns[];
1007-
};
1008-
1009-
export type Key = {
1010-
__typename?: 'InfraTimeKey';
1011-
1012-
time: number;
1013-
1014-
tiebreaker: number;
1015-
};
1016-
1017-
export type Columns =
1018-
| InfraLogEntryTimestampColumnInlineFragment
1019-
| InfraLogEntryMessageColumnInlineFragment
1020-
| InfraLogEntryFieldColumnInlineFragment;
1021-
1022-
export type InfraLogEntryTimestampColumnInlineFragment = {
1023-
__typename?: 'InfraLogEntryTimestampColumn';
1024-
1025-
columnId: string;
1026-
1027-
timestamp: number;
1028-
};
1029-
1030-
export type InfraLogEntryMessageColumnInlineFragment = {
1031-
__typename?: 'InfraLogEntryMessageColumn';
1032-
1033-
columnId: string;
1034-
1035-
message: Message[];
1036-
};
1037-
1038-
export type Message =
1039-
| InfraLogMessageFieldSegmentInlineFragment
1040-
| InfraLogMessageConstantSegmentInlineFragment;
1041-
1042-
export type InfraLogMessageFieldSegmentInlineFragment = {
1043-
__typename?: 'InfraLogMessageFieldSegment';
1044-
1045-
field: string;
1046-
1047-
value: string;
1048-
};
1049-
1050-
export type InfraLogMessageConstantSegmentInlineFragment = {
1051-
__typename?: 'InfraLogMessageConstantSegment';
1052-
1053-
constant: string;
1054-
};
1055-
1056-
export type InfraLogEntryFieldColumnInlineFragment = {
1057-
__typename?: 'InfraLogEntryFieldColumn';
1058-
1059-
columnId: string;
1060-
1061-
field: string;
1062-
1063-
value: string;
1064-
};
1065-
}
1066-
1067-
export namespace InfraLogEntryHighlightFields {
1068-
export type Fragment = {
1069-
__typename?: 'InfraLogEntry';
1070-
1071-
gid: string;
1072-
1073-
key: Key;
1074-
1075-
columns: Columns[];
1076-
};
1077-
1078-
export type Key = {
1079-
__typename?: 'InfraTimeKey';
1080-
1081-
time: number;
1082-
1083-
tiebreaker: number;
1084-
};
1085-
1086-
export type Columns =
1087-
| InfraLogEntryMessageColumnInlineFragment
1088-
| InfraLogEntryFieldColumnInlineFragment;
1089-
1090-
export type InfraLogEntryMessageColumnInlineFragment = {
1091-
__typename?: 'InfraLogEntryMessageColumn';
1092-
1093-
columnId: string;
1094-
1095-
message: Message[];
1096-
};
1097-
1098-
export type Message = InfraLogMessageFieldSegmentInlineFragment;
1099-
1100-
export type InfraLogMessageFieldSegmentInlineFragment = {
1101-
__typename?: 'InfraLogMessageFieldSegment';
1102-
1103-
field: string;
1104-
1105-
highlights: string[];
1106-
};
1107-
1108-
export type InfraLogEntryFieldColumnInlineFragment = {
1109-
__typename?: 'InfraLogEntryFieldColumn';
1110-
1111-
columnId: string;
1112-
1113-
field: string;
1114-
1115-
highlights: string[];
1116-
};
1117-
}

x-pack/plugins/infra/common/http_api/log_sources/log_source_configuration.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ export const logSourceColumnConfigurationRT = rt.union([
5353
logSourceMessageColumnConfigurationRT,
5454
logSourceFieldColumnConfigurationRT,
5555
]);
56+
export type LogSourceColumnConfiguration = rt.TypeOf<typeof logSourceColumnConfigurationRT>;
5657

5758
export const logSourceConfigurationPropertiesRT = rt.strict({
5859
name: rt.string,

0 commit comments

Comments
 (0)