Skip to content

Commit

Permalink
[APM] Separate count/retainment telemetry requests (#63225)
Browse files Browse the repository at this point in the history
Separate count/retainment telemetry requests to make them less prone to timing out.

Co-authored-by: Elastic Machine <[email protected]>
  • Loading branch information
dgieselaar and elasticmachine authored Apr 13, 2020
1 parent c7f61f9 commit 36b4ad9
Showing 1 changed file with 29 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,10 @@ export const tasks: TelemetryTask[] = [
return prevJob.then(async data => {
const { processorEvent, timeRange } = current;

const response = await search({
const totalHitsResponse = await search({
index: indicesByProcessorEvent[processorEvent],
body: {
size: 1,
size: 0,
query: {
bool: {
filter: [
Expand All @@ -83,25 +83,43 @@ export const tasks: TelemetryTask[] = [
]
}
},
sort: {
'@timestamp': 'asc'
},
_source: ['@timestamp'],
track_total_hits: true
}
});

const event = response.hits.hits[0]?._source as {
'@timestamp': number;
};
const retainmentResponse =
timeRange === 'all'
? await search({
index: indicesByProcessorEvent[processorEvent],
body: {
query: {
bool: {
filter: [
{ term: { [PROCESSOR_EVENT]: processorEvent } }
]
}
},
sort: {
'@timestamp': 'asc'
},
_source: ['@timestamp']
}
})
: null;

const event = retainmentResponse?.hits.hits[0]?._source as
| {
'@timestamp': number;
}
| undefined;

return merge({}, data, {
counts: {
[processorEvent]: {
[timeRange]: response.hits.total.value
[timeRange]: totalHitsResponse.hits.total.value
}
},
...(timeRange === 'all' && event
...(event
? {
retainment: {
[processorEvent]: {
Expand Down

0 comments on commit 36b4ad9

Please sign in to comment.