mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 18:51:07 -04:00
[APM] Remove enableContinuousRollups
setting and enable it by default (#219054)
## Summary Part of #218501 This PR removes the advanced setting `observability:enableContinuousRollups` and enables the feature by default
This commit is contained in:
parent
852966c73d
commit
74408094ba
20 changed files with 5 additions and 120 deletions
|
@ -309,9 +309,6 @@ $$$apm-aws-price$$$`observability:apmAWSLambdaPriceFactor`
|
|||
$$$apm-aws-request$$$`observability:apmAWSLambdaRequestCostPerMillion`
|
||||
: Set the AWS Lambda cost per million requests.
|
||||
|
||||
$$$apm-continuous-rollups$$$`observability:apmEnableContinuousRollups`
|
||||
: [beta] When continuous rollups is enabled, the UI will select metrics with the appropriate resolution. On larger time ranges, lower resolution metrics will be used, which will improve loading times.
|
||||
|
||||
$$$observability-apm-labs$$$`observability:apmLabsButton`
|
||||
: Enable or disable the APM Labs button — a quick way to enable and disable technical preview features in APM.
|
||||
|
||||
|
|
|
@ -120,8 +120,6 @@ export const OBSERVABILITY_ENABLE_INSPECT_ES_QUERIES_ID = 'observability:enableI
|
|||
export const OBSERVABILITY_MAX_SUGGESTIONS_ID = 'observability:maxSuggestions';
|
||||
export const OBSERVABILITY_PROFILING_ELASTICSEARCH_PLUGIN_ID =
|
||||
'observability:profilingElasticsearchPlugin';
|
||||
export const OBSERVABILITY_APM_ENABLE_CONTINUOUS_ROLLUPS_ID =
|
||||
'observability:apmEnableContinuousRollups';
|
||||
export const OBSERVABILITY_APM_ENABLE_PROFILING_INTEGRATION_ID =
|
||||
'observability:apmEnableProfilingIntegration';
|
||||
export const OBSERVABILITY_APM_ENABLE_TABLE_SEARCH_BAR = 'observability:apmEnableTableSearchBar';
|
||||
|
|
|
@ -19,7 +19,6 @@ export const OBSERVABILITY_PROJECT_SETTINGS = [
|
|||
settings.OBSERVABILITY_APM_LABS_BUTTON_ID,
|
||||
settings.OBSERVABILITY_APM_AWS_LAMBDA_PRICE_FACTOR_ID,
|
||||
settings.OBSERVABILITY_APM_AWS_LAMBDA_REQUEST_COST_PER_MILLION_ID,
|
||||
settings.OBSERVABILITY_APM_ENABLE_CONTINUOUS_ROLLUPS_ID,
|
||||
settings.OBSERVABILITY_APM_PROGRESSIVE_LOADING_ID,
|
||||
settings.OBSERVABILITY_APM_TRACE_EXPLORER_TAB_ID,
|
||||
settings.OBSERVABILITY_ENABLE_INFRASTRUCTURE_ASSET_CUSTOM_DASHBOARDS_ID,
|
||||
|
|
|
@ -456,10 +456,6 @@ export const stackManagementSchema: MakeSchemaFrom<UsageStats> = {
|
|||
type: 'boolean',
|
||||
_meta: { description: 'Non-default value of setting.' },
|
||||
},
|
||||
'observability:apmEnableContinuousRollups': {
|
||||
type: 'boolean',
|
||||
_meta: { description: 'Non-default value of setting.' },
|
||||
},
|
||||
'observability:apmEnableTableSearchBar': {
|
||||
type: 'boolean',
|
||||
_meta: { description: 'Non-default value of setting.' },
|
||||
|
|
|
@ -40,7 +40,6 @@ export interface UsageStats {
|
|||
'observability:maxSuggestions': number;
|
||||
'observability:enableComparisonByDefault': boolean;
|
||||
'observability:enableServiceGroups': boolean;
|
||||
'observability:apmEnableContinuousRollups': boolean;
|
||||
'observability:apmAWSLambdaPriceFactor': string;
|
||||
'observability:apmAWSLambdaRequestCostPerMillion': number;
|
||||
'observability:enableInfrastructureProfilingIntegration': boolean;
|
||||
|
|
|
@ -11244,12 +11244,6 @@
|
|||
"description": "Non-default value of setting."
|
||||
}
|
||||
},
|
||||
"observability:apmEnableContinuousRollups": {
|
||||
"type": "boolean",
|
||||
"_meta": {
|
||||
"description": "Non-default value of setting."
|
||||
}
|
||||
},
|
||||
"observability:apmEnableTableSearchBar": {
|
||||
"type": "boolean",
|
||||
"_meta": {
|
||||
|
|
|
@ -31872,8 +31872,6 @@
|
|||
"xpack.observability.apmAWSLambdaPricePerGbSeconds": "Facteur de prix AWS Lambda",
|
||||
"xpack.observability.apmAWSLambdaPricePerGbSecondsDescription": "Prix par Go-seconde.",
|
||||
"xpack.observability.apmAWSLambdaRequestCostPerMillion": "Prix AWS Lambda pour 1M de requêtes",
|
||||
"xpack.observability.apmEnableContinuousRollups": "Cumuls continus",
|
||||
"xpack.observability.apmEnableContinuousRollupsDescription": "{betaLabel} Lorsque les cumuls continus sont activés, l'interface utilisateur sélectionne des indicateurs ayant la résolution appropriée. Sur des plages temporelles plus larges, des indicateurs de résolution inférieure sont utilisés, ce qui améliore les temps de chargement.",
|
||||
"xpack.observability.apmEnableProfilingIntegration": "Activer l'intégration Universal Profiling dans APM",
|
||||
"xpack.observability.apmEnableServiceInventoryTableSearchBar": "Recherche instantanée dans le tableau de l'inventaire des services",
|
||||
"xpack.observability.apmEnableServiceInventoryTableSearchBarDescription": "{technicalPreviewLabel} permet une recherche plus rapide dans le tableau d'inventaire des services APM grâce à l'ajout d'une barre de recherche avec filtrage en temps réel.",
|
||||
|
|
|
@ -31850,8 +31850,6 @@
|
|||
"xpack.observability.apmAWSLambdaPricePerGbSeconds": "AWS Lambda価格要因",
|
||||
"xpack.observability.apmAWSLambdaPricePerGbSecondsDescription": "Gb秒ごとの料金。",
|
||||
"xpack.observability.apmAWSLambdaRequestCostPerMillion": "1MリクエストごとのAWS Lambdaの料金",
|
||||
"xpack.observability.apmEnableContinuousRollups": "連続ロールアップ",
|
||||
"xpack.observability.apmEnableContinuousRollupsDescription": "{betaLabel}連続ロールアップが有効な場合、UIは適切な解像度でメトリックを選択します。より大きな時間範囲では、より低い解像度の測定基準が使用され、読み込み時間が改善されます。",
|
||||
"xpack.observability.apmEnableProfilingIntegration": "APMでユニバーサルプロファイリング統合を有効化",
|
||||
"xpack.observability.apmEnableServiceInventoryTableSearchBar": "サービスインベントリインスタントテーブル検索",
|
||||
"xpack.observability.apmEnableServiceInventoryTableSearchBarDescription": "{technicalPreviewLabel}簡単な検索バーとライブフィルタリングを追加して、APMサービスインベントリテーブルでの検索を高速化できます。",
|
||||
|
|
|
@ -31904,8 +31904,6 @@
|
|||
"xpack.observability.apmAWSLambdaPricePerGbSeconds": "AWS lambda 价格因素",
|
||||
"xpack.observability.apmAWSLambdaPricePerGbSecondsDescription": "每 Gb-秒的价格。",
|
||||
"xpack.observability.apmAWSLambdaRequestCostPerMillion": "AWS lambda 每 1M 请求的价格",
|
||||
"xpack.observability.apmEnableContinuousRollups": "连续汇总/打包",
|
||||
"xpack.observability.apmEnableContinuousRollupsDescription": "{betaLabel} 启用连续汇总/打包时,UI 将以适当分辨率选择指标。在更大时间范围内,将使用分辨率较低的指标,这会缩短加载时间。",
|
||||
"xpack.observability.apmEnableProfilingIntegration": "在 APM 中启用 Universal Profiling 集成",
|
||||
"xpack.observability.apmEnableServiceInventoryTableSearchBar": "服务库存即时表搜索",
|
||||
"xpack.observability.apmEnableServiceInventoryTableSearchBarDescription": "{technicalPreviewLabel} 通过添加一个具有实时筛选功能的便捷搜索栏,在 APM 服务库存表中实现更快的搜索。",
|
||||
|
|
|
@ -16,7 +16,6 @@ import {
|
|||
enableInspectEsQueries,
|
||||
apmAWSLambdaPriceFactor,
|
||||
apmAWSLambdaRequestCostPerMillion,
|
||||
apmEnableContinuousRollups,
|
||||
apmEnableProfilingIntegration,
|
||||
apmEnableTableSearchBar,
|
||||
apmEnableTransactionProfiling,
|
||||
|
@ -50,7 +49,6 @@ function getApmSettingsKeys(isProfilingIntegrationEnabled: boolean) {
|
|||
apmLabsButton,
|
||||
apmAWSLambdaPriceFactor,
|
||||
apmAWSLambdaRequestCostPerMillion,
|
||||
apmEnableContinuousRollups,
|
||||
apmEnableTableSearchBar,
|
||||
apmEnableServiceInventoryTableSearchBar,
|
||||
apmEnableServiceMapApiV2,
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
* 2.0.
|
||||
*/
|
||||
import React, { createContext } from 'react';
|
||||
import { apmEnableContinuousRollups } from '@kbn/observability-plugin/common';
|
||||
import type { IUiSettingsClient } from '@kbn/core/public';
|
||||
import type { TimeRangeMetadata } from '../../../common/time_range_metadata';
|
||||
import { useApmParams } from '../../hooks/use_apm_params';
|
||||
|
@ -73,8 +72,6 @@ export function TimeRangeMetadataContextProvider({
|
|||
end: string;
|
||||
kuery: string;
|
||||
}) {
|
||||
const enableContinuousRollups = uiSettings.get<boolean>(apmEnableContinuousRollups, true);
|
||||
|
||||
const fetcherResult = useFetcher(
|
||||
(callApmApi) => {
|
||||
return callApmApi('GET /internal/apm/time_range_metadata', {
|
||||
|
@ -84,12 +81,11 @@ export function TimeRangeMetadataContextProvider({
|
|||
end,
|
||||
kuery,
|
||||
useSpanName,
|
||||
enableContinuousRollups,
|
||||
},
|
||||
},
|
||||
});
|
||||
},
|
||||
[start, end, kuery, useSpanName, enableContinuousRollups]
|
||||
[start, end, kuery, useSpanName]
|
||||
);
|
||||
|
||||
return (
|
||||
|
|
|
@ -19,7 +19,6 @@ export const timeRangeMetadataRoute = createApmServerRoute({
|
|||
query: t.intersection([
|
||||
t.type({
|
||||
useSpanName: toBooleanRt,
|
||||
enableContinuousRollups: toBooleanRt,
|
||||
}),
|
||||
kueryRt,
|
||||
rangeRt,
|
||||
|
@ -31,7 +30,7 @@ export const timeRangeMetadataRoute = createApmServerRoute({
|
|||
const apmDataAccessServices = await getApmDataAccessServices({ apmEventClient, ...resources });
|
||||
|
||||
const {
|
||||
query: { useSpanName, start, end, kuery, enableContinuousRollups },
|
||||
query: { useSpanName, start, end, kuery },
|
||||
} = resources.params;
|
||||
|
||||
const [isUsingServiceDestinationMetrics, sources] = await Promise.all([
|
||||
|
@ -46,7 +45,6 @@ export const timeRangeMetadataRoute = createApmServerRoute({
|
|||
start,
|
||||
end,
|
||||
kuery,
|
||||
enableContinuousRollups,
|
||||
}),
|
||||
]);
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@ export interface DocumentSourcesRequest {
|
|||
start: number;
|
||||
end: number;
|
||||
kuery: string;
|
||||
enableContinuousRollups: boolean;
|
||||
}
|
||||
|
||||
const getRequest = ({
|
||||
|
@ -60,13 +59,11 @@ export async function getDocumentSources({
|
|||
start,
|
||||
end,
|
||||
kuery,
|
||||
enableContinuousRollups,
|
||||
}: {
|
||||
apmEventClient: APMEventClient;
|
||||
start: number;
|
||||
end: number;
|
||||
kuery: string;
|
||||
enableContinuousRollups: boolean;
|
||||
}): Promise<TimeRangeMetadata['sources']> {
|
||||
const documentTypesToCheck = [
|
||||
ApmDocumentType.ServiceTransactionMetric as const,
|
||||
|
@ -78,7 +75,6 @@ export async function getDocumentSources({
|
|||
start,
|
||||
end,
|
||||
kuery,
|
||||
enableContinuousRollups,
|
||||
documentTypesToCheck,
|
||||
});
|
||||
|
||||
|
@ -98,18 +94,15 @@ const getDocumentTypesInfo = async ({
|
|||
start,
|
||||
end,
|
||||
kuery,
|
||||
enableContinuousRollups,
|
||||
documentTypesToCheck,
|
||||
}: {
|
||||
apmEventClient: APMEventClient;
|
||||
start: number;
|
||||
end: number;
|
||||
kuery: string;
|
||||
enableContinuousRollups: boolean;
|
||||
documentTypesToCheck: ApmDocumentType[];
|
||||
}): Promise<TimeRangeMetadata['sources']> => {
|
||||
const getRequests = getDocumentTypeRequestsFn({
|
||||
enableContinuousRollups,
|
||||
start,
|
||||
end,
|
||||
kuery,
|
||||
|
@ -153,24 +146,12 @@ const getDocumentTypesInfo = async ({
|
|||
};
|
||||
|
||||
const getDocumentTypeRequestsFn =
|
||||
({
|
||||
enableContinuousRollups,
|
||||
start,
|
||||
end,
|
||||
kuery,
|
||||
}: {
|
||||
enableContinuousRollups: boolean;
|
||||
start: number;
|
||||
end: number;
|
||||
kuery: string;
|
||||
}) =>
|
||||
({ start, end, kuery }: { start: number; end: number; kuery: string }) =>
|
||||
(documentType: ApmDocumentType) => {
|
||||
const currentRange = rangeQuery(start, end);
|
||||
const kql = kqlQuery(kuery);
|
||||
|
||||
const rollupIntervals = enableContinuousRollups
|
||||
? getConfigForDocumentType(documentType).rollupIntervals
|
||||
: [RollupInterval.OneMinute];
|
||||
const rollupIntervals = getConfigForDocumentType(documentType).rollupIntervals;
|
||||
|
||||
return rollupIntervals.map((rollupInterval) => ({
|
||||
documentType,
|
||||
|
|
|
@ -8,15 +8,9 @@ import type { ApmDataAccessServicesParams } from '../get_services';
|
|||
import { getDocumentSources, type DocumentSourcesRequest } from './get_document_sources';
|
||||
|
||||
export function createGetDocumentSources({ apmEventClient }: ApmDataAccessServicesParams) {
|
||||
return async ({
|
||||
enableContinuousRollups,
|
||||
end,
|
||||
kuery,
|
||||
start,
|
||||
}: Omit<DocumentSourcesRequest, 'apmEventClient'>) => {
|
||||
return async ({ end, kuery, start }: Omit<DocumentSourcesRequest, 'apmEventClient'>) => {
|
||||
return getDocumentSources({
|
||||
apmEventClient,
|
||||
enableContinuousRollups,
|
||||
end,
|
||||
kuery,
|
||||
start,
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
import { APMEventClient } from '@kbn/apm-data-access-plugin/server';
|
||||
import type { KibanaRequest } from '@kbn/core/server';
|
||||
import { apmEnableContinuousRollups } from '@kbn/observability-plugin/common';
|
||||
import { UI_SETTINGS } from '@kbn/data-plugin/server';
|
||||
import type { InfraPluginRequestHandlerContext } from '../../types';
|
||||
import type { InfraBackendLibs } from '../infra_types';
|
||||
|
@ -67,15 +66,10 @@ export const getApmDataAccessClient = ({
|
|||
end: number;
|
||||
kuery?: string;
|
||||
}) => {
|
||||
const enableContinuousRollups = await uiSettingsClient.get<boolean>(
|
||||
apmEnableContinuousRollups
|
||||
);
|
||||
|
||||
return services.getDocumentSources({
|
||||
start,
|
||||
end,
|
||||
kuery,
|
||||
enableContinuousRollups,
|
||||
});
|
||||
},
|
||||
};
|
||||
|
|
|
@ -35,7 +35,6 @@ export {
|
|||
entityCentricExperience,
|
||||
apmAWSLambdaPriceFactor,
|
||||
apmAWSLambdaRequestCostPerMillion,
|
||||
apmEnableContinuousRollups,
|
||||
syntheticsThrottlingEnabled,
|
||||
apmEnableProfilingIntegration,
|
||||
profilingShowErrorFrames,
|
||||
|
|
|
@ -24,7 +24,6 @@ export const apmEnableServiceInventoryTableSearchBar =
|
|||
'observability:apmEnableServiceInventoryTableSearchBar';
|
||||
export const apmAWSLambdaPriceFactor = 'observability:apmAWSLambdaPriceFactor';
|
||||
export const apmAWSLambdaRequestCostPerMillion = 'observability:apmAWSLambdaRequestCostPerMillion';
|
||||
export const apmEnableContinuousRollups = 'observability:apmEnableContinuousRollups';
|
||||
export const syntheticsThrottlingEnabled = 'observability:syntheticsThrottlingEnabled';
|
||||
export const enableLegacyUptimeApp = 'observability:enableLegacyUptimeApp';
|
||||
export const apmEnableProfilingIntegration = 'observability:apmEnableProfilingIntegration';
|
||||
|
|
|
@ -22,7 +22,6 @@ import {
|
|||
entityCentricExperience,
|
||||
apmAWSLambdaPriceFactor,
|
||||
apmAWSLambdaRequestCostPerMillion,
|
||||
apmEnableContinuousRollups,
|
||||
syntheticsThrottlingEnabled,
|
||||
enableLegacyUptimeApp,
|
||||
apmEnableProfilingIntegration,
|
||||
|
@ -343,21 +342,6 @@ export const uiSettings: Record<string, UiSettings> = {
|
|||
schema: schema.number({ min: 0 }),
|
||||
solution: 'oblt',
|
||||
},
|
||||
[apmEnableContinuousRollups]: {
|
||||
category: [observabilityFeatureId],
|
||||
name: i18n.translate('xpack.observability.apmEnableContinuousRollups', {
|
||||
defaultMessage: 'Continuous rollups',
|
||||
}),
|
||||
value: true,
|
||||
description: i18n.translate('xpack.observability.apmEnableContinuousRollupsDescription', {
|
||||
defaultMessage:
|
||||
'{betaLabel} When continuous rollups is enabled, the UI will select metrics with the appropriate resolution. On larger time ranges, lower resolution metrics will be used, which will improve loading times.',
|
||||
values: { betaLabel: `<em>[${betaLabel}]</em>` },
|
||||
}),
|
||||
schema: schema.boolean(),
|
||||
requiresPageReload: true,
|
||||
solution: 'oblt',
|
||||
},
|
||||
[syntheticsThrottlingEnabled]: {
|
||||
category: [observabilityFeatureId],
|
||||
name: i18n.translate('xpack.observability.syntheticsThrottlingEnabledExperimentName', {
|
||||
|
|
|
@ -96,7 +96,6 @@ export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderCon
|
|||
query: {
|
||||
start: endLegacy.toISOString(),
|
||||
end: end.toISOString(),
|
||||
enableContinuousRollups: true,
|
||||
useSpanName: false,
|
||||
kuery: '',
|
||||
},
|
||||
|
@ -123,7 +122,6 @@ export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderCon
|
|||
query: {
|
||||
start: startLegacy.toISOString(),
|
||||
end: endLegacy.toISOString(),
|
||||
enableContinuousRollups: true,
|
||||
useSpanName: false,
|
||||
kuery: '',
|
||||
},
|
||||
|
@ -144,7 +142,6 @@ export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderCon
|
|||
query: {
|
||||
start: startLegacy.toISOString(),
|
||||
end: end.toISOString(),
|
||||
enableContinuousRollups: true,
|
||||
useSpanName: false,
|
||||
kuery: '',
|
||||
},
|
||||
|
|
|
@ -39,7 +39,6 @@ export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderCon
|
|||
query: {
|
||||
start: overrides.start.toISOString(),
|
||||
end: overrides.end.toISOString(),
|
||||
enableContinuousRollups: true,
|
||||
useSpanName: false,
|
||||
kuery: '',
|
||||
...omit(overrides, 'start', 'end'),
|
||||
|
@ -332,37 +331,6 @@ export default function ApiTest({ getService }: DeploymentAgnosticFtrProviderCon
|
|||
});
|
||||
});
|
||||
|
||||
describe('with continuous rollups disabled', () => {
|
||||
it('returns only 1m intervals', async () => {
|
||||
const response = await getTimeRangeMetadata({
|
||||
start,
|
||||
end,
|
||||
enableContinuousRollups: false,
|
||||
});
|
||||
|
||||
expect(response.sources).to.eql([
|
||||
{
|
||||
documentType: ApmDocumentType.ServiceTransactionMetric,
|
||||
rollupInterval: RollupInterval.OneMinute,
|
||||
hasDocs: true,
|
||||
hasDurationSummaryField: true,
|
||||
},
|
||||
{
|
||||
documentType: ApmDocumentType.TransactionEvent,
|
||||
rollupInterval: RollupInterval.None,
|
||||
hasDocs: true,
|
||||
hasDurationSummaryField: false,
|
||||
},
|
||||
{
|
||||
documentType: ApmDocumentType.TransactionMetric,
|
||||
rollupInterval: RollupInterval.OneMinute,
|
||||
hasDocs: true,
|
||||
hasDurationSummaryField: true,
|
||||
},
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('when data is available before the time range', () => {
|
||||
it('marks all those sources as available', async () => {
|
||||
const response = await getTimeRangeMetadata({
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue