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

Add png output65 #24350

Closed
wants to merge 133 commits into from
Closed

Add png output65 #24350

wants to merge 133 commits into from

Conversation

bgaddis56
Copy link
Contributor

Summary

Replaces the Add-PNG-output-to-reports PR due to conflict with rebase.

@stacey-gammon
Copy link
Contributor

retest

chrisdavies and others added 7 commits October 22, 2018 11:25
* Initial stab at core task manager logic

* Update task_manager readme

* Update task manager readme

* Add cancelable helper package, OSS, and general purpose, but
will be useful for writing cancelable x-pack tasks.

* Make the cancellable package promise-compliant

* Update task manager readme w/ reference to cancellable

* Change pool from lazy to eager, add support for sub-pools per task type.

* Move cancellable to task_manager, and typescriptify it.

* Working proof of concept for task manager. Still have lots to do:
clean up, tests, comments, validations, assertions, etc.

* Add pagination support to task manager fetch

* Move task manager to OSS

* Remove task manager reference from x-pack

* Make task_manager a valid core plugin

* Modify how task resource allocation works

* Remove the special case 'max' workers occupied value

* Remove x-pack package.json changes

* Make taskDefinitions a part of uiExports

* Make task docs saved-object compliant.

* Add kbnServer to the task context.

* Allow tasks to have a void / undefined return type

* revert x-pack change

* move cancellable to src/utils

* move to src/server

* use afterPluginsInit hook

* task_manager.ts rename

* add a wrapper with a setClient method

* Add tests for task runner

* Break task_pool into smaller, testable pieces

* return raw task doc fields for calling code

* remove todo comment

* helper module for default client
 - setClient takes a callback fn

* fix misidentified field name

* fix rest args warning

* flatten task_pool

* remove cancellable

* return raw task doc fields for calling code

* remove todo comment

* helper module for default client
 - setClient takes a callback fn

* fix rest args warning

* typescript fixes

* roll back setClient takes a callback

* createTaskRunner returns an object with run/cancel functions

* Test task store, tweak task poller tests

* Rename num_workers to max_workers

* Tweak task pool method names

* Fix cancellable test, and ts errors

* Rename doc to _doc

* Fix the doc type in the task manager index mappings

* Make task costs configurable in kibana.yml

* fix a tslint warning

* TaskManager.afterPluginsInit replaces circuitous stuff

* addMiddleware, implement beforeSave

* wip

* comment

* run context stuff

* pretty fix

* comments

* lint/pretty fixes

* safeties in case they don't define both beforeRun and beforeSave

* task runner test constructor opts fix

* Add task_manager integration tests

* FIx readme mistakes, fix schedule signature

* Fix integration tests

* Add blurb about middleware

* make a libs directory for the small things

* test for extractTaskDefinitions

* unit test for middleware

* Comment, refactor, and test task_manager

* Touch up comments

* Make task store throw error if given an unknown task type

* Fix sample task definition in readme

* Make task manager toggle on / off based on Elasticsearch connectivity

* Prevent task manager from crashing Kibana if
elasticsearch plugin is disabled

* Fix task manager signature

* Move the task manager into the task manager mixin,
fix tests. It's an uber integration object anyway, so
it seemed to make sense to keep it in one place.

* Fix task manager integration tests

* Update the task manager index creation to use auto_expand_replicas

* Fix task manager integration tests

* Fix task manager integration tests

* Fix the overzealous deletion of .kibana during tests

* Core task manager

* Allow hardcoded ID passed in

* comments

* don't deconstruct type and task for payload

* remove uiExport support

* move task_manager to x-pack/plugins

* expose as client on the plugin namespace

* fix tests

* move plugin api integration tests

* roll back readme sample task definition example

* fix sample plugin link

* server.taskManager

* sanitizeTaskDefinitions

* fix integration tests

* sanitize rename

* assert unintialized and check for duplicates in registerTaskDefinitions

* Remove unnecessary defaults from task_manager.test.ts

* Remove task manager from OSS

* Remove task manager from src

* Tidy up task_manager unit tests around elasticsearch status changes

* Integration test for specifying ID in scheduling

* Task_manager init -> preInit to allow other plugins to consume
taskManager in their init.

* Remove task manager integration tests from OSS
…ts (elastic#22336)

* Have Telemetry automatically get all the Kibana usage stats

* simplify

* remove reporting module

* remove unused helper function

* fix tests

* fix integration tests

* --wip-- [skip ci]

* getKibanaStats flattens nested xpack plugin stats into a single level

* fix integration test
Closes elastic#23287

Adds `kbn:bootstrap` script to Canvas that builds the core Canvas plugins. This means users no longer need to run the step manually. This should also fix snapshots.
Closes elastic#23379

Defer loading Canvas code until the application is used.

- Wait to load the window error override
- Only create socket when the app is ready

Since we need to support deferring loading the application until some async things finish (mostly fetching functions), I opted to handle this in the App component, since it was a convenient async way to hold until ready. I figure we can refactor that later.
@elasticmachine
Copy link
Contributor

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

lukasolson and others added 4 commits October 22, 2018 13:11
* Added readOnly to transient state

* Added check that user has permission to edit when loading workpads

* Shows toolbar in readOnly mode

* Disables page controls in read only mode

* Disables add page button when editing disabled

* Added comment to workpad routes

* Cleaned up page manager styles

* Added a comment to es_persist

* Renamed transient.readOnly to transient.readOnlyUser

* Replaced isEditing in transient state with readOnly in workpad state

* Cleaned up workpad_header

* Fixed logic in workpad_header

* Disables workpad controls instead of hiding them and adds tooltips

* Switched eye icon to lock icon in workpad header

* Renamed readOnly and readOnlyUser variables and functions

* Added dispatch to update canUserWrite in create/clone/delete workpads

* Fixed typo

* Removed unnecessary prop from workpad

* Refactored tooltips in workpad_loader

* Added workpad selector tests
@elasticmachine
Copy link
Contributor

💔 Build Failed

* Ensure we do not lose the ccr state in this marshalling method

* Update snapshots to capture ccs
@elasticmachine
Copy link
Contributor

💔 Build Failed

cqliu1 and others added 8 commits October 22, 2018 15:18
* Fix broken api integration test

* Fix other test as well
* clickable refresh button when loading

* Disables manual refresh button in refresh popover when workpad is loading
* Extracted upload handler. Added sanity check for uploaded JSON

* Changed file name and error verbiage

* Fixed import

* Added early return for null file

* Cleaned up update_workpad
* Test for capabilities GraphQL endpoint.

* Test for sources GraphQL endpoint.

* Move tests to typescript.

* Renaming infraops to infra.
…ity control (elastic#24272)

* EuiSuperSelect replaces EuiComboBox in severity control

* Add tests for selectSeverity component
… wrapping (elastic#24334)

* display:none when no jobs selected

* Prevent job actions from wrapping

* wrap condition in paren
…elastic#24304)

* Adding option to always present the certificate when connecting to ES

* Updating docs

* Adding some more tests

* Adding alwaysPresentCertificate option to monitoring
Spencer and others added 12 commits October 25, 2018 15:08
## Summary

When tests override the `savedObjectsClient.get()` call to always return a 404 an out of memory error is triggered in the tests that's caused because `uiSettings._read()` is constantly trying to recover by running `createOrUpgradeSavedConfig()` and then retrying the `_read()`. Instead we should behave like `_write()` and only try to auto-recover on the first request, then call read with `_read({ ...options, autoCreateOrUpgradeIfMissing: false })` which will prevent the auto-recovery the second time and avoid the OOM.

### Checklist

Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR.

~~- [ ] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~~
~~- [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)~~
~~- [ ] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~~
~~- [ ] [Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios~~
~~- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~~

### For maintainers

- [x] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)
- [ ] This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)
* Fix typos in translations ids and messages

* Fix typos
* [Ml] Fixing results for known fields

* renaming known-type to unknown

* correcting comments

* tiny refactor
* [I18n] Add pseudo-localization to i18n engine

* Add pseudo-localization to React

* Remove lookbehind from regex

* Resolve comments

* Add comment
* Update output file format for i18n_check tool

* Update i18n engine to work with new format

* Update tests

* Fix UI bootstrap test

* Update loader tests and fix getTranslationsByLocale function

* Fix messages passing to IntlProvider

* Update messages interface

* Resolve comments

* Resolve comment
…elastic#23982)

* [I18n] Forbid i18n filter usage outside of interpolation expressions

* Add tests

* Add usage examples to JSDoc
Translate global navigation bar component
@stacey-gammon stacey-gammon added Feature:Reporting Reporting (PDF, CSV, ..) feature Team:Visualizations Visualization editors, elastic-charts and infrastructure labels Oct 26, 2018
epixa and others added 14 commits October 26, 2018 11:05
We still backport to these branches, primarily for doc changes.
Replaces elastic#23301
Closes elastic#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?
* 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
Change PNG button name from Download to Generate

Changes for new PNG image output for reports

Change PNG button name from Download to Generate
@stacey-gammon
Copy link
Contributor

Closed in favor of #24759

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Reporting Reporting (PDF, CSV, ..) feature Team:Visualizations Visualization editors, elastic-charts and infrastructure
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet