-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'upstream/master' into lens/color-palettes
- Loading branch information
Showing
82 changed files
with
1,930 additions
and
559 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
/* | ||
* Licensed to Elasticsearch B.V. under one or more contributor | ||
* license agreements. See the NOTICE file distributed with | ||
* this work for additional information regarding copyright | ||
* ownership. Elasticsearch B.V. licenses this file to you under | ||
* the Apache License, Version 2.0 (the "License"); you may | ||
* not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, | ||
* software distributed under the License is distributed on an | ||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
* KIND, either express or implied. See the License for the | ||
* specific language governing permissions and limitations | ||
* under the License. | ||
*/ | ||
|
||
import expect from '@kbn/expect'; | ||
import { WebElementWrapper } from 'test/functional/services/lib/web_element_wrapper'; | ||
import { FtrProviderContext } from '../../ftr_provider_context'; | ||
|
||
export default function ({ getService, getPageObjects }: FtrProviderContext) { | ||
const { common, dashboard, settings, timePicker, visChart } = getPageObjects([ | ||
'common', | ||
'dashboard', | ||
'settings', | ||
'timePicker', | ||
'visChart', | ||
]); | ||
const esArchiver = getService('esArchiver'); | ||
const kibanaServer = getService('kibanaServer'); | ||
const testSubjects = getService('testSubjects'); | ||
const browser = getService('browser'); | ||
const fieldName = 'clientip'; | ||
|
||
const clickFieldAndCheckUrl = async (fieldLink: WebElementWrapper) => { | ||
const fieldValue = await fieldLink.getVisibleText(); | ||
await fieldLink.click(); | ||
const windowHandlers = await browser.getAllWindowHandles(); | ||
expect(windowHandlers.length).to.equal(2); | ||
await browser.switchToWindow(windowHandlers[1]); | ||
const currentUrl = await browser.getCurrentUrl(); | ||
const fieldUrl = common.getHostPort() + '/app/' + fieldValue; | ||
expect(currentUrl).to.equal(fieldUrl); | ||
}; | ||
|
||
describe('Changing field formatter to Url', () => { | ||
before(async function () { | ||
await esArchiver.load('dashboard/current/kibana'); | ||
await kibanaServer.uiSettings.replace({ | ||
defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', | ||
}); | ||
await common.navigateToApp('settings'); | ||
await settings.clickKibanaIndexPatterns(); | ||
await settings.clickIndexPatternLogstash(); | ||
await settings.filterField(fieldName); | ||
await settings.openControlsByName(fieldName); | ||
await settings.setFieldFormat('url'); | ||
await settings.controlChangeSave(); | ||
}); | ||
|
||
it('applied on dashboard', async () => { | ||
await common.navigateToApp('dashboard'); | ||
await dashboard.loadSavedDashboard('dashboard with everything'); | ||
await dashboard.waitForRenderComplete(); | ||
const fieldLink = await visChart.getFieldLinkInVisTable(`${fieldName}: Descending`, 1); | ||
await clickFieldAndCheckUrl(fieldLink); | ||
}); | ||
|
||
it('applied on discover', async () => { | ||
await common.navigateToApp('discover'); | ||
await timePicker.setAbsoluteRange( | ||
'Sep 19, 2017 @ 06:31:44.000', | ||
'Sep 23, 2018 @ 18:31:44.000' | ||
); | ||
await testSubjects.click('docTableExpandToggleColumn'); | ||
const fieldLink = await testSubjects.find(`tableDocViewRow-${fieldName}-value`); | ||
await clickFieldAndCheckUrl(fieldLink); | ||
}); | ||
|
||
afterEach(async function () { | ||
const windowHandlers = await browser.getAllWindowHandles(); | ||
if (windowHandlers.length > 1) { | ||
await browser.closeCurrentWindow(); | ||
await browser.switchToWindow(windowHandlers[0]); | ||
} | ||
}); | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
77 changes: 77 additions & 0 deletions
77
x-pack/plugins/infra/common/http_api/log_analysis/results/log_entry_rate_examples.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
/* | ||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | ||
* or more contributor license agreements. Licensed under the Elastic License; | ||
* you may not use this file except in compliance with the Elastic License. | ||
*/ | ||
|
||
import * as rt from 'io-ts'; | ||
|
||
import { | ||
badRequestErrorRT, | ||
forbiddenErrorRT, | ||
timeRangeRT, | ||
routeTimingMetadataRT, | ||
} from '../../shared'; | ||
|
||
export const LOG_ANALYSIS_GET_LOG_ENTRY_RATE_EXAMPLES_PATH = | ||
'/api/infra/log_analysis/results/log_entry_rate_examples'; | ||
|
||
/** | ||
* request | ||
*/ | ||
|
||
export const getLogEntryRateExamplesRequestPayloadRT = rt.type({ | ||
data: rt.type({ | ||
// the dataset to fetch the log rate examples from | ||
dataset: rt.string, | ||
// the number of examples to fetch | ||
exampleCount: rt.number, | ||
// the id of the source configuration | ||
sourceId: rt.string, | ||
// the time range to fetch the log rate examples from | ||
timeRange: timeRangeRT, | ||
}), | ||
}); | ||
|
||
export type GetLogEntryRateExamplesRequestPayload = rt.TypeOf< | ||
typeof getLogEntryRateExamplesRequestPayloadRT | ||
>; | ||
|
||
/** | ||
* response | ||
*/ | ||
|
||
const logEntryRateExampleRT = rt.type({ | ||
id: rt.string, | ||
dataset: rt.string, | ||
message: rt.string, | ||
timestamp: rt.number, | ||
tiebreaker: rt.number, | ||
}); | ||
|
||
export type LogEntryRateExample = rt.TypeOf<typeof logEntryRateExampleRT>; | ||
|
||
export const getLogEntryRateExamplesSuccessReponsePayloadRT = rt.intersection([ | ||
rt.type({ | ||
data: rt.type({ | ||
examples: rt.array(logEntryRateExampleRT), | ||
}), | ||
}), | ||
rt.partial({ | ||
timing: routeTimingMetadataRT, | ||
}), | ||
]); | ||
|
||
export type GetLogEntryRateExamplesSuccessReponsePayload = rt.TypeOf< | ||
typeof getLogEntryRateExamplesSuccessReponsePayloadRT | ||
>; | ||
|
||
export const getLogEntryRateExamplesResponsePayloadRT = rt.union([ | ||
getLogEntryRateExamplesSuccessReponsePayloadRT, | ||
badRequestErrorRT, | ||
forbiddenErrorRT, | ||
]); | ||
|
||
export type GetLogEntryRateExamplesResponsePayload = rt.TypeOf< | ||
typeof getLogEntryRateExamplesResponsePayloadRT | ||
>; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
49 changes: 49 additions & 0 deletions
49
x-pack/plugins/infra/public/components/logging/log_entry_examples/log_entry_examples.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
/* | ||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | ||
* or more contributor license agreements. Licensed under the Elastic License; | ||
* you may not use this file except in compliance with the Elastic License. | ||
*/ | ||
|
||
import React from 'react'; | ||
|
||
import { euiStyled } from '../../../../../observability/public'; | ||
import { LogEntryExampleMessagesEmptyIndicator } from './log_entry_examples_empty_indicator'; | ||
import { LogEntryExampleMessagesFailureIndicator } from './log_entry_examples_failure_indicator'; | ||
import { LogEntryExampleMessagesLoadingIndicator } from './log_entry_examples_loading_indicator'; | ||
|
||
interface Props { | ||
isLoading: boolean; | ||
hasFailedLoading: boolean; | ||
hasResults: boolean; | ||
exampleCount: number; | ||
onReload: () => void; | ||
} | ||
export const LogEntryExampleMessages: React.FunctionComponent<Props> = ({ | ||
isLoading, | ||
hasFailedLoading, | ||
exampleCount, | ||
hasResults, | ||
onReload, | ||
children, | ||
}) => { | ||
return ( | ||
<Wrapper> | ||
{isLoading ? ( | ||
<LogEntryExampleMessagesLoadingIndicator exampleCount={exampleCount} /> | ||
) : hasFailedLoading ? ( | ||
<LogEntryExampleMessagesFailureIndicator onRetry={onReload} /> | ||
) : !hasResults ? ( | ||
<LogEntryExampleMessagesEmptyIndicator onReload={onReload} /> | ||
) : ( | ||
children | ||
)} | ||
</Wrapper> | ||
); | ||
}; | ||
|
||
const Wrapper = euiStyled.div` | ||
align-items: stretch; | ||
flex-direction: column; | ||
flex: 1 0 0%; | ||
overflow: hidden; | ||
`; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.