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

Polish 6.5 #24556

Merged
merged 10 commits into from
Oct 26, 2018
Merged

Polish 6.5 #24556

merged 10 commits into from
Oct 26, 2018

Conversation

jasonrhodes
Copy link
Member

@jasonrhodes jasonrhodes commented Oct 25, 2018

Closes #24475 (details are all there)

Closes #24618 also

Normalizing heading styles:

screen shot 2018-10-25 at 7 34 32 am

Timeline item styles

screen shot 2018-10-25 at 7 37 18 am

Sample section shadow removed

screen shot 2018-10-25 at 7 38 19 am

Transaction flyout updates

screen shot 2018-10-25 at 7 39 27 am

Span flyout updates

screen shot 2018-10-25 at 7 39 37 am

@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💔 Build Failed

@jasonrhodes
Copy link
Member Author

retest

@formgeist formgeist mentioned this pull request Oct 25, 2018
7 tasks
@elasticmachine
Copy link
Contributor

💔 Build Failed

@formgeist
Copy link
Contributor

Getting some pretty heavy problems when loading from a Service -> Transaction view...


fatal_errors_service.tsx:36 Error: Uncaught TypeError: Cannot read property 'find' of undefined (http://localhost:5601/qhe/bundles/commons.bundle.js:232111)
    at window.onerror (notify.js:156)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:138)
    at invokeGuardedCallback (react-dom.development.js:187)
    at replayUnitOfWork (react-dom.development.js:11318)
    at renderRoot (react-dom.development.js:11885)
    at performWorkOnRoot (react-dom.development.js:12449)
    at performWork (react-dom.development.js:12370)
    at performSyncWork (react-dom.development.js:12347)
    at requestWork (react-dom.development.js:12247)
    at scheduleWorkImpl (react-dom.development.js:12122)
    at scheduleWork (react-dom.development.js:12082)
    at Object.enqueueSetState (react-dom.development.js:6644)
    at Connect.Component.setState (react.development.js:238)
    at Connect.onStateChange (connectAdvanced.js:222)
    at Object.dispatch (redux.js:227)
    at dispatch (<anonymous>:1:38223)
FatalErrorsService.add @ fatal_errors_service.tsx:36
react-dom.development.js:11330 Uncaught TypeError: Cannot read property 'find' of undefined
    at waterfall.ts:17
    at index.js:76
    at index.js:36
    at index.js:90
    at index.js:36
    at Function.mapStateToProps [as mapToProps] (index.ts:15)
    at mapToPropsProxy (wrapMapToProps.js:54)
    at handleNewState (selectorFactory.js:63)
    at handleSubsequentCalls (selectorFactory.js:80)
    at pureFinalPropsSelector (selectorFactory.js:85)
    at Object.runComponentSelector (connectAdvanced.js:43)
    at Connect.onStateChange (connectAdvanced.js:216)
    at Object.dispatch (redux.js:227)
    at dispatch (<anonymous>:1:38223)
    at index.js:14
    at Object.dispatch (throttle.js:42)
fatal_errors_service.tsx:38 Uncaught Error: Uncaught TypeError: Cannot read property 'find' of undefined (http://localhost:5601/qhe/bundles/commons.bundle.js:232111)
    at window.onerror (notify.js:156)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:138)
    at invokeGuardedCallback (react-dom.development.js:187)
    at replayUnitOfWork (react-dom.development.js:11318)
    at renderRoot (react-dom.development.js:11885)
    at performWorkOnRoot (react-dom.development.js:12449)
    at performWork (react-dom.development.js:12370)
    at performSyncWork (react-dom.development.js:12347)
    at requestWork (react-dom.development.js:12247)
    at scheduleWorkImpl (react-dom.development.js:12122)
    at scheduleWork (react-dom.development.js:12082)
    at Object.enqueueSetState (react-dom.development.js:6644)
    at Connect.Component.setState (react.development.js:238)
    at Connect.onStateChange (connectAdvanced.js:222)
    at Object.dispatch (redux.js:227)
    at dispatch (<anonymous>:1:38223)
react-dom.development.js:9643 The above error occurred in the <Connect(TransactionDetailsView)> component:
    in Connect(TransactionDetailsView) (created by Route)
    in Route (created by Main)
    in div (created by styled.div)
    in styled.div (created by Main)
    in Main
    in Router
    in Provider

Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://fb.me/react-error-boundaries to learn more about error boundaries.

@formgeist
Copy link
Contributor

Looks like it happens for opbeans-python perhaps because it's not the full trace. Not sure, but you can reproduce by entering that service, choose a transaction from the list.

@formgeist
Copy link
Contributor

The style changes are looking 👍

</EuiTitle>
</EuiFlexItem>
<EuiPortal>
<EuiFlyout onClose={onClose} size="m" ownFocus={true}>
Copy link
Member

Choose a reason for hiding this comment

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

ownFocus should be enough (omit ={true}. It used to give a warning in eslint - maybe tslint is not as strict? 🤔

Copy link
Member

Choose a reason for hiding this comment

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

Btw. is the EuiPortal required for the ownFocus stuff?

Copy link
Member Author

Choose a reason for hiding this comment

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

@sqren should be enough for what?

Copy link
Member

@sorenlouv sorenlouv Oct 25, 2018

Choose a reason for hiding this comment

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

Should be enough for it to work, and is consistent with the rest of the codebase :)

<EuiFlyout onClose={onClose} size="m" ownFocus>

We are currently using the default setting in eslint:
https://github.com/sqren/kibana/blob/001d22f885614c19ebe9c020d7a1e7b177b1d6f5/.eslintrc.js#L372

ESLint rule:
https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-boolean-value.md

Again, just a minor nit. I think the more important thing is to ensure that the lint rules for eslint/tslint are more aligned.

Copy link
Member

@sorenlouv sorenlouv Oct 25, 2018

Choose a reason for hiding this comment

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

Note to self: add this to our tslint setup https://github.com/palantir/tslint-react

Copy link
Member Author

Choose a reason for hiding this comment

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

Oh I see what you're saying now. IMO we should change the lint rules to force ={true} because as I understand it, React wants to eventually make bare attributes work the same way object shorthand works, like const ownFocus = true; const a = { ownFocus }; so I have just gotten in the habit of being explicit with the boolean value. But yeah, that seems auto-fixable tbh.

totalDuration: number;
item: IWaterfallItem;
color: string;
isSelected: boolean;
onClick: () => any;
}

function Prefix({ item }: { item: IWaterfallItem }) {
Copy link
Member

Choose a reason for hiding this comment

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

Should we call it TransactionPrefixIcon just to be super clear?

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 have a feeling which ones get prefixed and with what is going to change a bunch and this is a "private" component. Could be "WaterfallItemPrefix" if we are worried about stack traces maybe?

Copy link
Member

Choose a reason for hiding this comment

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

Not following you completely. Are you saying this is currently an icon that prefixes Transactions, but that will change in the future? Or what would you say it does?

@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💔 Build Failed

@formgeist
Copy link
Contributor

Hmm.. what happened to the coloured graphs in the Timeline?
screenshot 2018-10-25 at 19 45 32

@jasonrhodes
Copy link
Member Author

Hmm.. what happened to the coloured graphs in the Timeline?
screenshot 2018-10-25 at 19 45 32

no idea! I'm not seeing that locally

@jasonrhodes
Copy link
Member Author

Looks like it happens for opbeans-python perhaps because it's not the full trace. Not sure, but you can reproduce by entering that service, choose a transaction from the list.

Hm, I'm using cloud data and there is no opbeans-python service running there. Can you reproduce anywhere in cloud?

@jasonrhodes
Copy link
Member Author

@formgeist ok I switched my local dev to point to the v1 cluster and I can see the error now in opbeans-python. Will take a look and roll it out to a new ticket if it's not a simple little fix.

@jasonrhodes
Copy link
Member Author

@formgeist ha I also see the missing bars in the timeline for v1 -- investigating now.

@elasticmachine
Copy link
Contributor

💔 Build Failed

position: relative;
height: ${unit}px;
height: px(${unit});
Copy link
Member

Choose a reason for hiding this comment

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

Let's try this suggestion thing again :D

Suggested change
height: px(${unit});
height: ${px(unit)};

@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💔 Build Failed

@jasonrhodes
Copy link
Member Author

retest

@elasticmachine
Copy link
Contributor

💔 Build Failed

@jasonrhodes
Copy link
Member Author

retest

@elasticmachine
Copy link
Contributor

💔 Build Failed

@elasticmachine
Copy link
Contributor

💚 Build Succeeded

@jasonrhodes jasonrhodes merged commit 3a2db6e into elastic:master Oct 26, 2018
@jasonrhodes jasonrhodes deleted the polish-6.5 branch October 26, 2018 18:56
jasonrhodes added a commit that referenced this pull request Oct 27, 2018
* Updates waterfall item design for timeline rows

* Adjusts span and tx flyouts and updates tooltips to EUI

* Heading size fixes and clean up

* Updates tooltip snapshots

* Review tweaks and snapshot updates

* Revert experiment :)

Co-Authored-By: jasonrhodes <jason.matthew.rhodes@gmail.com>

* Fixes bug with v1 waterfall state

* Fixes bug with timeline bar height

* Updates snapshot tests

* Updated test so it doesn't mount and rely on EUI makeId() which is non-deterministic per test run
XavierM added a commit that referenced this pull request Oct 29, 2018
* Translate global navigation bar component (#23993)

Translate global navigation bar component

* [backport] add back earlier 6.x minor versions

We still backport to these branches, primarily for doc changes.

* [dev/build] fix invalid assertion

* Skip this test until snapshots are updated (#24650)

* Feat/expression threading (#24598)

Replaces #23301
Closes #23080

---

This is a minimal threading implementation for Canvas. There's still a lot to be done to make this concept great, but this is a start. 

What it does:
- Creates a server side abstraction on top of the interpreter
- Determines where to send the expression by checking the first function to be run
- Loads common functions in a separate worker thread on the server. 
- Routes to a single forked worker (thread), the main thread (server), or the browser (browser), in that order
- Defers back to the router when a function isn't found. Fails if the function isn't found in any of the above 3 environments
- Times out the worker if it takes too long, and respawns it as needed.
- Simplifies the error dialog to remove the stack. 

What is does not.:
- Round robin a pool of workers
- Queue. If one expression in the threaded env fails then anything sent to it in the meantime will fail. The upstream environment handles managing timeouts. I think this would only make sense todo with a pool.
- Client side. This doesn't implement web workers, but we could use roughly the same architecture. 
- Implement a specific, pluggable `worker` environment on the server. Right now it's just common functions, so plugin authors will always end up in a thread if they put their function in the common directory.

What I don't like:
- The socketProvider code. This was reused across the server & browser, but now that it's only used in the browser there's no good reason for the abstraction
- The serialize/deserialize stuff feels messy. Do we really need serialization?

* Polish 6.5 (#24556)

* Updates waterfall item design for timeline rows

* Adjusts span and tx flyouts and updates tooltips to EUI

* Heading size fixes and clean up

* Updates tooltip snapshots

* Review tweaks and snapshot updates

* Revert experiment :)

Co-Authored-By: jasonrhodes <jason.matthew.rhodes@gmail.com>

* Fixes bug with v1 waterfall state

* Fixes bug with timeline bar height

* Updates snapshot tests

* Updated test so it doesn't mount and rely on EUI makeId() which is non-deterministic per test run

* Don't throw errors in optimizer (#24660)

* Fixed label position on progress elements (#24623)

* [kbn/es] add context to error message (#24664)

This just tweaks the kbn-es error message to provide more context than just `Not Found`

* [BeatsCM] Beats without tags should return an empty array via the config API (#24665)

* [ML] Change file data visualizer JSON format label to NDJSON (#24643)

* [ML] Change file datavisualizer JSON format label to NDJSON
* [ML] Update edit flyout overrides snapshot

* Translations for Coordinate Map (#23952)

translate Coordinate Map

* Translations for Region Map (#23875)

add translations for region_map plugin

* [Tools] Add TemplateLiteral parsing to i18n_check tool (#24580)

* [Tools] Add TemplateLiteral parsing to i18n_check tool

* Add comments

* [ML] Remove obsolete sentence from info tooltip. (#24716)

* Translate security/users component (#23940)

Translate security/users

* [Docs] Remove beta notes for ML and Query bar (#24718)

* Translations for Table Vis plugin (#23679)

add translations for table vis plugin

* Feature/translate new nav bar (#24326)

translate new_nav_bar

* center content in fullscreen mode, hide K7 top nav (#24589)

* [APM] Fixes rare cases where KibanaLink is loaded outside of React context (#24705)

* Fixes rare cases where KibanaLink will be loaded outside of React context and requires no redux connect dependency

* Fixes tests for updated Kibana link component

* Removes obsolete snapshot

* Secops structure code (#24652)

* add basic structure for secops application
* finalize skeleton for secops
* fix type issue and hapi new version
* remove route home, not needed for now
* Add configuration + delete noise
* prepend elastic license to generated file

* Cut down on all tests except for secops tests and one example of infr… (#24693)

* Cut down on all tests except for secops tests and one example of infra integration tests
* Commented out code for only this branch
* Added comments and "please see issue number"
* https://github.com/elastic/ingest-dev/issues/60
jasonrhodes added a commit to jasonrhodes/kibana that referenced this pull request Oct 31, 2018
* Updates waterfall item design for timeline rows

* Adjusts span and tx flyouts and updates tooltips to EUI

* Heading size fixes and clean up

* Updates tooltip snapshots

* Review tweaks and snapshot updates

* Revert experiment :)

Co-Authored-By: jasonrhodes <jason.matthew.rhodes@gmail.com>

* Fixes bug with v1 waterfall state

* Fixes bug with timeline bar height

* Updates snapshot tests

* Updated test so it doesn't mount and rely on EUI makeId() which is non-deterministic per test run
jasonrhodes added a commit that referenced this pull request Oct 31, 2018
* Updates waterfall item design for timeline rows

* Adjusts span and tx flyouts and updates tooltips to EUI

* Heading size fixes and clean up

* Updates tooltip snapshots

* Review tweaks and snapshot updates

* Revert experiment :)

Co-Authored-By: jasonrhodes <jason.matthew.rhodes@gmail.com>

* Fixes bug with v1 waterfall state

* Fixes bug with timeline bar height

* Updates snapshot tests

* Updated test so it doesn't mount and rely on EUI makeId() which is non-deterministic per test run
jasonrhodes added a commit that referenced this pull request Oct 31, 2018
* Polish 6.5 (#24556)

* Updates waterfall item design for timeline rows

* Adjusts span and tx flyouts and updates tooltips to EUI

* Heading size fixes and clean up

* Updates tooltip snapshots

* Review tweaks and snapshot updates

* Revert experiment :)

Co-Authored-By: jasonrhodes <jason.matthew.rhodes@gmail.com>

* Fixes bug with v1 waterfall state

* Fixes bug with timeline bar height

* Updates snapshot tests

* Updated test so it doesn't mount and rely on EUI makeId() which is non-deterministic per test run

* Add a console.error to visualize errors (#24581) (#24867)

* [6.5] [Rollups] Fix i18n bugs (#23848) (#24871)

* [Rollups] Fix i18n bugs (#23848)

* Internationalize job details tabs and wrap instances in EuiErrorBoundary to visually localize the error.
* Localize no default index pattern message.
* Localize es interval errors.
* Localize job action menu and confirm delete modal.
* Remove unnecessary use of injectI18n from tabs.
* Localize job status.
* Localize steps.
* Remove template literals from FormattedMessages.

* Remove accidental security addition to translation file.

* [APM] fixes #24563 by de-duping the column field id 'sample' (#24690) (#24877)

* [APM] fixes #24563 by replacing de-duping the twice-used column field id

* [APM] fixed issue with service column not sorting in ManagedTable

* [APM] make render field on ITableColumn optional and allowing it to use EUI's default value

* Add 6.5 to .backportrc.json

* [APM] Removes action menus (#24748)

* Removes infra links and replaces context menu with single discover links for now

* Changes discover links to use empty button style
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants