diff --git a/packages/grafana-data/src/types/featureToggles.gen.ts b/packages/grafana-data/src/types/featureToggles.gen.ts index b3fd3adee7f..3141e801a52 100644 --- a/packages/grafana-data/src/types/featureToggles.gen.ts +++ b/packages/grafana-data/src/types/featureToggles.gen.ts @@ -31,7 +31,6 @@ export interface FeatureToggles { tempoBackendSearch?: boolean; tempoServiceGraph?: boolean; lokiBackendMode?: boolean; - fullRangeLogsVolume?: boolean; accesscontrol?: boolean; prometheus_azure_auth?: boolean; influxdbBackendMigration?: boolean; diff --git a/pkg/services/featuremgmt/registry.go b/pkg/services/featuremgmt/registry.go index 3348b9efdd5..ffbcfbfddd8 100644 --- a/pkg/services/featuremgmt/registry.go +++ b/pkg/services/featuremgmt/registry.go @@ -83,13 +83,6 @@ var ( State: FeatureStateAlpha, FrontendOnly: true, }, - { - Name: "fullRangeLogsVolume", - Description: "Show full range logs volume in explore", - State: FeatureStateBeta, - FrontendOnly: true, - Expression: "true", // Enabled by default - }, { Name: "accesscontrol", Description: "Support robust access control", diff --git a/pkg/services/featuremgmt/toggles_gen.go b/pkg/services/featuremgmt/toggles_gen.go index 452fb73d6d2..de84c750429 100644 --- a/pkg/services/featuremgmt/toggles_gen.go +++ b/pkg/services/featuremgmt/toggles_gen.go @@ -63,10 +63,6 @@ const ( // Loki datasource works as backend datasource FlagLokiBackendMode = "lokiBackendMode" - // FlagFullRangeLogsVolume - // Show full range logs volume in explore - FlagFullRangeLogsVolume = "fullRangeLogsVolume" - // FlagAccesscontrol // Support robust access control FlagAccesscontrol = "accesscontrol" diff --git a/public/app/plugins/datasource/loki/datasource.test.ts b/public/app/plugins/datasource/loki/datasource.test.ts index 2c75f36b5da..41818a85a1e 100644 --- a/public/app/plugins/datasource/loki/datasource.test.ts +++ b/public/app/plugins/datasource/loki/datasource.test.ts @@ -12,7 +12,7 @@ import { MutableDataFrame, toUtc, } from '@grafana/data'; -import { BackendSrvRequest, FetchResponse, config } from '@grafana/runtime'; +import { BackendSrvRequest, FetchResponse } from '@grafana/runtime'; import LokiDatasource, { RangeQueryOptions } from './datasource'; import { LokiQuery, LokiResponse, LokiResultType } from './types'; @@ -29,12 +29,6 @@ jest.mock('@grafana/runtime', () => ({ // @ts-ignore ...jest.requireActual('@grafana/runtime'), getBackendSrv: () => backendSrv, - config: { - ...(jest.requireActual('@grafana/runtime') as unknown as any).config, - featureToggles: { - fullRangeLogsVolume: true, - }, - }, })); const rawRange = { @@ -972,55 +966,34 @@ describe('LokiDatasource', () => { }); describe('logs volume data provider', () => { - describe('when feature toggle is enabled', () => { - beforeEach(() => { - config.featureToggles.fullRangeLogsVolume = true; + it('creates provider for logs query', () => { + const ds = createLokiDSForTests(); + const options = getQueryOptions({ + targets: [{ expr: '{label=value}', refId: 'A' }], }); - it('creates provider for logs query', () => { - const ds = createLokiDSForTests(); - const options = getQueryOptions({ - targets: [{ expr: '{label=value}', refId: 'A' }], - }); - - expect(ds.getLogsVolumeDataProvider(options)).toBeDefined(); - }); - - it('does not create provider for metrics query', () => { - const ds = createLokiDSForTests(); - const options = getQueryOptions({ - targets: [{ expr: 'rate({label=value}[1m])', refId: 'A' }], - }); - - expect(ds.getLogsVolumeDataProvider(options)).not.toBeDefined(); - }); - - it('creates provider if at least one query is a logs query', () => { - const ds = createLokiDSForTests(); - const options = getQueryOptions({ - targets: [ - { expr: 'rate({label=value}[1m])', refId: 'A' }, - { expr: '{label=value}', refId: 'B' }, - ], - }); - - expect(ds.getLogsVolumeDataProvider(options)).toBeDefined(); - }); + expect(ds.getLogsVolumeDataProvider(options)).toBeDefined(); }); - describe('when feature toggle is disabled', () => { - beforeEach(() => { - config.featureToggles.fullRangeLogsVolume = false; + it('does not create provider for metrics query', () => { + const ds = createLokiDSForTests(); + const options = getQueryOptions({ + targets: [{ expr: 'rate({label=value}[1m])', refId: 'A' }], }); - it('does not create a provider for logs query', () => { - const ds = createLokiDSForTests(); - const options = getQueryOptions({ - targets: [{ expr: '{label=value}', refId: 'A' }], - }); + expect(ds.getLogsVolumeDataProvider(options)).not.toBeDefined(); + }); - expect(ds.getLogsVolumeDataProvider(options)).not.toBeDefined(); + it('creates provider if at least one query is a logs query', () => { + const ds = createLokiDSForTests(); + const options = getQueryOptions({ + targets: [ + { expr: 'rate({label=value}[1m])', refId: 'A' }, + { expr: '{label=value}', refId: 'B' }, + ], }); + + expect(ds.getLogsVolumeDataProvider(options)).toBeDefined(); }); }); diff --git a/public/app/plugins/datasource/loki/datasource.ts b/public/app/plugins/datasource/loki/datasource.ts index d305b104267..a1bf47f4219 100644 --- a/public/app/plugins/datasource/loki/datasource.ts +++ b/public/app/plugins/datasource/loki/datasource.ts @@ -122,10 +122,6 @@ export class LokiDatasource } getLogsVolumeDataProvider(request: DataQueryRequest): Observable | undefined { - if (!config.featureToggles.fullRangeLogsVolume) { - return undefined; - } - const isLogsVolumeAvailable = request.targets.some((target) => target.expr && !isMetricsQuery(target.expr)); if (!isLogsVolumeAvailable) { return undefined;