Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚧 WIP 🚧 Replace _source in the APM queries #192608

Closed
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
45ff639
WIP Replace _source in the APM queries
jennypavlova Sep 11, 2024
b082ebd
Add fields to some queries
jennypavlova Sep 11, 2024
e3ca03e
lint fixes
jennypavlova Sep 11, 2024
91a5bbc
Convert more queries
jennypavlova Sep 12, 2024
73a5731
Add types and more _source changes
jennypavlova Sep 12, 2024
0354d3a
Agent name query _source to fields
jennypavlova Sep 12, 2024
8d921bb
Change _source to fields
jennypavlova Sep 16, 2024
8e5614c
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Sep 16, 2024
a9474cd
Add fields to snapshots
jennypavlova Sep 16, 2024
a246c31
Type fixes
jennypavlova Sep 16, 2024
53dabf7
Snapshot update
jennypavlova Sep 16, 2024
55ea137
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Sep 16, 2024
638b1cc
Error fix
jennypavlova Sep 17, 2024
00d88b5
Add undefined check
jennypavlova Sep 17, 2024
02ef2f5
Use observer version field
jennypavlova Sep 26, 2024
bb8c710
Remove _source
jennypavlova Sep 26, 2024
536773d
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Sep 26, 2024
32c2a59
Fix normalizeFields and replace _source
jennypavlova Sep 27, 2024
2a67dc9
Service runtime name workaround
jennypavlova Sep 27, 2024
03a86d9
'dependency metadata' mappings
miloszmarcinkowski Sep 18, 2024
2e97e81
'dependency spans' mapping
miloszmarcinkowski Sep 18, 2024
a6244f5
`span` mappings
miloszmarcinkowski Sep 19, 2024
cb9f1d4
`span links` mappings
miloszmarcinkowski Sep 19, 2024
0b86fc2
replace field keys with TS constants
miloszmarcinkowski Sep 20, 2024
f54e2b3
'transaction' mapping
miloszmarcinkowski Sep 20, 2024
37dd831
'trace items' mappings
miloszmarcinkowski Sep 20, 2024
8e55406
'error group main statistics' mapping
miloszmarcinkowski Sep 20, 2024
0cabafb
'error sample details' mapping
miloszmarcinkowski Sep 20, 2024
f5e627c
'service metadata' mapping
miloszmarcinkowski Sep 20, 2024
c52ddfd
'metadata and service version' mappings
miloszmarcinkowski Sep 23, 2024
e77d9a4
'service agent name' mappings
miloszmarcinkowski Sep 23, 2024
f8f9b78
add fields to Span mapping
miloszmarcinkowski Sep 25, 2024
3eac633
remove unused properties in Span mapping
miloszmarcinkowski Sep 26, 2024
d467a38
improve name consistency in mapping functions
miloszmarcinkowski Sep 26, 2024
ac07c73
remove unused fields from 'service instance metadata details'
miloszmarcinkowski Sep 27, 2024
cef6b68
Update snapshots
jennypavlova Sep 27, 2024
2e26dc5
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Sep 27, 2024
8666c00
add check against undefined
miloszmarcinkowski Sep 27, 2024
8a66ac7
Fix metadata icon tooltips
jennypavlova Sep 27, 2024
5dbdbc4
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Sep 27, 2024
06545b5
added span-link normalization and fixed errors in getTransaction
bryce-b Sep 25, 2024
a08ef93
fix service metadata endpoints
bryce-b Sep 26, 2024
f156559
PR feedback fix
bryce-b Sep 27, 2024
e7da158
Make _source optional
jennypavlova Sep 27, 2024
45f6285
Error changes
jennypavlova Sep 27, 2024
0c6a4cb
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Sep 27, 2024
4372e43
Add comment for the error id issue
jennypavlova Sep 27, 2024
2ef8527
added mapping for metadata_details
bryce-b Sep 27, 2024
004f587
fixed kubernetes check in metadata mappings
bryce-b Sep 27, 2024
354d821
use one mapping for metadata details
miloszmarcinkowski Sep 30, 2024
aebea67
update 'todo' and processor_name typo
miloszmarcinkowski Sep 30, 2024
60e4870
Remove error fields changes
jennypavlova Sep 30, 2024
fe9be17
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Sep 30, 2024
3f99bae
Merge branch '192749-refactor-the-normalize-function-into-per-data-st…
miloszmarcinkowski Sep 30, 2024
b4c5a95
Merge pull request #2 from bryce-b/192749-refactor-the-normalize-func…
miloszmarcinkowski Sep 30, 2024
9d040cf
Merge remote-tracking branch 'jennypavlova/192606-poc-otel-data-with-…
miloszmarcinkowski Sep 30, 2024
e4fac40
add `container` mapping
miloszmarcinkowski Sep 30, 2024
634b899
Merge pull request #6 from miloszmarcinkowski/192749-refactor-the-nor…
jennypavlova Sep 30, 2024
9438e85
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Sep 30, 2024
850b331
[CI] Auto-commit changed files from 'node scripts/yarn_deduplicate'
kibanamachine Sep 30, 2024
12ad0a5
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Sep 30, 2024
9bcb917
Remove LABEL_SOME_RESOURCE_ATTRIBUTE
jennypavlova Sep 30, 2024
12dffee
getMetadataForDependency: Use SPAN_TYPE and SPAN_SUBTYPE instead of a…
jennypavlova Sep 30, 2024
8bcec36
Fix: Use span links mapping and fix undefined error
jennypavlova Sep 30, 2024
05acbbb
getServiceInstanceContainerMetadata: restrict fields to kubernetes
jennypavlova Sep 30, 2024
51b0f0b
getServiceInstanceMetadataDetails: restrict fields in the query
jennypavlova Sep 30, 2024
4d866bb
Restrict fields to the expected once in the transactionMapping
jennypavlova Sep 30, 2024
f9b8b23
Restrict fields for span and transaction
jennypavlova Sep 30, 2024
ba589cd
Update test snapshot to include the fields changes
jennypavlova Sep 30, 2024
e8362c3
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Sep 30, 2024
65a3580
Revert error changes
jennypavlova Oct 1, 2024
d11b7e4
Handle optional values
jennypavlova Oct 1, 2024
0a98a64
Extract mapping logic and share common parts
jennypavlova Oct 1, 2024
c7eeaa0
Revert entity endpoint change
jennypavlova Oct 1, 2024
3dd2acb
Replace and remove normalizeFields function
jennypavlova Oct 1, 2024
e5b99df
Set strict date to the fields test and update snapshot
jennypavlova Oct 1, 2024
cc592fb
Fix todos
jennypavlova Oct 1, 2024
d069d97
CR changed
jennypavlova Oct 1, 2024
fe06eb5
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Oct 1, 2024
cf86079
[CI] Auto-commit changed files from 'node scripts/yarn_deduplicate'
kibanamachine Oct 1, 2024
d4b4a83
Fix timestamp
jennypavlova Oct 2, 2024
8a27f0d
Merge branch '192606-poc-otel-data-with-apm-ui-replacing-_source-with…
jennypavlova Oct 2, 2024
95f2cf7
Use string for timestamp in the tests
jennypavlova Oct 2, 2024
7a34150
Fix getDownstreamServiceResource fields value
jennypavlova Oct 2, 2024
d7d4372
Revert errors to use source
jennypavlova Oct 2, 2024
f083497
Revert normalizeValue change
jennypavlova Oct 2, 2024
ec61907
Revert span links change
jennypavlova Oct 2, 2024
7142a51
CR and diskussions fixed
jennypavlova Oct 2, 2024
1a99043
Refactor mappers
jennypavlova Oct 2, 2024
630c6d0
Merge branch 'main' into 192606-poc-otel-data-with-apm-ui-replacing-_…
jennypavlova Oct 2, 2024
57338e1
[CI] Auto-commit changed files from 'node scripts/eslint --no-cache -…
kibanamachine Oct 2, 2024
d543e39
Use SPAN_LINKS from _sources
crespocarlos Oct 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export interface ResponseHitSource {

export interface ResponseHit {
_source: ResponseHitSource;
jennypavlova marked this conversation as resolved.
Show resolved Hide resolved
fields: ResponseHitSource;
}

export interface CommonCorrelationsQueryParams {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,8 @@ function getErrorItem(
const errorItem: IWaterfallError = {
docType: 'error',
doc: error,
id: error.error.id,
// TODO FIX ME
id: error?.error?.id ?? '',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are these needed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because of the blocker here - the error id in the Otel PoC data is missing currently. I will update it once it is fixed and I added it to unblock the testing of the other parts

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I linked the issue in a comment

parent,
parentId: parent?.id,
offset: error.timestamp.us - entryTimestamp,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import { createHash } from 'crypto';
import { flatten, merge, pickBy, sortBy, sum, uniq } from 'lodash';
import { SavedObjectsClient } from '@kbn/core/server';
import type { APMIndices } from '@kbn/apm-data-access-plugin/server';
import { normalizeFields } from '../../../utils/normalize_fields';
import { AGENT_NAMES, RUM_AGENT_NAMES } from '../../../../common/agent_name';
import {
AGENT_ACTIVATION_METHOD,
Expand Down Expand Up @@ -690,10 +691,14 @@ export const tasks: TelemetryTask[] = [
sort: {
'@timestamp': 'desc',
},
fields: ['*'],
jennypavlova marked this conversation as resolved.
Show resolved Hide resolved
},
});

const hit = response.hits.hits[0]?._source as Pick<Transaction | Span | APMError, 'observer'>;
const hit = normalizeFields(response.hits.hits[0]?.fields) as Pick<
Transaction | Span | APMError,
'observer'
>;

if (!hit || !hit.observer?.version) {
return {};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,10 @@ export async function getDownstreamServiceResource({
],
},
},
fields: ['span.destination.service'],
jennypavlova marked this conversation as resolved.
Show resolved Hide resolved
},
});

const hit = response.hits.hits[0];
return hit?._source?.span.destination?.service.resource;
return hit?.fields?.['span.destination?.service?.resource']?.[0] as string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question marks here in the string need to be removed and the type should be string | undefined presumably?

}
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@

import { rangeQuery } from '@kbn/observability-plugin/server';
import { ProcessorEvent } from '@kbn/observability-plugin/common';
import type { Span } from '@kbn/apm-types/es_schemas_ui';
import { maybe } from '../../../common/utils/maybe';
import { SPAN_DESTINATION_SERVICE_RESOURCE } from '../../../common/es_fields/apm';
import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client';
import { normalizeFields } from '../../utils/normalize_fields';

export interface MetadataForDependencyResponse {
spanType: string | undefined;
Expand Down Expand Up @@ -46,16 +48,18 @@ export async function getMetadataForDependency({
],
},
},
fields: ['*'],
jennypavlova marked this conversation as resolved.
Show resolved Hide resolved
sort: {
'@timestamp': 'desc',
},
},
});

const sample = maybe(sampleResponse.hits.hits[0])?._source;
const sample = maybe(sampleResponse.hits.hits[0])?.fields;
const sampleNorm = sample ? (normalizeFields(sample) as unknown as Span) : null;

return {
spanType: sample?.span.type,
spanSubtype: sample?.span.subtype,
spanType: sampleNorm?.span.type,
spanSubtype: sampleNorm?.span.subtype,
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import { ProcessorEvent } from '@kbn/observability-plugin/common';
import { kqlQuery, rangeQuery, termQuery, termsQuery } from '@kbn/observability-plugin/server';
import { keyBy } from 'lodash';
import { Span } from '@kbn/apm-types/es_schemas_ui';
import type { TransactionRaw } from '@kbn/apm-types/es_schemas_raw';
import {
AGENT_NAME,
EVENT_OUTCOME,
Expand All @@ -28,6 +30,7 @@ import { environmentQuery } from '../../../common/utils/environment_query';
import { maybe } from '../../../common/utils/maybe';
import { AgentName } from '../../../typings/es_schemas/ui/fields/agent';
import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client';
import { normalizeFields } from '../../utils/normalize_fields';

const MAX_NUM_SPANS = 1000;

Expand Down Expand Up @@ -110,9 +113,21 @@ export async function getTopDependencySpans({
EVENT_OUTCOME,
'@timestamp',
],
fields: [
jennypavlova marked this conversation as resolved.
Show resolved Hide resolved
SPAN_ID,
TRACE_ID,
TRANSACTION_ID,
SPAN_NAME,
SERVICE_NAME,
SERVICE_ENVIRONMENT,
AGENT_NAME,
SPAN_DURATION,
EVENT_OUTCOME,
'@timestamp',
],
},
})
).hits.hits.map((hit) => hit._source);
).hits.hits.map((hit) => normalizeFields(hit?.fields) as unknown as Span);

const transactionIds = spans.map((span) => span.transaction!.id);

Expand All @@ -130,12 +145,13 @@ export async function getTopDependencySpans({
},
},
_source: [TRANSACTION_ID, TRANSACTION_TYPE, TRANSACTION_NAME],
fields: [TRANSACTION_ID, TRANSACTION_TYPE, TRANSACTION_NAME],
sort: {
'@timestamp': 'desc',
},
},
})
).hits.hits.map((hit) => hit._source);
).hits.hits.map((hit) => normalizeFields(hit.fields) as unknown as TransactionRaw);

const transactionsById = keyBy(transactions, (transaction) => transaction.transaction.id);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import { environmentQuery } from '../../../common/utils/environment_query';
import { EntitiesESClient } from '../../lib/helpers/create_es_client/create_entities_es_client/create_entities_es_client';
import { entitiesRangeQuery } from './get_entities';
import { EntityLatestServiceRaw, EntityType } from './types';
import { normalizeFields } from '../../utils/normalize_fields';

export async function getEntityLatestServices({
entitiesESClient,
Expand All @@ -41,6 +42,7 @@ export async function getEntityLatestServices({
size,
track_total_hits: false,
_source: [AGENT_NAME, ENTITY, DATA_STEAM_TYPE, SERVICE_NAME, SERVICE_ENVIRONMENT],
fields: [AGENT_NAME, ENTITY, DATA_STEAM_TYPE, SERVICE_NAME, SERVICE_ENVIRONMENT],
query: {
bool: {
filter: [
Expand All @@ -54,7 +56,7 @@ export async function getEntityLatestServices({
},
},
})
).hits.hits.map((hit) => hit._source);
).hits.hits.map((hit) => normalizeFields(hit?.fields) as unknown as EntityLatestServiceRaw);

return latestEntityServices;
}
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ async function getTopErroneousTransactions({
top_hits: {
size: 1,
_source: [TRANSACTION_TYPE],
fields: [TRANSACTION_TYPE],
},
},
timeseries: {
Expand All @@ -117,7 +118,7 @@ async function getTopErroneousTransactions({
({ key, doc_count: docCount, sample, timeseries }) => {
return {
transactionName: key as string,
transactionType: sample.hits.hits[0]._source.transaction?.type,
transactionType: sample.hits.hits[0].fields?.['transaction.type']?.[0],
occurrences: docCount,
timeseries: timeseries.buckets.map((timeseriesBucket) => {
return {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

import { AggregationsAggregateOrder } from '@elastic/elasticsearch/lib/api/types';
import { kqlQuery, rangeQuery, termQuery, wildcardQuery } from '@kbn/observability-plugin/server';
import type { ErrorRaw } from '@kbn/apm-types/es_schemas_raw';
import { normalizeFields } from '../../../utils/normalize_fields';
import {
ERROR_CULPRIT,
ERROR_EXC_HANDLED,
Expand Down Expand Up @@ -139,6 +141,16 @@ export async function getErrorGroupMainStatistics({
ERROR_GROUP_ID,
'@timestamp',
],
fields: [
TRACE_ID,
ERROR_LOG_MESSAGE,
ERROR_EXC_MESSAGE,
ERROR_EXC_HANDLED,
ERROR_EXC_TYPE,
ERROR_CULPRIT,
ERROR_GROUP_ID,
'@timestamp',
],
sort: {
'@timestamp': 'desc',
},
Expand All @@ -157,15 +169,17 @@ export async function getErrorGroupMainStatistics({

const errorGroups =
response.aggregations?.error_groups.buckets.map((bucket) => {
const fields = bucket.sample.hits.hits[0]?.fields;
const fieldsNorm = normalizeFields(fields) as unknown as ErrorRaw;
return {
groupId: bucket.key as string,
name: getErrorName(bucket.sample.hits.hits[0]._source),
lastSeen: new Date(bucket.sample.hits.hits[0]._source['@timestamp']).getTime(),
name: getErrorName(fieldsNorm),
lastSeen: new Date(fieldsNorm['@timestamp']).getTime(),
occurrences: bucket.doc_count,
culprit: bucket.sample.hits.hits[0]._source.error.culprit,
handled: bucket.sample.hits.hits[0]._source.error.exception?.[0].handled,
type: bucket.sample.hits.hits[0]._source.error.exception?.[0].type,
traceId: bucket.sample.hits.hits[0]._source.trace?.id,
culprit: fieldsNorm.error.culprit,
handled: fieldsNorm.error.exception?.[0]?.handled,
type: fieldsNorm.error.exception?.[0]?.type,
traceId: fieldsNorm.trace?.id,
};
}) ?? [];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,15 +67,15 @@ export async function getErrorGroupSampleIds({
},
},
_source: [ERROR_ID, 'transaction'],
fields: [ERROR_ID, 'transaction'],
jennypavlova marked this conversation as resolved.
Show resolved Hide resolved
sort: asMutableArray([
{ _score: { order: 'desc' } }, // sort by _score first to ensure that errors with transaction.sampled:true ends up on top
{ '@timestamp': { order: 'desc' } }, // sort by timestamp to get the most recent error
] as const),
},
});
const errorSampleIds = resp.hits.hits.map((item) => {
const source = item._source;
return source.error.id;
return item.fields['error.id']?.[0] as string;
});

return {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
*/

import { rangeQuery, kqlQuery } from '@kbn/observability-plugin/server';
import { normalizeFields } from '../../../utils/normalize_fields';
import { ERROR_ID, SERVICE_NAME } from '../../../../common/es_fields/apm';
import { environmentQuery } from '../../../../common/utils/environment_query';
import { ApmDocumentType } from '../../../../common/document_type';
Expand Down Expand Up @@ -60,13 +61,16 @@ export async function getErrorSampleDetails({
],
},
},
fields: ['*'],
},
};

const resp = await apmEventClient.search('get_error_sample_details', params);
const error = resp.hits.hits[0]?._source;
const transactionId = error?.transaction?.id;
const traceId = error?.trace?.id;

// const error = resp.hits.hits[0]?.fields;
const errorNorm = normalizeFields(resp.hits.hits[0]?.fields) as unknown as APMError;
const transactionId = errorNorm?.transaction?.id;
const traceId = errorNorm?.trace?.id;

let transaction;
if (transactionId && traceId) {
Expand All @@ -81,6 +85,6 @@ export async function getErrorSampleDetails({

return {
transaction,
error,
error: errorNorm,
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import {
} from '../../../common/es_fields/apm';
import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client';
import { getServerlessTypeFromCloudData, ServerlessType } from '../../../common/serverless';
import { normalizeFields } from '../../utils/normalize_fields';

interface ServiceAgent {
agent?: {
Expand Down Expand Up @@ -90,6 +91,7 @@ export async function getServiceAgent({
],
},
},
fields: [AGENT_NAME, SERVICE_RUNTIME_NAME, CLOUD_PROVIDER, CLOUD_SERVICE_NAME],
sort: {
_score: { order: 'desc' as const },
},
Expand All @@ -101,7 +103,7 @@ export async function getServiceAgent({
return {};
}

const { agent, service, cloud } = response.hits.hits[0]._source as ServiceAgent;
const { agent, service, cloud } = normalizeFields(response.hits.hits[0].fields) as ServiceAgent;
const serverlessType = getServerlessTypeFromCloudData(cloud?.provider, cloud?.service?.name);

return {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import { Container } from '../../../typings/es_schemas/raw/fields/container';
import { Kubernetes } from '../../../typings/es_schemas/raw/fields/kubernetes';
import { Host } from '../../../typings/es_schemas/raw/fields/host';
import { Cloud } from '../../../typings/es_schemas/raw/fields/cloud';
import { normalizeFields } from '../../utils/normalize_fields';

export interface ServiceInstanceMetadataDetailsResponse {
'@timestamp': string;
Expand Down Expand Up @@ -66,11 +67,16 @@ export async function getServiceInstanceMetadataDetails({
filter: filter.concat({ term: { [METRICSET_NAME]: 'app' } }),
},
},
fields: ['*'],
AlexanderWert marked this conversation as resolved.
Show resolved Hide resolved
},
}
);

return maybe(response.hits.hits[0]?._source);
return maybe(
normalizeFields(
response.hits.hits[0]?.fields
) as unknown as ServiceInstanceMetadataDetailsResponse
);
}

async function getTransactionEventSample() {
Expand All @@ -85,11 +91,12 @@ export async function getServiceInstanceMetadataDetails({
terminate_after: 1,
size: 1,
query: { bool: { filter } },
fields: ['*'],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe make fields explicit?

},
}
);

return maybe(response.hits.hits[0]?._source);
return maybe(normalizeFields(response.hits.hits[0]?.fields));
}

async function getTransactionMetricSample() {
Expand All @@ -108,10 +115,11 @@ export async function getServiceInstanceMetadataDetails({
filter: filter.concat(getBackwardCompatibleDocumentTypeFilter(true)),
},
},
fields: ['*'],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make fields explicit

},
}
);
return maybe(response.hits.hits[0]?._source);
return maybe(normalizeFields(response.hits.hits[0]?.fields));
}

// we can expect the most detail of application metrics,
Expand Down
Loading